@redcloudsteam/ui
TypeScript icon, indicating that this package has built-in type declarations

1.0.19 • Public • Published

React Global Loading

Example

npm version downloads license

React simple global loading package

Installation

With Yarn:

yarn add @redcloudsteam/ui

With npm:

npm install --save @redcloudsteam/ui

Getting Started

Add the GlobalLoading to your app first (should be at root component like index.js or app.js). It will take care of rendering global loading . Now you can trigger globalLoading.show() and globalLoading.hide() from anywhere!

import { GlobalLoading, showLoading } from 'react-hot-toast';

const App = () => {
  const show = () => {
    showLoading(true);
    setTimeout(() => {
      showLoading(false);
    }, 1000);
  };

  return (
    <div>
      <button onClick={show}>Show Loading</button>
      <GlobalLoading />
    </div>
  );
};

Other way to trigger loading

import { showLoading } from 'react-hot-toast';
showLoading(true); // show
showLoading(false); // hide

import { show, hide } from 'react-hot-toast';
show(); // show
hide(); // hide

import { globalLoading } from 'react-hot-toast';
globalLoading.show(); // show
globalLoading.hide(); // hide
Example using React Class

Available Loaders, PropTypes, and Default Values

Default props:

  children: React.ReactNode;
  WrapperComponent?: (props: any) => ReactElement;
  backgroundColor?: string;
  loadingSize?: number;
  loadingColor?: string;
  loadingType?:
    | 'spin'
    | 'bars'
    | 'bubbles'
    | 'cubes'
    | 'cylon'
    | 'spin'
    | 'spinningBubbles'
    | 'spokes';

children prop

children will replace default loading icon

<GlobalLoading>
  <ReactLoading /> // OR your custom loading component
<GlobalLoading/>

WrapperComponent prop

The wrapper component ( background screen )

<GlobalLoading WrapperComponent={() => <div style={style} />} />;

// suggested style
style = {
  position: 'fixed',
  top: 0,
  left: 0,
  right: 0,
  bottom: 0,
  width: '100vw',
  height: '100vh',
  backgroundColor: 'rgba(0, 0, 0, 0.6)',

  display: 'flex',
  justifyContent: 'center',
  alignItems: 'center'
};

zIndex, backgroundColor, loadingSize, loadingThickness, loadingSpeed, loadingColor, and loadingType props

Style of the default loading component

Component :

  • Button
  • Modal ( HeadlessUI )
    • Simple Modal : title , content , children , button
  • Container
  • ListItem
  • SimpleInput
    • SimpleTextInput
    • SimpleSelectInput
    • SimpleDateInput
    • SimpleTagSelectInput

Readme

Keywords

Package Sidebar

Install

npm i @redcloudsteam/ui

Weekly Downloads

0

Version

1.0.19

License

MIT

Unpacked Size

171 kB

Total Files

112

Last publish

Collaborators

  • redclouds