import type { Meta, StoryObj } from '@storybook/react' import { fn } from '@storybook/test' import { MaterialIcon } from '../Icons/MaterialIcon' import { IconButton } from './IconButton' import { config } from './variants' const meta: Meta = { title: 'Components/IconButton', component: IconButton, argTypes: { onPress: { table: { disable: true, }, }, theme: { control: 'select', options: Object.keys(config.variants.theme), default: 'Primary', }, style: { control: 'select', options: Object.keys(config.variants.style), default: 'Normal', type: 'string', description: `The style variant is only applied on certain variants. The examples below shows the possible combinations of variants and style variants.`, }, }, } export default meta type Story = StoryObj export const PrimaryDefault: Story = { args: { onPress: fn(), children: , theme: 'Primary', }, } export const PrimaryDisabled: Story = { args: { ...PrimaryDefault.args, isDisabled: true, }, } export const InvertedDefault: Story = { args: { onPress: fn(), children: ( ), theme: 'Inverted', }, } export const InvertedDisabled: Story = { args: { ...InvertedDefault.args, isDisabled: true, }, } export const InvertedElevated: Story = { args: { ...InvertedDefault.args, style: 'Elevated', }, } export const InvertedElevatedDisabled: Story = { args: { ...InvertedElevated.args, isDisabled: true, }, } export const InvertedMuted: Story = { args: { ...InvertedDefault.args, children: , style: 'Muted', }, } export const InvertedMutedDisabled: Story = { args: { ...InvertedMuted.args, isDisabled: true, }, } export const InvertedFaded: Story = { args: { ...InvertedDefault.args, style: 'Faded', }, } export const InvertedFadedDisabled: Story = { args: { ...InvertedFaded.args, isDisabled: true, }, } export const TertiaryElevated: Story = { args: { onPress: fn(), children: , theme: 'Tertiary', style: 'Elevated', }, } export const TertiaryDisabled: Story = { args: { ...TertiaryElevated.args, isDisabled: true, }, } export const BlackMuted: Story = { args: { onPress: fn(), children: , theme: 'Black', }, } export const BlackMutedDisabled: Story = { args: { ...BlackMuted.args, isDisabled: true, }, }