Skip to content

JoostVanVelthoven/react-loader-spinner

 
 

Repository files navigation

title

react-spinner-loader provides simple React SVG spinner component which can be implemented for async await operation before data loads to the view.

Installation

Using NPM:

$ npm install react-loader-spinner --save
Using yarn

$ yarn add react-loader-spinner
Import required css

 import "react-loader-spinner/dist/loader/css/react-spinner-loader.css"

Demo

[View in page]

Usage

 import Loader from 'react-loader-spinner'
 export default class App extends React.Component {
  //other logic
    render() {
	 return(
	  <Loader
	     type="Puff"
	     color="#00BFFF"
	     height={100}
	     width={100}
	     timeout={3000} //3 secs

	  />
	 );
    }
 }

If webpack throws issue with css. (For older version of this package)

Change webpack config as: test: /\.scss$/ to test: /\.s?css$/

Newer version just import css file from node modules to app.js

Types of Spinner

react-loader-spinner component has the following types of spinners.

Spinner Type Implementation
Audio <Loader type="Audio" color="#00BFFF" height={80} width={80} />
Ball-Triangle <Loader type="BallTriangle" color="#00BFFF" height={80} width={80} />
Bars <Loader type="Bars" color="#00BFFF" height={80} width={80} />
Circles <Loader type="Circles" color="#00BFFF" height={80} width={80}/>
Grid <Loader type="Grid" color="#00BFFF" height={80} width={80} />
Hearts <Loader type="Hearts" color="#00BFFF" height={80} width={80} />
Oval <Loader type="Oval" color="#00BFFF" height={80} width={80} />
Puff <Loader type="Puff" color="#00BFFF" height={80} width={80} />
Rings <Loader type="Rings" color="#00BFFF" height={80} width={80} />
TailSpin <Loader type="TailSpin" color="#00BFFF" height={80} width={80} />
ThreeDots <Loader type="ThreeDots" color="#00BFFF" height={80} width={80} />

There are more. View [demo] to see the full list.

PropTypes Available

react-loader-spinner component accepts the following props. Instructions on how to use them are below.

name types default Detail
visible String or boolean false Show/ Hide the loader as required.
type String "Audio" Type of spinner you want to display. View the type in Types of Spinner section.
height Number 80 Height props define the height of the svg spinner. Default height is 80px.
width Number 80 Width props define the width of the spinner.
color String "Blue" color props is add color to the spinner
secondaryColor String "Grey" secondaryColor props for now is available on Plane and MutatingDots loaders
timeout Number 0 Duration in miliseconds after which spinner is disabled
radius Number value varies Set radius if the loader has a circle element in it

Here are the list of the task for which we want PR:

  • Optimize css implementation
  • Add support for Typescript.
  • Optimization for multiple color support.

License

MIT

[svg-loader]: <https://github.com/SamHerbert/SVG-Loaders>
[here]: <http://samherbert.net/svg-loaders>
[View in page]: https://mhnpd.github.io/react-loader-spinner/
[storybook]: https://mhnpd.github.io/react-loader-spinner/

About

Collection set of react-spinner for async operation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 83.5%
  • CSS 12.8%
  • HTML 3.7%