/**
 * 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',
  },
};
