/** * @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 { CalendarCellProps } from '../components/CalendarCell.js'; import { CalendarWeekCellProps } from '../components/CalendarWeekCell.js'; import { CalendarHeaderTitleProps } from '../components/CalendarHeaderTitle.js'; import { CalendarNavigationItemProps } from '../components/CalendarNavigationItem.js'; import { WeekDaysFormat } from './WeekDaysFormat'; /** * The props which will be received by the custom header of the Calendar and the MultiViewCalendar. */ export interface CalendarHeaderProps { /** Properties passed to the header title component */ headerTitleProps: CalendarHeaderTitleProps; /** Navigation commands and buttons for the calendar header */ commands: React.ReactNode; } /** * @hidden */ export interface CalendarSettings { /** * Defines the bottommost view to which the user can navigate. * ** @example * ```jsx * * ``` */ bottomView?: ActiveView; /** * Sets the `className` of the Calendar. * ** @example * ```jsx * * ``` */ className?: string; /** * Sets the default active view of the Calendar. * If not set, the Calendar will display the month view. * ** @example * ```jsx * * ``` */ defaultActiveView?: ActiveView; /** * Determines whether the Calendar is disabled. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/disabled-state)). * ** @example * ```jsx * * ``` */ disabled?: boolean; /** * Sets the initial focused date of the Calendar. * ** @example * ```jsx * * ``` */ focusedDate?: Date; /** * Sets the `id` of the Calendar. * ** @example * ```jsx * * ``` */ 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 messages. * ** @example * ```jsx * * ``` * * @remarks * This property is related to accessibility. */ ariaDescribedBy?: string; /** * Identifies the element(s) which will label the component. * ** @example * ```jsx * * ``` * * @remarks * This property is related to accessibility. */ ariaLabelledBy?: string; /** * Sets the maximum allowed date of the Calendar. Defaults to `2099-12-31`. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/date-ranges#toc-max-date)). * ** @example * ```jsx * * ``` */ max?: Date; /** * Sets the minimum allowed date of the Calendar. Defaults to `1900-1-1`. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/date-ranges#toc-min-date)). * ** @example * ```jsx * * ``` */ min?: Date; /** * Determines if the navigation sidebar will be displayed. * ** @example * ```jsx * * ``` */ navigation?: boolean; /** * **Deprecated** * * Toggles the smooth scroll animation on navigation item click. By default, the animation is enabled in React 17. * ** @example * ```jsx * * ``` */ smoothScroll?: boolean; /** * Fires each time the Calendar is blurred. * ** @example * ```jsx * console.log('Blur event:', event)} /> * ``` */ onBlur?: (event: React.FocusEvent) => void; /** * Fires each time the Calendar is focused. * ** @example * ```jsx * console.log('Focus event:', event)} /> * ``` */ onFocus?: (event: React.FocusEvent) => void; /** * Sets the `tabIndex` property of the Calendar. * ** @example * ```jsx * * ``` * * @remarks * This property is related to accessibility. */ tabIndex?: number; /** * Defines the topmost view to which the user can navigate. * ** @example * ```jsx * * ``` */ topView?: ActiveView; /** * Specifies the possible format options for the displayed Calendar week days' names. * * @default short ** @example * ```jsx * * ``` */ weekDaysFormat?: WeekDaysFormat; /** * Determines if the week number column will be displayed. * ** @example * ```jsx * * ``` */ weekNumber?: boolean; /** * Displays the days that fall out of the current month. * ** @example * ```jsx * * ``` */ showOtherMonthDays?: boolean; /** * Enables the customization or the override of the default Calendar cell. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/custom-rendering#toc-cells-inside-the-view)). * ** @example * ```jsx * * ``` */ cell?: React.ComponentType; /** * Enables the customization or the override of the default week-column cell in the Calendar. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/custom-rendering#toc-cells-inside-the-week-column)). * ** @example * ```jsx * * ``` */ weekCell?: React.ComponentType; /** * Enables the customization or the override of the default header title in the Calendar. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/custom-rendering#toc-titles-of-current-views)). * ** @example * ```jsx * * ``` */ headerTitle?: React.ComponentType; /** * Enables the customization or the override of the default header in the Calendar. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/custom-rendering#toc-titles-of-current-views)). * ** @example * ```jsx * * ``` */ header?: React.ComponentType; /** * Enables the customization or the override of the default navigation item in the Calendar. * ([see example](https://www.telerik.com/kendo-react-ui/components/dateinputs/calendar/custom-rendering#toc-items-in-the-side-navigation)). * ** @example * ```jsx * * ``` */ navigationItem?: React.ComponentType; }