/** @jsxRuntime classic */ /** @jsx jsx */ import styled from "@emotion/styled" import { jsx, keyframes } from "@emotion/react" const rotate = keyframes` 100%{ transform:rotatez(-720deg); } ` const Spinner = styled.div` border-radius: 50%; border: 8px solid white; border-color: ${(props) => { let primary = props.theme.palette.primary.main let background = props.theme.palette.background.default return `${primary} ${background} ${primary} ${background}` }}; ` const InnerSpinner = styled(Spinner)` position: absolute; height: 32px; width: 32px; animation: ${rotate} 1s infinite ease-in; ` const rotateAndHide = keyframes` 50%{ border-color: transparent; } 100%{ transform:rotatez(360deg); } ` const OuterSpinner = styled(Spinner)` display: flex; justify-content: center; align-items: center; height: 48px; width: 48px; background: transparent; border-radius: 50%; animation: ${rotateAndHide} 1s infinite ease-in-out; ` const SpinnerContainer = styled.div` width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; ` const SpinningLoader = () => ( <SpinnerContainer> <OuterSpinner> <InnerSpinner /> </OuterSpinner> </SpinnerContainer> ) export default SpinningLoader