Tabs

A set of layered sections of content, each associated with a tab trigger. Supports a default underline style and a pill variant. Built on Radix UI Tabs.

Overview content goes here.

Usage

import { Tabs, TabsList, TabsTrigger, TabsContent } from "@bloomkit/react";
 
<Tabs defaultValue="overview">
  <TabsList>
    <TabsTrigger value="overview">Overview</TabsTrigger>
    <TabsTrigger value="analytics">Analytics</TabsTrigger>
    <TabsTrigger value="settings">Settings</TabsTrigger>
  </TabsList>
  <TabsContent value="overview">
    <p>Overview content.</p>
  </TabsContent>
  <TabsContent value="analytics">
    <p>Analytics content.</p>
  </TabsContent>
  <TabsContent value="settings">
    <p>Settings content.</p>
  </TabsContent>
</Tabs>

Pill variant

<TabsList variant="pill">
  <TabsTrigger value="all">All</TabsTrigger>
  <TabsTrigger value="active">Active</TabsTrigger>
  <TabsTrigger value="archived">Archived</TabsTrigger>
</TabsList>

Sub-components

ComponentDescription
TabsRoot container — sets the active tab context
TabsListContainer for tab triggers, accepts a variant prop
TabsTriggerIndividual tab button linked to a content panel
TabsContentContent panel shown when its tab is active

Tabs props

PropTypeDefaultDescription
valuestringControlled active tab value
defaultValuestringThe value of the tab that should be active on initial render
onValueChange(value: string) => voidCalled when the active tab changes
childrenReactNodeTabsList and TabsContent elements

TabsList props

PropTypeDefaultDescription
variant"default" | "pill""default"Visual style of the tabs list
classNamestringAdditional Tailwind classes

TabsTrigger props

PropTypeDefaultDescription
valuestringUnique identifier matching a TabsContent value
childrenReactNodeTab label content

TabsContent props

PropTypeDefaultDescription
valuestringUnique identifier matching a TabsTrigger value
childrenReactNodeContent rendered when this tab is active