import React from 'react' import { type Meta } from '@storybook/react' import { StickerSheet, type StickerSheetStory } from '~storybook/components/StickerSheet' import { MultiSelectToggle, type MultiSelectToggleProps } from '../index' export default { title: 'Components/MultiSelect/MultiSelectToggle', parameters: { chromatic: { disable: false }, controls: { disable: true }, a11y: { config: { rules: [ { // Built with no controlled element on purpose, to be used within `MultiSelect` where popover is present id: 'aria-valid-attr-value', enabled: false, }, { // Built with no label for the button on purpose, to be used within `MultiSelect` where label is present id: 'button-name', enabled: false, }, ], }, }, }, } satisfies Meta const StickerSheetTemplate: StickerSheetStory = { render: ({ isReversed }) => { const defaultProps = { 'selectedOptions': [], 'aria-labelledby': 'id--label', 'aria-controls': 'id--popover', 'onClick': () => undefined, 'onRemoveOption': () => undefined, 'onRemoveAllOptions': () => undefined, } satisfies MultiSelectToggleProps return ( <> ) }, parameters: { pseudo: { hover: [ '[data-sb-pseudo-styles="hover"]', '[data-sb-pseudo-styles="hover--button"]', '[data-sb-pseudo-styles="hover--button"] > button', ], focusWithin: ['[data-sb-pseudo-styles="focus"]', '[data-sb-pseudo-styles="focus--button"]'], focus: [ '[data-sb-pseudo-styles="focus"] > button', '[data-sb-pseudo-styles="focus--button"] > button', ], }, }, } export const StickerSheetDefault: StickerSheetStory = { ...StickerSheetTemplate, name: 'Sticker Sheet (Default)', } export const StickerSheetRTL: StickerSheetStory = { ...StickerSheetTemplate, name: 'Sticker Sheet (RTL)', parameters: { textDirection: 'rtl' }, }