import type { SpinnerProps as ChakraSpinnerProps } from "@chakra-ui/react"; import type { Tone } from "../../Theme/tokens/builders/tone"; /** Spinner diameter: xs 12 · sm 16 · md 24 · lg 32 · xl 48 px. */ export type SpinnerSize = "xs" | "sm" | "md" | "lg" | "xl"; /** Themed loading spinner; a superset of Chakra's SpinnerProps (rest is forwarded), colour from tokens by default. */ export type SpinnerProps = Omit & { /** Diameter and default stroke; defaults to "md". */ size?: SpinnerSize; /** Status tone ink instead of the brand accent. */ tone?: Tone; /** Escape hatch, e.g. "currentColor" to match the surrounding text; wins over tone. */ color?: string; /** Screen-reader text; defaults to "Loading". */ label?: string; /** data-testid for the rendered node; wins over a raw `data-testid` passthrough. */ testId?: string; };