UNPKG

apphouse

Version:

Component library for React that uses observable state management and theme-able components.

53 lines (48 loc) 1.28 kB
import { keyframes } from 'glamor'; import { BaseStyleProps } from './baseStyles.interface'; import { spin } from './defaults/animations'; import { LoadingStyles } from './defaults/themes.interface'; const linear = keyframes({ '50%': { width: '100%' }, '100%': { width: 0, right: 0, left: 'unset' } }); /** * @description - Get styles for utilities * @returns {FocusStyles} */ export const getLoadingStyles = ({ colors }: BaseStyleProps): LoadingStyles => { const loadingSpinner = { borderWidth: `4px`, borderStyle: 'solid', borderColor: colors.onPrimary, borderRadius: '50%', borderTop: `4px solid`, borderTopColor: colors.onPrimary_50, width: '10px', height: '10px', animation: `${spin} 2s linear infinite` }; const linearLoader = { display: 'block', width: '130px', height: '4px', borderRadius: '30px', backgroundColor: colors.onPrimary_10, position: 'relative', ':before': { content: "''", position: 'absolute', background: colors.onPrimary, top: 0, left: 0, width: '0%', height: '100%', borderRadius: '30px', animation: `${linear} 1s ease-in-out infinite` } }; return { circular: loadingSpinner, linear: linearLoader }; };