feat(dss-ui): Button component with design tokens only
Some checks failed
DSS Project Analysis / dss-context-update (push) Has been cancelled

- Button.css uses only CSS custom properties, no fallbacks
- Token validator now blocks hardcoded values (strict_mode: true)
- Hook scripts converted from ESM (.js) to CommonJS (.cjs)
- Storybook unified config with HMR disabled for nginx proxy
- Added dss-ui package with Figma-synced components and stories

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DSS
2025-12-11 18:47:57 -03:00
parent 44cea9443b
commit 09b234a07f
82 changed files with 4847 additions and 9 deletions

View File

@@ -0,0 +1,111 @@
.button {
display: flex;
flex-direction: row;
gap: 8px;
padding: 7.5px 16px;
justify-content: center;
align-items: center;
background: var(--color-primary);
color: var(--color-primary-foreground);
border-radius: var(--radius);
border: none;
cursor: pointer;
font-weight: 500;
font-size: 14px;
line-height: 1.25;
transition: background-color 0.15s ease;
}
.button--large {
padding: 9.5px 24.0px 9.5px 24.0px;
gap: 8.0px;
}
.button--mini {
padding: 3.0px 8.0px 3.0px 8.0px;
gap: 6.0px;
}
.button--regular {
padding: 7.5px 16.0px 7.5px 16.0px;
gap: 8.0px;
}
.button--small {
padding: 5.5px 12.0px 5.5px 12.0px;
gap: 6.0px;
}
.button--destructive {
background: var(--color-destructive);
color: var(--color-destructive-foreground);
}
.button--ghost {
background: transparent;
color: var(--color-foreground);
}
.button--ghost:hover {
background: var(--color-accent);
}
.button--ghost-muted {
background: transparent;
color: var(--color-muted-foreground);
}
.button--ghost-muted:hover {
background: var(--color-muted);
}
.button--outline {
background: transparent;
color: var(--color-foreground);
border: 1px solid var(--color-border);
}
.button--outline:hover {
background: var(--color-accent);
}
.button--primary {
background: var(--color-primary);
color: var(--color-primary-foreground);
}
.button--primary:hover {
opacity: 0.9;
}
.button--secondary {
background: var(--color-secondary);
color: var(--color-secondary-foreground);
}
.button--secondary:hover {
opacity: 0.9;
}
.button--default {
background: var(--color-primary);
color: var(--color-primary-foreground);
}
.button:disabled,
.button--disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
.button:focus,
.button--focus {
outline: 2px solid var(--color-ring);
outline-offset: 2px;
}
.button--hover-active,
.button:hover:not(:disabled) {
opacity: 0.9;
}

View File

@@ -0,0 +1,37 @@
/**
* Button
* Auto-generated from Figma
*
* @classification atom
* @figma-id 9:1071
* @generated 2025-12-11T14:37:52.567978
*/
import './Button.css';
export interface ButtonProps {
roundness?: 'Default' | 'Round';
variant?: 'Destructive' | 'Ghost' | 'Ghost Muted' | 'Outline' | 'Primary' | 'Secondary';
size?: 'Large' | 'Mini' | 'Regular' | 'Small';
state?: 'Default' | 'Disabled' | 'Focus' | 'Hover & Active';
icon?: preact.ComponentChildren;
label?: preact.ComponentChildren;
children?: preact.ComponentChildren;
className?: string;
style?: preact.JSX.CSSProperties;
}
export function Button({ roundness, variant, size, state, icon, label, children, className, style }: ButtonProps) {
const baseClass = 'button';
const toKebab = (s: string) => s.toLowerCase().replace(/\s+/g, '-');
const classes = [baseClass, roundness && `button--${toKebab(roundness)}`, variant && `button--${toKebab(variant)}`, size && `button--${toKebab(size)}`, state && `button--${toKebab(state)}`, className].filter(Boolean).join(' ');
return (
<button className={classes} style={style}>
{icon}
{label}
{children}
</button>
);
}
Button.displayName = 'Button';

View File

