import * as React from 'react'; import { type UseFocusTrapProps } from '../../hooks/useFocusTrap'; import type { PlacementWithAuto } from '../../lib/floating'; import type { HasRootRef } from '../../types'; import { type CalendarProps, type CalendarTestsProps } from '../Calendar/Calendar'; import { type FormFieldProps } from '../FormField/FormField'; import '../InputLike/InputLike.module.css'; export type DateInputPropsTestsProps = { /** * Передает атрибут `data-testid` для поля ввода дня. */ dayFieldTestId?: string; /** * Передает атрибут `data-testid` для поля ввода месяца. */ monthFieldTestId?: string; /** * Передает атрибут `data-testid` для поля ввода года. */ yearFieldTestId?: string; /** * Передает атрибут `data-testid` для поля ввода часа. */ hourFieldTestId?: string; /** * Передает атрибут `data-testid` для поля ввода минут. */ minuteFieldTestId?: string; /** * Передает атрибут `data-testid` для кнопки показа календаря. */ showCalendarButtonTestId?: string; /** * Передает атрибут `data-testid` для кнопки очистки даты. */ clearButtonTestId?: string; }; export interface DateInputProps extends Omit, 'value' | 'defaultValue' | 'onChange' | 'size'>, Pick, Pick, HasRootRef, Omit, DateInputPropsTestsProps { /** * Передает атрибуты `data-testid` для интерактивных элементов в календаре. */ calendarTestsProps?: CalendarTestsProps; /** * Расположение календаря относительно поля ввода. */ calendarPlacement?: PlacementWithAuto; /** * Автоматически закрывать календарь при изменениях. */ closeOnChange?: boolean; /** * `aria-label` для календаря. */ calendarLabel?: string; /** * Label для кнопки очистки. Делает доступным для ассистивных технологий. */ clearFieldLabel?: string; /** * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий. */ showCalendarLabel?: string; /** * Отключение открытия календаря. */ disableCalendar?: boolean; /** * Обработчик изменения состояния открытия календаря. */ onCalendarOpenChanged?: (opened: boolean) => void; /** * `aria-label` для поля изменения дня. */ changeDayLabel?: string; /** * Обработчик нажатия на кнопку `"Done"`. Используется совместно с флагом `enableTime`. */ onApply?: (value?: Date) => void; /** * Функция для кастомного форматирования отображаемого значения даты. * Позволяет переопределить стандартное отображение даты и вернуть собственное представление. */ renderCustomValue?: (date: Date | undefined) => React.ReactNode; /** * Часовой пояс для отображения даты. */ timezone?: string; /** * Включает режим в котором DateInput доступен * для ассистивных технологий. * В этом режиме: * - календарь больше не открывает при фокусе на DateInput; * - иконка календаря видна всегда, чтобы пользователи * ассистивных технологий могли открыть календарь по клику на иконку; * - календарь при открытии получает фокус, клавиатурный * фокус зациклен и не выходит за пределы календаря пока календарь не закрыт. */ accessible?: boolean; /** * Позволяет отключить захват фокуса при появлении календаря. */ disableFocusTrap?: UseFocusTrapProps['disabled']; } /** * @see https://vkui.io/components/date-input */ export declare const DateInput: ({ enableTime, shouldDisableDate, disableFuture, disablePast, minDateTime, maxDateTime, "value": valueProp, defaultValue, onChange, "calendarPlacement": calendarPlacementProp, style, className, doneButtonText, DoneButton, closeOnChange, disablePickers, getRootRef, name, autoFocus, disabled, accessible, calendarLabel, prevMonthLabel, nextMonthLabel, changeDayLabel, changeMonthLabel, changeYearLabel, changeHoursLabel, changeMinutesLabel, clearFieldLabel, showCalendarLabel, showNeighboringMonth, size, viewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, renderDayContent, onCalendarOpenChanged, calendarTestsProps, dayFieldTestId, monthFieldTestId, yearFieldTestId, hourFieldTestId, minuteFieldTestId, showCalendarButtonTestId, clearButtonTestId, id, onApply, renderCustomValue, timezone, restoreFocus, disableFocusTrap, readOnly, "disableCalendar": disableCalendarProp, "aria-label": ariaLabel, before, ...props }: DateInputProps) => React.ReactNode; //# sourceMappingURL=DateInput.d.ts.map