Files
web/packages/design-system/lib/components/ChipButton/ChipButton.stories.tsx
Erik Tiekstra d7eed5b318 chore(BOOK-754): Moved ContentCard to design system and added stories
Approved-by: Bianca Widstam
Approved-by: Anton Gunnarsson
2026-01-20 12:37:22 +00:00

141 lines
2.9 KiB
TypeScript

import type { Meta, StoryObj } from "@storybook/nextjs-vite"
import { fn } from "storybook/test"
import { MaterialIcon } from "../Icons/MaterialIcon/index.tsx"
import { ChipButton } from "./ChipButton.tsx"
import { config as chipButtonConfig } from "./variants"
const meta: Meta<typeof ChipButton> = {
title: "Core Components/ChipButton",
component: ChipButton,
argTypes: {
children: {
table: {
disable: true,
},
},
variant: {
control: "select",
options: Object.keys(chipButtonConfig.variants.variant),
table: {
type: {
summary: Object.keys(chipButtonConfig.variants.variant).join(" | "),
},
defaultValue: { summary: chipButtonConfig.defaultVariants.variant },
},
},
size: {
control: "select",
options: Object.keys(chipButtonConfig.variants.size),
table: {
type: {
summary: Object.keys(chipButtonConfig.variants.size).join(" | "),
},
defaultValue: { summary: "Large" },
},
description:
"Sets the size of the ChipButton component. This only affects the `FilterRounded` variant.",
},
selected: {
control: "boolean",
table: {
type: { summary: "boolean" },
defaultValue: { summary: "false" },
},
},
onPress: {
table: {
disable: true,
},
},
},
}
export default meta
type Story = StoryObj<typeof ChipButton>
export const Default: Story = {
args: {
onPress: fn(),
children: (
<>
Button Chip
<MaterialIcon icon="chevron_right" size={20} />
</>
),
},
}
export const Outlined: Story = {
args: {
variant: "Outlined",
onPress: fn(),
children: (
<>
Button Chip
<MaterialIcon icon="keyboard_arrow_down" size={20} />
</>
),
},
}
export const FilterRoundedLarge: Story = {
args: {
variant: "FilterRounded",
onPress: fn(),
size: "Large",
children: (
<>
<MaterialIcon icon="location_city" size={20} color="CurrentColor" />
Button Chip
</>
),
},
}
export const FilterRoundedLargeSelected: Story = {
args: {
variant: "FilterRounded",
onPress: fn(),
size: "Large",
selected: true,
children: (
<>
<MaterialIcon icon="location_city" size={20} color="CurrentColor" />
Button Chip
</>
),
},
}
export const FilterRoundedMedium: Story = {
args: {
variant: "FilterRounded",
onPress: fn(),
size: "Medium",
children: (
<>
<MaterialIcon icon="location_city" size={20} color="CurrentColor" />
Button Chip
</>
),
},
}
export const FilterRoundedMediumSelected: Story = {
args: {
variant: "FilterRounded",
onPress: fn(),
size: "Medium",
selected: true,
children: (
<>
<MaterialIcon icon="location_city" size={20} color="CurrentColor" />
Button Chip
</>
),
},
}