import React from 'react'
import { type Meta } from '@storybook/react'
import isChromatic from 'chromatic'
import { StickerSheet, type StickerSheetStory } from '~storybook/components/StickerSheet'
import { SingleSelect } from '../index'
import {
groupedMockItems,
mixedMockItemsDisabled,
mixedMockItemsUngroupedFirst,
mixedMockItemsUnordered,
singleMockItems,
} from './mockData'
const IS_CHROMATIC = isChromatic()
export default {
title: 'Components/SingleSelect',
parameters: {
chromatic: { disable: false },
controls: { disable: true },
},
} satisfies Meta
const StickerSheetTemplate: StickerSheetStory = {
render: ({ isReversed }) => (
<>
>
),
parameters: {
pseudo: {
hover: '[data-sb-pseudo-styles="hover"]',
active: '[data-sb-pseudo-styles="active"]',
focus: '[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',
},
}
const StickerSheetOptionsTemplate: StickerSheetStory = {
render: () => (
<>
{({ items }): JSX.Element[] =>
items.map((item) => {
if (item.type === 'item') {
return (
Customised in list!
{item.rendered}
),
}}
/>
)
}
return
})
}
{({ items }): JSX.Element[] =>
items.map((item) => {
if (item.type === 'item' && item.key === 'batch-brew') {
return (
++ {item.rendered},
}}
/>
)
}
if (item.type === 'section' && item.key === 'Syrup') {
return (
({
...child,
rendered: -- {child.rendered}
,
})),
}}
/>
)
}
return
})
}
{({ items }): JSX.Element[] =>
items.map((item) => (
{item.type === 'section' && }
{item.type === 'section' && }
))
}
{({ items }): JSX.Element[] =>
items.map((item) => {
if (item.type === 'item' && item.key === 'custom') {
return (
)
}
return
})
}
>
),
}
export const StickerSheetOptionsDefault: StickerSheetStory = {
...StickerSheetOptionsTemplate,
name: 'Sticker Sheet - Options (Default)',
}
export const StickerSheetOptionsRTL: StickerSheetStory = {
...StickerSheetOptionsTemplate,
name: 'Sticker Sheet - Options (RTL)',
parameters: { textDirection: 'rtl' },
}