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) => (
))}
),
}