import { layoutMixins } from '@/styles/layoutMixins'; import styled, { type AnyStyledComponent, keyframes } from 'styled-components'; // In some strange cases, hiding a spinner on one part of the page causes the linearGradient to // be hidden on all other instances of the page. An id can be passed in to prevent this. export const LoadingSpinner: React.FC<{ id?: string; className?: string; disabled?: boolean; }> = ({ id, className, disabled = false }) => { return ( {!disabled && ( )} ); }; export const LoadingSpace: React.FC<{ className?: string; id: string }> = ({ className, id }) => ( ); const Styled: Record = {}; Styled.LoadingSpaceContainer = styled.div` ${layoutMixins.centered} `; Styled.Spinner = styled.div` --spinner-width: auto; line-height: 0; color: var(--color-text-0); `; Styled.LoadingSpinnerSvg = styled.svg` width: var(--spinner-width); animation: ${keyframes` to { transform: rotate(1turn); } `} 1.5s linear infinite; `;