Content for Tab 1
Content for Tab 2
Content for Tab 3
Anchor
Fluid
Content for Tab 1
Content for Tab 2
Content for Tab 3
Vertical
Content for Tab 1
Content for Tab 2
Content for Tab 3
RTL
Content for Tab 1
Content for Tab 2
Content for Tab 3
API Reference
Root
Property | Default | Type |
---|---|---|
class | "w-full flex data-[orientation=horizontal]:flex-col data-[orientation=vertical]:flex-row" | string | undefinedThe base classes provided by Skeleton |
ids | - | Partial<{ root: string; trigger: string; list: string; content: string; indicator: string; }> | undefinedThe ids of the elements in the tabs. Useful for composition. |
translations | - | IntlTranslations | undefinedSpecifies the localized strings that identifies the accessibility elements and their states |
loopFocus | true | boolean | undefinedWhether the keyboard navigation will loop from last tab to first, and vice versa. |
value | - | string | null | undefinedThe controlled selected tab value |
defaultValue | - | string | null | undefinedThe initial selected tab value when rendered. Use when you don't need to control the selected tab value. |
orientation | "horizontal" | "horizontal" | "vertical" | undefinedThe orientation of the tabs. Can be `horizontal` or `vertical` - `horizontal`: only left and right arrow key navigation will work. - `vertical`: only up and down arrow key navigation will work. |
activationMode | "automatic" | "manual" | "automatic" | undefinedThe activation mode of the tabs. Can be `manual` or `automatic` - `manual`: Tabs are activated when clicked or press `enter` key. - `automatic`: Tabs are activated when receiving focus |
onValueChange | - | ((details: ValueChangeDetails) => void) | undefinedCallback to be called when the selected/active tab changes |
onFocusChange | - | ((details: FocusChangeDetails) => void) | undefinedCallback to be called when the focused tab changes |
composite | - | boolean | undefinedWhether the tab is composite |
deselectable | - | boolean | undefinedWhether the active tab can be deselected when clicking on it. |
navigate | - | ((details: NavigateDetails) => void) | null | undefinedFunction to navigate to the selected tab when clicking on it. Useful if tab triggers are anchor elements. |
dir | "ltr" | "ltr" | "rtl" | undefinedThe document's text/writing direction. |
getRootNode | - | (() => ShadowRoot | Node | Document) | undefinedA root node to correctly resolve document in custom environments. E.x.: Iframes, Electron. |
element | - | Snippet<[{ attributes: Record<string, unknown>; }]> | undefinedRender the element yourself |
RootContext
Property | Default | Type |
---|---|---|
children | - | Snippet<[TabsRootContextType]> |
List
Property | Default | Type |
---|---|---|
class | "relative data-[orientation=horizontal]:mb-4 data-[orientation=horizontal]:pb-2 data-[orientation=vertical]:pe-2 data-[orientation=vertical]:me-4 flex data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col gap-2 data-[orientation=horizontal]:border-b data-[orientation=vertical]:border-e border-surface-200-800" | string | undefinedThe base classes provided by Skeleton |
element | - | Snippet<[{ attributes: Record<string, unknown>; }]> | undefinedRender the element yourself |
Trigger
Property | Default | Type |
---|---|---|
class | "btn hover:preset-tonal-primary data-disabled:opacity-50 data-disabled:pointer-events-none" | string | undefinedThe base classes provided by Skeleton |
value | - | stringThe value of the tab |
disabled | - | boolean | undefinedWhether the tab is disabled |
element | - | Snippet<[{ attributes: Record<string, unknown>; }]> | undefinedRender the element yourself |
Indicator
Property | Default | Type |
---|---|---|
class | "bg-surface-950-50 data-[orientation=horizontal]:w-(--width) data-[orientation=horizontal]:h-0.5 data-[orientation=horizontal]:bottom-0 data-[orientation=vertical]:w-0.5 data-[orientation=vertical]:h-(--height) data-[orientation=vertical]:end-0" | string | undefinedThe base classes provided by Skeleton |
element | - | Snippet<[{ attributes: Record<string, unknown>; }]> | undefinedRender the element yourself |
Content
Property | Default | Type |
---|---|---|
class | "" | string | undefinedThe base classes provided by Skeleton |
value | - | stringThe value of the tab |
element | - | Snippet<[{ attributes: Record<string, unknown>; }]> | undefinedRender the element yourself |