import type { HTMLAttributes } from "react"; /** * Progress — accessible progress bar primitive. * * Built on `
` (NOT native ``) so Tailwind * classes can style the track + fill cross-browser (Chrome/Safari/Firefox * shadow-DOM hooks for `` diverge). Matches Radix / shadcn / * Mantine convention. * * Variants: * - intent: `default` | `success` | `warning` | `destructive` — controls fill color * - height: `h-1` (4px, default) | `h-1.5` | `h-2` | `h-3` * - indeterminate: animated bar, no value (e.g. "uploading…", "building…") * * Composition: * * * * A11y: * - role="progressbar" * - aria-valuenow / aria-valuemin / aria-valuemax (determinate) * - aria-busy="true" when indeterminate * - Respects `prefers-reduced-motion` (no animation when set) * * Used by `` to render each metric's fill bar, but ships as a * standalone primitive for direct consumer use (deploy phase, file upload, * build progress, quota fill). */ export interface ProgressProps extends Omit, "role"> { /** Current value (0..max). Values outside the range are clamped. */ value?: number; /** Maximum value. Defaults to 100. */ max?: number; /** Visual intent — controls fill color. */ intent?: "default" | "success" | "warning" | "destructive"; /** Bar height in tailwind units. Defaults to `"h-1"` (4px). */ height?: "h-1" | "h-1.5" | "h-2" | "h-3"; /** When true, animated bar with no value. Omits `aria-valuenow`, adds `aria-busy`. */ indeterminate?: boolean; /** Accessible label. Required if not preceded by an `aria-labelledby` element. */ "aria-label"?: string; } declare const Progress: import("react").ForwardRefExoticComponent>; export { Progress };