import './DatePicker.css'; import React from 'react'; import type { Dispatch, SetStateAction, HTMLAttributes } from 'react'; import { type CalendarProps } from '../Calendar_new'; import { DialogProps } from '../Dialog'; import { type InputProps } from '../Input'; import { type PopoverPlacementVariant, type PopoverProps } from '../Popover'; import { PortalProps } from '../Portal'; export declare const cnDatePicker: import("@bem-react/classname").ClassNameFormatter; export type DatePickerProps = { /** * Дополнительные CSS-классы компонента Input * @deprecated * Используйте свойство className */ inputClassName?: string; /** * Местоположение для разворачивания календаря * @default bottom-start */ calendarPlacement?: PopoverPlacementVariant; /** * Вариант внешнего вида календаря * @default popover */ calendarContainerType?: 'popover' | 'dialog'; /** * День начала недели * @default monday * */ startWeek?: CalendarProps['startWeek']; /** * Язык календаря * @default ru */ locale?: CalendarProps['locale']; /** Контейнер для монтирования календаря (всплывающего окна) */ container?: PortalProps['container']; /** * Если {true} запрещает ручной ввод даты * @default false */ readOnly?: boolean; /** * Если {true} добавляет кнопку очистки поля ввода * @default false */ clearable?: boolean; /** Текст aria-label для кнопки сброса выбранного значения */ clearButtonAriaLabel?: string; /** Текст aria-label для кнопки открытия календаря с целью выбора даты */ chooseDateButtonAriaLabel?: string; /** Текст aria-label для кнопки открытия календаря с целью изменения даты */ changeDateButtonAriaLabel?: string; /** Текст для кнопки закрытия при отображении в формате "шторки" */ dialogCloseButton?: string; /** Текст для заголовка диалогового окна при отображении в формате "шторки" */ dialogTitle?: string; /** * Если {true} показывает текущую дату в календаре * @default false */ showCurrentDate?: CalendarProps['showCurrentDate']; /** * Устанавливает значение атрибута aria-controls у нативного элемента input. * Также устанавливает атрибут id у компонента Calendar в значение равным aria-controls */ inputAriaControls?: HTMLAttributes['aria-controls']; /** Дополнительные CSS-классы */ className?: string; /** Выбранное значение */ value?: Date | null; /** Обработчик события на изменение значения поля */ onChange?: Dispatch>; /** * Функция обратного вызова для исключения дат из выбора * * @example * (date: Date) => { * const day = date.getDay(); * * return day === 0 || day === 6; // исключение выходных дней * } */ excludeDate?: (date: Date) => boolean; /** Свойства компонента Popover */ popoverProps?: Omit; /** Свойства компонента Dialog */ dialogProps?: Omit; /** Свойства компонента Calendar */ calendarProps?: Omit; /** Атрибут, используемый для идентификации элемента в целях тестирования */ 'data-testid'?: string; } & Omit; export declare const DatePicker: React.ForwardRefExoticComponent & React.RefAttributes>;