import type { Meta, StoryObj } from '@storybook/react-vite'; import { css } from 'styled-system/css'; const meta = { title: 'Foundations/Borders', parameters: { layout: 'padded' }, } satisfies Meta; export default meta; type Story = StoryObj; // ── Pre-declared css() calls — Panda CSS statically extracts these ───────────── // (dynamic template literals cannot be extracted; explicit literals are required) const borderBox: Record = { thin: css({ borderWidth: 'thin', borderStyle: 'solid', borderColor: 'neutral.outline.border', bg: 'neutral.1', }), medium: css({ borderWidth: 'medium', borderStyle: 'solid', borderColor: 'neutral.outline.border', bg: 'neutral.1', }), thick: css({ borderWidth: 'thick', borderStyle: 'solid', borderColor: 'neutral.outline.border', bg: 'neutral.1', }), }; // ── Data ──────────────────────────────────────────────────────────────────────── const BORDER_WIDTHS: { token: string; value: string }[] = [ { token: 'thin', value: '1px' }, { token: 'medium', value: '2px' }, { token: 'thick', value: '4px' }, ]; // ── Shared helpers ────────────────────────────────────────────────────────────── function SectionHeading({ title, description, }: { title: string; description: string; }) { return (

{title}

{description}

); } // ── Story 1: Border Width Tokens ─────────────────────────────────────────────── export const BorderWidthTokens: Story = { name: '1 · Border Width Tokens', render: () => (
{BORDER_WIDTHS.map(({ token, value }) => (
{token} {value}
))}
), };