import type { Meta, StoryObj } from "@storybook/react-vite"; import type { ReactNode } from "react"; import { tv } from "../core/tv"; import { Text } from "../ui/primitives/Text"; import { View } from "../ui/primitives/View"; import { Story } from "../ui/story-components/Story"; import { StoryGrid } from "../ui/story-components/StoryGrid"; interface SpacingSwatchProps { name: string; } function SpacingSwatch({ name }: SpacingSwatchProps): ReactNode { return ( {name} ); } const radiuses = tv({ base: "w-16 h-16 border-2 border-border-sharp bg-highlight", variants: { name: { xs: "rounded-xs", sm: "rounded-sm", md: "rounded-md", lg: "rounded-lg", }, }, }); interface RadiusSwatchProps { name: "lg" | "md" | "sm" | "xs"; } function RadiusSwatch({ name }: RadiusSwatchProps): ReactNode { return ( {name} ); } const shadows = tv({ base: "w-16 h-16 rounded-sm bg-highlight", variants: { name: { s: "shadow-s", m: "shadow-m", l: "shadow-l", lowered: "shadow-lowered", }, }, }); interface ShadowSwatchProps { name: "l" | "lowered" | "m" | "s"; } function ShadowSwatch({ name }: ShadowSwatchProps): ReactNode { return ( {name} ); } export default { title: "alouette/Config/Tokens", parameters: { chromatic: { disableSnapshot: true }, }, } satisfies Meta; export const Tokens: StoryObj = { render: () => ( ), };