tpmjs/packages/storybook/stories/Icon.stories.tsx
Ajax Davis e95bea6847 fix(lint): configure Biome to properly ignore build directories
- Add root biome.json that extends packages/config/biome.json
- Add explicit ignore patterns for dist/, build/, .next/, .turbo/, etc.
- Make a11y lints warnings instead of errors (non-blocking)
- Remove invalid biome-ignore comment from Section.tsx
- Apply formatting to all source files (155 files checked, 129 fixed)

This fixes the CI format check that was failing with 2064+ errors
because Biome was checking generated files in dist/ and .turbo/.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 22:49:45 +10:00

53 lines
1.5 KiB
TypeScript

import type { Meta, StoryObj } from '@storybook/react';
import { Icon } from '@tpmjs/ui/Icon/Icon';
const meta = {
title: 'Components/Icon',
component: Icon,
tags: ['autodocs'],
parameters: {
layout: 'centered',
},
} satisfies Meta<typeof Icon>;
export default meta;
type Story = StoryObj<typeof meta>;
export const AllIcons: Story = {
render: () => (
<div className="grid grid-cols-4 gap-8 p-8">
{(
['copy', 'externalLink', 'github', 'check', 'x', 'chevronDown', 'sun', 'moon'] as const
).map((iconName) => (
<div key={iconName} className="flex flex-col items-center gap-2">
<Icon icon={iconName} size="lg" />
<span className="text-sm text-foreground-secondary">{iconName}</span>
</div>
))}
</div>
),
};
export const AllSizes: Story = {
render: () => (
<div className="flex items-center gap-6">
{(['sm', 'md', 'lg'] as const).map((size) => (
<div key={size} className="flex flex-col items-center gap-2">
<Icon icon="github" size={size} />
<span className="text-sm text-foreground-secondary">{size}</span>
</div>
))}
</div>
),
};
export const WithColors: Story = {
render: () => (
<div className="flex items-center gap-6">
<Icon icon="check" size="lg" className="text-success" />
<Icon icon="x" size="lg" className="text-error" />
<Icon icon="github" size="lg" className="text-info" />
<Icon icon="sun" size="lg" className="text-warning" />
</div>
),
};