An animated loop used for giving users feedback while the content of a page or section is being loaded.
$ npm install @s-ui/react-atom-spinner --save
import AtomSpinner from '@s-ui/react-atom-spinner'
return (
<AtomSpinner />
)
By default type
prop has atomSpinnerTypes.SECTION
value.
import AtomSpinner, {atomSpinnerTypes} from '@s-ui/react-atom-spinner'
return (
<AtomSpinner type={AtomSpinnerTypes.FULL} />
)
You can delay when the Spinner is shown.
import AtomSpinner from '@s-ui/react-atom-spinner'
return (
<AtomSpinner isDelayed />
)
Different overlay types can be selected. Each one modify the overlay background color and the colors of the loader. All of these can be customized in your theme.
Options are: LIGHT
(default), ACCENT
, DARK
, PRIMARY
and TRANSPARENT
.
import AtomSpinner, {atomSpinnerOverlayTypes} from '@s-ui/react-atom-spinner'
return (
<AtomSpinner overlayType={atomSpinnerOverlayTypes.DARK} />
)
Children of AtomSpinner
are injected with the same props AtomSpinner
is receiving and with the component's default ones.
In the following example, CustomChildren can be a reusable component.
import {atomSpinnerOverlayTypes. atomSpinnerTypes} from '@s-ui/react-atom-spinner'
import cx from 'classnames'
const CustomChildren = ({children, loader, overlayType, type}) => {
const className = cx('readme-custom-children', {
'readme-custom-children--dark':
overlayType === atomSpinnerOverlayTypes.DARK,
'readme-custom-children--fullPage': type === atomSpinnerTypes.FULL
})
return (
<>
{loader}
// the use of `loader` is not mandatory, and can be replaced
<div className={className}>{children}</div>
</>
)
}
import AtomSpinner, {atomSpinnerOverlayTypes. atomSpinnerTypes} from '@s-ui/react-atom-spinner'
import CustomChildren from './CustomChildren.js'
return (
<>
<AtomSpinner>
<CustomChildren>With custom children</CustomChildren>
</AtomSpinner>
<AtomSpinner overlayType={atomSpinnerOverlayTypes.DARK} type={atomSpinnerTypes.FULL}>
<CustomChildren>
With custom children but receiving different props through AtomSpinner
</CustomChildren>
</AtomSpinner>
</>
)
Find full description and more examples in the demo page.