import React, { useEffect, useState } from 'react' import { type Meta } from '@storybook/react' import { enAU } from 'date-fns/locale' import { type DateRange } from 'react-day-picker' import { LegacyCalendarRange, type LegacyCalendarRangeProps, } from '~components/Calendar/LegacyCalendarRange' import { StickerSheet, type StickerSheetStory } from '~storybook/components/StickerSheet' import { DateRangePicker, formatDateRangeValue, type DateRangePickerProps } from '../index' export default { title: 'Components/Datepickers/DateRangePicker', parameters: { chromatic: { disable: false }, controls: { disable: true }, }, } satisfies Meta const DateRangePickerTemplate = (props: Partial): JSX.Element => { const [selectedDateRange, setSelectedDateRange] = useState({ from: undefined, to: undefined, }) const [value, setValue] = useState('') const onDateRangeChange = (dateRange: DateRange): void => { setSelectedDateRange(dateRange) } // TODO: Make formating built in useEffect(() => { setValue(formatDateRangeValue(selectedDateRange)) }, [selectedDateRange]) return ( ) } const LegacyCalendarRangeTemplate = (props: Partial): JSX.Element => { const selectedDateRange = { from: undefined, to: undefined, } return ( undefined} weekStartsOn={0} defaultMonth={new Date(2022, 2)} selectedRange={selectedDateRange} locale={enAU} {...props} /> ) } const selectedDateRange = { from: new Date(2022, 2, 6), to: new Date(2022, 2, 16), } const StickerSheetTemplate: StickerSheetStory = { render: () => ( <> ), } export const StickerSheetDefault: StickerSheetStory = { ...StickerSheetTemplate, name: 'Sticker Sheet (Default)', } export const StickerSheetRTL: StickerSheetStory = { ...StickerSheetTemplate, name: 'Sticker Sheet (RTL)', parameters: { textDirection: 'rtl' }, }