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' }, }