# Tabs Use tabs to quickly switch between different views and pages. ```tsx import { Tabs } from '@skeletonlabs/skeleton-react'; export default function Default() { return ( Tab 1 Tab 2 Tab 3 Content for Tab 1 Content for Tab 2 Content for Tab 3 ); } ``` ## Fluid Width ```tsx import { Tabs } from '@skeletonlabs/skeleton-react'; export default function Fluid() { return ( Tab 1 Tab 2 Tab 3 Content for Tab 1 Content for Tab 2 Content for Tab 3 ); } ``` ## Vertical ```tsx import { Tabs } from '@skeletonlabs/skeleton-react'; export default function Vertical() { return ( Tab 1 Tab 2 Tab 3 Content for Tab 1 Content for Tab 2 Content for Tab 3 ); } ``` ## Direction ```tsx import { Tabs } from '@skeletonlabs/skeleton-react'; export default function Dir() { return ( Tab 1 Tab 2 Tab 3 Content for Tab 1 Content for Tab 2 Content for Tab 3 ); } ``` ## API Reference ### TabsRootProps | Property | Default | Type | Description | | --------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ids? | - | Partial\<\{ root: string; trigger: (value: string) => string; list: string; content: (value: string) => string; indicator: string; }> \| undefined | The ids of the elements in the tabs. Useful for composition. | | translations? | - | IntlTranslations \| undefined | Specifies the localized strings that identifies the accessibility elements and their states | | loopFocus? | true | boolean \| undefined | Whether the keyboard navigation will loop from last tab to first, and vice versa. | | value? | - | string \| null \| undefined | The controlled selected tab value | | defaultValue? | - | string \| null \| undefined | The initial selected tab value when rendered. Use when you don't need to control the selected tab value. | | orientation? | "horizontal" | "horizontal" \| "vertical" \| undefined | The 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" \| undefined | The 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) \| undefined | Callback to be called when the selected/active tab changes | | onFocusChange? | - | ((details: FocusChangeDetails) => void) \| undefined | Callback to be called when the focused tab changes | | composite? | - | boolean \| undefined | Whether the tab is composite | | deselectable? | - | boolean \| undefined | Whether the active tab can be deselected when clicking on it. | | navigate? | - | ((details: NavigateDetails) => void) \| null \| undefined | Function to navigate to the selected tab when clicking on it. Useful if tab triggers are anchor elements. | | dir? | "ltr" | "ltr" \| "rtl" \| undefined | The document's text/writing direction. | | getRootNode? | - | (() => ShadowRoot \| Node \| Document) \| undefined | A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron. | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself | ### TabsRootProviderProps | Property | Default | Type | Description | | -------- | ------- | -------------------------------------------------------------- | --------------------------- | | value | - | TabsApi\ | - | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself | ### TabsRootContextProps | Property | Default | Type | Description | | -------- | ------- | ---------------------------------------- | ----------- | | children | - | (tabs: TabsApi\) => ReactNode | - | ### TabsListProps | Property | Default | Type | Description | | -------- | ------- | -------------------------------------------------------------- | --------------------------- | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself | ### TabsTriggerProps | Property | Default | Type | Description | | --------- | ------- | ----------------------------------------------------------------- | --------------------------- | | value | - | string | The value of the tab | | disabled? | - | boolean \| undefined | Whether the tab is disabled | | element? | - | ((attributes: HTMLAttributes\<"button">) => Element) \| undefined | Render the element yourself | ### TabsIndicatorProps | Property | Default | Type | Description | | -------- | ------- | -------------------------------------------------------------- | --------------------------- | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself | ### TabsContentProps | Property | Default | Type | Description | | -------- | ------- | -------------------------------------------------------------- | --------------------------- | | value | - | string | The value of the tab | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself |