@mks2508/mks-ui
Components

Tabs

Tabbed navigation for organizing content into switchable panels.

Tabs

Tabbed interface for organizing content into switchable panels with animated transitions.

Import

import { Tabs, TabsList, TabsTab, TabsPanel, TabsPanels, TabsHighlight, TabsHighlightItem } from '@mks2508/mks-ui/react';

Basic Usage

Basic Usage

Account settings content.

.tsx
<Tabs defaultValue="tab1">
<TabsList>
  <TabsTab value="tab1">Account</TabsTab>
  <TabsTab value="tab2">Password</TabsTab>
</TabsList>
<TabsPanels>
  <TabsPanel value="tab1">
    Account settings content.
  </TabsPanel>
  <TabsPanel value="tab2">
    Password settings content.
  </TabsPanel>
</TabsPanels>
</Tabs>

With Highlight

With Animated Highlight
General settings content.
.tsx
<Tabs defaultValue="general">
<TabsList>
  <TabsHighlight className="rounded-md bg-white/10">
    <TabsHighlightItem value="general">
      <TabsTab value="general">General</TabsTab>
    </TabsHighlightItem>
    <TabsHighlightItem value="advanced">
      <TabsTab value="advanced">Advanced</TabsTab>
    </TabsHighlightItem>
  </TabsHighlight>
</TabsList>
<TabsPanels>
  <TabsPanel value="general">General settings content.</TabsPanel>
  <TabsPanel value="advanced">Advanced settings content.</TabsPanel>
</TabsPanels>
</Tabs>

Controlled

const [tab, setTab] = useState('tab1');

<Tabs value={tab} onValueChange={setTab}>
  <TabsList>
    <TabsTab value="tab1">Overview</TabsTab>
    <TabsTab value="tab2">Analytics</TabsTab>
  </TabsList>
  <TabsPanels>
    <TabsPanel value="tab1">Overview panel</TabsPanel>
    <TabsPanel value="tab2">Analytics panel</TabsPanel>
  </TabsPanels>
</Tabs>

API Reference

ComponentKey PropsDescription
TabsdefaultValue, value, onValueChangeRoot container
TabsListclassNameTab button container
TabsTabvalue, disabledIndividual tab button
TabsPanelvalueContent panel for a tab
TabsPanelsmodeContainer with auto-height animation
TabsHighlightclassNameAnimated background indicator
TabsHighlightItemvalueHighlight item wrapper