|
import type { Meta, StoryObj } from '@storybook/react' |
|
import { fn } from '@storybook/test' |
|
|
|
import { RocketLaunchIcon } from '@heroicons/react/20/solid' |
|
import { Button } from '.' |
|
|
|
const meta = { |
|
title: 'Base/Button', |
|
component: Button, |
|
parameters: { |
|
layout: 'centered', |
|
}, |
|
tags: ['autodocs'], |
|
argTypes: { |
|
loading: { control: 'boolean' }, |
|
variant: { |
|
control: 'select', |
|
options: ['primary', 'warning', 'secondary', 'secondary-accent', 'ghost', 'ghost-accent', 'tertiary'], |
|
}, |
|
}, |
|
args: { |
|
variant: 'ghost', |
|
onClick: fn(), |
|
children: 'adsf', |
|
}, |
|
} satisfies Meta<typeof Button> |
|
|
|
export default meta |
|
type Story = StoryObj<typeof meta> |
|
|
|
export const Default: Story = { |
|
args: { |
|
variant: 'primary', |
|
loading: false, |
|
children: 'Primary Button', |
|
}, |
|
} |
|
|
|
export const Secondary: Story = { |
|
args: { |
|
variant: 'secondary', |
|
children: 'Secondary Button', |
|
}, |
|
} |
|
|
|
export const SecondaryAccent: Story = { |
|
args: { |
|
variant: 'secondary-accent', |
|
children: 'Secondary Accent Button', |
|
}, |
|
} |
|
|
|
export const Ghost: Story = { |
|
args: { |
|
variant: 'ghost', |
|
children: 'Ghost Button', |
|
}, |
|
} |
|
|
|
export const GhostAccent: Story = { |
|
args: { |
|
variant: 'ghost-accent', |
|
children: 'Ghost Accent Button', |
|
}, |
|
} |
|
|
|
export const Tertiary: Story = { |
|
args: { |
|
variant: 'tertiary', |
|
children: 'Tertiary Button', |
|
}, |
|
} |
|
|
|
export const Warning: Story = { |
|
args: { |
|
variant: 'warning', |
|
children: 'Warning Button', |
|
}, |
|
} |
|
|
|
export const Disabled: Story = { |
|
args: { |
|
variant: 'primary', |
|
disabled: true, |
|
children: 'Disabled Button', |
|
}, |
|
} |
|
|
|
export const Loading: Story = { |
|
args: { |
|
variant: 'primary', |
|
loading: true, |
|
children: 'Loading Button', |
|
}, |
|
} |
|
|
|
export const WithIcon: Story = { |
|
args: { |
|
variant: 'primary', |
|
children: ( |
|
<> |
|
<RocketLaunchIcon className="h-4 w-4 mr-1.5 stroke-[1.8px]" /> |
|
Launch |
|
</> |
|
), |
|
}, |
|
} |
|
|