UNPKG

v-calendar-fixed

Version:

A calendar and date picker plugin for Vue.js.

1,046 lines 1.09 MB
import { type SetupContext, type ExtractPropTypes, type PropType } from 'vue'; import { type CalendarDay } from '../utils/page'; import { type DatePatch, type DateParts, type DatePartsRules, type DateSource, type SimpleDateParts } from '../utils/date/helpers'; import { type PopoverOptions } from '../utils/popovers'; import type { MoveTarget, MoveOptions } from './calendar'; export type DateType = 'date' | 'string' | 'number'; export interface DateConfig { type: DateType; rules: DatePartsRules; mask?: string; } export type DateModes = 'date' | 'datetime' | 'time'; export type ValueTarget = 'start' | 'end'; export interface UpdateOptions { config: any; patch: DatePatch; debounce: number; clearIfEqual: boolean; formatInput: boolean; hidePopover: boolean; dragging: boolean; targetPriority: ValueTarget; moveToValue: boolean; } export interface ModelModifiers { number?: boolean; string?: boolean; range?: boolean; } export type DatePickerDate = DateSource | Partial<SimpleDateParts> | null; export type DatePickerRangeArray = [DatePickerDate, DatePickerDate]; export type DatePickerRangeObject = { start: Exclude<DatePickerDate, null>; end: Exclude<DatePickerDate, null>; }; export type DatePickerModel = DatePickerDate | DatePickerRangeObject; export type DatePickerContext = ReturnType<typeof createDatePicker>; export type DatePickerProps = Readonly<ExtractPropTypes<typeof propsDef>>; export declare const propsDef: { mode: { type: StringConstructor; default: string; }; modelValue: { type: PropType<DatePickerModel>; }; modelModifiers: { type: PropType<ModelModifiers>; default: () => {}; }; rules: PropType<DatePartsRules | "auto">; is24hr: BooleanConstructor; hideTimeHeader: BooleanConstructor; timeAccuracy: { type: NumberConstructor; default: number; }; isRequired: BooleanConstructor; isRange: BooleanConstructor; updateOnInput: { type: BooleanConstructor; default: () => any; }; inputDebounce: { type: NumberConstructor; default: () => any; }; popover: { type: PropType<boolean | Partial<PopoverOptions>>; default: boolean; }; dragAttribute: PropType<Partial<{ key: string | number; hashcode: string; content: import("../utils/glyph").ContentConfig; highlight: import("../utils/glyph").HighlightConfig; dot: import("../utils/glyph").DotConfig; bar: import("../utils/glyph").BarConfig; popover: Partial<{ label: string; visibility: import("../utils/popovers").PopoverVisibility; placement: import("@popperjs/core").Placement; hideIndicator: boolean; isInteractive: boolean; }>; event: Partial<{ label: string; }>; dates: import("../utils/date/range").DateRangeSource[]; customData: any; order: number; pinPage: boolean; }>>; selectAttribute: PropType<Partial<{ key: string | number; hashcode: string; content: import("../utils/glyph").ContentConfig; highlight: import("../utils/glyph").HighlightConfig; dot: import("../utils/glyph").DotConfig; bar: import("../utils/glyph").BarConfig; popover: Partial<{ label: string; visibility: import("../utils/popovers").PopoverVisibility; placement: import("@popperjs/core").Placement; hideIndicator: boolean; isInteractive: boolean; }>; event: Partial<{ label: string; }>; dates: import("../utils/date/range").DateRangeSource[]; customData: any; order: number; pinPage: boolean; }>>; attributes: (ArrayConstructor | ObjectConstructor)[]; color: { type: StringConstructor; default: () => any; }; isDark: { type: PropType<boolean | "system" | import("vue-screen-utils").DarkModeClassConfig>; default: () => any; }; firstDayOfWeek: PropType<import("../utils/date/helpers").DayOfWeek>; masks: ObjectConstructor; locale: PropType<string | Record<string, any> | import("../utils/locale").default>; timezone: StringConstructor; minDate: null; maxDate: null; disabledDates: null; }; export declare const emits: string[]; export declare function createDatePicker(props: DatePickerProps, { emit, slots }: SetupContext<string[]>): { showCalendar: import("vue").Ref<boolean, boolean>; datePickerPopoverId: import("vue").Ref<symbol, symbol>; popoverRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>> & Readonly<{ "onBefore-show"?: ((...args: any[]) => any) | undefined; "onAfter-show"?: ((...args: any[]) => any) | undefined; "onBefore-hide"?: ((...args: any[]) => any) | undefined; "onAfter-hide"?: ((...args: any[]) => any) | undefined; }>, { popoverRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; alignment: import("vue").ComputedRef<"center" | "left" | "right" | "top" | "bottom" | "middle">; hide: (opts?: Partial<PopoverOptions>) => void; setupPopper: () => void; beforeEnter: (el: Element) => void; afterEnter: (el: Element) => void; beforeLeave: (el: Element) => void; afterLeave: (el: Element) => void; onClick: (e: MouseEvent) => void; onMouseOver: () => void; onMouseLeave: () => void; onFocusIn: () => void; onFocusOut: (e: FocusEvent) => void; isVisible: import("vue").Ref<boolean, boolean>; target: import("vue").Ref<unknown, unknown>; data: import("vue").Ref<any, any>; transition: import("vue").Ref<string, string>; placement: import("vue").Ref<import("@popperjs/core").Placement, import("@popperjs/core").Placement>; direction: import("vue").Ref<string, string>; positionFixed: import("vue").Ref<false, false>; modifiers: import("vue").Ref<any[], any[]>; isInteractive: import("vue").Ref<boolean, boolean>; visibility: import("vue").Ref<import("../utils/popovers").PopoverVisibility, import("../utils/popovers").PopoverVisibility>; isHovered: import("vue").Ref<boolean, boolean>; isFocused: import("vue").Ref<boolean, boolean>; autoHide: import("vue").Ref<boolean, boolean>; force: import("vue").Ref<boolean, boolean>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("before-show" | "after-show" | "before-hide" | "after-hide")[], import("vue").PublicProps, { showDelay: number; hideDelay: number; }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>> & Readonly<{ "onBefore-show"?: ((...args: any[]) => any) | undefined; "onAfter-show"?: ((...args: any[]) => any) | undefined; "onBefore-hide"?: ((...args: any[]) => any) | undefined; "onAfter-hide"?: ((...args: any[]) => any) | undefined; }>, { popoverRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; alignment: import("vue").ComputedRef<"center" | "left" | "right" | "top" | "bottom" | "middle">; hide: (opts?: Partial<PopoverOptions>) => void; setupPopper: () => void; beforeEnter: (el: Element) => void; afterEnter: (el: Element) => void; beforeLeave: (el: Element) => void; afterLeave: (el: Element) => void; onClick: (e: MouseEvent) => void; onMouseOver: () => void; onMouseLeave: () => void; onFocusIn: () => void; onFocusOut: (e: FocusEvent) => void; isVisible: import("vue").Ref<boolean, boolean>; target: import("vue").Ref<unknown, unknown>; data: import("vue").Ref<any, any>; transition: import("vue").Ref<string, string>; placement: import("vue").Ref<import("@popperjs/core").Placement, import("@popperjs/core").Placement>; direction: import("vue").Ref<string, string>; positionFixed: import("vue").Ref<false, false>; modifiers: import("vue").Ref<any[], any[]>; isInteractive: import("vue").Ref<boolean, boolean>; visibility: import("vue").Ref<import("../utils/popovers").PopoverVisibility, import("../utils/popovers").PopoverVisibility>; isHovered: import("vue").Ref<boolean, boolean>; isFocused: import("vue").Ref<boolean, boolean>; autoHide: import("vue").Ref<boolean, boolean>; force: import("vue").Ref<boolean, boolean>; }, {}, {}, {}, { showDelay: number; hideDelay: number; }> | null, import("vue").CreateComponentPublicInstanceWithMixins<Readonly<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>> & Readonly<{ "onBefore-show"?: ((...args: any[]) => any) | undefined; "onAfter-show"?: ((...args: any[]) => any) | undefined; "onBefore-hide"?: ((...args: any[]) => any) | undefined; "onAfter-hide"?: ((...args: any[]) => any) | undefined; }>, { popoverRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; alignment: import("vue").ComputedRef<"center" | "left" | "right" | "top" | "bottom" | "middle">; hide: (opts?: Partial<PopoverOptions>) => void; setupPopper: () => void; beforeEnter: (el: Element) => void; afterEnter: (el: Element) => void; beforeLeave: (el: Element) => void; afterLeave: (el: Element) => void; onClick: (e: MouseEvent) => void; onMouseOver: () => void; onMouseLeave: () => void; onFocusIn: () => void; onFocusOut: (e: FocusEvent) => void; isVisible: import("vue").Ref<boolean, boolean>; target: import("vue").Ref<unknown, unknown>; data: import("vue").Ref<any, any>; transition: import("vue").Ref<string, string>; placement: import("vue").Ref<import("@popperjs/core").Placement, import("@popperjs/core").Placement>; direction: import("vue").Ref<string, string>; positionFixed: import("vue").Ref<false, false>; modifiers: import("vue").Ref<any[], any[]>; isInteractive: import("vue").Ref<boolean, boolean>; visibility: import("vue").Ref<import("../utils/popovers").PopoverVisibility, import("../utils/popovers").PopoverVisibility>; isHovered: import("vue").Ref<boolean, boolean>; isFocused: import("vue").Ref<boolean, boolean>; autoHide: import("vue").Ref<boolean, boolean>; force: import("vue").Ref<boolean, boolean>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("before-show" | "after-show" | "before-hide" | "after-hide")[], import("vue").PublicProps, { showDelay: number; hideDelay: number; }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<ExtractPropTypes<{ id: { type: (SymbolConstructor | StringConstructor | NumberConstructor)[]; required: true; }; showDelay: { type: NumberConstructor; default: number; }; hideDelay: { type: NumberConstructor; default: number; }; boundarySelector: { type: StringConstructor; }; }>> & Readonly<{ "onBefore-show"?: ((...args: any[]) => any) | undefined; "onAfter-show"?: ((...args: any[]) => any) | undefined; "onBefore-hide"?: ((...args: any[]) => any) | undefined; "onAfter-hide"?: ((...args: any[]) => any) | undefined; }>, { popoverRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>; alignment: import("vue").ComputedRef<"center" | "left" | "right" | "top" | "bottom" | "middle">; hide: (opts?: Partial<PopoverOptions>) => void; setupPopper: () => void; beforeEnter: (el: Element) => void; afterEnter: (el: Element) => void; beforeLeave: (el: Element) => void; afterLeave: (el: Element) => void; onClick: (e: MouseEvent) => void; onMouseOver: () => void; onMouseLeave: () => void; onFocusIn: () => void; onFocusOut: (e: FocusEvent) => void; isVisible: import("vue").Ref<boolean, boolean>; target: import("vue").Ref<unknown, unknown>; data: import("vue").Ref<any, any>; transition: import("vue").Ref<string, string>; placement: import("vue").Ref<import("@popperjs/core").Placement, import("@popperjs/core").Placement>; direction: import("vue").Ref<string, string>; positionFixed: import("vue").Ref<false, false>; modifiers: import("vue").Ref<any[], any[]>; isInteractive: import("vue").Ref<boolean, boolean>; visibility: import("vue").Ref<import("../utils/popovers").PopoverVisibility, import("../utils/popovers").PopoverVisibility>; isHovered: import("vue").Ref<boolean, boolean>; isFocused: import("vue").Ref<boolean, boolean>; autoHide: import("vue").Ref<boolean, boolean>; force: import("vue").Ref<boolean, boolean>; }, {}, {}, {}, { showDelay: number; hideDelay: number; }> | null>; popoverEvents: import("vue").ComputedRef<Partial<import("../utils/popovers").PopoverEventHandlers>>; calendarRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<ExtractPropTypes<{ view: { type: PropType<import("./calendar").CalendarView>; default: string; validator(value: string): boolean; }; rows: { type: NumberConstructor; default: number; }; columns: { type: NumberConstructor; default: number; }; step: NumberConstructor; titlePosition: { type: PropType<import("../utils/page").TitlePosition>; default: () => import("../utils/page").TitlePosition; }; navVisibility: { type: PropType<import("../utils/popovers").PopoverVisibility>; default: () => import("../utils/popovers").PopoverVisibility; }; showWeeknumbers: (BooleanConstructor | StringConstructor)[]; showIsoWeeknumbers: (BooleanConstructor | StringConstructor)[]; expanded: BooleanConstructor; borderless: BooleanConstructor; transparent: BooleanConstructor; initialPage: PropType<import("../utils/page").PageAddress>; initialPagePosition: { type: NumberConstructor; default: number; }; minPage: PropType<import("../utils/page").PageAddress>; maxPage: PropType<import("../utils/page").PageAddress>; transition: PropType<import("./calendar").MoveTransition>; attributes: PropType<Partial<{ key: string | number; hashcode: string; content: import("../utils/glyph").ContentConfig; highlight: import("../utils/glyph").HighlightConfig; dot: import("../utils/glyph").DotConfig; bar: import("../utils/glyph").BarConfig; popover: Partial<{ label: string; visibility: import("../utils/popovers").PopoverVisibility; placement: import("@popperjs/core").Placement; hideIndicator: boolean; isInteractive: boolean; }>; event: Partial<{ label: string; }>; dates: import("../utils/date/range").DateRangeSource[]; customData: any; order: number; pinPage: boolean; }>[]>; trimWeeks: BooleanConstructor; disablePageSwipe: BooleanConstructor; color: { type: StringConstructor; default: () => any; }; isDark: { type: PropType<boolean | "system" | import("vue-screen-utils").DarkModeClassConfig>; default: () => any; }; firstDayOfWeek: PropType<import("../utils/date/helpers").DayOfWeek>; masks: ObjectConstructor; locale: PropType<string | Record<string, any> | import("../utils/locale").default>; timezone: StringConstructor; minDate: null; maxDate: null; disabledDates: null; }>> & Readonly<{}>, { emit: ((event: string, ...args: any[]) => void) | ((event: string, ...args: any[]) => void); containerRef: import("vue").Ref<{ querySelector: { <K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null; <K_1 extends keyof SVGElementTagNameMap>(selectors: K_1): SVGElementTagNameMap[K_1] | null; <E extends Element = Element>(selectors: string): E | null; }; addEventListener: Function; removeEventListener: Function; dispatchEvent: Function; } | null, (Pick<Element, "querySelector"> & import("../utils/helpers").CustomElement) | { querySelector: { <K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null; <K_1 extends keyof SVGElementTagNameMap>(selectors: K_1): SVGElementTagNameMap[K_1] | null; <E extends Element = Element>(selectors: string): E | null; }; addEventListener: Function; removeEventListener: Function; dispatchEvent: Function; } | null>; focusedDay: import("vue").Ref<{ id: string; position: number; label: string; ariaLabel: string; weekdayPosition: number; weekdayPositionFromEnd: number; weekPosition: number; isoWeeknumber: number; startDate: Date; noonDate: Date; endDate: Date; isToday: boolean; isFirstDay: boolean; isLastDay: boolean; isDisabled: boolean; isFocusable: boolean; isFocused: boolean; inMonth: boolean; inPrevMonth: boolean; inNextMonth: boolean; onTop: boolean; onBottom: boolean; onLeft: boolean; onRight: boolean; classes: (string | Object)[]; locale: { id: any; daysInWeek: number; firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; masks: any; timezone: string | undefined; hourLabels: string[]; dayNames: string[]; dayNamesShort: string[]; dayNamesShorter: string[]; dayNamesNarrow: string[]; monthNames: string[]; monthNamesShort: string[]; relativeTimeNames: { day?: string | undefined; week?: string | undefined; month?: string | undefined; year?: string | undefined; days?: string | undefined; weeks?: string | undefined; seconds?: string | undefined; minutes?: string | undefined; hours?: string | undefined; months?: string | undefined; years?: string | undefined; quarter?: string | undefined; quarters?: string | undefined; hour?: string | undefined; minute?: string | undefined; second?: string | undefined; }; amPm: [string, string]; monthCache: { keys: string[]; store: Record<string, import("../utils/date/helpers").MonthParts>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/date/helpers").MonthParts; get: (...args: any[]) => import("../utils/date/helpers").MonthParts; getOrSet: (...args: any[]) => import("../utils/date/helpers").MonthParts; }; pageCache: { keys: string[]; store: Record<string, import("../utils/page").CachedPage>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/page").CachedPage; get: (...args: any[]) => import("../utils/page").CachedPage; getOrSet: (...args: any[]) => import("../utils/page").CachedPage; }; formatDate: (date: Date, masks: string | string[]) => string; parseDate: (dateString: string, mask: string | string[]) => Date; toDate: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date; toDateOrNull: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date | null; fromDate: (date: Date | null, { type, mask }?: Partial<import("../utils/date/helpers").DateOptions>) => string | number | Date | DateParts | null; range: (source: import("../utils/date/range").DateRangeSource) => import("../utils/date/range").DateRange; ranges: (ranges: import("../utils/date/range").DateRangeSource | import("../utils/date/range").DateRangeSource[]) => import("../utils/date/range").DateRange[]; getDateParts: (date: Date) => DateParts; getDateFromParts: (parts: Partial<SimpleDateParts>) => Date; getDateFromParams: (year: number, month: number, day: number, hours: number, minutes: number, seconds: number, milliseconds: number) => Date; getPage: (config: import("../utils/page").PageConfig) => import("../utils/page").Page; getMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getThisMonthParts: () => import("../utils/date/helpers").MonthParts; getPrevMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getNextMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getHourLabels: () => string[]; getDayId: (date: Date) => string; }; dayIndex: number; day: number; dayFromEnd: number; weekday: number; weekdayOrdinal: number; weekdayOrdinalFromEnd: number; week: number; weekFromEnd: number; weeknumber: number; month: number; year: number; date: Date; } | null, CalendarDay | { id: string; position: number; label: string; ariaLabel: string; weekdayPosition: number; weekdayPositionFromEnd: number; weekPosition: number; isoWeeknumber: number; startDate: Date; noonDate: Date; endDate: Date; isToday: boolean; isFirstDay: boolean; isLastDay: boolean; isDisabled: boolean; isFocusable: boolean; isFocused: boolean; inMonth: boolean; inPrevMonth: boolean; inNextMonth: boolean; onTop: boolean; onBottom: boolean; onLeft: boolean; onRight: boolean; classes: (string | Object)[]; locale: { id: any; daysInWeek: number; firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; masks: any; timezone: string | undefined; hourLabels: string[]; dayNames: string[]; dayNamesShort: string[]; dayNamesShorter: string[]; dayNamesNarrow: string[]; monthNames: string[]; monthNamesShort: string[]; relativeTimeNames: { day?: string | undefined; week?: string | undefined; month?: string | undefined; year?: string | undefined; days?: string | undefined; weeks?: string | undefined; seconds?: string | undefined; minutes?: string | undefined; hours?: string | undefined; months?: string | undefined; years?: string | undefined; quarter?: string | undefined; quarters?: string | undefined; hour?: string | undefined; minute?: string | undefined; second?: string | undefined; }; amPm: [string, string]; monthCache: { keys: string[]; store: Record<string, import("../utils/date/helpers").MonthParts>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/date/helpers").MonthParts; get: (...args: any[]) => import("../utils/date/helpers").MonthParts; getOrSet: (...args: any[]) => import("../utils/date/helpers").MonthParts; }; pageCache: { keys: string[]; store: Record<string, import("../utils/page").CachedPage>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/page").CachedPage; get: (...args: any[]) => import("../utils/page").CachedPage; getOrSet: (...args: any[]) => import("../utils/page").CachedPage; }; formatDate: (date: Date, masks: string | string[]) => string; parseDate: (dateString: string, mask: string | string[]) => Date; toDate: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date; toDateOrNull: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date | null; fromDate: (date: Date | null, { type, mask }?: Partial<import("../utils/date/helpers").DateOptions>) => string | number | Date | DateParts | null; range: (source: import("../utils/date/range").DateRangeSource) => import("../utils/date/range").DateRange; ranges: (ranges: import("../utils/date/range").DateRangeSource | import("../utils/date/range").DateRangeSource[]) => import("../utils/date/range").DateRange[]; getDateParts: (date: Date) => DateParts; getDateFromParts: (parts: Partial<SimpleDateParts>) => Date; getDateFromParams: (year: number, month: number, day: number, hours: number, minutes: number, seconds: number, milliseconds: number) => Date; getPage: (config: import("../utils/page").PageConfig) => import("../utils/page").Page; getMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getThisMonthParts: () => import("../utils/date/helpers").MonthParts; getPrevMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getNextMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getHourLabels: () => string[]; getDayId: (date: Date) => string; }; dayIndex: number; day: number; dayFromEnd: number; weekday: number; weekdayOrdinal: number; weekdayOrdinalFromEnd: number; week: number; weekFromEnd: number; weeknumber: number; month: number; year: number; date: Date; } | null>; inTransition: import("vue").Ref<boolean, boolean>; navPopoverId: import("vue").Ref<symbol, symbol>; dayPopoverId: import("vue").Ref<symbol, symbol>; view: import("vue").Ref<import("./calendar").CalendarView, import("./calendar").CalendarView>; pages: import("vue").Ref<{ id: string; day?: number | undefined; week?: number | undefined; month: number; year: number; view: import("../utils/page").PageView; trimWeeks: boolean; position: number; row: number; rowFromEnd: number; column: number; columnFromEnd: number; showWeeknumbers: boolean; showIsoWeeknumbers: boolean; weeknumberPosition: string; monthTitle: string; weekTitle?: string | undefined; dayTitle?: string | undefined; title: string; titlePosition: import("../utils/page").TitlePosition; shortMonthLabel: string; monthLabel: string; shortYearLabel: string; yearLabel: string; monthComps: { firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; firstDayOfMonth: Date; inLeapYear: boolean; firstWeekday: number; numDays: number; numWeeks: number; month: number; year: number; weeknumbers: number[]; isoWeeknumbers: number[]; }; prevMonthComps: { firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; firstDayOfMonth: Date; inLeapYear: boolean; firstWeekday: number; numDays: number; numWeeks: number; month: number; year: number; weeknumbers: number[]; isoWeeknumbers: number[]; }; nextMonthComps: { firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; firstDayOfMonth: Date; inLeapYear: boolean; firstWeekday: number; numDays: number; numWeeks: number; month: number; year: number; weeknumbers: number[]; isoWeeknumbers: number[]; }; days: { id: string; position: number; label: string; ariaLabel: string; weekdayPosition: number; weekdayPositionFromEnd: number; weekPosition: number; isoWeeknumber: number; startDate: Date; noonDate: Date; endDate: Date; isToday: boolean; isFirstDay: boolean; isLastDay: boolean; isDisabled: boolean; isFocusable: boolean; isFocused: boolean; inMonth: boolean; inPrevMonth: boolean; inNextMonth: boolean; onTop: boolean; onBottom: boolean; onLeft: boolean; onRight: boolean; classes: (string | Object)[]; locale: { id: any; daysInWeek: number; firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; masks: any; timezone: string | undefined; hourLabels: string[]; dayNames: string[]; dayNamesShort: string[]; dayNamesShorter: string[]; dayNamesNarrow: string[]; monthNames: string[]; monthNamesShort: string[]; relativeTimeNames: { day?: string | undefined; week?: string | undefined; month?: string | undefined; year?: string | undefined; days?: string | undefined; weeks?: string | undefined; seconds?: string | undefined; minutes?: string | undefined; hours?: string | undefined; months?: string | undefined; years?: string | undefined; quarter?: string | undefined; quarters?: string | undefined; hour?: string | undefined; minute?: string | undefined; second?: string | undefined; }; amPm: [string, string]; monthCache: { keys: string[]; store: Record<string, import("../utils/date/helpers").MonthParts>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/date/helpers").MonthParts; get: (...args: any[]) => import("../utils/date/helpers").MonthParts; getOrSet: (...args: any[]) => import("../utils/date/helpers").MonthParts; }; pageCache: { keys: string[]; store: Record<string, import("../utils/page").CachedPage>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/page").CachedPage; get: (...args: any[]) => import("../utils/page").CachedPage; getOrSet: (...args: any[]) => import("../utils/page").CachedPage; }; formatDate: (date: Date, masks: string | string[]) => string; parseDate: (dateString: string, mask: string | string[]) => Date; toDate: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date; toDateOrNull: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date | null; fromDate: (date: Date | null, { type, mask }?: Partial<import("../utils/date/helpers").DateOptions>) => string | number | Date | DateParts | null; range: (source: import("../utils/date/range").DateRangeSource) => import("../utils/date/range").DateRange; ranges: (ranges: import("../utils/date/range").DateRangeSource | import("../utils/date/range").DateRangeSource[]) => import("../utils/date/range").DateRange[]; getDateParts: (date: Date) => DateParts; getDateFromParts: (parts: Partial<SimpleDateParts>) => Date; getDateFromParams: (year: number, month: number, day: number, hours: number, minutes: number, seconds: number, milliseconds: number) => Date; getPage: (config: import("../utils/page").PageConfig) => import("../utils/page").Page; getMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getThisMonthParts: () => import("../utils/date/helpers").MonthParts; getPrevMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getNextMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getHourLabels: () => string[]; getDayId: (date: Date) => string; }; dayIndex: number; day: number; dayFromEnd: number; weekday: number; weekdayOrdinal: number; weekdayOrdinalFromEnd: number; week: number; weekFromEnd: number; weeknumber: number; month: number; year: number; date: Date; }[]; weeks: { id: string; week: number; weekPosition: number; weeknumber: number; isoWeeknumber: number; weeknumberDisplay?: number | undefined; days: { id: string; position: number; label: string; ariaLabel: string; weekdayPosition: number; weekdayPositionFromEnd: number; weekPosition: number; isoWeeknumber: number; startDate: Date; noonDate: Date; endDate: Date; isToday: boolean; isFirstDay: boolean; isLastDay: boolean; isDisabled: boolean; isFocusable: boolean; isFocused: boolean; inMonth: boolean; inPrevMonth: boolean; inNextMonth: boolean; onTop: boolean; onBottom: boolean; onLeft: boolean; onRight: boolean; classes: (string | Object)[]; locale: { id: any; daysInWeek: number; firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; masks: any; timezone: string | undefined; hourLabels: string[]; dayNames: string[]; dayNamesShort: string[]; dayNamesShorter: string[]; dayNamesNarrow: string[]; monthNames: string[]; monthNamesShort: string[]; relativeTimeNames: { day?: string | undefined; week?: string | undefined; month?: string | undefined; year?: string | undefined; days?: string | undefined; weeks?: string | undefined; seconds?: string | undefined; minutes?: string | undefined; hours?: string | undefined; months?: string | undefined; years?: string | undefined; quarter?: string | undefined; quarters?: string | undefined; hour?: string | undefined; minute?: string | undefined; second?: string | undefined; }; amPm: [string, string]; monthCache: { keys: string[]; store: Record<string, import("../utils/date/helpers").MonthParts>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/date/helpers").MonthParts; get: (...args: any[]) => import("../utils/date/helpers").MonthParts; getOrSet: (...args: any[]) => import("../utils/date/helpers").MonthParts; }; pageCache: { keys: string[]; store: Record<string, import("../utils/page").CachedPage>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/page").CachedPage; get: (...args: any[]) => import("../utils/page").CachedPage; getOrSet: (...args: any[]) => import("../utils/page").CachedPage; }; formatDate: (date: Date, masks: string | string[]) => string; parseDate: (dateString: string, mask: string | string[]) => Date; toDate: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date; toDateOrNull: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date | null; fromDate: (date: Date | null, { type, mask }?: Partial<import("../utils/date/helpers").DateOptions>) => string | number | Date | DateParts | null; range: (source: import("../utils/date/range").DateRangeSource) => import("../utils/date/range").DateRange; ranges: (ranges: import("../utils/date/range").DateRangeSource | import("../utils/date/range").DateRangeSource[]) => import("../utils/date/range").DateRange[]; getDateParts: (date: Date) => DateParts; getDateFromParts: (parts: Partial<SimpleDateParts>) => Date; getDateFromParams: (year: number, month: number, day: number, hours: number, minutes: number, seconds: number, milliseconds: number) => Date; getPage: (config: import("../utils/page").PageConfig) => import("../utils/page").Page; getMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getThisMonthParts: () => import("../utils/date/helpers").MonthParts; getPrevMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getNextMonthParts: (month: number, year: number) => import("../utils/date/helpers").MonthParts; getHourLabels: () => string[]; getDayId: (date: Date) => string; }; dayIndex: number; day: number; dayFromEnd: number; weekday: number; weekdayOrdinal: number; weekdayOrdinalFromEnd: number; week: number; weekFromEnd: number; weeknumber: number; month: number; year: number; date: Date; }[]; title: string; }[]; weekdays: { weekday: number; label: string; }[]; viewDays: { id: string; position: number; label: string; ariaLabel: string; weekdayPosition: number; weekdayPositionFromEnd: number; weekPosition: number; isoWeeknumber: number; startDate: Date; noonDate: Date; endDate: Date; isToday: boolean; isFirstDay: boolean; isLastDay: boolean; isDisabled: boolean; isFocusable: boolean; isFocused: boolean; inMonth: boolean; inPrevMonth: boolean; inNextMonth: boolean; onTop: boolean; onBottom: boolean; onLeft: boolean; onRight: boolean; classes: (string | Object)[]; locale: { id: any; daysInWeek: number; firstDayOfWeek: import("../utils/date/helpers").DayOfWeek; masks: any; timezone: string | undefined; hourLabels: string[]; dayNames: string[]; dayNamesShort: string[]; dayNamesShorter: string[]; dayNamesNarrow: string[]; monthNames: string[]; monthNamesShort: string[]; relativeTimeNames: { day?: string | undefined; week?: string | undefined; month?: string | undefined; year?: string | undefined; days?: string | undefined; weeks?: string | undefined; seconds?: string | undefined; minutes?: string | undefined; hours?: string | undefined; months?: string | undefined; years?: string | undefined; quarter?: string | undefined; quarters?: string | undefined; hour?: string | undefined; minute?: string | undefined; second?: string | undefined; }; amPm: [string, string]; monthCache: { keys: string[]; store: Record<string, import("../utils/date/helpers").MonthParts>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/date/helpers").MonthParts; get: (...args: any[]) => import("../utils/date/helpers").MonthParts; getOrSet: (...args: any[]) => import("../utils/date/helpers").MonthParts; }; pageCache: { keys: string[]; store: Record<string, import("../utils/page").CachedPage>; size: number; createKey: (...args: any[]) => string; createItem: (...args: any[]) => import("../utils/page").CachedPage; get: (...args: any[]) => import("../utils/page").CachedPage; getOrSet: (...args: any[]) => import("../utils/page").CachedPage; }; formatDate: (date: Date, masks: string | string[]) => string; parseDate: (dateString: string, mask: string | string[]) => Date; toDate: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date; toDateOrNull: (d: Partial<SimpleDateParts> | DateSource, opts?: Partial<import("../utils/date/helpers").DateOptions>) => Date | null; fromDate: (date: Date | null, { type, mask }?: Partial<import("../utils/date/helpers").DateOptions>) => string | number | Date | DateParts | null; range: (source: import("../utils/date/range").DateRangeSource) => import("../utils/date/range").DateRange; ranges: (ranges: import("../utils/date/range").DateRangeSource | import("../utils/date/range").DateRangeSource[]) => import("../utils/date/range").DateRange[]; getDateParts: (date: Date) => DateParts; getDateFromParts: (pa