console.log('remove')} />,
argTypes: {
label: { control: 'text' },
tone: { control: 'select', options: TONES },
surface: { control: 'inline-radio', options: SURFACES },
},
args: { label: 'React', tone: 'cyan', surface: 'pixel' },
};
export const PixelTextLinkStory: Story = {
name: 'PixelTextLink',
render: (args: any) => {args.children as React.ReactNode},
argTypes: {
href: { control: 'text' },
tone: { control: 'select', options: TONES },
surface: { control: 'inline-radio', options: SURFACES },
children: { control: 'text' },
},
args: { href: 'https://pxlkit.xyz', tone: 'cyan', surface: 'pixel', children: 'Browse all icons →' },
};
export const PixelCollapsibleStory: Story = {
name: 'PixelCollapsible',
render: (args: any) => (
{args.children as React.ReactNode}
),
argTypes: {
label: { control: 'text' },
defaultOpen: { control: 'boolean' },
tone: { control: 'select', options: TONES },
surface: { control: 'inline-radio', options: SURFACES },
children: { control: 'text' },
},
args: {
label: 'Show advanced settings',
defaultOpen: false,
tone: 'cyan',
surface: 'pixel',
children: 'Advanced settings would live here.',
},
};
export const PixelCodeInlineStory: Story = {
name: 'PixelCodeInline',
render: (args: any) => (
Run {args.children as React.ReactNode} to install.
),
argTypes: {
tone: { control: 'select', options: TONES },
surface: { control: 'inline-radio', options: SURFACES },
children: { control: 'text' },
},
args: { tone: 'cyan', surface: 'pixel', children: 'npm install @pxlkit/ui-kit' },
};
export const PixelKbdStory: Story = {
name: 'PixelKbd',
render: (args: any) => (
Press ⌘ + K to open the command palette.
),
argTypes: {
surface: { control: 'inline-radio', options: SURFACES },
},
args: { surface: 'pixel' },
};
export const PixelColorSwatchStory: Story = {
name: 'PixelColorSwatch',
render: (args: any) => (
),
argTypes: { surface: { control: 'inline-radio', options: SURFACES } },
args: { surface: 'pixel' as const },
};
/* Bare primitives — pass-through, no styling */
export const PixelBareButtonStory: Story = {
name: 'PixelBareButton',
render: (args: any) => {(args as { children?: React.ReactNode }).children ?? 'Bare button'},
args: { children: 'PixelBareButton — minimal click target' },
};
export const PixelBareInputStory: Story = {
name: 'PixelBareInput',
render: (args: any) => ,
args: { placeholder: 'PixelBareInput — no shell, just the input' },
};
export const PixelBareTextareaStory: Story = {
name: 'PixelBareTextarea',
render: (args: any) => ,
args: { placeholder: 'PixelBareTextarea — for low-chrome contexts', rows: 3 },
};