1. framework components
  2. tabs

Tabs

Use tabs to quickly switch between different views and pages.

A concise overview of the project: usage, goals, and recent highlights. Use this area to orient readers with key metrics and links to deeper docs.

Controlled

Use the value and onValueChange props to control state programmatically.

A concise overview of the project: usage, goals, and recent highlights. Use this area to orient readers with key metrics and links to deeper docs.

Use the element slot to override the default button with an a tag for navigation tabs.

A concise overview of the project: usage, goals, and recent highlights. Use this area to orient readers with key metrics and links to deeper docs.

Fluid Width

Use flex utility classes to make the tabs stretch to fill the width of their container.

A concise overview of the project: usage, goals, and recent highlights. Use this area to orient readers with key metrics and links to deeper docs.

Orientation

Using the orientation prop to control the layout.

A concise overview of the project: usage, goals, and recent highlights. Use this area to orient readers with key metrics and links to deeper docs.

Direction

Set the text direction ( ltr or rtl ) using the dir prop.

A concise overview of the project: usage, goals, and recent highlights. Use this area to orient readers with key metrics and links to deeper docs.

Anatomy

Here’s an overview of how the Tabs component is structured in code:

svelte
<script lang="ts">
	import { Tabs } from '@skeletonlabs/skeleton-svelte';
</script>

<Tabs>
	<Tabs.List>
		<Tabs.Trigger />
		<Tabs.Indicator />
	</Tabs.List>
	<Tabs.Content />
</Tabs>

API Reference

Root

Prop Default Type
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 Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Provider

Prop Default Type
value () => TabsApi<PropTypes>

element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Context

Prop Default Type
children Snippet<[() => TabsApi<PropTypes>]>

List

Prop Default Type
element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Trigger

Prop Default Type
value string

The value of the tab

disabled boolean | undefined

Whether the tab is disabled

element Snippet<[HTMLAttributes<"button">]> | undefined

Render the element yourself

Indicator

Prop Default Type
element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

Content

Prop Default Type
value string

The value of the tab

element Snippet<[HTMLAttributes<"div">]> | undefined

Render the element yourself

View page on GitHub