import type { SizeType, Spacing } from ".."; import type { StackProps } from "./stack"; import type { BaseComponent } from "../base"; import type { Overrides } from "../overrides"; /** * One entry in a progress sequence. Becomes the active entry when the parent * Loader's progress crosses `appears_at` (0–100) and stays active until a * higher-threshold entry takes over. */ export interface LoaderProgressComponentProps extends BaseComponent { type: "loader_progress_component"; visible?: boolean | null; /** Progress threshold (0–100) at which this entry becomes active. */ appears_at: number; stack: StackProps; overrides?: Overrides; } /** * Shows exactly one of its entries at a time: the highest-`appears_at` entry * whose threshold has been crossed. */ export interface LoaderProgressComponentsProps extends BaseComponent { type: "loader_progress_components"; visible?: boolean | null; components: LoaderProgressComponentProps[]; size: SizeType; padding: Spacing; margin: Spacing; overrides?: Overrides; }