All files / components/Loading styled.tsx

100% Statements 9/9
100% Branches 2/2
100% Functions 3/3
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37    11x   11x                 11x                 11x 7x   7x     11x         7x 7x    
/* eslint-disable no-ternary */
 
import styled, { keyframes } from "styled-components"
import { Theme } from "styles/theme"
import getColorGrades from "helpers/getColorGrades"
 
interface Props {
  $contrast?: boolean
  $secondary?: boolean
  disabled?: boolean
  size: number
}
 
const rotation = keyframes`
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
`
 
const getColor = (props: Props & { theme: Theme }) => {
  const colorGrades = getColorGrades(props)
 
  return props.$contrast ? colorGrades.contrast : colorGrades.main
}
 
export const Wrapper = styled.div<Props>`
  animation: ${rotation} 1s linear infinite;
  border: 2px solid ${getColor};
  border-bottom-color: transparent;
  border-radius: 50%;
  height: ${({ size }: { size: number }) => `${size}px`};
  width: ${({ size }: { size: number }) => `${size}px`};
`