Make changes to your account here.

Radix

Tabs

A set of layered sections of content that display one panel at a time.

A tabs component for organizing content into separate views where only one is visible at a time.

Basic

Default

Make changes to your account here.

Disabled Tab

Content for tab one.

With Content

Full Width Tabs

Usage

import { Tabs, TabsList, TabsTrigger, TabsContent } from "@delphi/ui";

export function Example() {
  return (
    <Tabs defaultValue="tab1">
      <TabsList>
        <TabsTrigger value="tab1">Tab 1</TabsTrigger>
        <TabsTrigger value="tab2">Tab 2</TabsTrigger>
      </TabsList>
      <TabsContent value="tab1">Content 1</TabsContent>
      <TabsContent value="tab2">Content 2</TabsContent>
    </Tabs>
  );
}

Controlled Tabs

import { useState } from "react";
import { Tabs, TabsList, TabsTrigger, TabsContent } from "@delphi/ui";

export function ControlledExample() {
  const [activeTab, setActiveTab] = useState("tab1");

  return (
    <Tabs value={activeTab} onValueChange={setActiveTab}>
      <TabsList>
        <TabsTrigger value="tab1">Tab 1</TabsTrigger>
        <TabsTrigger value="tab2">Tab 2</TabsTrigger>
      </TabsList>
      <TabsContent value="tab1">Content 1</TabsContent>
      <TabsContent value="tab2">Content 2</TabsContent>
    </Tabs>
  );
}

API Reference

PropTypeDefaultDescription
defaultValuestring-Default active tab (uncontrolled)
valuestring-Active tab value (controlled)
onValueChange(value: string) => void-Callback when active tab changes
orientation"horizontal" | "vertical""horizontal"Tab orientation

TabsTrigger Props

PropTypeDefaultDescription
valuestring-Unique value for the tab
disabledbooleanfalseWhether the tab is disabled
Use tabs to organize related content into logical sections
Keep tab labels short and descriptive (1-2 words)
Ensure tabs are keyboard navigable with arrow keys
Use aria-label on the TabsList for screen readers
Preserve tab content state when switching between tabs
Use tabs for sequential steps — use a stepper or wizard instead
Create more than 5-6 tabs — consider a different pattern
Mix tabs with unrelated content sections
Change page URL when switching tabs unless necessary for deep linking
ESC
No results found