npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-prog-img

v1.0.2

Published

A typescript react module to make progessive image loading, with possible lazy loading and auto detect image size

Downloads

5

Readme

ProgImg

React component to do progressive image loading. It can handle lazy loading too (IntersectionObserver) and auto detect the image size.
I'm currently just a student and I did this module to learn stuff, if you want a more professional module for lazy loading and progressive image loading you can check React Lazy Load Image Component!

Features

  • Progressive image loading using css effect
  • Lazy loading using InterserctionObserver
  • Image size auto detection before the image load
  • Placeholder custom background
  • Customizable description with aria-* attribute
  • Customizable css transition effect
  • Customizable image with jss or css class
  • TypeScript declarations

Installation


# YARN
$ yarn add react-prog-img

# NPM
$ npm i react-prog-img 

Basic usage

import React from 'react'
import ProgImg from 'react-prog-img'

const Basic = () => {
    return(
        <ProgImg src="big-img-file.jpg" conf={{isLazy: false}} />
    )
}

demo-basic


import React from 'react'
import ProgImg from 'react-prog-img'

const MediumLikeEffect = () => {
    return(
        <ProgImg src="big-img-file.jpg" smSrc="small-file-who-load-faster.jpg" effect="blur" conf={{isLazy: false}} />
    )
}

demo-blur-effect


import React from 'react'
import ProgImg from 'react-prog-img'

const LazyLoad = () => {
    return(
        <>
            <div className="lot-of-margin-bottom">
            <ProgImg src="big-img-file.jpg" bg="#ceb4cb" conf={{isLazy: true, dimension: { width: 600, height: 300 }}} ariaDescribedBy={{component: 'h5', txt: 'caption'}} />
        </>
    )
}

demo-lazy-loading


Props

Props | Types | Default | Description ----- | ----- | ------- | ----------- src* | string | | the image src conf* | object | {isLazy: false dimension: undefined} | with this object you can set lazy loading on/off, you can also specify the dimension of the image(else it's auto detected) smSrc | string | | the src of the same image as src, but in lower quality to make it load real quick alt | string | | the alt of the image ariaLabel | string | | aria-label for the image ariaLabelledBy | object | {component: 'p', txt: '', class: ''} | aria-labelled-by (caption) for the image, you can chose the component, text and add a custom class ariaDescribedBy | object | {component: 'p', txt: '', class: ''} | aria-described-by for the image, you can chose the component, text and add a custom class bg | string | '#eee' | custom background placeholder (tips: dominant color of your image) delay | number | 1 | the transition delay of the image(s) trans | string | 'linear' | the transition effect name, you can also put cubic bezier curve cstClass | string | | a custom class for the placeholder effect | string | 'blur' | a css transition effect, you can put 'blur', 'black-n-white' or 'both, you can also create your own css/jss class

'*' means mandatory