Lunar Kit LogoLunar Kit
Components

Tabs

A tabbed interface component for switching between different views or sections.

Demo
Code
Account
Password
Make changes to your account here.

Installation

lunar add tabs

Usage

import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs';

Basic Usage

const [activeTab, setActiveTab] = useState('tab1');
 
<Tabs value={activeTab} onValueChange={setActiveTab}>
<TabsList>
  <TabsTrigger value="tab1">Tab 1</TabsTrigger>
  <TabsTrigger value="tab2">Tab 2</TabsTrigger>
  <TabsTrigger value="tab3">Tab 3</TabsTrigger>
</TabsList>
 
<TabsContent value="tab1">
  <Text>Content for Tab 1</Text>
</TabsContent>
 
<TabsContent value="tab2">
  <Text>Content for Tab 2</Text>
</TabsContent>
 
<TabsContent value="tab3">
  <Text>Content for Tab 3</Text>
</TabsContent>
</Tabs>

Variants

// Underline (default)
<Tabs variant="underline" value={tab} onValueChange={setTab}>
{/* ... */}
</Tabs>
 
// Pill
<Tabs variant="pill" value={tab} onValueChange={setTab}>
{/* ... */}
</Tabs>

Disabled Tabs

<Tabs value={activeTab} onValueChange={setActiveTab}>
<TabsList>
  <TabsTrigger value="tab1">Active</TabsTrigger>
  <TabsTrigger value="tab2" disabled>Disabled</TabsTrigger>
  <TabsTrigger value="tab3">Active</TabsTrigger>
</TabsList>
{/* Content */}
</Tabs>

API Reference

Tabs

Root component that manages tab state.

PropTypeDefaultDescription
valuestringRequiredActive tab value
onValueChange(value: string) => voidRequiredChange callback
variant'underline' | 'pill''underline'Visual variant
classNamestringAdditional classes

TabsList

Container for tab triggers.

PropTypeDefaultDescription
childrenReactNodeRequiredTabsTrigger components
classNamestringAdditional classes

TabsTrigger

Individual tab button.

PropTypeDefaultDescription
valuestringRequiredTab identifier
childrenstringRequiredTab label
disabledbooleanfalseDisable the tab
classNamestringAdditional classes

TabsContent

Content panel for a tab.

PropTypeDefaultDescription
valuestringRequiredTab identifier
childrenReactNodeRequiredTab content
classNamestringAdditional classes

On this page