@@ -0,0 +1,40 @@
/**
* Accordion Trigger Stories
* @generated 2025-12-11T14:37:52.563341
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { AccordionTrigger, type AccordionTriggerProps } from '../src/atoms/AccordionTrigger';
const meta: Meta<AccordionTriggerProps> = {
title: '3. Molecules/AccordionTrigger',
component: AccordionTrigger,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated AccordionTrigger component
**Classification:** molecule
**Slots:** icon, label
**Figma ID:** 66:5034`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Closed', 'Focus', 'Open'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<AccordionTriggerProps>;
export const Default: Story = {
args: {
state: 'Closed',
children: 'AccordionTrigger'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Alert Stories
* @generated 2025-12-11T14:37:52.563973
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Alert, type AlertProps } from '../src/atoms/Alert';
const meta: Meta<AlertProps> = {
title: '3. Molecules/Alert',
component: Alert,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Alert component
**Classification:** molecule
**Slots:** None
**Figma ID:** 58:5416`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Error', 'Neutral'],
description: 'Type variant',
},
flipIcon: {
control: 'select',
options: ['false', 'true'],
description: 'Flip Icon variant',
},
},
};
export default meta;
type Story = StoryObj<AlertProps>;
export const Default: Story = {
args: {
type: 'Error',
flipIcon: 'false',
children: 'Alert'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Alert Dialog Stories
* @generated 2025-12-11T14:37:52.564485
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { AlertDialog, type AlertDialogProps } from '../src/atoms/AlertDialog';
const meta: Meta<AlertDialogProps> = {
title: '3. Molecules/AlertDialog',
component: AlertDialog,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated AlertDialog component
**Classification:** molecule
**Slots:** None
**Figma ID:** 139:11941`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Desktop', 'Mobile'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<AlertDialogProps>;
export const Default: Story = {
args: {
type: 'Desktop',
children: 'AlertDialog'
},
};

View File

@@ -0,0 +1,73 @@
/**
* Avatar Stories
* @generated 2025-12-11T14:37:52.566544
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Avatar, type AvatarProps } from '../src/atoms/Avatar';
const meta: Meta<AvatarProps> = {
title: '2. Atoms/Avatar',
component: Avatar,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Avatar component
**Classification:** atom
**Slots:** media
**Figma ID:** 18:1398`
}
}
},
argTypes: {
picture: {
control: 'select',
options: ['false', 'true'],
description: 'Picture variant',
},
size: {
control: 'select',
options: ['Extra Tiny', 'Regular', 'Small', 'Tiny'],
description: 'Size variant',
},
roundnessType: {
control: 'select',
options: ['Round', 'Roundrect'],
description: 'Roundness Type variant',
},
},
};
export default meta;
type Story = StoryObj<AvatarProps>;
export const Default: Story = {
args: {
picture: 'false',
size: 'Extra Tiny',
roundnessType: 'Round',
children: 'Avatar'
},
};
export const SizeExtraTiny: Story = {
args: {
...Default.args,
size: 'Extra Tiny',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};
export const SizeSmall: Story = {
args: {
...Default.args,
size: 'Small',
},
};

View File

@@ -0,0 +1,60 @@
/**
* Avatar Stack Stories
* @generated 2025-12-11T14:37:52.567049
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { AvatarStack, type AvatarStackProps } from '../src/atoms/AvatarStack';
const meta: Meta<AvatarStackProps> = {
title: '2. Atoms/AvatarStack',
component: AvatarStack,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated AvatarStack component
**Classification:** atom
**Slots:** None
**Figma ID:** 22:9509`
}
}
},
argTypes: {
size: {
control: 'select',
options: ['Regular', 'Small'],
description: 'Size variant',
},
type: {
control: 'select',
options: ['Default'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<AvatarStackProps>;
export const Default: Story = {
args: {
size: 'Regular',
type: 'Default',
children: 'AvatarStack'
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};
export const SizeSmall: Story = {
args: {
...Default.args,
size: 'Small',
},
};

View File

@@ -0,0 +1,80 @@
/**
* Badge Stories
* @generated 2025-12-11T14:37:52.567758
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Badge, type BadgeProps } from '../src/atoms/Badge';
const meta: Meta<BadgeProps> = {
title: '2. Atoms/Badge',
component: Badge,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Badge component
**Classification:** atom
**Slots:** icon, label
**Figma ID:** 19:6979`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
variant: {
control: 'select',
options: ['Destructive', 'Ghost', 'Outline', 'Primary', 'Secondary'],
description: 'Variant variant',
},
state: {
control: 'select',
options: ['Default', 'Focus'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<BadgeProps>;
export const Default: Story = {
args: {
roundness: 'Default',
variant: 'Destructive',
state: 'Default',
children: 'Badge'
},
};
export const Destructive: Story = {
args: {
...Default.args,
variant: 'Destructive',
},
};
export const Ghost: Story = {
args: {
...Default.args,
variant: 'Ghost',
},
};
export const Outline: Story = {
args: {
...Default.args,
variant: 'Outline',
},
};
export const Primary: Story = {
args: {
...Default.args,
variant: 'Primary',
},
};

View File

@@ -0,0 +1,46 @@
/**
* Basic Table Cell Stories
* @generated 2025-12-11T14:37:52.648193
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { BasicTableCell, type BasicTableCellProps } from '../src/atoms/BasicTableCell';
const meta: Meta<BasicTableCellProps> = {
title: '2. Atoms/BasicTableCell',
component: BasicTableCell,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated BasicTableCell component
**Classification:** atom
**Slots:** None
**Figma ID:** 288:172242`
}
}
},
argTypes: {
parity: {
control: 'select',
options: ['Even', 'Odd'],
description: 'Parity variant',
},
alignment: {
control: 'select',
options: ['Left', 'Right'],
description: 'Alignment variant',
},
},
};
export default meta;
type Story = StoryObj<BasicTableCellProps>;
export const Default: Story = {
args: {
parity: 'Even',
alignment: 'Left',
children: 'BasicTableCell'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Basic Table Header Stories
* @generated 2025-12-11T14:37:52.647707
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { BasicTableHeader, type BasicTableHeaderProps } from '../src/atoms/BasicTableHeader';
const meta: Meta<BasicTableHeaderProps> = {
title: '4. Organisms/BasicTableHeader',
component: BasicTableHeader,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated BasicTableHeader component
**Classification:** organism
**Slots:** None
**Figma ID:** 164:18430`
}
}
},
argTypes: {
cellType: {
control: 'select',
options: ['Heading'],
description: 'Cell Type variant',
},
},
};
export default meta;
type Story = StoryObj<BasicTableHeaderProps>;
export const Default: Story = {
args: {
cellType: 'Heading',
children: 'BasicTableHeader'
},
};

View File

@@ -0,0 +1,107 @@
/**
* Button Stories
* @generated 2025-12-11T14:37:52.568631
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Button, type ButtonProps } from '../src/atoms/Button';
const meta: Meta<ButtonProps> = {
title: '2. Atoms/Button',
component: Button,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Button component
**Classification:** atom
**Slots:** icon, label
**Figma ID:** 9:1071`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
variant: {
control: 'select',
options: ['Destructive', 'Ghost', 'Ghost Muted', 'Outline', 'Primary', 'Secondary'],
description: 'Variant variant',
},
size: {
control: 'select',
options: ['Large', 'Mini', 'Regular', 'Small'],
description: 'Size variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Focus', 'Hover & Active'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<ButtonProps>;
export const Default: Story = {
args: {
roundness: 'Default',
variant: 'Destructive',
size: 'Large',
state: 'Default',
children: 'Button'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};
export const Destructive: Story = {
args: {
...Default.args,
variant: 'Destructive',
},
};
export const Ghost: Story = {
args: {
...Default.args,
variant: 'Ghost',
},
};
export const GhostMuted: Story = {
args: {
...Default.args,
variant: 'Ghost Muted',
},
};
export const Outline: Story = {
args: {
...Default.args,
variant: 'Outline',
},
};

View File

@@ -0,0 +1,79 @@
/**
* Button Group Stories
* @generated 2025-12-11T14:37:52.569372
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { ButtonGroup, type ButtonGroupProps } from '../src/atoms/ButtonGroup';
const meta: Meta<ButtonGroupProps> = {
title: '2. Atoms/ButtonGroup',
component: ButtonGroup,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated ButtonGroup component
**Classification:** atom
**Slots:** icon, label
**Figma ID:** 784:82792`
}
}
},
argTypes: {
skin: {
control: 'select',
options: ['Ghost', 'Outlined'],
description: 'Skin variant',
},
size: {
control: 'select',
options: ['Large', 'Regular', 'Small'],
description: 'Size variant',
},
position: {
control: 'select',
options: ['Left', 'Middle', 'Right', 'Single'],
description: 'Position variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Focus', 'Hover'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<ButtonGroupProps>;
export const Default: Story = {
args: {
skin: 'Ghost',
size: 'Large',
position: 'Left',
state: 'Default',
children: 'ButtonGroup'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};
export const SizeSmall: Story = {
args: {
...Default.args,
size: 'Small',
},
};

View File

@@ -0,0 +1,79 @@
/**
* Button Group Icon Button Stories
* @generated 2025-12-11T14:37:52.574909
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { ButtonGroupIconButton, type ButtonGroupIconButtonProps } from '../src/atoms/ButtonGroupIconButton';
const meta: Meta<ButtonGroupIconButtonProps> = {
title: '2. Atoms/ButtonGroupIconButton',
component: ButtonGroupIconButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated ButtonGroupIconButton component
**Classification:** atom
**Slots:** icon
**Figma ID:** 784:87178`
}
}
},
argTypes: {
skin: {
control: 'select',
options: ['Ghost', 'Outlined'],
description: 'Skin variant',
},
size: {
control: 'select',
options: ['Default', 'Large', 'Small'],
description: 'Size variant',
},
position: {
control: 'select',
options: ['Left', 'Middle', 'Right', 'Single'],
description: 'Position variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Focus', 'Hover'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<ButtonGroupIconButtonProps>;
export const Default: Story = {
args: {
skin: 'Ghost',
size: 'Default',
position: 'Left',
state: 'Default',
children: 'ButtonGroupIconButton'
},
};
export const SizeDefault: Story = {
args: {
...Default.args,
size: 'Default',
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeSmall: Story = {
args: {
...Default.args,
size: 'Small',
},
};

View File

@@ -0,0 +1,40 @@
/**
* Card Stories
* @generated 2025-12-11T14:37:52.575656
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Card, type CardProps } from '../src/atoms/Card';
const meta: Meta<CardProps> = {
title: '3. Molecules/Card',
component: Card,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Card component
**Classification:** molecule
**Slots:** None
**Figma ID:** 179:29234`
}
}
},
argTypes: {
slotNo: {
control: 'select',
options: ['1 Slot', '2 Slots', '3 Slots'],
description: 'Slot No. variant',
},
},
};
export default meta;
type Story = StoryObj<CardProps>;
export const Default: Story = {
args: {
slotNo: '1 Slot',
children: 'Card'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Carousel Stories
* @generated 2025-12-11T14:37:52.576178
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Carousel, type CarouselProps } from '../src/atoms/Carousel';
const meta: Meta<CarouselProps> = {
title: '3. Molecules/Carousel',
component: Carousel,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Carousel component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 164:18293`
}
}
},
argTypes: {
slides: {
control: 'select',
options: ['1 Slide', '2 Slides', '3 Slides'],
description: 'Slides variant',
},
},
};
export default meta;
type Story = StoryObj<CarouselProps>;
export const Default: Story = {
args: {
slides: '1 Slide',
children: 'Carousel'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Carousel with Image Stories
* @generated 2025-12-11T14:37:52.576550
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { CarouselWithImage, type CarouselWithImageProps } from '../src/atoms/CarouselWithImage';
const meta: Meta<CarouselWithImageProps> = {
title: '3. Molecules/CarouselWithImage',
component: CarouselWithImage,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated CarouselWithImage component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 164:18350`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['1 Slide', '2 Slides', '3 Slides'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<CarouselWithImageProps>;
export const Default: Story = {
args: {
type: '1 Slide',
children: 'CarouselWithImage'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Checkbox Stories
* @generated 2025-12-11T14:37:52.577154
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Checkbox, type CheckboxProps } from '../src/atoms/Checkbox';
const meta: Meta<CheckboxProps> = {
title: '2. Atoms/Checkbox',
component: Checkbox,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Checkbox component
**Classification:** atom
**Slots:** icon
**Figma ID:** 16:1790`
}
}
},
argTypes: {
checked: {
control: 'select',
options: ['Indeterminate', 'false', 'true'],
description: 'Checked variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Error', 'Error Focus', 'Focus'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<CheckboxProps>;
export const Default: Story = {
args: {
checked: 'Indeterminate',
state: 'Default',
children: 'Checkbox'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Checkbox Group Stories
* @generated 2025-12-11T14:37:52.577669
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { CheckboxGroup, type CheckboxGroupProps } from '../src/atoms/CheckboxGroup';
const meta: Meta<CheckboxGroupProps> = {
title: '2. Atoms/CheckboxGroup',
component: CheckboxGroup,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated CheckboxGroup component
**Classification:** atom
**Slots:** label
**Figma ID:** 19:6040`
}
}
},
argTypes: {
layout: {
control: 'select',
options: ['Block', 'Inline'],
description: 'Layout variant',
},
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
},
};
export default meta;
type Story = StoryObj<CheckboxGroupProps>;
export const Default: Story = {
args: {
layout: 'Block',
checked: 'false',
children: 'CheckboxGroup'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Command Item Stories
* @generated 2025-12-11T14:37:52.582710
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { CommandItem, type CommandItemProps } from '../src/atoms/CommandItem';
const meta: Meta<CommandItemProps> = {
title: '2. Atoms/CommandItem',
component: CommandItem,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated CommandItem component
**Classification:** atom
**Slots:** None
**Figma ID:** 66:5600`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Active', 'Hover', 'Regular'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<CommandItemProps>;
export const Default: Story = {
args: {
state: 'Active',
children: 'CommandItem'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Date Picker Stories
* @generated 2025-12-11T14:37:52.590881
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { DatePicker, type DatePickerProps } from '../src/atoms/DatePicker';
const meta: Meta<DatePickerProps> = {
title: '3. Molecules/DatePicker',
component: DatePicker,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated DatePicker component
**Classification:** molecule
**Slots:** None
**Figma ID:** 288:119954`
}
}
},
argTypes: {
months: {
control: 'select',
options: ['1 Month', '2 months', '3 months'],
description: 'Months variant',
},
},
};
export default meta;
type Story = StoryObj<DatePickerProps>;
export const Default: Story = {
args: {
months: '1 Month',
children: 'DatePicker'
},
};

View File

@@ -0,0 +1,46 @@
/**
* .Date Picker / Day Stories
* @generated 2025-12-11T14:37:52.592745
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { DatePickerDay, type DatePickerDayProps } from '../src/atoms/DatePickerDay';
const meta: Meta<DatePickerDayProps> = {
title: '3. Molecules/DatePickerDay',
component: DatePickerDay,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated DatePickerDay component
**Classification:** molecule
**Slots:** None
**Figma ID:** 781:40922`
}
}
},
argTypes: {
position: {
control: 'select',
options: ['Left', 'Middle', 'Right', 'Single'],
description: 'Position variant',
},
state: {
control: 'select',
options: ['Active', 'Default', 'Disabled', 'Selected'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<DatePickerDayProps>;
export const Default: Story = {
args: {
position: 'Left',
state: 'Active',
children: 'DatePickerDay'
},
};

View File

@@ -0,0 +1,40 @@
/**
* .Date Picker / Header Stories
* @generated 2025-12-11T14:37:52.593775
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { DatePickerHeader, type DatePickerHeaderProps } from '../src/atoms/DatePickerHeader';
const meta: Meta<DatePickerHeaderProps> = {
title: '3. Molecules/DatePickerHeader',
component: DatePickerHeader,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated DatePickerHeader component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 264:29273`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['1 Month', '2 Months', '3 Months', 'Only Month', 'Only Year', 'Year and Month'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<DatePickerHeaderProps>;
export const Default: Story = {
args: {
type: '1 Month',
children: 'DatePickerHeader'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Date Picker Input Stories
* @generated 2025-12-11T14:37:52.593275
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { DatePickerInput, type DatePickerInputProps } from '../src/atoms/DatePickerInput';
const meta: Meta<DatePickerInputProps> = {
title: '2. Atoms/DatePickerInput',
component: DatePickerInput,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated DatePickerInput component
**Classification:** atom
**Slots:** None
**Figma ID:** 60:9340`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Focus', 'Placeholder', 'Value'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<DatePickerInputProps>;
export const Default: Story = {
args: {
state: 'Focus',
children: 'DatePickerInput'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Dialog Stories
* @generated 2025-12-11T14:37:52.594247
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Dialog, type DialogProps } from '../src/atoms/Dialog';
const meta: Meta<DialogProps> = {
title: '3. Molecules/Dialog',
component: Dialog,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Dialog component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 151:12298`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Desktop', 'Desktop Scrollable', 'Mobile', 'Mobile Full Screen Scrollable'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<DialogProps>;
export const Default: Story = {
args: {
type: 'Desktop',
children: 'Dialog'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Dialog Footer Stories
* @generated 2025-12-11T14:37:52.595530
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { DialogFooter, type DialogFooterProps } from '../src/atoms/DialogFooter';
const meta: Meta<DialogFooterProps> = {
title: '3. Molecules/DialogFooter',
component: DialogFooter,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated DialogFooter component
**Classification:** molecule
**Slots:** None
**Figma ID:** 176:21284`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['2 Buttons Right', '2 Full-width Buttons', 'Single Full-width Button'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<DialogFooterProps>;
export const Default: Story = {
args: {
type: '2 Buttons Right',
children: 'DialogFooter'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Dialog Header Stories
* @generated 2025-12-11T14:37:52.594886
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { DialogHeader, type DialogHeaderProps } from '../src/atoms/DialogHeader';
const meta: Meta<DialogHeaderProps> = {
title: '3. Molecules/DialogHeader',
component: DialogHeader,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated DialogHeader component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 176:22344`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Close Only', 'Header', 'Icon Button Close'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<DialogHeaderProps>;
export const Default: Story = {
args: {
type: 'Close Only',
children: 'DialogHeader'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Horizontal Field Stories
* @generated 2025-12-11T14:37:52.596505
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { HorizontalField, type HorizontalFieldProps } from '../src/atoms/HorizontalField';
const meta: Meta<HorizontalFieldProps> = {
title: '3. Molecules/HorizontalField',
component: HorizontalField,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated HorizontalField component
**Classification:** molecule
**Slots:** label
**Figma ID:** 120:13775`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Checkbox', 'Radio', 'Select', 'Slider', 'Text Value', 'Textarea'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<HorizontalFieldProps>;
export const Default: Story = {
args: {
type: 'Checkbox',
children: 'HorizontalField'
},
};

View File

@@ -0,0 +1,107 @@
/**
* Icon Button Stories
* @generated 2025-12-11T14:37:52.598080
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { IconButton, type IconButtonProps } from '../src/atoms/IconButton';
const meta: Meta<IconButtonProps> = {
title: '2. Atoms/IconButton',
component: IconButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated IconButton component
**Classification:** atom
**Slots:** icon
**Figma ID:** 9:775`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
variant: {
control: 'select',
options: ['Destructive', 'Ghost', 'Ghost Muted', 'Outline', 'Primary', 'Secondary'],
description: 'Variant variant',
},
size: {
control: 'select',
options: ['Large', 'Mini', 'Regular', 'Small'],
description: 'Size variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Focus', 'Hover & Active'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<IconButtonProps>;
export const Default: Story = {
args: {
roundness: 'Default',
variant: 'Destructive',
size: 'Large',
state: 'Default',
children: 'IconButton'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};
export const Destructive: Story = {
args: {
...Default.args,
variant: 'Destructive',
},
};
export const Ghost: Story = {
args: {
...Default.args,
variant: 'Ghost',
},
};
export const GhostMuted: Story = {
args: {
...Default.args,
variant: 'Ghost Muted',
},
};
export const Outline: Story = {
args: {
...Default.args,
variant: 'Outline',
},
};

View File

@@ -0,0 +1,73 @@
/**
* Input Stories
* @generated 2025-12-11T14:37:52.598773
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Input, type InputProps } from '../src/atoms/Input';
const meta: Meta<InputProps> = {
title: '2. Atoms/Input',
component: Input,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Input component
**Classification:** atom
**Slots:** None
**Figma ID:** 16:1738`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
size: {
control: 'select',
options: ['Large', 'Mini', 'Regular', 'Small'],
description: 'Size variant',
},
state: {
control: 'select',
options: ['Disabled', 'Empty', 'Error', 'Error Focus', 'Focus', 'Placeholder', 'Value'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<InputProps>;
export const Default: Story = {
args: {
roundness: 'Default',
size: 'Large',
state: 'Disabled',
children: 'Input'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};

View File

@@ -0,0 +1,79 @@
/**
* Input File Stories
* @generated 2025-12-11T14:37:52.604997
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { InputFile, type InputFileProps } from '../src/atoms/InputFile';
const meta: Meta<InputFileProps> = {
title: '2. Atoms/InputFile',
component: InputFile,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated InputFile component
**Classification:** atom
**Slots:** None
**Figma ID:** 66:5981`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
fileChosen: {
control: 'select',
options: ['false', 'true'],
description: 'File Chosen variant',
},
size: {
control: 'select',
options: ['Large', 'Mini', 'Regular', 'Small'],
description: 'Size variant',
},
state: {
control: 'select',
options: ['Default', 'Error', 'Error Focus', 'Focus'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<InputFileProps>;
export const Default: Story = {
args: {
roundness: 'Default',
fileChosen: 'false',
size: 'Large',
state: 'Default',
children: 'InputFile'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};

View File

@@ -0,0 +1,73 @@
/**
* Input OTP Stories
* @generated 2025-12-11T14:37:52.607301
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { InputOtp, type InputOtpProps } from '../src/atoms/InputOtp';
const meta: Meta<InputOtpProps> = {
title: '2. Atoms/InputOtp',
component: InputOtp,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated InputOtp component
**Classification:** atom
**Slots:** None
**Figma ID:** 140:11468`
}
}
},
argTypes: {
size: {
control: 'select',
options: ['Default', 'Large', 'Mini', 'Small'],
description: 'Size variant',
},
position: {
control: 'select',
options: ['Left', 'Middle', 'Right'],
description: 'Position variant',
},
state: {
control: 'select',
options: ['Disabled', 'Empty', 'Error', 'Error Focus', 'Focus', 'Placeholder', 'Value'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<InputOtpProps>;
export const Default: Story = {
args: {
size: 'Default',
position: 'Left',
state: 'Disabled',
children: 'InputOtp'
},
};
export const SizeDefault: Story = {
args: {
...Default.args,
size: 'Default',
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};

View File

@@ -0,0 +1,40 @@
/**
* Label Stories
* @generated 2025-12-11T14:37:52.608925
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Label, type LabelProps } from '../src/atoms/Label';
const meta: Meta<LabelProps> = {
title: '2. Atoms/Label',
component: Label,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Label component
**Classification:** atom
**Slots:** label
**Figma ID:** 103:9453`
}
}
},
argTypes: {
layout: {
control: 'select',
options: ['Block', 'Inline'],
description: 'Layout variant',
},
},
};
export default meta;
type Story = StoryObj<LabelProps>;
export const Default: Story = {
args: {
layout: 'Block',
children: 'Label'
},
};

View File

@@ -0,0 +1,73 @@
/**
* Link Button Stories
* @generated 2025-12-11T14:37:52.610405
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { LinkButton, type LinkButtonProps } from '../src/atoms/LinkButton';
const meta: Meta<LinkButtonProps> = {
title: '2. Atoms/LinkButton',
component: LinkButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated LinkButton component
**Classification:** atom
**Slots:** icon, label
**Figma ID:** 11:2014`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
size: {
control: 'select',
options: ['Default', 'Large', 'Mini', 'Small'],
description: 'Size variant',
},
state: {
control: 'select',
options: ['Default', 'Focus', 'Hover & Active'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<LinkButtonProps>;
export const Default: Story = {
args: {
roundness: 'Default',
size: 'Default',
state: 'Default',
children: 'LinkButton'
},
};
export const SizeDefault: Story = {
args: {
...Default.args,
size: 'Default',
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};

View File

@@ -0,0 +1,73 @@
/**
* Loading Button Stories
* @generated 2025-12-11T14:37:52.611264
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { LoadingButton, type LoadingButtonProps } from '../src/atoms/LoadingButton';
const meta: Meta<LoadingButtonProps> = {
title: '2. Atoms/LoadingButton',
component: LoadingButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated LoadingButton component
**Classification:** atom
**Slots:** label
**Figma ID:** 11:1126`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
size: {
control: 'select',
options: ['Large', 'Mini', 'Regular', 'Small'],
description: 'Size variant',
},
state: {
control: 'select',
options: ['Default', 'Focus', 'Hover & Active'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<LoadingButtonProps>;
export const Default: Story = {
args: {
roundness: 'Default',
size: 'Large',
state: 'Default',
children: 'LoadingButton'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};

View File

@@ -0,0 +1,40 @@
/**
* .Marker Stories
* @generated 2025-12-11T14:37:52.637414
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Marker, type MarkerProps } from '../src/atoms/Marker';
const meta: Meta<MarkerProps> = {
title: '2. Atoms/Marker',
component: Marker,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Marker component
**Classification:** atom
**Slots:** None
**Figma ID:** 162:17957`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Focus', 'Regular'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<MarkerProps>;
export const Default: Story = {
args: {
state: 'Focus',
children: 'Marker'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Menu Stories
* @generated 2025-12-11T14:37:52.623806
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Menu, type MenuProps } from '../src/atoms/Menu';
const meta: Meta<MenuProps> = {
title: '3. Molecules/Menu',
component: Menu,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Menu component
**Classification:** molecule
**Slots:** None
**Figma ID:** 176:27848`
}
}
},
argTypes: {
spacing: {
control: 'select',
options: ['16px', '24px', '2px', '8px', 'None'],
description: 'Spacing variant',
},
},
};
export default meta;
type Story = StoryObj<MenuProps>;
export const Default: Story = {
args: {
spacing: '16px',
children: 'Menu'
},
};

View File

@@ -0,0 +1,66 @@
/**
* Menu Item Stories
* @generated 2025-12-11T14:37:52.624404
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { MenuItem, type MenuItemProps } from '../src/atoms/MenuItem';
const meta: Meta<MenuItemProps> = {
title: '2. Atoms/MenuItem',
component: MenuItem,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated MenuItem component
**Classification:** atom
**Slots:** None
**Figma ID:** 18:1010`
}
}
},
argTypes: {
size: {
control: 'select',
options: ['Large', 'Regular'],
description: 'Size variant',
},
type: {
control: 'select',
options: ['Default', 'Destructive'],
description: 'Type variant',
},
state: {
control: 'select',
options: ['Active', 'Default', 'Disabled', 'Focus', 'Hover', 'Selected'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<MenuItemProps>;
export const Default: Story = {
args: {
size: 'Large',
type: 'Default',
state: 'Active',
children: 'MenuItem'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};

View File

@@ -0,0 +1,46 @@
/**
* Pagination Stories
* @generated 2025-12-11T14:37:52.613327
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Pagination, type PaginationProps } from '../src/atoms/Pagination';
const meta: Meta<PaginationProps> = {
title: '3. Molecules/Pagination',
component: Pagination,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Pagination component
**Classification:** molecule
**Slots:** None
**Figma ID:** 133:11358`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Next', 'Previous'],
description: 'Type variant',
},
state: {
control: 'select',
options: ['Disabled', 'Regular'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<PaginationProps>;
export const Default: Story = {
args: {
type: 'Next',
state: 'Disabled',
children: 'Pagination'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Pagination Button Stories
* @generated 2025-12-11T14:37:52.614238
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { PaginationButton, type PaginationButtonProps } from '../src/atoms/PaginationButton';
const meta: Meta<PaginationButtonProps> = {
title: '2. Atoms/PaginationButton',
component: PaginationButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated PaginationButton component
**Classification:** atom
**Slots:** None
**Figma ID:** 133:12195`
}
}
},
argTypes: {
active: {
control: 'select',
options: ['false', 'true'],
description: 'Active variant',
},
},
};
export default meta;
type Story = StoryObj<PaginationButtonProps>;
export const Default: Story = {
args: {
active: 'false',
children: 'PaginationButton'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Progress Stories
* @generated 2025-12-11T14:37:52.614683
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Progress, type ProgressProps } from '../src/atoms/Progress';
const meta: Meta<ProgressProps> = {
title: '2. Atoms/Progress',
component: Progress,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Progress component
**Classification:** atom
**Slots:** None
**Figma ID:** 438:64981`
}
}
},
argTypes: {
progress: {
control: 'select',
options: ['0', '10', '100', '25', '33', '50', '66', '75', '90'],
description: 'Progress variant',
},
},
};
export default meta;
type Story = StoryObj<ProgressProps>;
export const Default: Story = {
args: {
progress: '0',
children: 'Progress'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Radio Stories
* @generated 2025-12-11T14:37:52.615139
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Radio, type RadioProps } from '../src/atoms/Radio';
const meta: Meta<RadioProps> = {
title: '2. Atoms/Radio',
component: Radio,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Radio component
**Classification:** atom
**Slots:** None
**Figma ID:** 16:1796`
}
}
},
argTypes: {
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Error', 'Error Focus', 'Focus'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<RadioProps>;
export const Default: Story = {
args: {
checked: 'false',
state: 'Default',
children: 'Radio'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Radio Group Stories
* @generated 2025-12-11T14:37:52.615573
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { RadioGroup, type RadioGroupProps } from '../src/atoms/RadioGroup';
const meta: Meta<RadioGroupProps> = {
title: '2. Atoms/RadioGroup',
component: RadioGroup,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated RadioGroup component
**Classification:** atom
**Slots:** label
**Figma ID:** 19:6048`
}
}
},
argTypes: {
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
layout: {
control: 'select',
options: ['Block', 'Inline'],
description: 'Layout variant',
},
},
};
export default meta;
type Story = StoryObj<RadioGroupProps>;
export const Default: Story = {
args: {
checked: 'false',
layout: 'Block',
children: 'RadioGroup'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Resizable Stories
* @generated 2025-12-11T14:37:52.621735
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Resizable, type ResizableProps } from '../src/atoms/Resizable';
const meta: Meta<ResizableProps> = {
title: '3. Molecules/Resizable',
component: Resizable,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Resizable component
**Classification:** molecule
**Slots:** None
**Figma ID:** 222:27733`
}
}
},
argTypes: {
orientation: {
control: 'select',
options: ['Horizontal', 'Vertical'],
description: 'Orientation variant',
},
},
};
export default meta;
type Story = StoryObj<ResizableProps>;
export const Default: Story = {
args: {
orientation: 'Horizontal',
children: 'Resizable'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Rich Checkbox Group Stories
* @generated 2025-12-11T14:37:52.582185
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { RichCheckboxGroup, type RichCheckboxGroupProps } from '../src/atoms/RichCheckboxGroup';
const meta: Meta<RichCheckboxGroupProps> = {
title: '2. Atoms/RichCheckboxGroup',
component: RichCheckboxGroup,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated RichCheckboxGroup component
**Classification:** atom
**Slots:** None
**Figma ID:** 19:6351`
}
}
},
argTypes: {
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
flipped: {
control: 'select',
options: ['false', 'true'],
description: 'Flipped variant',
},
},
};
export default meta;
type Story = StoryObj<RichCheckboxGroupProps>;
export const Default: Story = {
args: {
checked: 'false',
flipped: 'false',
children: 'RichCheckboxGroup'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Rich Radio Group Stories
* @generated 2025-12-11T14:37:52.619554
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { RichRadioGroup, type RichRadioGroupProps } from '../src/atoms/RichRadioGroup';
const meta: Meta<RichRadioGroupProps> = {
title: '2. Atoms/RichRadioGroup',
component: RichRadioGroup,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated RichRadioGroup component
**Classification:** atom
**Slots:** None
**Figma ID:** 19:5987`
}
}
},
argTypes: {
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
flipped: {
control: 'select',
options: ['false', 'true'],
description: 'Flipped variant',
},
},
};
export default meta;
type Story = StoryObj<RichRadioGroupProps>;
export const Default: Story = {
args: {
checked: 'false',
flipped: 'false',
children: 'RichRadioGroup'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Rich Switch Group Stories
* @generated 2025-12-11T14:37:52.647298
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { RichSwitchGroup, type RichSwitchGroupProps } from '../src/atoms/RichSwitchGroup';
const meta: Meta<RichSwitchGroupProps> = {
title: '2. Atoms/RichSwitchGroup',
component: RichSwitchGroup,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated RichSwitchGroup component
**Classification:** atom
**Slots:** None
**Figma ID:** 19:6374`
}
}
},
argTypes: {
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
flipped: {
control: 'select',
options: ['false', 'true'],
description: 'Flipped variant',
},
},
};
export default meta;
type Story = StoryObj<RichSwitchGroupProps>;
export const Default: Story = {
args: {
checked: 'false',
flipped: 'false',
children: 'RichSwitchGroup'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Scrollbar Stories
* @generated 2025-12-11T14:37:52.622244
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Scrollbar, type ScrollbarProps } from '../src/atoms/Scrollbar';
const meta: Meta<ScrollbarProps> = {
title: '2. Atoms/Scrollbar',
component: Scrollbar,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Scrollbar component
**Classification:** atom
**Slots:** None
**Figma ID:** 164:18669`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Horizontal', 'Vertical'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<ScrollbarProps>;
export const Default: Story = {
args: {
type: 'Horizontal',
children: 'Scrollbar'
},
};

View File

@@ -0,0 +1,73 @@
/**
* Select & Combobox Stories
* @generated 2025-12-11T14:37:52.622921
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SelectCombobox, type SelectComboboxProps } from '../src/atoms/SelectCombobox';
const meta: Meta<SelectComboboxProps> = {
title: '3. Molecules/SelectCombobox',
component: SelectCombobox,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SelectCombobox component
**Classification:** molecule
**Slots:** None
**Figma ID:** 16:1732`
}
}
},
argTypes: {
size: {
control: 'select',
options: ['Large', 'Mini', 'Regular', 'Small'],
description: 'Size variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Error', 'Focus', 'Placeholder'],
description: 'State variant',
},
lines: {
control: 'select',
options: ['1 Line', '2 Lines'],
description: 'Lines variant',
},
},
};
export default meta;
type Story = StoryObj<SelectComboboxProps>;
export const Default: Story = {
args: {
size: 'Large',
state: 'Default',
lines: '1 Line',
children: 'SelectCombobox'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};

View File

@@ -0,0 +1,40 @@
/**
* .Select & Combobox Right Decoration Stories
* @generated 2025-12-11T14:37:52.623360
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SelectComboboxRightDecoration, type SelectComboboxRightDecorationProps } from '../src/atoms/SelectComboboxRightDecoration';
const meta: Meta<SelectComboboxRightDecorationProps> = {
title: '3. Molecules/SelectComboboxRightDecoration',
component: SelectComboboxRightDecoration,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SelectComboboxRightDecoration component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 673:40340`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Combobox', 'Select'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<SelectComboboxRightDecorationProps>;
export const Default: Story = {
args: {
type: 'Combobox',
children: 'SelectComboboxRightDecoration'
},
};

View File

@@ -0,0 +1,60 @@
/**
* .Select Left Decoration Stories
* @generated 2025-12-11T14:37:52.625859
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SelectLeftDecoration, type SelectLeftDecorationProps } from '../src/atoms/SelectLeftDecoration';
const meta: Meta<SelectLeftDecorationProps> = {
title: '3. Molecules/SelectLeftDecoration',
component: SelectLeftDecoration,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SelectLeftDecoration component
**Classification:** molecule
**Slots:** None
**Figma ID:** 18:1373`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Avatar', 'Blank', 'Checkbox', 'Deco Icon Outline', 'Deco Icon Primary', 'Icon', 'Icon muted', 'Radio', 'Text', 'Text Muted'],
description: 'Type variant',
},
size: {
control: 'select',
options: ['Default', 'Large'],
description: 'Size variant',
},
},
};
export default meta;
type Story = StoryObj<SelectLeftDecorationProps>;
export const Default: Story = {
args: {
type: 'Avatar',
size: 'Default',
children: 'SelectLeftDecoration'
},
};
export const SizeDefault: Story = {
args: {
...Default.args,
size: 'Default',
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};

View File

@@ -0,0 +1,46 @@
/**
* Select Menu Group Label Stories
* @generated 2025-12-11T14:37:52.624900
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SelectMenuGroupLabel, type SelectMenuGroupLabelProps } from '../src/atoms/SelectMenuGroupLabel';
const meta: Meta<SelectMenuGroupLabelProps> = {
title: '2. Atoms/SelectMenuGroupLabel',
component: SelectMenuGroupLabel,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SelectMenuGroupLabel component
**Classification:** atom
**Slots:** label
**Figma ID:** 80:10189`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Regular', 'Small'],
description: 'Type variant',
},
indented: {
control: 'select',
options: ['false', 'true'],
description: 'Indented variant',
},
},
};
export default meta;
type Story = StoryObj<SelectMenuGroupLabelProps>;
export const Default: Story = {
args: {
type: 'Regular',
indented: 'false',
children: 'SelectMenuGroupLabel'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Select Menu Overflow Stories
* @generated 2025-12-11T14:37:52.625371
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SelectMenuOverflow, type SelectMenuOverflowProps } from '../src/atoms/SelectMenuOverflow';
const meta: Meta<SelectMenuOverflowProps> = {
title: '3. Molecules/SelectMenuOverflow',
component: SelectMenuOverflow,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SelectMenuOverflow component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 28:6842`
}
}
},
argTypes: {
scrollDirection: {
control: 'select',
options: ['Scroll Down', 'Scroll Up'],
description: 'Scroll Direction variant',
},
},
};
export default meta;
type Story = StoryObj<SelectMenuOverflowProps>;
export const Default: Story = {
args: {
scrollDirection: 'Scroll Down',
children: 'SelectMenuOverflow'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Separator Stories
* @generated 2025-12-11T14:37:52.627851
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Separator, type SeparatorProps } from '../src/atoms/Separator';
const meta: Meta<SeparatorProps> = {
title: '2. Atoms/Separator',
component: Separator,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Separator component
**Classification:** atom
**Slots:** None
**Figma ID:** 176:26202`
}
}
},
argTypes: {
spacing: {
control: 'select',
options: ['None', 'Regular', 'Spacious'],
description: 'Spacing variant',
},
direction: {
control: 'select',
options: ['Default', 'Vertical'],
description: 'Direction variant',
},
},
};
export default meta;
type Story = StoryObj<SeparatorProps>;
export const Default: Story = {
args: {
spacing: 'None',
direction: 'Default',
children: 'Separator'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Sheet Stories
* @generated 2025-12-11T14:37:52.628321
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Sheet, type SheetProps } from '../src/atoms/Sheet';
const meta: Meta<SheetProps> = {
title: '3. Molecules/Sheet',
component: Sheet,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Sheet component
**Classification:** molecule
**Slots:** None
**Figma ID:** 301:243831`
}
}
},
argTypes: {
scrollable: {
control: 'select',
options: ['false', 'true'],
description: 'Scrollable variant',
},
},
};
export default meta;
type Story = StoryObj<SheetProps>;
export const Default: Story = {
args: {
scrollable: 'false',
children: 'Sheet'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Sidebar Group Label Stories
* @generated 2025-12-11T14:37:52.634095
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SidebarGroupLabel, type SidebarGroupLabelProps } from '../src/atoms/SidebarGroupLabel';
const meta: Meta<SidebarGroupLabelProps> = {
title: '2. Atoms/SidebarGroupLabel',
component: SidebarGroupLabel,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SidebarGroupLabel component
**Classification:** atom
**Slots:** label
**Figma ID:** 176:23790`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Action', 'Base', 'Collapsed', 'Expanded'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<SidebarGroupLabelProps>;
export const Default: Story = {
args: {
type: 'Action',
children: 'SidebarGroupLabel'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Sidebar Item / Collapsed Stories
* @generated 2025-12-11T14:37:52.632617
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SidebarItemCollapsed, type SidebarItemCollapsedProps } from '../src/atoms/SidebarItemCollapsed';
const meta: Meta<SidebarItemCollapsedProps> = {
title: '2. Atoms/SidebarItemCollapsed',
component: SidebarItemCollapsed,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SidebarItemCollapsed component
**Classification:** atom
**Slots:** icon
**Figma ID:** 28:5228`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Active', 'Regular'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<SidebarItemCollapsedProps>;
export const Default: Story = {
args: {
state: 'Active',
children: 'SidebarItemCollapsed'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Sidebar Item / Expanded / 1st Level Stories
* @generated 2025-12-11T14:37:52.633240
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SidebarItemExpanded1stLevel, type SidebarItemExpanded1stLevelProps } from '../src/atoms/SidebarItemExpanded1stLevel';
const meta: Meta<SidebarItemExpanded1stLevelProps> = {
title: '2. Atoms/SidebarItemExpanded1stLevel',
component: SidebarItemExpanded1stLevel,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SidebarItemExpanded1stLevel component
**Classification:** atom
**Slots:** None
**Figma ID:** 27:3414`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Active', 'Active Focus', 'Default', 'Focus'],
description: 'State variant',
},
type: {
control: 'select',
options: ['Badge', 'Base', 'Collapsed', 'Dropdown', 'Expanded'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<SidebarItemExpanded1stLevelProps>;
export const Default: Story = {
args: {
state: 'Active',
type: 'Badge',
children: 'SidebarItemExpanded1stLevel'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Sidebar Item / Expanded / 2nd Level Stories
* @generated 2025-12-11T14:37:52.633614
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SidebarItemExpanded2ndLevel, type SidebarItemExpanded2ndLevelProps } from '../src/atoms/SidebarItemExpanded2ndLevel';
const meta: Meta<SidebarItemExpanded2ndLevelProps> = {
title: '2. Atoms/SidebarItemExpanded2ndLevel',
component: SidebarItemExpanded2ndLevel,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SidebarItemExpanded2ndLevel component
**Classification:** atom
**Slots:** None
**Figma ID:** 28:5147`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Active', 'Default'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<SidebarItemExpanded2ndLevelProps>;
export const Default: Story = {
args: {
state: 'Active',
children: 'SidebarItemExpanded2ndLevel'
},
};

View File

@@ -0,0 +1,40 @@
/**
* .Sidebar Mini Button Stories
* @generated 2025-12-11T14:37:52.634554
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SidebarMiniButton, type SidebarMiniButtonProps } from '../src/atoms/SidebarMiniButton';
const meta: Meta<SidebarMiniButtonProps> = {
title: '2. Atoms/SidebarMiniButton',
component: SidebarMiniButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SidebarMiniButton component
**Classification:** atom
**Slots:** icon
**Figma ID:** 176:24085`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Default', 'Hover & Active'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<SidebarMiniButtonProps>;
export const Default: Story = {
args: {
state: 'Default',
children: 'SidebarMiniButton'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Slider Horizontal Stories
* @generated 2025-12-11T14:37:52.635519
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SliderHorizontal, type SliderHorizontalProps } from '../src/atoms/SliderHorizontal';
const meta: Meta<SliderHorizontalProps> = {
title: '2. Atoms/SliderHorizontal',
component: SliderHorizontal,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SliderHorizontal component
**Classification:** atom
**Slots:** None
**Figma ID:** 65:4902`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Default', 'Range narrow', 'Range wide'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<SliderHorizontalProps>;
export const Default: Story = {
args: {
type: 'Default',
children: 'SliderHorizontal'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Slider Vertical Stories
* @generated 2025-12-11T14:37:52.635928
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SliderVertical, type SliderVerticalProps } from '../src/atoms/SliderVertical';
const meta: Meta<SliderVerticalProps> = {
title: '2. Atoms/SliderVertical',
component: SliderVertical,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SliderVertical component
**Classification:** atom
**Slots:** None
**Figma ID:** 162:17939`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Default', 'Range narrow', 'Range wide'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<SliderVerticalProps>;
export const Default: Story = {
args: {
type: 'Default',
children: 'SliderVertical'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Sonner Stories
* @generated 2025-12-11T14:37:52.637877
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Sonner, type SonnerProps } from '../src/atoms/Sonner';
const meta: Meta<SonnerProps> = {
title: '3. Molecules/Sonner',
component: Sonner,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Sonner component
**Classification:** molecule
**Slots:** None
**Figma ID:** 139:11361`
}
}
},
argTypes: {
stack: {
control: 'select',
options: ['1 Level', '2 Levels', '3 Levels'],
description: 'Stack variant',
},
},
};
export default meta;
type Story = StoryObj<SonnerProps>;
export const Default: Story = {
args: {
stack: '1 Level',
children: 'Sonner'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Sonner Content Stories
* @generated 2025-12-11T14:37:52.640195
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SonnerContent, type SonnerContentProps } from '../src/atoms/SonnerContent';
const meta: Meta<SonnerContentProps> = {
title: '3. Molecules/SonnerContent',
component: SonnerContent,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SonnerContent component
**Classification:** molecule
**Slots:** icon
**Figma ID:** 139:11366`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Line and button', 'Lines and button', 'Loading', 'Simple'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<SonnerContentProps>;
export const Default: Story = {
args: {
type: 'Line and button',
children: 'SonnerContent'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Spinner Stories
* @generated 2025-12-11T14:37:52.643850
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Spinner, type SpinnerProps } from '../src/atoms/Spinner';
const meta: Meta<SpinnerProps> = {
title: '2. Atoms/Spinner',
component: Spinner,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Spinner component
**Classification:** atom
**Slots:** None
**Figma ID:** 757:154511`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Default', 'Mirrored'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<SpinnerProps>;
export const Default: Story = {
args: {
type: 'Default',
children: 'Spinner'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Switch Stories
* @generated 2025-12-11T14:37:52.646272
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Switch, type SwitchProps } from '../src/atoms/Switch';
const meta: Meta<SwitchProps> = {
title: '2. Atoms/Switch',
component: Switch,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Switch component
**Classification:** atom
**Slots:** None
**Figma ID:** 16:1801`
}
}
},
argTypes: {
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Focus'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<SwitchProps>;
export const Default: Story = {
args: {
checked: 'false',
state: 'Default',
children: 'Switch'
},
};

View File

@@ -0,0 +1,46 @@
/**
* Switch Group Stories
* @generated 2025-12-11T14:37:52.646820
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { SwitchGroup, type SwitchGroupProps } from '../src/atoms/SwitchGroup';
const meta: Meta<SwitchGroupProps> = {
title: '2. Atoms/SwitchGroup',
component: SwitchGroup,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated SwitchGroup component
**Classification:** atom
**Slots:** label
**Figma ID:** 19:6406`
}
}
},
argTypes: {
layout: {
control: 'select',
options: ['Block', 'Inline'],
description: 'Layout variant',
},
checked: {
control: 'select',
options: ['false', 'true'],
description: 'Checked variant',
},
},
};
export default meta;
type Story = StoryObj<SwitchGroupProps>;
export const Default: Story = {
args: {
layout: 'Block',
checked: 'false',
children: 'SwitchGroup'
},
};

View File

@@ -0,0 +1,73 @@
/**
* Tab Stories
* @generated 2025-12-11T14:37:52.648877
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Tab, type TabProps } from '../src/atoms/Tab';
const meta: Meta<TabProps> = {
title: '2. Atoms/Tab',
component: Tab,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Tab component
**Classification:** atom
**Slots:** icon, label
**Figma ID:** 9:634`
}
}
},
argTypes: {
size: {
control: 'select',
options: ['Large', 'Regular', 'Small'],
description: 'Size variant',
},
content: {
control: 'select',
options: ['Icon', 'Icon + Label', 'Label'],
description: 'Content variant',
},
state: {
control: 'select',
options: ['Active', 'Active Focus', 'Disabled', 'Inactive', 'Inactive Focus', 'Inactive Hover'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<TabProps>;
export const Default: Story = {
args: {
size: 'Large',
content: 'Icon',
state: 'Active',
children: 'Tab'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};
export const SizeSmall: Story = {
args: {
...Default.args,
size: 'Small',
},
};

View File

@@ -0,0 +1,52 @@
/**
* Table Cell Stories
* @generated 2025-12-11T14:37:52.590518
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { TableCell, type TableCellProps } from '../src/atoms/TableCell';
const meta: Meta<TableCellProps> = {
title: '2. Atoms/TableCell',
component: TableCell,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated TableCell component
**Classification:** atom
**Slots:** None
**Figma ID:** 19:6314`
}
}
},
argTypes: {
content: {
control: 'select',
options: ['Actions', 'Avatar', 'Avatar + Name', 'Badge', 'Buttons', 'Checkbox', 'Input', 'Text (1 Line)', 'Text (2 Lines)'],
description: 'Content variant',
},
alignment: {
control: 'select',
options: ['Left', 'Right'],
description: 'Alignment variant',
},
state: {
control: 'select',
options: ['Active', 'Default', 'Hover', 'Selected'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<TableCellProps>;
export const Default: Story = {
args: {
content: 'Actions',
alignment: 'Left',
state: 'Active',
children: 'TableCell'
},
};

View File

@@ -0,0 +1,52 @@
/**
* Table Header Stories
* @generated 2025-12-11T14:37:52.584468
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { TableHeader, type TableHeaderProps } from '../src/atoms/TableHeader';
const meta: Meta<TableHeaderProps> = {
title: '4. Organisms/TableHeader',
component: TableHeader,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated TableHeader component
**Classification:** organism
**Slots:** None
**Figma ID:** 19:6472`
}
}
},
argTypes: {
content: {
control: 'select',
options: ['Checkbox', 'Empty', 'Sortable', 'Text'],
description: 'Content variant',
},
alignment: {
control: 'select',
options: ['Left', 'Right'],
description: 'Alignment variant',
},
state: {
control: 'select',
options: ['Active', 'Default', 'Hover', 'Selected'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<TableHeaderProps>;
export const Default: Story = {
args: {
content: 'Checkbox',
alignment: 'Left',
state: 'Active',
children: 'TableHeader'
},
};

View File

@@ -0,0 +1,73 @@
/**
* Tabs Stories
* @generated 2025-12-11T14:37:52.649446
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Tabs, type TabsProps } from '../src/atoms/Tabs';
const meta: Meta<TabsProps> = {
title: '3. Molecules/Tabs',
component: Tabs,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Tabs component
**Classification:** molecule
**Slots:** None
**Figma ID:** 9:639`
}
}
},
argTypes: {
size: {
control: 'select',
options: ['Large', 'Regular', 'Small'],
description: 'Size variant',
},
content: {
control: 'select',
options: ['Icon', 'Icon + Label', 'Label'],
description: 'Content variant',
},
parts: {
control: 'select',
options: ['2 Parts', '3 Parts', '4 Parts', '5 Parts'],
description: 'Parts variant',
},
},
};
export default meta;
type Story = StoryObj<TabsProps>;
export const Default: Story = {
args: {
size: 'Large',
content: 'Icon',
parts: '2 Parts',
children: 'Tabs'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};
export const SizeSmall: Story = {
args: {
...Default.args,
size: 'Small',
},
};

View File

@@ -0,0 +1,46 @@
/**
* Textarea Stories
* @generated 2025-12-11T14:37:52.650388
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Textarea, type TextareaProps } from '../src/atoms/Textarea';
const meta: Meta<TextareaProps> = {
title: '2. Atoms/Textarea',
component: Textarea,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Textarea component
**Classification:** atom
**Slots:** None
**Figma ID:** 16:1745`
}
}
},
argTypes: {
state: {
control: 'select',
options: ['Disabled', 'Empty', 'Error', 'Error Focus', 'Focus', 'Placeholder', 'Value'],
description: 'State variant',
},
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
},
};
export default meta;
type Story = StoryObj<TextareaProps>;
export const Default: Story = {
args: {
state: 'Disabled',
roundness: 'Default',
children: 'Textarea'
},
};

View File

@@ -0,0 +1,91 @@
/**
* Toggle Button Stories
* @generated 2025-12-11T14:37:52.651316
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { ToggleButton, type ToggleButtonProps } from '../src/atoms/ToggleButton';
const meta: Meta<ToggleButtonProps> = {
title: '2. Atoms/ToggleButton',
component: ToggleButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated ToggleButton component
**Classification:** atom
**Slots:** icon, label
**Figma ID:** 816:112827`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
skin: {
control: 'select',
options: ['Ghost', 'Outlined'],
description: 'Skin variant',
},
size: {
control: 'select',
options: ['Large', 'Mini', 'Regular', 'Small'],
description: 'Size variant',
},
position: {
control: 'select',
options: ['Left', 'Middle', 'Right', 'Single'],
description: 'Position variant',
},
active: {
control: 'select',
options: ['false', 'true'],
description: 'Active variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Focus'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<ToggleButtonProps>;
export const Default: Story = {
args: {
roundness: 'Default',
skin: 'Ghost',
size: 'Large',
position: 'Left',
active: 'false',
state: 'Default',
children: 'ToggleButton'
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};
export const SizeRegular: Story = {
args: {
...Default.args,
size: 'Regular',
},
};

View File

@@ -0,0 +1,91 @@
/**
* Toggle Icon Button Stories
* @generated 2025-12-11T14:37:52.652538
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { ToggleIconButton, type ToggleIconButtonProps } from '../src/atoms/ToggleIconButton';
const meta: Meta<ToggleIconButtonProps> = {
title: '2. Atoms/ToggleIconButton',
component: ToggleIconButton,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated ToggleIconButton component
**Classification:** atom
**Slots:** icon
**Figma ID:** 164:20378`
}
}
},
argTypes: {
roundness: {
control: 'select',
options: ['Default', 'Round'],
description: 'Roundness variant',
},
skin: {
control: 'select',
options: ['Ghost', 'Outlined'],
description: 'Skin variant',
},
size: {
control: 'select',
options: ['Default', 'Large', 'Mini', 'Small'],
description: 'Size variant',
},
position: {
control: 'select',
options: ['Left', 'Middle', 'Right', 'Single'],
description: 'Position variant',
},
active: {
control: 'select',
options: ['false', 'true'],
description: 'Active variant',
},
state: {
control: 'select',
options: ['Default', 'Disabled', 'Focus'],
description: 'State variant',
},
},
};
export default meta;
type Story = StoryObj<ToggleIconButtonProps>;
export const Default: Story = {
args: {
roundness: 'Default',
skin: 'Ghost',
size: 'Default',
position: 'Left',
active: 'false',
state: 'Default',
children: 'ToggleIconButton'
},
};
export const SizeDefault: Story = {
args: {
...Default.args,
size: 'Default',
},
};
export const SizeLarge: Story = {
args: {
...Default.args,
size: 'Large',
},
};
export const SizeMini: Story = {
args: {
...Default.args,
size: 'Mini',
},
};

View File

@@ -0,0 +1,40 @@
/**
* Tooltip Stories
* @generated 2025-12-11T14:37:52.654900
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { Tooltip, type TooltipProps } from '../src/atoms/Tooltip';
const meta: Meta<TooltipProps> = {
title: '3. Molecules/Tooltip',
component: Tooltip,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated Tooltip component
**Classification:** molecule
**Slots:** None
**Figma ID:** 133:14788`
}
}
},
argTypes: {
side: {
control: 'select',
options: ['Bottom', 'Left', 'Right', 'Top'],
description: 'Side variant',
},
},
};
export default meta;
type Story = StoryObj<TooltipProps>;
export const Default: Story = {
args: {
side: 'Bottom',
children: 'Tooltip'
},
};

View File

@@ -0,0 +1,40 @@
/**
* Vertical Field Stories
* @generated 2025-12-11T14:37:52.595920
*/
import type { Meta, StoryObj } from '@storybook/preact';
import { VerticalField, type VerticalFieldProps } from '../src/atoms/VerticalField';
const meta: Meta<VerticalFieldProps> = {
title: '3. Molecules/VerticalField',
component: VerticalField,
tags: ['autodocs'],
parameters: {
docs: {
description: {
component: `Auto-generated VerticalField component
**Classification:** molecule
**Slots:** label
**Figma ID:** 120:13754`
}
}
},
argTypes: {
type: {
control: 'select',
options: ['Checkbox', 'Radio', 'Select', 'Slider', 'Text Value', 'Textarea'],
description: 'Type variant',
},
},
};
export default meta;
type Story = StoryObj<VerticalFieldProps>;
export const Default: Story = {
args: {
type: 'Checkbox',
children: 'VerticalField'
},
};