import { SegmentedControl } from "@radix-ui/themes" import { segmentedControlRootPropDefs } from "@radix-ui/themes/props" import type { Meta, StoryObj } from "@storybook/react" const meta: Meta = { title: "base/components/SegmentedControl", component: SegmentedControl.Root, parameters: { layout: "centered", }, tags: ["autodocs"], argTypes: { size: { control: "select", options: segmentedControlRootPropDefs.size.values, }, variant: { control: "select", options: ["surface", "classic"], }, radius: { control: "select", options: segmentedControlRootPropDefs.radius.values, }, disabled: { control: "boolean", }, }, args: { size: "2", variant: "surface", }, } satisfies Meta export default meta type Story = StoryObj export const Default: Story = { render: args => ( Item 1 Item 2 Item 3 Item 4 Item 5 ), } export const Variants: Story = { render: args => (
Surface Item 2 Classic Item 2
), } export const Sizes: Story = { render: args => (
{segmentedControlRootPropDefs.size.values.map(size => ( {`Size ${size}`} Item 2 ))}
), } export const Radius: Story = { render: args => (
{segmentedControlRootPropDefs.radius.values.map(radius => ( {`Radius ${radius}`} Item 2 ))}
), } export const Disabled: Story = { render: args => ( Item 1 Item 2 ), } export const NoDefaultValue: Story = { render: args => ( Item 1 Item 2 ), }