veza/apps/web/src/features/tracks/components/TrackGridDensitySelector.stories.tsx
senke 64fbb81ddf ui(design): Phase 3 - rounded tokens, min-w/min-h, stories, NavigationProgress
- rounded-[var(--radius-xl/md/lg/sm)] → rounded-xl, rounded-md, rounded-lg, rounded-sm
- Timeline: min-w-[200px] → min-w-50
- AddEquipmentView, MetadataForm: min-h-[100px] → min-h-25
- NavigationProgress: shadow-[...] → shadow-button-primary-glow
- Stories: ActivityGraph, StatCard, NotificationBell, LoadingState, ScrollArea, Skeleton, FileUploadZone
- Reduced arbitrary values from ~60+ to 11 (5 files, exceptions documented)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 19:24:07 +01:00

74 lines
1.8 KiB
TypeScript

import type { Meta, StoryObj } from '@storybook/react';
import { TrackGridDensitySelector } from './TrackGridDensitySelector';
import { useArgs } from '@storybook/preview-api';
const meta: Meta<typeof TrackGridDensitySelector> = {
title: 'Components/Features/Tracks/TrackGridDensitySelector',
component: TrackGridDensitySelector,
parameters: { layout: 'centered' },
tags: ['autodocs'],
decorators: [
(Story) => (
<div className="p-4 bg-background border border-border rounded-xl min-h-layout-story">
<Story />
</div>
),
],
argTypes: {
onChange: { action: 'onChange' },
},
};
export default meta;
type Story = StoryObj<typeof TrackGridDensitySelector>;
export const Default: Story = {
args: {
value: 'normal',
},
};
export const Compact: Story = {
args: {
value: 'compact',
},
};
export const Comfortable: Story = {
args: {
value: 'comfortable',
},
};
export const Interactive: Story = {
render: function InteractiveStory(args) {
const [{ value }, updateArgs] = useArgs();
return (
<TrackGridDensitySelector
{...args}
value={value}
onChange={(v) => updateArgs({ value: v })}
/>
);
},
args: {
value: 'normal',
},
};
/** All states for token and transition check. */
export const VisualStressTest: Story = {
render: function VisualStressTestStory(args) {
const [{ value }, updateArgs] = useArgs();
return (
<TrackGridDensitySelector
{...args}
value={value}
onChange={(v) => updateArgs({ value: v })}
/>
);
},
args: {
value: 'comfortable',
},
};