Tabs

A compound component for switching between related panels of content, with a sliding active-tab indicator.

Installation

npx @obi/ui add tabs

Preview

Manage your account settings and preferences.

Usage

'use client';

import { useState } from 'react';
import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/src/components/Tabs/Tabs';

export default function Example() {
  const [tab, setTab] = useState('overview');

  return (
    <Tabs value={tab} onValueChange={setTab}>
      <TabsList>
        <TabsTrigger value="overview">Overview</TabsTrigger>
        <TabsTrigger value="details">Details</TabsTrigger>
        <TabsTrigger value="settings">Settings</TabsTrigger>
      </TabsList>
      <TabsContent value="overview">
        <p className="text-sm text-text">Overview content goes here.</p>
      </TabsContent>
      <TabsContent value="details">
        <p className="text-sm text-text">Details content goes here.</p>
      </TabsContent>
      <TabsContent value="settings">
        <p className="text-sm text-text">Settings content goes here.</p>
      </TabsContent>
    </Tabs>
  );
}

Props

NameTypeDefaultDescription
valuestringThe currently active tab value (controlled).
onValueChange(v: string) => voidCalled when the user activates a different tab.
classNamestring""Additional classes on the root wrapper div.