import type { Meta, StoryObj } from '@storybook/react-vite' import { HeadingField } from './HeadingField' const meta = { title: 'Components/Heading', component: HeadingField, tags: ['autodocs'], parameters: { layout: 'padded' }, args: { text: 'Heading Text', }, argTypes: { size: { control: 'select', options: ['EXTRA_SMALL', 'SMALL', 'MEDIUM', 'MEDIUM_PLUS', 'LARGE', 'LARGE_PLUS'] }, headingTag: { control: 'select', options: ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'] }, fontWeight: { control: 'select', options: ['LIGHT', 'REGULAR', 'SEMI_BOLD', 'BOLD'] }, align: { control: 'select', options: ['START', 'CENTER', 'END'] }, marginAbove: { control: 'select', options: ['NONE', 'EVEN_LESS', 'LESS', 'STANDARD', 'MORE', 'EVEN_MORE'] }, marginBelow: { control: 'select', options: ['NONE', 'EVEN_LESS', 'LESS', 'STANDARD', 'MORE', 'EVEN_MORE'] }, color: { control: 'text' }, }, } satisfies Meta export default meta type Story = StoryObj export const Default: Story = { args: { text: 'Default Heading', }, } export const Sizes: Story = { render: () => (
), } export const SemanticColors: Story = { render: () => (
), } export const CustomPaletteColor: Story = { args: { text: 'Custom Palette Color', color: 'TEAL_700', fontWeight: 'BOLD', size: 'LARGE_PLUS', }, } export const FontWeights: Story = { render: () => (
), } export const Alignment: Story = { render: () => (
), } export const HeadingTags: Story = { render: () => (
), } export const WithLink: Story = { args: { text: 'Interactive Heading', size: 'MEDIUM', color: 'ACCENT', link: () => alert('Heading clicked!'), }, }