1.2.4 • Published 1 year ago

react-global-loader v1.2.4

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

React Global Loader

Simple Customizable Global React Loader. Demo page

Install

npm i react-global-loader

Simple Usage

Import LoaderContainer in App.js or root js

import { LoaderContainer } from "react-global-loader";

export default function App() {
  return (
    <div>
      <LoaderContainer />
    </div>
  );
}

Or LoaderContainer with default spinner component

import { LoaderContainer, DefaultSpinner } from "react-global-loader";

export default function App() {
  return (
    <div>
      <LoaderContainer>
        <DefaultSpinner />
      </LoaderContainer>
    </div>
  );
}

Or LoaderContainer with a image file

import { LoaderContainer } from "react-global-loader";
import FidgetLoader from "./loader.gif";

export default function App() {
  return (
    <div>
      <LoaderContainer>
        <img src={FidgetLoader} alt="loading" />
      </LoaderContainer>
    </div>
  );
}

Usage inside pages, components and services

import { loader } from "react-global-loader";

export default function PageName() {
  const showLoader = () => {
    loader.show();
  };

  const hideLoader = () => {
    loader.hide();
  };

  useEffect(() => {
    showLoader();

    setTimeout(() => {
      hideLoader();
    }, 3000);
  });

  return <div>Page 1</div>;
}

Extended Usage

import { LoaderContainer, loader } from "react-global-loader";

export default function App() {
  const showLoader = () => {
    loader.show();
  };

  const hideLoader = () => {
    loader.hide();
  };

  useEffect(() => {
    showLoader();

    setTimeout(() => {
      hideLoader();
    }, 3000);
  });

  const Arrow = () => (
    <div
      style={{
        width: 0,
        height: 0,
        borderTop: "10px solid transparent",
        borderRight: "20px solid red",
        borderBottom: "10px solid transparent",
      }}
    ></div>
  );

  return (
    <div>
      <LoaderContainer opacity={0.5} backgroundColor="#ccc">
        <div style={{ display: "inline-flex" }}>
          <Arrow />
          <div style={{ marginLeft: "10px" }}> Custom Loader</div>
        </div>
      </LoaderContainer>
    </div>
  );
}

Using with react-loader-spinner

If you are familiar with react-loader spinner please do check out the official page and npm page .

import { Audio } from "react-loader-spinner";
import { LoaderContainer, loader } from "react-global-loader";

export default function App() {
  useEffect(() => {
    loader.show();
    setTimeout(() => {
      loader.hide();
    }, 5000);
  });
  return (
    <LoaderContainer>
      <Audio
        height="100"
        width="100"
        color="#4fa94d"
        ariaLabel="audio-loading"
        wrapperStyle={{}}
        wrapperClass="wrapper-class"
        visible={true}
      />
    </LoaderContainer>
  );
}

Container Properties

PropertyDefault ValueTypeDescription
opacity1numberSet Opacity level for overlay background
backgroundColor#0000003astringSet background color for overlay
justifycenterstringHorizontal alignment of loader content (flex)
aligncenterstringHorizontal alignment of loader content (flex)
defaultTextLoading..stringDefault text for loader
defaultShowfalsebooleanSet to true if you want to show by default
idrgl-overlaystringHTML id value, if you want to have multiple type of loaders
autoHidefalsebooleanIf you want to automatically hide the loader after a certain time period
hideDuration3000numberIncrease or decrease the value if autoHide is enabled

Loader Properties

PropertyDefault ValueTypeDescription
idrgl-overlaystringPass Id if multiple loader are there to hide and show
1.2.0

1 year ago

1.0.19

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago