Tile UI · SolidJS
CSR · SSR · SSGTabs
Accessible SolidJS tabs with deterministic relationships and keyboard activation.
Import from the package root.
Install transformed registry source.
Outer registry panel.
Outer: package; inner: package. Each tab list handles its own arrow keys.
import { createSignal } from 'solid-js';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@tile-ui/solid';
export default function TabsDemo() {
const [outerValue, setOuterValue] = createSignal('package');
const [innerValue, setInnerValue] = createSignal('package');Use Tabs to switch related panels with automatic arrow-key activation and stable ARIA relationships.
Registry install
pnpm dlx shadcn@latest add @tile-ui/tabs
Package usage
import { Tabs, TabsList, TabsTrigger, TabsContent } from '@tile-ui/solid';
<Tabs defaultValue="account">
<TabsList>
<TabsTrigger value="account">Account</TabsTrigger>
<TabsTrigger value="settings">Settings</TabsTrigger>
</TabsList>
<TabsContent value="account">Account content.</TabsContent>
<TabsContent value="settings">Settings content.</TabsContent>
</Tabs>
Highlights
- Automatic keyboard activation
- Nested tab lists keep overlapping values independent
- Stable custom or generated tab/panel IDs
Registry dependencies
| Item | Purpose |
|---|---|
tabs |
Component source and module styles |
core |
Framework-agnostic logic helpers |
utils |
Shared utility helpers |
styles |
Shared SCSS tokens and globals |
API reference
Tabs
| Prop | Type | Default |
|---|---|---|
value |
string |
— |
defaultValue |
string |
— |
onValueChange |
(value: string) => void |
— |
orientation |
'horizontal' | 'vertical' |
— |
ref |
CallbackRef<HTMLDivElement> |
— |
TabsList
| Prop | Type | Default |
|---|---|---|
variant |
'default' | 'line' |
— |
ref |
CallbackRef<HTMLDivElement> |
— |
TabsTrigger
| Prop | Type | Default |
|---|---|---|
value |
string |
— |
disabled |
boolean |
— |
ref |
CallbackRef<HTMLButtonElement> |
— |
TabsContent
| Prop | Type | Default |
|---|---|---|
value |
string |
— |
ref |
CallbackRef<HTMLDivElement> |
— |