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

@prasiddha/react-image-loader

v0.1.2

Published

@prasiddha/react-image-loader allows you to show a shimmer/skeleton, placeholder image or your custom component until image is loaded in the browser.

Downloads

36

Readme

@prasiddha/react-image-loader

@prasiddha/react-image-loader allows you to show a shimmer/skeleton, placeholder image or your custom component until image is loaded in the browser.

Even if your image src changes dynamically then this package will again show the loading component until new image source is full loaded.

Installation

Use the package manager npm to install @prasiddha/react-image-loader.

npm install @prasiddha/react-image-loader --save

Usage

With @prasiddha/react-image-loader you can pass props to display either shimmer/skeleton, placeholder image or your custom component.

Shimmer

GIF showing usages with shimmer load type

import { ImageLoader } from '@prasiddha/react-image-loader';

const App = () => {
  return (
    <ImageLoader
      loadType="shimmer"
      style={{ height: '40vh', width: '40vh', objectFit: 'cover' }}
      alt="random-image"
      src="https://images.pexels.com/photos/12430047/pexels-photo-12430047.jpeg"
    />
  );
};

export default App;

If you are using the shimmer effect, a beautiful shimmer/skeleton is loaded until the actual image is loaded in you app.

Placeholder

GIF showing usages with shimmer load type

import { ImageLoader } from '@prasiddha/react-image-loader';
import Placeholder from './placeholder.png';

const App = () => {
  return (
    <ImageLoader
      loadType="placeholder"
      placeholderImage={Placeholder} // or placeholderImage={'https://actualimageurl.com'}
      style={{ height: '40vh', width: '40vh', objectFit: 'cover' }}
      alt="random-image"
      src="https://images.pexels.com/photos/12430047/pexels-photo-12430047.jpeg"
    />
  );
};

export default App;

If you are using the placeholder load type, then it provides you the option to specify which image you want to put as a placeholder image until the actual image loads.

Note: If you do not specify the placeholderImage, it uses the default placeholder image specified already in the package.

Custom

GIF showing usages with shimmer load type

import { ImageLoader } from '@prasiddha/react-image-loader';

const App = () => {
  const myCustomComponent = (
    <>My custom component to load unless actual image is loaded</>
  );

  return (
    <ImageLoader
      loadType="custom"
      customComponent={myCustomComponent}
      style={{ height: '40vh', width: '40vh', objectFit: 'cover' }}
      alt="random-image"
      src="https://images.pexels.com/photos/12430047/pexels-photo-12430047.jpeg"
    />
  );
};

export default App;

If you are using the custom load type, then it provides you the option to specify your own component to load until the actual image loads.

Note: If you do not specify the customComponent, it uses the default component specified already in the package.

Props

| Property | Required | Default value | Description | | :--------------------------------------------------------------------- | :------- | :----------------------------------- | :----------------------------------------------------------------------------------------------------------------------- | | src: string | yes | | | alt: string | yes | | | loadType?: 'placeholder' | 'shimmer' | 'custom' | yes | 'shimmer' | Provide load type to display until actual image is loaded | | style?: React.CSSProperties | no | { maxWidth: '100%', height: '30vh' } | Provide style for images as well as the loading component for all load types | | className?: string | no | | Provide class name for the images as well as the loading component for all load types | | placeholderImage?: string | no | default specified image | Provide placeholder image until actual image is loaded. This props is only in effect if loadType = "placeholder" | | customComponent?: React.ReactNode | no | default specified component | Provide placeholder custom component until actual image is loaded. This props is only in effect if loadType = "custom" |

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT