import { PickerDayOwnerState, PickerDayProps } from '@mui/x-date-pickers/PickerDay'; import { PickerValidDate } from '@mui/x-date-pickers/models'; import { MuiEvent } from '@mui/x-internals/types'; import { DateRangePickerDayClasses } from "./dateRangePickerDayClasses.js"; export interface DateRangePickerDayProps extends Omit { /** * Set to `true` if the `day` is in a highlighted date range. */ isHighlighting?: boolean; /** * Set to `true` if the `day` is the end of a highlighted date range. */ isEndOfHighlighting?: boolean; /** * Set to `true` if the `day` is the start of a highlighted date range. */ isStartOfHighlighting?: boolean; /** * Set to `true` if the `day` is in a preview date range. */ isPreviewing?: boolean; /** * Set to `true` if the `day` is the end of a previewing date range. */ isEndOfPreviewing?: boolean; /** * Set to `true` if the `day` is the start of a previewing date range. */ isStartOfPreviewing?: boolean; /** * Override or extend the styles applied to the component. */ classes?: Partial; /** * Indicates if the day should be visually selected. */ isVisuallySelected?: boolean; /** * If `true`, the day can be dragged to change the current date range. * @default false */ draggable?: boolean; /** * If `true`, the day is a filler day (its content is hidden). * @default false */ isDayFillerCell?: boolean; /** * Callback fired when the mouse enters the component. * @param {React.MouseEvent} event The event object. * @param {PickerValidDate} day The day. * @default () => {} */ onMouseEnter?: (event: React.MouseEvent, day: PickerValidDate) => void; /** * Callback fired when the component is focused. * @param {React.FocusEvent} event The event object. * @param {PickerValidDate} day The day. * @default () => {} */ onFocus?: (event: React.FocusEvent, day: PickerValidDate) => void; /** * Callback fired when the component is blurred. * @param {React.FocusEvent} event The event object. * @param {PickerValidDate} day The day. * @default () => {} */ onBlur?: (event: React.FocusEvent, day: PickerValidDate) => void; /** * Callback fired when a key is pressed. * @param {React.KeyboardEvent} event The event object. * @param {PickerValidDate} day The day. * @default () => {} */ onKeyDown?: (event: React.KeyboardEvent, day: PickerValidDate) => void; /** * Callback fired when the mouse button is pressed. * @param {React.MouseEvent} event The event object. * @default () => {} */ onMouseDown?: (event: React.MouseEvent) => void; /** * Callback fired when the component is clicked. * @param {MuiEvent>} event The event object. * @default () => {} */ onClick?: (event: MuiEvent>) => void; } export interface DateRangePickerDayOwnerState extends PickerDayOwnerState { /** * Whether the day is the first day of the selected range. */ isDaySelectionStart?: boolean; /** * Whether the day is the last day of the selected range. */ isDaySelectionEnd?: boolean; /** * Whether the day is within the selected range and is not its first or last day. */ isDayInsideSelection?: boolean; /** * Whether the day is within the preview range. */ isDayPreviewed?: boolean; /** * Whether the day is the first day of the preview range. */ isDayPreviewStart?: boolean; /** * Whether the day is the last day of the preview range. */ isDayPreviewEnd?: boolean; /** * Whether the day is within the preview range and is not its first or last day. */ isDayInsidePreview?: boolean; /** * If `true`, the day can be dragged to change the current date range. * @default false */ isDayDraggable?: boolean; /** * Whether the day is the first day of the month. */ isDayStartOfMonth?: boolean; /** * Whether the day is the last day of the month. */ isDayEndOfMonth?: boolean; /** * Whether the day is the first visible cell of the month it's being rendered in. */ isDayFirstVisibleCell?: boolean; /** * Whether the day is the last visible cell of the month it's being rendered in. */ isDayLastVisibleCell?: boolean; }