import { CalendarMode, DateType } from '@mezzanine-ui/core/calendar'; import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types'; import { CalendarControlsProps } from './CalendarControls'; import { CalendarDaysProps } from './CalendarDays'; import { CalendarMonthsProps } from './CalendarMonths'; import { CalendarWeeksProps } from './CalendarWeeks'; import { CalendarYearsProps } from './CalendarYears'; import { CalendarQuartersProps } from './CalendarQuarters'; import { CalendarHalfYearsProps } from './CalendarHalfYears'; import { CalendarQuickSelectProps } from './CalendarQuickSelect'; export interface CalendarProps extends Omit, 'onChange' | 'children'>, Pick, Pick, Pick, Pick, Pick, Pick, Pick { /** * Other props you may provide to `CalendarDays` */ calendarDaysProps?: Omit; /** * Other props you may provide to `CalendarMonths` */ calendarMonthsProps?: Omit; /** * Other props you may provide to `CalendarWeeks` */ calendarWeeksProps?: Omit; /** * Other props you may provide to `CalendarYears` */ calendarYearsProps?: Omit; /** * Other props you may provide to `CalendarQuarters` */ calendarQuartersProps?: Omit; /** * Other props you may provide to `CalendarHalfYears` */ calendarHalfYearsProps?: Omit; /** * Disabled footer control element * @default false */ disabledFooterControl?: boolean; /** * Disabled `Month` calendar button click * @default false */ disabledMonthSwitch?: boolean; /** * Disabled `Year` calendar button click * @default false */ disabledYearSwitch?: boolean; /** * Use this prop to switch calendars. * @default 'day' */ mode?: CalendarMode; /** * Click handler for every cell on calendars. */ onChange?: (target: DateType) => void; /** * Click handler for control button of month. */ onMonthControlClick?: VoidFunction; /** * Click handler for control button of next. */ onNext?: (currentMode: CalendarMode) => void; /** * Click handler for control button of next. */ onDoubleNext?: (currentMode: CalendarMode) => void; /** * Click handler for control button of prev. */ onPrev?: (currentMode: CalendarMode) => void; /** * Click handler for control button of double prev. */ onDoublePrev?: (currentMode: CalendarMode) => void; /** * Click handler for control button of year. */ onYearControlClick?: VoidFunction; /** * The reference date for getting the calendar. * **The type of `referenceDate` should be the same as your declared `DateType`.** */ referenceDate: DateType; /** * Quick select options for calendar. * Provide options for users to quickly select specific dates or ranges. */ quickSelect?: Pick; /** * The displaying cells will be marked as active * if the single value of it matches any date object in the array.
* **The type of `value` should be the same as your declared `DateType`.** */ value?: DateType | DateType[]; } /** * The react component for `mezzanine` calendar.
* Notice that any component related to calendar should be used along with `CalendarContext`.
* You may use the handlers provided by `useCalendarControls` hook or your own customizd methods. */ declare const Calendar: import("react").ForwardRefExoticComponent>; export default Calendar;