import type { Meta, StoryObj } from "@storybook/react" import { Tabs } from "./Tabs" /** * Displays a set of tabs for organizing content into multiple views. * * ## Props * - `Root`: Container for the tabs component * - `List`: Container for tab triggers * - `Trigger`: Individual tab trigger button * - `Content`: Content panel for each tab * * ### List Props * - `size`: "1" | "2" (default: "2") * - `color`: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" * - `highContrast`: boolean * - `wrap`: "nowrap" | "wrap" | "wrap-reverse" * - `justify`: "start" | "center" | "end" */ const meta = { title: "base/action/Tabs", component: Tabs.Root, tags: ["autodocs"], argTypes: { defaultValue: { control: "text", description: "The default selected tab value", }, value: { control: "text", description: "The controlled selected tab value", }, onValueChange: { action: "valueChanged", description: "Called when the selected tab changes", }, }, parameters: { layout: "centered", }, } satisfies Meta export default meta type Story = StoryObj /** * Basic tabs with default styling. */ export const Default: Story = { render: () => ( Account Documents Settings

Account

Manage your account settings and preferences.

Documents

Access and manage your documents.

Settings

Configure your application settings.

), } /** * Tabs with different colors. */ export const Colors: Story = { render: () => (

Blue

Account Documents Settings
Account content
Documents content
Settings content

Green

Account Documents Settings
Account content
Documents content
Settings content

Purple

Account Documents Settings
Account content
Documents content
Settings content
), } /** * Tabs with different sizes. */ export const Sizes: Story = { render: () => (

Size 1 (Small)

Account Documents Settings
Account content
Documents content
Settings content

Size 2 (Default)

Account Documents Settings
Account content
Documents content
Settings content
), } /** * Tabs with different justification. */ export const Justification: Story = { render: () => (

Start (Default)

Account Documents Settings
Account content
Documents content
Settings content

Center

Account Documents Settings
Account content
Documents content
Settings content

End

Account Documents Settings
Account content
Documents content
Settings content
), } /** * Tabs with wrapping behavior. */ export const Wrapping: Story = { render: () => (

No Wrap

Account Documents Settings Profile Billing
Account content
Documents content
Settings content
Profile content
Billing content

Wrap

Account Documents Settings Profile Billing
Account content
Documents content
Settings content
Profile content
Billing content
), } /** * Tabs with high contrast mode. */ export const HighContrast: Story = { render: () => (

Normal

Account Documents Settings
Account content
Documents content
Settings content

High Contrast

Account Documents Settings
Account content
Documents content
Settings content
), } /** * Tabs with rich content. */ export const RichContent: Story = { render: () => ( Overview Analytics Reports Notifications

Dashboard Overview

Total Users

1,234

Active Sessions

567

Revenue

$12,345

Analytics

View detailed analytics and metrics for your application.

Reports

Generate and view various reports and insights.

Notifications

Manage your notification preferences and settings.

), }