- add lucide-react for Sun/Moon icons - add useTheme hook persisting choice to localStorage with prefers-color-scheme fallback - add ThemeSwitcher button component wired into SidePanel header - add blocking inline script to index.html to prevent flash-of-wrong-theme - move all *.stories.tsx from src/ into .storybook/stories/ and update imports - update main.ts stories glob to .storybook/stories/**
26 lines
1015 B
TypeScript
26 lines
1015 B
TypeScript
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
import { Badge } from '../../src/ui/Badge/Badge';
|
|
|
|
const meta: Meta<typeof Badge> = {
|
|
title: 'UI/Badge',
|
|
component: Badge,
|
|
parameters: { layout: 'centered' },
|
|
tags: ['autodocs'],
|
|
argTypes: {
|
|
variant: {
|
|
control: 'select',
|
|
options: ['success', 'error', 'warning', 'info', 'neutral', 'running'],
|
|
},
|
|
dot: { control: 'boolean' },
|
|
},
|
|
};
|
|
export default meta;
|
|
type Story = StoryObj<typeof Badge>;
|
|
|
|
export const Success: Story = { args: { children: 'Passed', variant: 'success', dot: true } };
|
|
export const Error: Story = { args: { children: 'Failed', variant: 'error', dot: true } };
|
|
export const Warning: Story = { args: { children: 'Warning', variant: 'warning' } };
|
|
export const Info: Story = { args: { children: 'Info', variant: 'info' } };
|
|
export const Neutral: Story = { args: { children: 'Pending', variant: 'neutral' } };
|
|
export const Running: Story = { args: { children: 'Running', variant: 'running', dot: true } };
|