/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { ActiveView } from './ActiveView'; import { SelectionRangeEnd } from './SelectionRangeEnd'; import { MultiViewCalendarMode } from './MultiViewCalendarMode'; import { CalendarCellProps } from '../components/CalendarCell.js'; import { CalendarWeekCellProps } from '../components/CalendarWeekCell.js'; import { CalendarHeaderTitleProps } from '../components/CalendarHeaderTitle.js'; import { WeekDaysFormat } from './WeekDaysFormat'; /** * @hidden */ export interface MultiViewCalendarSettings { /** * Specifies which end of the defined selection range will be marked as active. * * > If the selection range is undefined, the value is ignored. */ activeRangeEnd?: SelectionRangeEnd; /** * If set to `true`, the component skips the validation of whether the `from` value is after the `to` value. */ allowReverse?: boolean; /** * Defines the bottommost view to which the user can navigate. */ bottomView?: ActiveView; /** * Sets the `className` of the MultiViewCalendar. */ className?: string; /** * Sets the default active view of the MultiViewCalendar. * If not set, the MultiViewCalendar displays the month view. */ defaultActiveView?: ActiveView; /** * Sets the `views` property of the MultiViewCalendar and defines the number of rendered views. */ views?: number; /** * Determines if the week number column will be displayed. */ weekNumber?: boolean; /** * Specifies the possible format options for the displayed Calendar week days' names. * * @default short */ weekDaysFormat?: WeekDaysFormat; /** * Fires each time the MultiViewCalendar is focused. */ onFocus?: (event: React.FocusEvent) => void; /** * Sets the `tabIndex` property of the MultiViewCalendar. * * @remarks * This property is related to accessibility. */ tabIndex?: number; /** * Defines the topmost view to which the user can navigate. */ topView?: ActiveView; /** * Determines whether the MultiViewCalendar is disabled. */ disabled?: boolean; /** * Sets the initial focused date of the MultiViewCalendar. */ focusedDate?: Date; /** * Sets the `id` of the MultiViewCalendar. */ id?: string; /** * Identifies the element(s) which will describe the component, similar to [HTML aria-describedby attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute). * For example these elements could contain error or hint message. * * @remarks * This property is related to accessibility. */ ariaDescribedBy?: string; /** * Identifies the element(s) which will label the component. * * @remarks * This property is related to accessibility. */ ariaLabelledBy?: string; /** * Sets the maximum allowed date of the MultiViewCalendar. Defaults to `2099-12-31`. */ max?: Date; /** * Sets the minimum allowed date of the MultiViewCalendar. Defaults to `1900-1-1`. */ min?: Date; /** * Sets the selection mode of the MultiViewCalendar. * * The available modes are: * * (Default) `single`—Renders a single-date selection. * * `multiple`—Renders a multiple-date selection. * * `range`—Renders a date-range selection. */ mode?: MultiViewCalendarMode; /** * Displays the days that fall out of the current month. */ showOtherMonthDays?: boolean; /** * Fires each time the MultiViewCalendar is blurred. */ onBlur?: (event: React.FocusEvent) => void; /** * Enables the customization or the override of the default MultiViewCalendar cell * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/multiviewcalendar/custom-rendering#toc-cells-inside-the-view)). */ cell?: React.ComponentType; /** * Enables the customization or the override of the default week cell in the MultiViewCalendar * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/multiviewcalendar/custom-rendering#toc-cells-inside-the-week-column)). */ weekCell?: React.ComponentType; /** * Enables the customization or the override of the default header title in the MultiViewCalendar * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/multiviewcalendar/custom-rendering#toc-titles-of-current-views)). */ headerTitle?: React.ComponentType; }