Package Exports
- react-loader-spinner
- react-loader-spinner/dist/loader/css/react-spinner-loader.css
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-loader-spinner) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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/