import React from 'react'
import { type Meta } from '@storybook/react'
import type { ButtonProps } from '~components/ButtonV1'
import { Icon } from '~components/Icon'
import { StickerSheet, type StickerSheetStory } from '~storybook/components/StickerSheet'
import { IconButton, type IconButtonProps } from '../index'
export default {
title: 'Components/Button/IconButton (deprecated)',
parameters: {
chromatic: { disable: false },
controls: { disable: true },
},
tags: ['!dev'],
} satisfies Meta
const WORKING_PROPS: ButtonProps = {
label: 'Label',
working: true,
workingLabel: 'Submitting',
workingLabelHidden: true,
}
const REVERSED__VARIANT_PROPS: {
title: string
props: IconButtonProps
}[] = [
{
title: 'Default',
props: {
label: 'Default label',
icon: ,
},
},
{
title: 'Primary',
props: {
label: 'Primary label',
icon: ,
primary: true,
},
},
{
title: 'Destructive',
props: {
label: 'Label',
icon: ,
destructive: true,
},
},
{
title: 'Secondary',
props: {
label: 'Label',
icon: ,
secondary: true,
},
},
]
const StickerSheetTemplate: StickerSheetStory = {
render: ({ isReversed }) => {
const VARIANTS_PROPS: {
title: string
props: ButtonProps
}[] = isReversed
? REVERSED__VARIANT_PROPS
: [
...REVERSED__VARIANT_PROPS,
{
title: 'Secondary Destructive',
props: {
label: 'Label',
icon: ,
secondary: true,
destructive: true,
},
},
]
return (
{VARIANTS_PROPS.map(({ title, props }) => (
))}
)
},
parameters: {
pseudo: {
hover: '[data-sb-pseudo-styles="hover"]',
active: '[data-sb-pseudo-styles="active"]',
focus: '[data-sb-pseudo-styles="focus"]',
focusVisible: '[data-sb-pseudo-styles="focus"]',
},
},
}
export const StickerSheetDefault: StickerSheetStory = {
...StickerSheetTemplate,
name: 'Sticker Sheet (Default)',
}
export const StickerSheetReversed: StickerSheetStory = {
...StickerSheetTemplate,
name: 'Sticker Sheet (Reversed)',
parameters: {
...StickerSheetTemplate.parameters,
backgrounds: { default: 'Purple 700' },
},
args: { isReversed: true },
}
export const StickerSheetRTL: StickerSheetStory = {
...StickerSheetTemplate,
name: 'Sticker Sheet (RTL)',
parameters: {
...StickerSheetTemplate.parameters,
textDirection: 'rtl',
},
}