- Notifications
You must be signed in to change notification settings - Fork283
A collection of loading spinner components for react
License
davidhu2000/react-spinners
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A collection of loading spinners with React.js based onHalogen.
This package is bootstraped usingreact-npm-boilerplate
With Yarn:
yarn add react-spinners
With npm:
npm install --save react-spinners
Each loader has their own default properties. You can overwrite the defaults by passing props into the loaders.
Each loader accepts aloading prop as a boolean. The loader will rendernull ifloading isfalse.
import{useState,CSSProperties}from"react";import{ClipLoader}from"react-spinners";constoverride:CSSProperties={display:"block",margin:"0 auto",borderColor:"red",};functionApp(){let[loading,setLoading]=useState(true);let[color,setColor]=useState("#ffffff");return(<divclassName="sweet-loading"><buttononClick={()=>setLoading(!loading)}>Toggle Loader</button><inputvalue={color}onChange={(input)=>setColor(input.target.value)}placeholder="Color of the loader"/><ClipLoadercolor={color}loading={loading}cssOverride={override}size={150}aria-label="Loading Spinner"data-testid="loader"/></div>);}exportdefaultApp;
Example using React Class
importReactfrom"react";import{ClipLoader}from"react-spinners";constoverride:React.CSSProperties={display:"block",margin:"0 auto",borderColor:"red",};classAwesomeComponentextendsReact.Component{constructor(props){super(props);this.state={loading:true,};}render(){return(<divclassName="sweet-loading"><ClipLoadercssOverride={override}size={150}color={"#123abc"}loading={this.state.loading}speedMultiplier={1.5}aria-label="Loading Spinner"data-testid="loader"/></div>);}}
Common default props for all loaders:
loading: true;color: "#000000";cssOverride: {}speedMultiplier: 1;All valid HTML props such asaria-* anddata-* props are fully supported.
color prop accepts a color hash in the format of#XXXXXX or#XXX. It also accepts basic colors listed below:
maroon, red, orange, yellow, olive, green, purple, white,fuchsia, lime, teal, aqua, blue, navy, black, gray, silver
ThecssOverride prop is an object of camelCase styles used to create inline styles on the loaders. Any html css property is valid here.
The input to these props can benumber orstring.
- If value is number, the loader will default to css unit
px. - If value is string, the loader will verify the unit against valid css units.
- If unit is valid, return the original value
- If unit is invalid, output warning console log and default to
px.
The table below has the default values for each loader.
| Loader | size | height | width | radius | margin |
|---|---|---|---|---|---|
| BarLoader | 4 | 100 | |||
| BeatLoader | 15 | 2 | |||
| BounceLoader | 60 | ||||
| CircleLoader | 50 | ||||
| ClimbingBoxLoader | 15 | ||||
| ClipLoader | 35 | ||||
| ClockLoader | 50 | ||||
| DotLoader | 60 | 2 | |||
| FadeLoader | 15 | 5 | 2 | 2 | |
| GridLoader | 15 | ||||
| HashLoader | 50 | 2 | |||
| MoonLoader | 60 | 2 | |||
| PacmanLoader | 25 | 2 | |||
| PropagateLoader | 15 | ||||
| PuffLoader | 60 | ||||
| PulseLoader | 15 | 2 | |||
| RingLoader | 60 | 2 | |||
| RiseLoader | 15 | 2 | |||
| RotateLoader | 15 | 2 | |||
| ScaleLoader | 35 | 4 | 2 | 2 | |
| SyncLoader | 15 | 2 |
About
A collection of loading spinner components for react
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.