import * as React from 'react'; import { type UseFocusTrapProps } from '../../hooks/useFocusTrap'; import type { PlacementWithAuto } from '../../lib/floating'; import type { HasRootRef } from '../../types'; import { type CalendarRangeProps, type CalendarRangeTestsProps } from '../CalendarRange/CalendarRange'; import { type FormFieldProps } from '../FormField/FormField'; type DateTestsProps = { /** * Передает атрибут `data-testid` для поля ввода дня. */ day?: string; /** * Передает атрибут `data-testid` для поля ввода месяца. */ month?: string; /** * Передает атрибут `data-testid` для поля ввода года. */ year?: string; }; export type DateRangeInputTestsProps = { /** * Передает атрибуты `data-testid` для полей ввода начальной даты. */ startDateTestsProps?: DateTestsProps; /** * Передает атрибуты `data-testid` для полей ввода конечной даты. */ endDateTestsProps?: DateTestsProps; /** * Передает атрибут `data-testid` для кнопки показа календаря. */ showCalendarButtonTestId?: string; /** * Передает атрибут `data-testid` для кнопки очистки даты. */ clearButtonTestId?: string; }; export interface DateRangeInputProps extends Omit, 'value' | 'defaultValue' | 'onChange'>, Pick, Pick, HasRootRef, Omit, DateRangeInputTestsProps { /** * Передает атрибуты `data-testid` для интерактивных элементов в календаре. */ calendarTestsProps?: CalendarRangeTestsProps; /** * Расположение календаря относительно поля ввода. */ calendarPlacement?: PlacementWithAuto; /** * Автоматически закрывать календарь при изменениях. */ closeOnChange?: boolean; /** * Обработчик изменения состояния открытия календаря. */ onCalendarOpenChanged?: (opened: boolean) => void; /** * Label для календаря. */ calendarLabel?: string; /** * Label для кнопки очистки. Делает доступным для ассистивных технологий. */ clearFieldLabel?: string; /** * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий. */ showCalendarLabel?: string; /** * Label для ввода дня начальной даты. Делает доступным для ассистивных технологий. */ changeStartDayLabel?: string; /** * Label для ввода месяца начальной даты. Делает доступным для ассистивных технологий. */ changeStartMonthLabel?: string; /** * Label для ввода года начальной даты. Делает доступным для ассистивных технологий. */ changeStartYearLabel?: string; /** * Label для ввода дня конечной даты. Делает доступным для ассистивных технологий. */ changeEndDayLabel?: string; /** * Label для ввода месяца конечной даты. Делает доступным для ассистивных технологий. */ changeEndMonthLabel?: string; /** * Label для ввода года конечной даты. Делает доступным для ассистивных технологий. */ changeEndYearLabel?: string; /** * Отключение открытия календаря. */ disableCalendar?: boolean; /** * Позволяет отключить захват фокуса при появлении календаря. */ disableFocusTrap?: UseFocusTrapProps['disabled']; /** * Включает режим в котором DateRangeInput доступен * для ассистивных технологий. * В этом режиме: * - календарь больше не открывает при фокусе на DateRangeInput; * - иконка календаря видна всегда, чтобы пользователи * ассистивных технологий могли открыть календарь по клику на иконку; * - календарь при открытии получает фокус, клавиатурный * фокус зациклен и не выходит за пределы календаря пока календарь не закрыт. */ accessible?: boolean; } /** * @see https://vkui.io/components/date-range-input */ export declare const DateRangeInput: ({ shouldDisableDate, disableFuture, disablePast, "value": valueProp, defaultValue, onChange, "calendarPlacement": calendarPlacementProp, style, className, closeOnChange, disablePickers, getRootRef, name, autoFocus, disabled, disableFocusTrap, restoreFocus, calendarLabel, prevMonthLabel, nextMonthLabel, changeMonthLabel, changeYearLabel, changeStartDayLabel, changeStartMonthLabel, changeStartYearLabel, changeEndDayLabel, changeEndMonthLabel, changeEndYearLabel, clearFieldLabel, showCalendarLabel, "aria-label": ariaLabel, prevMonthIcon, nextMonthIcon, onCalendarOpenChanged, renderDayContent, calendarTestsProps, startDateTestsProps, endDateTestsProps, clearButtonTestId, showCalendarButtonTestId, id, accessible, readOnly, "disableCalendar": disableCalendarProp, before, ...props }: DateRangeInputProps) => React.ReactNode; export {}; //# sourceMappingURL=DateRangeInput.d.ts.map