({
loading = true,
color = "#000000",
speedMultiplier = 1,
cssOverride = {},
size = 60,
...additionalprops
}: LoaderSizeProps)
| 9 | const moon = createAnimation("MoonLoader", "100% {transform: rotate(360deg)}", "moon"); |
| 10 | |
| 11 | function MoonLoader({ |
| 12 | loading = true, |
| 13 | color = "#000000", |
| 14 | speedMultiplier = 1, |
| 15 | cssOverride = {}, |
| 16 | size = 60, |
| 17 | ...additionalprops |
| 18 | }: LoaderSizeProps) { |
| 19 | const { value, unit } = parseLengthAndUnit(size); |
| 20 | const moonSize = Math.round(value / 7); |
| 21 | |
| 22 | const wrapper: React.CSSProperties = { |
| 23 | display: "inherit", |
| 24 | position: "relative", |
| 25 | width: `${`${value + moonSize * 2}${unit}`}`, |
| 26 | height: `${`${value + moonSize * 2}${unit}`}`, |
| 27 | animation: `${moon} ${0.6 / speedMultiplier}s 0s infinite linear`, |
| 28 | animationFillMode: "forwards", |
| 29 | ...cssOverride, |
| 30 | }; |
| 31 | |
| 32 | const ballStyle = (size: number): React.CSSProperties => { |
| 33 | return { |
| 34 | width: cssValue(size), |
| 35 | height: cssValue(size), |
| 36 | borderRadius: "100%", |
| 37 | }; |
| 38 | }; |
| 39 | |
| 40 | const ball: React.CSSProperties = { |
| 41 | ...ballStyle(moonSize), |
| 42 | backgroundColor: `${color}`, |
| 43 | opacity: "0.8", |
| 44 | position: "absolute", |
| 45 | top: `${`${value / 2 - moonSize / 2}${unit}`}`, |
| 46 | animation: `${moon} ${0.6 / speedMultiplier}s 0s infinite linear`, |
| 47 | animationFillMode: "forwards", |
| 48 | }; |
| 49 | |
| 50 | const circle: React.CSSProperties = { |
| 51 | ...ballStyle(value), |
| 52 | border: `${moonSize}px solid ${color}`, |
| 53 | opacity: "0.1", |
| 54 | boxSizing: "content-box", |
| 55 | position: "absolute", |
| 56 | }; |
| 57 | |
| 58 | if (!loading) { |
| 59 | return null; |
| 60 | } |
| 61 | |
| 62 | return ( |
| 63 | <span style={wrapper} {...additionalprops}> |
| 64 | <span style={ball} /> |
| 65 | <span style={circle} /> |
| 66 | </span> |
| 67 | ); |
| 68 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…