import React, { useState } from 'react' import { StaticIntlProvider } from '@cultureamp/i18n-react-intl' import { type Meta } from '@storybook/react' import { expect, userEvent, within } from '@storybook/test' import { Text } from '~components/Text' import { StickerSheet, type StickerSheetStory } from '~storybook/components/StickerSheet' import { DatePicker } from '../index' export default { title: 'Components/Datepickers/DatePicker', parameters: { chromatic: { disable: false }, controls: { disable: true }, }, } satisfies Meta const StickerSheetTemplate: StickerSheetStory = { render: ({ isReversed }) => { const [selectedDate, setValueDate] = useState() return ( <> undefined} isReversed={isReversed} /> undefined} isReversed={isReversed} description={ <> My Custom Description } /> undefined} isReversed={isReversed} disabled /> undefined} data-sb-pseudo-styles="hover" /> undefined} data-sb-pseudo-styles="focus" /> undefined} classNameOverride="story__date-input-single-field--hover" /> undefined} classNameOverride="story__date-input-single-field--focus" /> undefined} isReversed={isReversed} /> undefined} isReversed={isReversed} status="caution" validationMessage="Custom cautionary message" /> ) }, parameters: { pseudo: { hover: ['[data-sb-pseudo-styles="hover"]', '.story__date-input-single-field--hover button'], focus: ['[data-sb-pseudo-styles="focus"]', '.story__date-input-single-field--focus button'], focusVisible: [ '[data-sb-pseudo-styles="focus"]', '.story__date-input-single-field--focus button', ], }, }, } 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', }, } export const StickerSheetLocales: StickerSheetStory = { name: 'Sticker Sheet (Locales)', render: () => ( <> undefined} /> undefined} locale="en-US" /> undefined} locale="fr-CA" data-testid="id--dp-fr-ca" /> ), play: async ({ canvasElement }) => { const canvas = within(canvasElement) await userEvent.click(canvas.getByTestId('id--dp-fr-ca')) await expect(canvas.getByText('janvier 2022')).toBeInTheDocument() }, }