import React from 'react' import { formatDateAsText } from '~components/Calendar' import { getLocale } from '~components/DatePicker/utils/getLocale' import { Filter, FilterContents, type FilterProps } from '../Filter' import { type FilterButtonProps } from '../FilterButton' import { FilterDatePickerField, type FilterDatePickerFieldProps, } from './subcomponents/FilterDatePickerField' export type FilterDatePickerProps = { id?: string label: string isOpen: FilterProps['isOpen'] setIsOpen: FilterProps['setIsOpen'] renderTrigger: (triggerProps: FilterButtonProps) => JSX.Element } & Omit export const FilterDatePicker = ({ isOpen, setIsOpen, renderTrigger, selectedDate, label, locale, onDateSubmit, ...restProps }: FilterDatePickerProps): JSX.Element => ( renderTrigger({ selectedValue: selectedDate ? formatDateAsText(selectedDate, undefined, getLocale(locale)) : undefined, label, ...triggerProps, }) } > { setIsOpen(false) onDateSubmit?.(date) }} {...restProps} /> ) FilterDatePicker.displayName = 'FilterDatePicker'