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

shimmer-react

v1.0.4

Published

Shimmer effects for React

Downloads

50

Readme

shimmer-react

Customizable shimmer effects for React.

Live Demo

Install

npm install shimmer-react --save

or

yarn add shimmer-react

Elements

Shimmer Button

import React from "react";
import { ShimmerButton } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerButton size="md" />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :------- | :----- | :------- | :------------ | :----------------------------------------- | | size | string | yes | md | Three options available ["sm", "md", "lg"] |


Shimmer Badge

import React from "react";
import { ShimmerBadge } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerBadge width={120} />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :------- | :----- | :------- | :------------ | :---------------------------- | | width | number | no | | Width of the badge in px unit |


Shimmer Title

import React from "react";
import { ShimmerTitle } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerTitle line={2} gap={10} variant="primary" />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :---------- | :----- | :------- | :------------ | :------------------------------------------------------------ | | line | number | yes | 2 | Number of line | | gap | number | yes | 10 | Gap between of lines. Four options available [10, 15, 20, 30] | | variant | string | yes | primary | Tow options available ["primary", "secondary"] | | className | string | no | | Additonal style classes |


Shimmer Text

import React from "react";
import { ShimmerText } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerText line={5} gap={10} />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :---------- | :----- | :------- | :------------ | :------------------------------------------------------------ | | line | number | yes | 5 | Number of line | | gap | number | yes | 10 | Gap between of lines. Four options available [10, 15, 20, 30] | | className | string | no | | Additonal style classes |


Circular Image

import React from "react";
import { ShimmerCircularImage } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerCircularImage size={150} />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :---------- | :----- | :------- | :------------ | :---------------------- | | size | number | no | 80 | Size of Image | | center | bool | no | false | Center alignment | | className | string | no | | Additonal style classes |


Thumbnail Image

import React from "react";
import { ShimmerThumbnail } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerThumbnail height={250} rounded />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :----------- | :----- | :------- | :------------ | :--------------------------------------------------------- | | width | number | no | | Width of Thumbnail. By default 100% width | | height | number | yes | 250 | Height of Thumbnail. | | center | bool | no | false | Center alignment | | className | string | no | | Additonal style classes | | rounded | bool | no | false | Border radius option enable/disable | | fitOnFrame | bool | no | false | Adjust height of parent. Will block 100% of parent element |


Section Header

import React from "react";
import { ShimmerSectionHeader } from "shimmer-react";

class Example extends Component {
  render() {
    return (
      <div>
        <ShimmerSectionHeader />
        <ShimmerSectionHeader center />
      </div>
    );
  }
}

Properties

| Property | Type | Required | Default value | Description | | :--------- | :--- | :------- | :------------ | :----------------------- | | title | bool | no | true | Section Header title | | subTitle | bool | no | true | Section Header subTitle | | center | bool | no | true | Content center alignment |


Gallery

Simple Gallery

import React from "react";
import { ShimmerSimpleGallery } from "shimmer-react";

class Example extends Component {
  render() {
    return (
      <>
        <ShimmerSimpleGallery imageType="circular" imageHeight={200} caption />
        <ShimmerSimpleGallery card imageHeight={300} />
        <ShimmerSimpleGallery card imageHeight={300} caption />
      </>
    );
  }
}

Properties

| Property | Type | Required | Default value | Description | | :------------ | :----- | :------- | :------------ | :----------------------------------------------------------- | | card | bool | no | false | Card Style enable/disable | | row | number | yes | 3 | Number of row in your gallery | | col | number | yes | 3 | Number of column in a row. Three options available [2, 3, 4] | | gap | number | yes | 20 | Gap between columns. Two options only [20, 30] | | imageType | string | yes | thumbnail | Image Type. Two options only ["thumbnail", "circular"] | | imageHeight | number | | | Image Height | | caption | bool | no | false | Image Caption | | fitOnFrame | bool | no | false | Adjust height of parent. Will block 100% of parent element |


Featured Gallery

import React from "react";
import { ShimmerFeaturedGallery } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerFeaturedGallery row={2} col={2} card frameHeight={600} />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :------------ | :----- | :------- | :------------ | :----------------------------------------------------------- | | card | bool | no | false | Card Style enable/disable | | row | number | yes | 2 | Number of row in your gallery | | col | number | yes | 2 | Number of column in a row. Three options available [2, 3, 4] | | gap | number | yes | 20 | Gap between columns. Two options only [20, 30] | | frameHeight | number | yes | 600 | Height of full frame |


Table

import React from "react";
import { ShimmerTable } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerTable row={5} col={5} />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :------- | :----- | :------- | :------------ | :-------------------------- | | row | number | yes | 5 | Number of row in your Table | | col | number | yes | 5 | Number of column in a row |


Content Block

import React from "react";
import { ShimmerContentBlock } from "shimmer-react";

class Example extends Component {
  render() {
    return (
      <ShimmerContentBlock
        title
        text
        cta
        thumbnailWidth={370}
        thumbnailHeight={370}
      />
    );
  }
}

Properties

| Property | Type | Required | Default value | Description | | :---------------- | :----- | :------- | :------------ | :---------------------------- | | card | bool | no | true | Card Style enable/disable | | title | bool | no | false | Title | | text | bool | no | false | Content Text | | cta | bool | no | false | Call to Action | | thumbnailWidth | number | yes | | Width of the thumbnail image | | thumbnailHeight | number | yes | | Height of the thumbnail image | | reverse | bool | no | false | Alternate Style option |


