# @vvcsina/react-top-loading-bar-rtl

> A very simple, highly customisable react top loader component rtl

Latest version **2.3.1** (published 2024-07-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @vvcsina/react-top-loading-bar-rtl
pnpm add @vvcsina/react-top-loading-bar-rtl
yarn add @vvcsina/react-top-loading-bar-rtl
bun add @vvcsina/react-top-loading-bar-rtl
```

## Health

**Score 40/100 (D)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 2.3.1 |
| Published | 2024-07-24 |
| First published | 2024-07-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=10 |
| Dependencies | 0 |
| Unpacked size | 61.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 749 |
| Author | Klendi Gocci |
| Maintainers | vvcsina |
| Keywords | react component, react-loading, react-loader, animated loader, react youtube like loader, react, animated react loader, react-animated-loader, react-top-loader, react, reactjs, react-component, loading-bar, youtube-loading-bar, loading, react-loading-bar, redux-loading-bar, loading bar, smooth, animated, youtube loading bar, top loading bar, component |

## Links

- npm: https://www.npmjs.com/package/@vvcsina/react-top-loading-bar-rtl
- Repository: https://github.com/klendi/react-top-loading-bar
- Homepage: https://klendi.github.io/react-top-loading-bar
- Issues: https://github.com/klendi/react-top-loading-bar/issues
- npm.io page: https://npm.io/package/@vvcsina/react-top-loading-bar-rtl

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 2.3.1 (latest) — 2024-07-24

## README

# react-top-loading-bar

>

[![NPM](https://img.shields.io/npm/v/react-top-loading-bar.svg)](https://www.npmjs.com/package/react-top-loading-bar) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![npm download][download-image]][download-url]

[download-image]: https://img.shields.io/npm/dm/react-top-loading-bar.svg
[download-url]: https://npmjs.org/package/react-top-loading-bar

[![react-top-loading-bar](https://nodei.co/npm/react-top-loading-bar.png)](https://npmjs.org/package/react-top-loading-bar)

## Install

- using npm

```bash
npm install --save react-top-loading-bar
```

- using yarn

```bash
yarn add react-top-loading-bar
```

- CDN

```
https://unpkg.com/react-top-loading-bar
```

## Usage

### With ref

```jsx
import React, { useRef } from 'react'
import LoadingBar from 'react-top-loading-bar'

const App = () => {
  const ref = useRef(null)

  return (
    <div>
      <LoadingBar color='#f11946' ref={ref} />
      <button onClick={() => ref.current.continuousStart()}>
        Start Continuous Loading Bar
      </button>
      <button onClick={() => ref.current.staticStart()}>
        Start Static Loading Bar
      </button>
      <button onClick={() => ref.current.complete()}>Complete</button>
      <br />
    </div>
  )
}

export default App
```

### With state

```jsx
import React, { useState } from 'react'
import LoadingBar from 'react-top-loading-bar'

const App = () => {
  const [progress, setProgress] = useState(0)

  return (
    <div>
      <LoadingBar
        color='#f11946'
        progress={progress}
        onLoaderFinished={() => setProgress(0)}
      />
      <button onClick={() => setProgress(progress + 10)}>Add 10%</button>
      <button onClick={() => setProgress(progress + 20)}>Add 20%</button>
      <button onClick={() => setProgress(100)}>Complete</button>
      <br />
    </div>
  )
}

export default App
```

## Demo

[Click here for demo](https://klendi.github.io/react-top-loading-bar/)

## Built-in Methods

| Methods                                     |             Parameters              | Descriptions                                                                                                                                                                                                                |
| ------------------------------------------- | :---------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| add(value)                                  |               Number                | Adds a value to the loading indicator.                                                                                                                                                                                      |
| decrease(value)                             |               Number                | Decreases a value to the loading indicator.                                                                                                                                                                                 |
| continuousStart(startingValue, refreshRate) | Number (optional), Number(optional) | Starts the loading indicator with a random starting value between 20-30, then repetitively after an refreshRate, increases it by a random value between 2-10. This continues until it reaches 90% of the indicator's width. |
| staticStart(startingValue)                  |          Number (optional)          | Starts the loading indicator with a random starting value between 30-50.                                                                                                                                                    |
| complete()                                  |                                     | Makes the loading indicator reach 100% of his width and then fade.                                                                                                                                                          |

## Properties

| Property         | Type     | Default | Description                                                                                                                       |
| :--------------- | :------- | :------ | :-------------------------------------------------------------------------------------------------------------------------------- |
| progress         | Number   | `0`     | The progress/width indicator, progress prop varies from `0` to `100`.                                                             |
| color            | String   | `red`   | The color of the loading bar, color take values like css property `background:` do, for example `red`, `#000` `rgb(255,0,0)` etc. |
| shadow           | Boolean  | `true`  | Enables / Disables shadow underneath the loader.                                                                                  |
| height           | Number   | `2`     | The height of the loading bar in pixels.                                                                                          |
| background       | String   | `3`     | The loader parent background color.                                                                                               |
| style       | CSSProperties   |    | The style attribute to loader's div                                                                                             |
| containerStyle       | CSSProperties   |    | The style attribute to loader's container                                                                                            |
| shadowStyle       | CSSProperties   |    | The style attribute to loader's shadow                                                                                          |
| transitionTime   | Number   | `300`   | Fade transition time in miliseconds.                                                                                              |
| loaderSpeed      | Number   | `500`   | Loader transition speed in miliseconds.                                                                                           |
| waitingTime      | Number   | `1000`  | The delay we wait when bar reaches 100% before we proceed fading the loader out.                                                  |
| className        | String   |         | You can provide a class you'd like to add to the loading bar to add some styles to it                                             |
| containerClassName        | String   |         | You can provide a class you'd like to add to the loading bar container to add some css styles                                         |
| onLoaderFinished | Function |         | This is called when the loading bar completes, reaches 100% of his width.                                                         |

## Projects using react-top-loading-bar

- [React Movies](https://github.com/klendi/react-movies)
- [WCYB](https://github.com/klendi/wcyb)

Add your own project. Make a PR

## Migrate from V.1

- Replace onRef prop with 'ref', assign it to a react ref. Access methods with reactRef.current.xxx

## Code Style

[![js-standard-style](https://cdn.rawgit.com/standard/standard/master/badge.svg)](http://standardjs.com)

## License

MIT © [Klendi Gocci](https://klendi.dev) | klendi.dev

---
_Source: https://npm.io/package/@vvcsina/react-top-loading-bar-rtl · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
