ACTIONS / COMPONENT 03

Tabs

React component

Switch between related content panels in the same view.

Try it out

Use the live controls or open the Code tab to view and copy the example.

Project summary and milestones.

API reference

Generated from the package’s TypeScript exports. Standard React event and ARIA attributes are also accepted where the component wraps a native element.

PropTypeDescription
labelRequiredstringA meaningful visible or accessible label.
itemsRequiredreadonly TabItem[]Menu actions with stable ids and optional groups.
valuestring | undefinedControlled value. Pair with its change callback.
defaultValuestring | undefinedInitial value for uncontrolled usage.
onValueChange((value: string) => void) | undefinedCalled with the next value. Update controlled state here.
defaultCheckedboolean | undefinedStandard React / HTML attribute passed to the underlying element.
classNamestring | undefinedAdditional CSS class names.
idstring | undefinedStandard React / HTML attribute passed to the underlying element.
styleCSSProperties | undefinedInline styles, including CSS custom property overrides.
relstring | undefinedStandard React / HTML attribute passed to the underlying element.
childrenReactNodeContent rendered inside the component.
onFocusFocusEventHandler<HTMLDivElement> | undefinedStandard React / HTML attribute passed to the underlying element.
onBlurFocusEventHandler<HTMLDivElement> | undefinedStandard React / HTML attribute passed to the underlying element.
onErrorReactEventHandler<HTMLDivElement> | undefinedStandard React / HTML attribute passed to the underlying element.
onClickMouseEventHandler<HTMLDivElement> | undefinedStandard React / HTML attribute passed to the underlying element.

Accessibility & interaction

Label the tab list. Left and Right Arrow, Home, and End move focus and select a tab. Disabled tabs are skipped.

Visible focus, reduced motion, and both color themes are shared across staqui. Choose labels and document structure that make sense in your application; automated checks do not replace assistive-technology testing.

Variants & implementation notes

Supply items with unique values, labels, and panel content. Use defaultValue for an initial selection, or pair value with onValueChange to control it.

Use the typed API above for the supported variants. The example demonstrates the primary composition; shared controls inherit hover, focus, active and disabled treatment where applicable.

Compose with