import type { Meta, StoryObj } from '@storybook/react'; import { PixelSection, PixelDivider } from './layout'; const TONES = ['green', 'cyan', 'gold', 'red', 'purple', 'pink', 'neutral'] as const; const SURFACES = ['pixel', 'linear'] as const; const meta: Meta = { title: 'UI Kit / Layout', parameters: { layout: 'padded' }, }; export default meta; type Story = StoryObj; export const AllLayout: Story = { render: (args: any) => (

PixelSection wraps content with a title row, optional subtitle, and consistent spacing.

Override any --retro-* CSS variable to retheme every component in one swap.

), argTypes: { surface: { control: 'inline-radio', options: SURFACES } }, args: { surface: 'pixel' as const }, }; /* ────────────────────────────────────────────────────────────────────────── PixelSection ────────────────────────────────────────────────────────────────────────── */ export const PixelSectionStory: Story = { name: 'PixelSection', render: (args: any) => (

Section body content. Anything you drop in here inherits the active surface.

), argTypes: { title: { control: 'text' }, subtitle: { control: 'text' }, surface: { control: 'inline-radio', options: SURFACES }, }, args: { title: 'Quickstart', subtitle: 'Install, import, ship', surface: 'pixel', }, }; /* ────────────────────────────────────────────────────────────────────────── PixelDivider ────────────────────────────────────────────────────────────────────────── */ export const PixelDividerStory: Story = { name: 'PixelDivider', render: (args: any) => (
), argTypes: { label: { control: 'text' }, tone: { control: 'select', options: TONES }, spacing: { control: 'inline-radio', options: ['none', 'sm', 'md', 'lg'] }, surface: { control: 'inline-radio', options: SURFACES }, }, args: { label: 'CHAPTER 1', tone: 'gold', spacing: 'none', surface: 'pixel', }, };