import * as React from 'react'; import type { HTMLAttributesWithRootRef } from '../../types'; import { type CalendarDayElementProps, type CalendarDayProps, type CalendarDayTestsProps } from '../CalendarDay/CalendarDay'; export type CalendarDaysTestsProps = { /** * Передает атрибут `data-testid` для дня в календаре. */ dayTestId?: CalendarDayTestsProps['testId']; }; export interface CalendarDaysProps extends Omit, 'onChange'>, Pick, CalendarDaysTestsProps { /** * Выбранная дата или диапазон дат. */ value?: Date | Array | null; /** * Дата, определяющая отображаемый месяц. */ viewDate: Date; /** * День недели, с которого начинается неделя (0 - воскресенье, 6 - суббота). */ weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6; /** * Показывать дни соседних месяцев. */ showNeighboringMonth?: boolean; /** * Размер календаря. */ size?: 's' | 'm'; /** * Дополнительные свойства для элементов дней. */ dayProps?: CalendarDayElementProps; /** * Следить за изменениями дней для обновления UI. */ listenDayChangesForUpdate?: boolean; /** * Обработчик изменения выбранного дня. */ onDayChange: (value: Date) => void; /** * Проверяет, заблокирован ли день для выбора. */ isDayDisabled: (value: Date) => boolean; /** * Определяет, является ли день началом выделенного диапазона. */ isDaySelectionStart: (value: Date, dayOfWeek: number) => boolean; /** * Определяет, является ли день концом выделенного диапазона. */ isDaySelectionEnd: (value: Date, dayOfWeek: number) => boolean; /** * Определяет начало диапазона при наведении (подсветка). */ isHintedDaySelectionStart?: (value: Date, dayOfWeek: number) => boolean; /** * Определяет конец диапазона при наведении (подсветка). */ isHintedDaySelectionEnd?: (value: Date, dayOfWeek: number) => boolean; /** * Проверяет, является ли день активным (текущая дата). */ isDayActive: (value: Date) => boolean; /** * Проверяет, подсвечен ли день (при наведении). */ isDayHinted?: (value: Date) => boolean; /** * Проверяет, возможно ли сфокусироваться на дне с клавиатуры. */ isDayFocusable?: (value: Date) => boolean; /** * Проверяет, выбран ли день. */ isDaySelected?: (value: Date) => boolean; /** * Проверяет, находится ли день в фокусе. */ isDayFocused: (value: Date) => boolean; /** * Обработчик события 'pointerenter' на элементе дня. */ onDayEnter?: (value: Date) => void; /** * Обработчик события 'pointerleave' на элементе дня. */ onDayLeave?: (value: Date) => void; /** * Обработчик события `focus` на элементе дня. */ onDayFocus?: (value: Date) => void; } export declare const CalendarDays: ({ viewDate, value, weekStartsOn, onDayChange, isDaySelected, isDayActive, isDaySelectionEnd, isDaySelectionStart, onDayEnter, onDayLeave, onDayFocus, isDayHinted, isHintedDaySelectionStart, isHintedDaySelectionEnd, isDayFocused, isDayFocusable, isDayDisabled, size, showNeighboringMonth, dayProps, listenDayChangesForUpdate, getRootRef, renderDayContent, dayTestId, ...props }: CalendarDaysProps) => React.ReactNode; //# sourceMappingURL=CalendarDays.d.ts.map