Category

Category Item

import React from "react";
import { ShimmerCategoryItem } from "shimmer-react";

class Example extends Component {
  render() {
    return (
      <>
        <ShimmerCategoryItem />

        <ShimmerCategoryItem
          hasImage
          imageType="thumbnail"
          imageWidth={100}
          imageHeight={100}
          title
        />

        <ShimmerCategoryItem
          hasImage
          imageType="circular"
          imageWidth={100}
          imageHeight={100}
          title
        />

        <ShimmerCategoryItem
          hasImage
          imageType="thumbnail"
          imageWidth={100}
          imageHeight={100}
          text
        />

        <ShimmerCategoryItem
          hasImage
          imageType="circular"
          imageWidth={100}
          imageHeight={100}
          text
        />

        <ShimmerCategoryItem
          hasImage
          imageType="thumbnail"
          imageWidth={100}
          imageHeight={100}
          text
          cta
        />

        <ShimmerCategoryItem
          hasImage
          imageType="circular"
          imageWidth={100}
          imageHeight={100}
          text
          cta
        />
      </>
    );
  }
}

Properties

| Property | Type | Required | Default value | Description | | :-------------- | :----- | :------- | :------------ | :----------------------------------------------------- | | hasImage | bool | no | false | Thumbnail Image | | imageType | string | yes | thumbnail | Image Type. Two options only ["thumbnail", "circular"] | | imageWidth | number | yes | | Width of the image | | imageHeight | number | yes | | Height of the image | | title | bool | no | false | Title | | text | bool | no | false | Content Text | | cta | bool | no | false | Call to Action | | contentCenter | bool | no | false | Content Alignment |


Category List

import React from "react";
import { ShimmerCategoryList } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerCategoryList title items={6} categoryStyle="STYLE_SEVEN" />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :-------------- | :----- | :------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | | title | bool | no | false | Title | | items | number | yes | 5 | Number of items in the list | | categoryStyle | string | yes | STYLE_ONE | Category style . Seven variation available STYLE_ONE, STYLE_TWO,STYLE_THREE,STYLE_FOUR, STYLE_FIVE, STYLE_SIX, STYLE_SEVEN |


Post

Social Post Item

import React from "react";
import { ShimmerSocialPost } from "shimmer-react";

class Example extends Component {
  render() {
    return (
      <>
        <ShimmerSocialPost type="image" />
        <ShimmerSocialPost type="both" />
        <ShimmerSocialPost type="text" />
        <ShimmerSocialPost type="text" title />
      </>
    );
  }
}

Properties

| Property | Type | Required | Default value | Description | | :------- | :----- | :------- | :------------ | :-------------------------------------------------------------------------------- | | title | bool | no | false | Title | | type | string | yes | image | Style type of the Social post. Three variations available image, text, both |


Post Item

import React from "react";
import { ShimmerPostItem } from "shimmer-react";

class Example extends Component {
  render() {
    return (
      <>
        <ShimmerPostItem card title text cta />
        <ShimmerPostItem card title cta />
        <ShimmerPostItem
          card
          title
          cta
          imageType="thumbnail"
          imageWidth={80}
          imageHeight={80}
          contentCenter
        />
      </>
    );
  }
}

Properties

| Property | Type | Required | Default value | Description | | :------------ | :----- | :------- | :------------ | :----------------------------------------------------- | | imageType | string | yes | thumbnail | Image Type. Two options only ["thumbnail", "circular"] | | imageWidth | number | yes | | Width of the image | | imageHeight | number | yes | | Height of the image | | title | bool | no | false | Title | | text | bool | no | false | Content Text | | cta | bool | no | false | Call to Action |


Post List

import React from "react";
import { ShimmerPostList } from "shimmer-react";

class Example extends Component {
  render() {
    return <ShimmerPostList postStyle="STYLE_FOUR" col={3} row={2} gap={30} />;
  }
}

Properties

| Property | Type | Required | Default value | Description | | :---------- | :----- | :------- | :------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------- | | row | number | yes | 2 | Number of row | | col | number | yes | 2 | Number of column in a row. Three options available [2, 3, 4] | | gap | number | yes | 20 | Gap between columns. Two options only [20, 30] | | postStyle | string | yes | STYLE_FOUR | Category style . Eight variation available STYLE_ONE, STYLE_TWO,STYLE_THREE,STYLE_FOUR, STYLE_FIVE, STYLE_SIX, STYLE_SEVEN,STYLE_EIGHT |


Post Details

import React from "react";
import { ShimmerPostDetails } from "shimmer-react";

class Example extends Component {
  render() {
    return (
      <>
        <ShimmerPostDetails card cta variant="SIMPLE" />
        <ShimmerPostDetails card cta variant="EDITOR" />
      </>
    );
  }
}

Properties

| Property | Type | Required | Default value | Description | | :-------- | :----- | :------- | :------------ | :------------------------------------ | | variant | string | yes | SIMPLE | Two options only ["SIMPLE", "EDITOR"] | | card | bool | no | false | Card Style enable/disable | | cta | bool | no | false | Call to Action |

Contribute

Feel free to send PR and any suggestions. Thanks

License

MIT © Shafikul Islam