import type { Meta, StoryObj } from '@storybook/react-vite' import { IconSquareRounded } from '@tabler/icons-react' import { CollapsibleSection } from './CollapsibleSection' import { NavItem } from './NavItem' import { SectionHeader } from './SectionHeader' import { Sidebar } from './Sidebar' const placeholder = const meta = { title: 'Frame/Sidebar', component: Sidebar, parameters: { layout: 'fullscreen' }, args: { children: null }, argTypes: { children: { control: false } }, decorators: [(Story) =>
{Story()}
], } satisfies Meta export default meta type Story = StoryObj /** Entries, then two kinds of group: one that folds (a CollapsibleSection) and one that stays open (a SectionHeader over its rows). `mt-2` between groups, `shrink-0` so the column scrolls rather than squashes. */ export const Composed: Story = { // axe color-contrast is off here until PLAN.md stage 0.10 is ruled: // the count chip is muted text, 3.06:1 on the active row in signal (AA 4.5:1). parameters: { a11y: { config: { rules: [{ id: 'color-contrast', enabled: false }] } } }, render: (args) => ( ), } /** The column scrolls on its own — a long group never scrolls the frame away. */ export const Scrolls: Story = { // axe color-contrast is off here until PLAN.md stage 0.10 is ruled: // the count chips are muted text, 3.78:1 on --bg-surface in signal (AA 4.5:1). parameters: { a11y: { config: { rules: [{ id: 'color-contrast', enabled: false }] } } }, render: (args) => ( {Array.from({ length: 40 }, (_, i) => ( ))} ), }