@akshay-bhalala/loaders
Version:
A high-quality, customizable collection of React loader components for your UI: skeletons, spinners, bars, dots, rings, waves, and more. Perfect for modern web apps!
132 lines (90 loc) âĒ 3.45 kB
Markdown
# React Loaders Library <br> <img src="https://img.shields.io/npm/v/@akshay-bhalala/loaders?color=blue" alt="npm version" /> <img src="https://img.shields.io/bundlephobia/minzip/@akshay-bhalala/loaders" alt="bundle size" />
A high-quality, customizable collection of React loader components for your UI: skeletons, spinners, bars, dots, rings, waves, and more. Perfect for modern web apps!
## âĻ Features
- ⥠10+ unique loader components (spinners, skeletons, bars, dots, rings, and more)
- ðĻ Fully customizable via props
- ðŠķ Lightweight & tree-shakable
- ðĄïļ 100% TypeScript & type-safe
- ð§Đ Easy integration with any React project
- ðĶ Ready for production
## ðĶ Installation
```bash
npm install @akshay-bhalala/loaders
```
## ð Quick Usage
```tsx
import React from 'react';
import {
SkeletonLoader,
SpinnerLoader,
DotsLoader,
BarLoader,
PulseLoader,
RingLoader,
WaveLoader,
DualRingLoader,
BounceLoader,
CircularProgressLoader,
} from '@akshay-bhalala/loaders';
const Example = () => (
<div style={{ display: 'grid', gap: 24 }}>
<SkeletonLoader width={200} height={24} borderRadius={8} />
<SpinnerLoader size={48} color="#1976d2" thickness={5} />
<DotsLoader size={16} color="#1976d2" dotSpacing={10} />
<BarLoader width={300} height={8} color="#1976d2" backgroundColor="#e0e0e0" borderRadius={4} />
<PulseLoader size={24} color="#1976d2" />
<RingLoader size={40} color="#1976d2" thickness={4} />
<WaveLoader barCount={5} barWidth={4} barHeight={20} color="#1976d2" gap={4} />
<DualRingLoader size={40} color="#1976d2" thickness={4} />
<BounceLoader ballCount={3} size={14} color="#1976d2" gap={8} />
<CircularProgressLoader size={40} color="#1976d2" thickness={4} />
</div>
);
```
## ð§Đ Components & Props
### ðĶ SkeletonLoader
- `width`, `height`, `borderRadius`, `style`, `className`
### ð SpinnerLoader
- `size`, `color`, `thickness`, `style`, `className`
### ðĩ DotsLoader
- `size`, `color`, `dotSpacing`, `style`, `className`
### â BarLoader
- `width`, `height`, `color`, `backgroundColor`, `borderRadius`, `style`, `className`
### ðĢ PulseLoader
- `size`, `color`, `style`, `className`
### ðĩïļ RingLoader
- `size`, `color`, `thickness`, `style`, `className`
### ð WaveLoader
- `barCount`, `barWidth`, `barHeight`, `color`, `gap`, `style`, `className`
### ðĩïļ DualRingLoader
- `size`, `color`, `thickness`, `style`, `className`
### ð BounceLoader
- `ballCount`, `size`, `color`, `gap`, `style`, `className`
### ðĒ CircularProgressLoader
- `size`, `color`, `thickness`, `style`, `className`
## ð Example: Customizing a Loader
```tsx
<SpinnerLoader size={60} color="#ff5722" thickness={6} style={{ margin: 16 }} />
```
## ð ïļ Contributing
Pull requests and issues are welcome! Please open an issue to discuss your idea or bug before submitting a PR.
## ð License
MIT
## ðĪ Author
**Akshay Bhalala**
- [NPM Profile](https://www.npmjs.com/~akshay-bhalala)
- [GitHub](https://github.com/Akshay-Bhalala)
> Happy loading! ð
## ð·ïļ Keywords
react, loader, loaders, spinner, skeleton, progress, bar, dots, ring, wave, pulse, bounce, circular, component, ui, typescript, indicator, loading, animation