Loader shows an animated dot inside a small bordered capsule. Use it while an operation is in progress and the percentage is unknown. For numeric progress, use ProgressBar.
Usage
aria-hidden="true" when surrounding text or a button already supplies loading feedback.
Native composition and labeling
Native props,className, style, and ref target the container div. render accepts an element or callback through Base UI composition. Styles override color defaults. LoaderProps is exported from the feedback family.
For a standalone indicator, provide an explicit status role and accessible name. The animated dot remains decorative.
aria-labelledby instead when visible text names the status. Keep a live-region owner mounted when it needs to announce changing text. The application owns when feedback appears and what it says.
Color
Pass a theme palette color to set both the border and dot. Without a color, the loader inherits a surrounding button color when available, otherwise it uses the tertiary text color. For a button action, prefer Button’s loading state, which keeps the feedback inside the control.Props
Hide a decorative loader when another element supplies loading feedback.
string
Accessible name for a labeled loader status.
string
ID of text that names the loader status.
string
CSS class merged with the loader container class.
"amber" | "blue" | "bronze" | "brown" | "crimson" | "cyan" | "gold" | "grass" | "gray" | "green" | "iris" | "jade" | "lime" | "mint" | "orange" | "pink" | "plum" | "purple" | "red" | "ruby" | "sky" | "tomato" | "turquoise" | "violet" | "yellow"
Theme color for the animated dot and border. When omitted, inherits the button color if available, otherwise the tertiary text color.
Ref<HTMLDivElement>
Ref to the container div, or the element supplied through render.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, {}>
Element or render callback composed through Base UI useRender.
AriaRole
Supply status to expose loading feedback as a live region. No role is assigned by default.
CSSProperties
Native styles merged with the loader color defaults. Explicit styles win.