Tabbed interface root. Compose with <TabList>, <Tab>, and <TabPanel>.
The role-based markup, aria-selected, hidden, and roving tabindex are
all rendered from the value, so server output is correct before the
enhancer adds keyboard navigation. Tab values come from each <Tab value>,
defaulting to the index; panels match tabs by position. Selection works
uncontrolled (defaultValue) or controlled (value + onValueChange).
Tabbed interface root. Compose with
<TabList>,<Tab>, and<TabPanel>. The role-based markup,aria-selected,hidden, and rovingtabindexare all rendered from the value, so server output is correct before the enhancer adds keyboard navigation. Tab values come from each<Tab value>, defaulting to the index; panels match tabs by position. Selection works uncontrolled (defaultValue) or controlled (value+onValueChange).