@mantine-vue/schedule 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +21 -0
  2. package/cjs/index.cjs +4198 -0
  3. package/cjs/index.cjs.map +1 -0
  4. package/esm/index.mjs +4106 -0
  5. package/esm/index.mjs.map +1 -0
  6. package/lib/component-props.d.ts +265 -0
  7. package/lib/components/CurrentTimeIndicator/CurrentTimeIndicator.d.ts +114 -0
  8. package/lib/components/CurrentTimeIndicator/index.d.ts +1 -0
  9. package/lib/components/DayView/DayView.d.ts +212 -0
  10. package/lib/components/DayView/get-day-view-events/get-day-positioned-events.d.ts +15 -0
  11. package/lib/components/DayView/get-day-view-events/get-day-view-events.d.ts +15 -0
  12. package/lib/components/DayView/index.d.ts +3 -0
  13. package/lib/components/DragContext/DragContext.d.ts +11 -0
  14. package/lib/components/DragContext/index.d.ts +1 -0
  15. package/lib/components/MobileMonthView/MobileMonthView.d.ts +171 -0
  16. package/lib/components/MobileMonthView/get-mobile-month-view-events.d.ts +8 -0
  17. package/lib/components/MobileMonthView/index.d.ts +1 -0
  18. package/lib/components/MonthView/MonthView.d.ts +174 -0
  19. package/lib/components/MonthView/get-month-view-events/add-event-to-day-groups.d.ts +14 -0
  20. package/lib/components/MonthView/get-month-view-events/calculate-event-position-in-week.d.ts +18 -0
  21. package/lib/components/MonthView/get-month-view-events/find-available-row.d.ts +10 -0
  22. package/lib/components/MonthView/get-month-view-events/get-month-positioned-events.d.ts +31 -0
  23. package/lib/components/MonthView/get-month-view-events/get-month-view-events.d.ts +16 -0
  24. package/lib/components/MonthView/get-month-view-events/get-weeks-in-range.d.ts +13 -0
  25. package/lib/components/MonthView/get-renderable-month-event-segments.d.ts +16 -0
  26. package/lib/components/MonthView/index.d.ts +4 -0
  27. package/lib/components/MoreEvents/MoreEvents.d.ts +65 -0
  28. package/lib/components/MoreEvents/index.d.ts +1 -0
  29. package/lib/components/Schedule/Schedule.d.ts +134 -0
  30. package/lib/components/Schedule/index.d.ts +1 -0
  31. package/lib/components/ScheduleEvent/ScheduleEvent.d.ts +88 -0
  32. package/lib/components/ScheduleEvent/index.d.ts +1 -0
  33. package/lib/components/ScheduleHeader/HeaderControl/index.d.ts +2 -0
  34. package/lib/components/ScheduleHeader/MonthYearSelect/index.d.ts +2 -0
  35. package/lib/components/ScheduleHeader/ScheduleHeader.d.ts +364 -0
  36. package/lib/components/ScheduleHeader/ScheduleHeaderBase.d.ts +72 -0
  37. package/lib/components/ScheduleHeader/ViewSelect/index.d.ts +2 -0
  38. package/lib/components/ScheduleHeader/index.d.ts +2 -0
  39. package/lib/components/WeekView/WeekView.d.ts +294 -0
  40. package/lib/components/WeekView/get-week-label/get-week-label.d.ts +13 -0
  41. package/lib/components/WeekView/get-week-view-events/assign-event-rows.d.ts +2 -0
  42. package/lib/components/WeekView/get-week-view-events/calculate-all-day-event-offset.d.ts +11 -0
  43. package/lib/components/WeekView/get-week-view-events/calculate-all-day-event-width.d.ts +12 -0
  44. package/lib/components/WeekView/get-week-view-events/calculate-event-days.d.ts +9 -0
  45. package/lib/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.d.ts +2 -0
  46. package/lib/components/WeekView/get-week-view-events/filter-week-view-events.d.ts +14 -0
  47. package/lib/components/WeekView/get-week-view-events/find-available-column.d.ts +9 -0
  48. package/lib/components/WeekView/get-week-view-events/get-event-end-date.d.ts +3 -0
  49. package/lib/components/WeekView/get-week-view-events/get-hanging-status.d.ts +9 -0
  50. package/lib/components/WeekView/get-week-view-events/get-week-positioned-events.d.ts +26 -0
  51. package/lib/components/WeekView/get-week-view-events/get-week-view-events.d.ts +7 -0
  52. package/lib/components/WeekView/index.d.ts +4 -0
  53. package/lib/components/YearView/YearView.d.ts +151 -0
  54. package/lib/components/YearView/get-year-view-events/get-year-view-events.d.ts +8 -0
  55. package/lib/components/YearView/index.d.ts +1 -0
  56. package/lib/components/keyboard-navigation.d.ts +7 -0
  57. package/lib/components/shared.d.ts +161 -0
  58. package/lib/components/use-slot-drag-select.d.ts +28 -0
  59. package/lib/hooks/use-event-resize.d.ts +31 -0
  60. package/lib/index.d.mts +15 -0
  61. package/lib/index.d.ts +15 -0
  62. package/lib/labels.d.ts +25 -0
  63. package/lib/test-utils.d.ts +7 -0
  64. package/lib/types.d.ts +141 -0
  65. package/lib/utils/calculate-drop-time/calculate-drop-time.d.ts +22 -0
  66. package/lib/utils/calculate-month-drop-date/calculate-month-drop-date.d.ts +14 -0
  67. package/lib/utils/clamp-interval-minutes/clamp-interval-minutes.d.ts +2 -0
  68. package/lib/utils/expand-recurring-events/expand-recurring-events.d.ts +10 -0
  69. package/lib/utils/format-date/format-date.d.ts +8 -0
  70. package/lib/utils/get-business-hours-mod/get-business-hours-mod.d.ts +26 -0
  71. package/lib/utils/get-current-time-position/get-current-time-position.d.ts +10 -0
  72. package/lib/utils/get-day-position/get-day-position.d.ts +17 -0
  73. package/lib/utils/get-day-time-intervals/get-day-time-intervals.d.ts +19 -0
  74. package/lib/utils/get-end-of-week/get-end-of-week.d.ts +3 -0
  75. package/lib/utils/get-month-days/get-month-days.d.ts +8 -0
  76. package/lib/utils/get-month-range/get-month-range.d.ts +13 -0
  77. package/lib/utils/get-months-by-quarter/get-months-by-quarter.d.ts +2 -0
  78. package/lib/utils/get-months-list/get-months-list.d.ts +11 -0
  79. package/lib/utils/get-start-of-week/get-start-of-week.d.ts +7 -0
  80. package/lib/utils/get-visible-events/get-visible-events.d.ts +9 -0
  81. package/lib/utils/get-week-days/get-week-days.d.ts +13 -0
  82. package/lib/utils/get-week-number/get-week-number.d.ts +2 -0
  83. package/lib/utils/get-weekdays-names/get-weekdays-names.d.ts +9 -0
  84. package/lib/utils/get-years-list/get-years-list.d.ts +6 -0
  85. package/lib/utils/index.d.ts +41 -0
  86. package/lib/utils/is-after-min-date/is-after-min-date.d.ts +2 -0
  87. package/lib/utils/is-all-day-event/is-all-day-event.d.ts +7 -0
  88. package/lib/utils/is-before-max-date/is-before-max-date.d.ts +2 -0
  89. package/lib/utils/is-event-in-time-range/is-event-in-time-range.d.ts +8 -0
  90. package/lib/utils/is-events-overlap/is-events-overlap.d.ts +3 -0
  91. package/lib/utils/is-in-time-range/is-in-time-range.d.ts +9 -0
  92. package/lib/utils/is-multiday-event/is-multiday-event.d.ts +2 -0
  93. package/lib/utils/is-same-month/is-same-month.d.ts +2 -0
  94. package/lib/utils/is-within-week/is-within-week.d.ts +8 -0
  95. package/lib/utils/next-week/next-week.d.ts +2 -0
  96. package/lib/utils/parse-time-string/parse-time-string.d.ts +6 -0
  97. package/lib/utils/previous-week/previous-week.d.ts +2 -0
  98. package/lib/utils/sort-events/sort-events.d.ts +3 -0
  99. package/lib/utils/to-date-string/to-date-string.d.ts +2 -0
  100. package/lib/utils/to-time-string/to-time-string.d.ts +2 -0
  101. package/lib/utils/validate-event/validate-event.d.ts +2 -0
  102. package/package.json +53 -0
  103. package/styles.css +2087 -0
  104. package/styles.layer.css +2089 -0
@@ -0,0 +1,134 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import type { DayViewProps, MobileMonthViewProps, MonthViewProps, RenderEventBody, ScheduleProps, WeekViewProps, YearViewProps } from '../../component-props';
3
+ import type { DateStringValue, ScheduleEventData, ScheduleMode, ScheduleViewLevel } from '../../types';
4
+ export interface ScheduleSlots {
5
+ /** Scoped alternative to the `renderEventBody` prop */
6
+ eventBody?: (props: {
7
+ event: ScheduleEventData;
8
+ }) => VNodeChild;
9
+ /** Scoped alternative to the `renderEvent` prop */
10
+ event?: (props: Record<string, unknown> & {
11
+ event: ScheduleEventData;
12
+ }) => VNodeChild;
13
+ /** Scoped alternative to WeekView's `renderWeekLabel` prop */
14
+ weekLabel?: (props: {
15
+ weekStart: DateStringValue;
16
+ weekEnd: DateStringValue;
17
+ }) => VNodeChild;
18
+ /** Scoped alternative to MobileMonthView's `renderHeader` prop */
19
+ header?: (props: {
20
+ mode: ScheduleMode;
21
+ date: Date | DateStringValue;
22
+ defaultHeader: VNodeChild;
23
+ }) => VNodeChild;
24
+ }
25
+ export declare const Schedule: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
26
+ date: PropType<Date | DateStringValue>;
27
+ defaultDate: PropType<Date | DateStringValue>;
28
+ onDateChange: PropType<(date: DateStringValue) => void>;
29
+ view: PropType<ScheduleViewLevel>;
30
+ defaultView: {
31
+ type: PropType<ScheduleViewLevel>;
32
+ default: string;
33
+ };
34
+ onViewChange: PropType<(view: ScheduleViewLevel) => void>;
35
+ events: PropType<ScheduleEventData[]>;
36
+ locale: StringConstructor;
37
+ radius: PropType<string | number>;
38
+ labels: ObjectConstructor;
39
+ renderEventBody: PropType<RenderEventBody>;
40
+ withEventsDragAndDrop: BooleanConstructor;
41
+ onEventDrop: PropType<ScheduleProps["onEventDrop"]>;
42
+ canDragEvent: PropType<ScheduleProps["canDragEvent"]>;
43
+ onEventDragStart: PropType<ScheduleProps["onEventDragStart"]>;
44
+ onEventDragEnd: PropType<ScheduleProps["onEventDragEnd"]>;
45
+ onTimeSlotClick: PropType<ScheduleProps["onTimeSlotClick"]>;
46
+ onAllDaySlotClick: PropType<ScheduleProps["onAllDaySlotClick"]>;
47
+ onEventClick: PropType<ScheduleProps["onEventClick"]>;
48
+ onDayClick: PropType<ScheduleProps["onDayClick"]>;
49
+ onMonthClick: PropType<ScheduleProps["onMonthClick"]>;
50
+ withDragSlotSelect: BooleanConstructor;
51
+ onSlotDragEnd: PropType<ScheduleProps["onSlotDragEnd"]>;
52
+ mode: {
53
+ type: PropType<ScheduleMode>;
54
+ default: string;
55
+ };
56
+ onExternalEventDrop: PropType<ScheduleProps["onExternalEventDrop"]>;
57
+ withEventResize: BooleanConstructor;
58
+ onEventResize: PropType<ScheduleProps["onEventResize"]>;
59
+ canResizeEvent: PropType<ScheduleProps["canResizeEvent"]>;
60
+ recurrenceExpansionLimit: {
61
+ type: NumberConstructor;
62
+ default: number;
63
+ };
64
+ layout: {
65
+ type: PropType<"default" | "responsive">;
66
+ default: string;
67
+ };
68
+ dayViewProps: PropType<Partial<DayViewProps>>;
69
+ weekViewProps: PropType<Partial<WeekViewProps>>;
70
+ monthViewProps: PropType<Partial<MonthViewProps>>;
71
+ yearViewProps: PropType<Partial<YearViewProps>>;
72
+ mobileMonthViewProps: PropType<Partial<MobileMonthViewProps>>;
73
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
74
+ [key: string]: any;
75
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
76
+ date: PropType<Date | DateStringValue>;
77
+ defaultDate: PropType<Date | DateStringValue>;
78
+ onDateChange: PropType<(date: DateStringValue) => void>;
79
+ view: PropType<ScheduleViewLevel>;
80
+ defaultView: {
81
+ type: PropType<ScheduleViewLevel>;
82
+ default: string;
83
+ };
84
+ onViewChange: PropType<(view: ScheduleViewLevel) => void>;
85
+ events: PropType<ScheduleEventData[]>;
86
+ locale: StringConstructor;
87
+ radius: PropType<string | number>;
88
+ labels: ObjectConstructor;
89
+ renderEventBody: PropType<RenderEventBody>;
90
+ withEventsDragAndDrop: BooleanConstructor;
91
+ onEventDrop: PropType<ScheduleProps["onEventDrop"]>;
92
+ canDragEvent: PropType<ScheduleProps["canDragEvent"]>;
93
+ onEventDragStart: PropType<ScheduleProps["onEventDragStart"]>;
94
+ onEventDragEnd: PropType<ScheduleProps["onEventDragEnd"]>;
95
+ onTimeSlotClick: PropType<ScheduleProps["onTimeSlotClick"]>;
96
+ onAllDaySlotClick: PropType<ScheduleProps["onAllDaySlotClick"]>;
97
+ onEventClick: PropType<ScheduleProps["onEventClick"]>;
98
+ onDayClick: PropType<ScheduleProps["onDayClick"]>;
99
+ onMonthClick: PropType<ScheduleProps["onMonthClick"]>;
100
+ withDragSlotSelect: BooleanConstructor;
101
+ onSlotDragEnd: PropType<ScheduleProps["onSlotDragEnd"]>;
102
+ mode: {
103
+ type: PropType<ScheduleMode>;
104
+ default: string;
105
+ };
106
+ onExternalEventDrop: PropType<ScheduleProps["onExternalEventDrop"]>;
107
+ withEventResize: BooleanConstructor;
108
+ onEventResize: PropType<ScheduleProps["onEventResize"]>;
109
+ canResizeEvent: PropType<ScheduleProps["canResizeEvent"]>;
110
+ recurrenceExpansionLimit: {
111
+ type: NumberConstructor;
112
+ default: number;
113
+ };
114
+ layout: {
115
+ type: PropType<"default" | "responsive">;
116
+ default: string;
117
+ };
118
+ dayViewProps: PropType<Partial<DayViewProps>>;
119
+ weekViewProps: PropType<Partial<WeekViewProps>>;
120
+ monthViewProps: PropType<Partial<MonthViewProps>>;
121
+ yearViewProps: PropType<Partial<YearViewProps>>;
122
+ mobileMonthViewProps: PropType<Partial<MobileMonthViewProps>>;
123
+ }>> & Readonly<{}>, {
124
+ mode: ScheduleMode;
125
+ layout: "default" | "responsive";
126
+ recurrenceExpansionLimit: number;
127
+ defaultView: ScheduleViewLevel;
128
+ withEventsDragAndDrop: boolean;
129
+ withDragSlotSelect: boolean;
130
+ withEventResize: boolean;
131
+ }, SlotsType<ScheduleSlots>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
132
+ export type { ScheduleProps };
133
+ export type ScheduleLayout = 'default' | 'responsive';
134
+ export type ScheduleStylesNames = 'root' | 'desktopView' | 'mobileView' | import('../DayView/DayView').DayViewStylesNames | import('../WeekView/WeekView').WeekViewStylesNames | import('../MonthView/MonthView').MonthViewStylesNames | import('../YearView/YearView').YearViewStylesNames | import('../MobileMonthView/MobileMonthView').MobileMonthViewStylesNames;
@@ -0,0 +1 @@
1
+ export * from './Schedule';
@@ -0,0 +1,88 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import type { ScheduleEventProps, ScheduleEventRenderProps, RenderEvent, RenderEventBody } from '../../component-props';
3
+ import type { ScheduleEventData, ScheduleMode } from '../../types';
4
+ export interface ScheduleEventSlots {
5
+ /** Fallback body content (used when `renderEventBody`/`eventBody` are not provided) */
6
+ default?: () => VNodeChild;
7
+ /** Scoped alternative to the `renderEventBody` prop */
8
+ eventBody?: (props: {
9
+ event: ScheduleEventData;
10
+ }) => VNodeChild;
11
+ /** Scoped alternative to the `renderEvent` prop */
12
+ event?: (props: ScheduleEventRenderProps & {
13
+ event: ScheduleEventData;
14
+ }) => VNodeChild;
15
+ }
16
+ export declare const ScheduleEvent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
17
+ event: {
18
+ type: PropType<ScheduleEventData>;
19
+ required: true;
20
+ };
21
+ radius: {
22
+ type: PropType<string | number>;
23
+ default: string;
24
+ };
25
+ nowrap: BooleanConstructor;
26
+ autoSize: BooleanConstructor;
27
+ size: {
28
+ type: StringConstructor;
29
+ default: string;
30
+ };
31
+ renderEventBody: PropType<RenderEventBody>;
32
+ renderEvent: PropType<RenderEvent>;
33
+ hanging: PropType<ScheduleEventProps["hanging"]>;
34
+ draggable: BooleanConstructor;
35
+ onEventDragStart: PropType<(event: ScheduleEventData) => void>;
36
+ onEventDragEnd: PropType<() => void>;
37
+ isDragging: BooleanConstructor;
38
+ mode: {
39
+ type: PropType<ScheduleMode>;
40
+ default: string;
41
+ };
42
+ withResize: BooleanConstructor;
43
+ onResizeStart: PropType<(edge: "top" | "bottom", event: PointerEvent) => void>;
44
+ isResizing: BooleanConstructor;
45
+ }>, () => string | number | true | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }> | import("vue").VNodeArrayChildren, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
+ event: {
49
+ type: PropType<ScheduleEventData>;
50
+ required: true;
51
+ };
52
+ radius: {
53
+ type: PropType<string | number>;
54
+ default: string;
55
+ };
56
+ nowrap: BooleanConstructor;
57
+ autoSize: BooleanConstructor;
58
+ size: {
59
+ type: StringConstructor;
60
+ default: string;
61
+ };
62
+ renderEventBody: PropType<RenderEventBody>;
63
+ renderEvent: PropType<RenderEvent>;
64
+ hanging: PropType<ScheduleEventProps["hanging"]>;
65
+ draggable: BooleanConstructor;
66
+ onEventDragStart: PropType<(event: ScheduleEventData) => void>;
67
+ onEventDragEnd: PropType<() => void>;
68
+ isDragging: BooleanConstructor;
69
+ mode: {
70
+ type: PropType<ScheduleMode>;
71
+ default: string;
72
+ };
73
+ withResize: BooleanConstructor;
74
+ onResizeStart: PropType<(edge: "top" | "bottom", event: PointerEvent) => void>;
75
+ isResizing: BooleanConstructor;
76
+ }>> & Readonly<{}>, {
77
+ size: string;
78
+ radius: string | number;
79
+ nowrap: boolean;
80
+ mode: ScheduleMode;
81
+ draggable: boolean;
82
+ autoSize: boolean;
83
+ isDragging: boolean;
84
+ withResize: boolean;
85
+ isResizing: boolean;
86
+ }, SlotsType<ScheduleEventSlots>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
87
+ export type { RenderEvent, RenderEventBody, ScheduleEventProps };
88
+ export type ScheduleEventStylesNames = 'event' | 'eventInner' | 'eventResizeHandle';
@@ -0,0 +1 @@
1
+ export * from './ScheduleEvent';
@@ -0,0 +1,2 @@
1
+ export { HeaderControl, ScheduleHeaderNext, ScheduleHeaderPrevious, ScheduleHeaderToday, } from '../ScheduleHeader';
2
+ export type { HeaderControlProps, HeaderControlStylesNames } from '../ScheduleHeader';
@@ -0,0 +1,2 @@
1
+ export { MonthYearSelect } from '../ScheduleHeader';
2
+ export type { MonthYearSelectProps, MonthYearSelectStylesNames } from '../ScheduleHeader';
@@ -0,0 +1,364 @@
1
+ import { type PropType } from 'vue';
2
+ import { type ScheduleLabelsOverride } from '../../labels';
3
+ import type { ScheduleViewLevel } from '../../types';
4
+ import type { HeaderControlProps, MonthYearSelectProps, ScheduleHeaderProps, ViewSelectProps } from '../../component-props';
5
+ export declare const HeaderControl: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ active: BooleanConstructor;
7
+ square: BooleanConstructor;
8
+ radius: PropType<string | number>;
9
+ interactive: {
10
+ type: BooleanConstructor;
11
+ default: boolean;
12
+ };
13
+ labels: PropType<ScheduleLabelsOverride>;
14
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
15
+ [key: string]: any;
16
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
+ active: BooleanConstructor;
18
+ square: BooleanConstructor;
19
+ radius: PropType<string | number>;
20
+ interactive: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
24
+ labels: PropType<ScheduleLabelsOverride>;
25
+ }>> & Readonly<{}>, {
26
+ active: boolean;
27
+ square: boolean;
28
+ interactive: boolean;
29
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
30
+ export declare const ScheduleHeaderNext: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
31
+ active: BooleanConstructor;
32
+ square: BooleanConstructor;
33
+ radius: PropType<string | number>;
34
+ interactive: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ labels: PropType<ScheduleLabelsOverride>;
39
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
40
+ [key: string]: any;
41
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
42
+ active: BooleanConstructor;
43
+ square: BooleanConstructor;
44
+ radius: PropType<string | number>;
45
+ interactive: {
46
+ type: BooleanConstructor;
47
+ default: boolean;
48
+ };
49
+ labels: PropType<ScheduleLabelsOverride>;
50
+ }>> & Readonly<{}>, {
51
+ active: boolean;
52
+ square: boolean;
53
+ interactive: boolean;
54
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
55
+ export declare const ScheduleHeaderPrevious: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
56
+ active: BooleanConstructor;
57
+ square: BooleanConstructor;
58
+ radius: PropType<string | number>;
59
+ interactive: {
60
+ type: BooleanConstructor;
61
+ default: boolean;
62
+ };
63
+ labels: PropType<ScheduleLabelsOverride>;
64
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
65
+ [key: string]: any;
66
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
67
+ active: BooleanConstructor;
68
+ square: BooleanConstructor;
69
+ radius: PropType<string | number>;
70
+ interactive: {
71
+ type: BooleanConstructor;
72
+ default: boolean;
73
+ };
74
+ labels: PropType<ScheduleLabelsOverride>;
75
+ }>> & Readonly<{}>, {
76
+ active: boolean;
77
+ square: boolean;
78
+ interactive: boolean;
79
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
80
+ export declare const ScheduleHeaderToday: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
81
+ active: BooleanConstructor;
82
+ square: BooleanConstructor;
83
+ radius: PropType<string | number>;
84
+ interactive: {
85
+ type: BooleanConstructor;
86
+ default: boolean;
87
+ };
88
+ labels: PropType<ScheduleLabelsOverride>;
89
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
90
+ [key: string]: any;
91
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
92
+ active: BooleanConstructor;
93
+ square: BooleanConstructor;
94
+ radius: PropType<string | number>;
95
+ interactive: {
96
+ type: BooleanConstructor;
97
+ default: boolean;
98
+ };
99
+ labels: PropType<ScheduleLabelsOverride>;
100
+ }>> & Readonly<{}>, {
101
+ active: boolean;
102
+ square: boolean;
103
+ interactive: boolean;
104
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
105
+ export declare const ViewSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
106
+ views: {
107
+ type: PropType<readonly ScheduleViewLevel[]>;
108
+ default: () => string[];
109
+ };
110
+ value: PropType<ScheduleViewLevel>;
111
+ onChange: PropType<(view: ScheduleViewLevel) => void>;
112
+ radius: PropType<string | number>;
113
+ labels: PropType<ScheduleLabelsOverride>;
114
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
115
+ [key: string]: any;
116
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
117
+ views: {
118
+ type: PropType<readonly ScheduleViewLevel[]>;
119
+ default: () => string[];
120
+ };
121
+ value: PropType<ScheduleViewLevel>;
122
+ onChange: PropType<(view: ScheduleViewLevel) => void>;
123
+ radius: PropType<string | number>;
124
+ labels: PropType<ScheduleLabelsOverride>;
125
+ }>> & Readonly<{}>, {
126
+ views: readonly ScheduleViewLevel[];
127
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
128
+ export declare const MonthYearSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
129
+ locale: StringConstructor;
130
+ startYear: NumberConstructor;
131
+ endYear: NumberConstructor;
132
+ yearValue: NumberConstructor;
133
+ monthValue: NumberConstructor;
134
+ onYearChange: PropType<(year: number) => void>;
135
+ onMonthChange: PropType<(month: number) => void>;
136
+ monthsListFormat: PropType<MonthYearSelectProps["monthsListFormat"]>;
137
+ labelFormat: PropType<MonthYearSelectProps["labelFormat"]>;
138
+ radius: PropType<string | number>;
139
+ getYearControlProps: PropType<MonthYearSelectProps["getYearControlProps"]>;
140
+ getMonthControlProps: PropType<MonthYearSelectProps["getMonthControlProps"]>;
141
+ withMonths: {
142
+ type: BooleanConstructor;
143
+ default: boolean;
144
+ };
145
+ labels: PropType<ScheduleLabelsOverride>;
146
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
147
+ [key: string]: any;
148
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
149
+ locale: StringConstructor;
150
+ startYear: NumberConstructor;
151
+ endYear: NumberConstructor;
152
+ yearValue: NumberConstructor;
153
+ monthValue: NumberConstructor;
154
+ onYearChange: PropType<(year: number) => void>;
155
+ onMonthChange: PropType<(month: number) => void>;
156
+ monthsListFormat: PropType<MonthYearSelectProps["monthsListFormat"]>;
157
+ labelFormat: PropType<MonthYearSelectProps["labelFormat"]>;
158
+ radius: PropType<string | number>;
159
+ getYearControlProps: PropType<MonthYearSelectProps["getYearControlProps"]>;
160
+ getMonthControlProps: PropType<MonthYearSelectProps["getMonthControlProps"]>;
161
+ withMonths: {
162
+ type: BooleanConstructor;
163
+ default: boolean;
164
+ };
165
+ labels: PropType<ScheduleLabelsOverride>;
166
+ }>> & Readonly<{}>, {
167
+ withMonths: boolean;
168
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
169
+ export declare const ScheduleHeader: {
170
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
171
+ labels: PropType<ScheduleLabelsOverride>;
172
+ }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
173
+ [key: string]: any;
174
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
175
+ P: {};
176
+ B: {};
177
+ D: {};
178
+ C: {};
179
+ M: {};
180
+ Defaults: {};
181
+ }, Readonly<import("vue").ExtractPropTypes<{
182
+ labels: PropType<ScheduleLabelsOverride>;
183
+ }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
184
+ [key: string]: any;
185
+ }>, {}, {}, {}, {}>;
186
+ __isFragment?: never;
187
+ __isTeleport?: never;
188
+ __isSuspense?: never;
189
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
190
+ labels: PropType<ScheduleLabelsOverride>;
191
+ }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
192
+ [key: string]: any;
193
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
194
+ Control: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
195
+ active: BooleanConstructor;
196
+ square: BooleanConstructor;
197
+ radius: PropType<string | number>;
198
+ interactive: {
199
+ type: BooleanConstructor;
200
+ default: boolean;
201
+ };
202
+ labels: PropType<ScheduleLabelsOverride>;
203
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
204
+ [key: string]: any;
205
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
206
+ active: BooleanConstructor;
207
+ square: BooleanConstructor;
208
+ radius: PropType<string | number>;
209
+ interactive: {
210
+ type: BooleanConstructor;
211
+ default: boolean;
212
+ };
213
+ labels: PropType<ScheduleLabelsOverride>;
214
+ }>> & Readonly<{}>, {
215
+ active: boolean;
216
+ square: boolean;
217
+ interactive: boolean;
218
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
219
+ Next: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
220
+ active: BooleanConstructor;
221
+ square: BooleanConstructor;
222
+ radius: PropType<string | number>;
223
+ interactive: {
224
+ type: BooleanConstructor;
225
+ default: boolean;
226
+ };
227
+ labels: PropType<ScheduleLabelsOverride>;
228
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
229
+ [key: string]: any;
230
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
231
+ active: BooleanConstructor;
232
+ square: BooleanConstructor;
233
+ radius: PropType<string | number>;
234
+ interactive: {
235
+ type: BooleanConstructor;
236
+ default: boolean;
237
+ };
238
+ labels: PropType<ScheduleLabelsOverride>;
239
+ }>> & Readonly<{}>, {
240
+ active: boolean;
241
+ square: boolean;
242
+ interactive: boolean;
243
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
244
+ Previous: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
245
+ active: BooleanConstructor;
246
+ square: BooleanConstructor;
247
+ radius: PropType<string | number>;
248
+ interactive: {
249
+ type: BooleanConstructor;
250
+ default: boolean;
251
+ };
252
+ labels: PropType<ScheduleLabelsOverride>;
253
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
254
+ [key: string]: any;
255
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
256
+ active: BooleanConstructor;
257
+ square: BooleanConstructor;
258
+ radius: PropType<string | number>;
259
+ interactive: {
260
+ type: BooleanConstructor;
261
+ default: boolean;
262
+ };
263
+ labels: PropType<ScheduleLabelsOverride>;
264
+ }>> & Readonly<{}>, {
265
+ active: boolean;
266
+ square: boolean;
267
+ interactive: boolean;
268
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
269
+ Today: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
270
+ active: BooleanConstructor;
271
+ square: BooleanConstructor;
272
+ radius: PropType<string | number>;
273
+ interactive: {
274
+ type: BooleanConstructor;
275
+ default: boolean;
276
+ };
277
+ labels: PropType<ScheduleLabelsOverride>;
278
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
279
+ [key: string]: any;
280
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
281
+ active: BooleanConstructor;
282
+ square: BooleanConstructor;
283
+ radius: PropType<string | number>;
284
+ interactive: {
285
+ type: BooleanConstructor;
286
+ default: boolean;
287
+ };
288
+ labels: PropType<ScheduleLabelsOverride>;
289
+ }>> & Readonly<{}>, {
290
+ active: boolean;
291
+ square: boolean;
292
+ interactive: boolean;
293
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
294
+ ViewSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
295
+ views: {
296
+ type: PropType<readonly ScheduleViewLevel[]>;
297
+ default: () => string[];
298
+ };
299
+ value: PropType<ScheduleViewLevel>;
300
+ onChange: PropType<(view: ScheduleViewLevel) => void>;
301
+ radius: PropType<string | number>;
302
+ labels: PropType<ScheduleLabelsOverride>;
303
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
304
+ [key: string]: any;
305
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
306
+ views: {
307
+ type: PropType<readonly ScheduleViewLevel[]>;
308
+ default: () => string[];
309
+ };
310
+ value: PropType<ScheduleViewLevel>;
311
+ onChange: PropType<(view: ScheduleViewLevel) => void>;
312
+ radius: PropType<string | number>;
313
+ labels: PropType<ScheduleLabelsOverride>;
314
+ }>> & Readonly<{}>, {
315
+ views: readonly ScheduleViewLevel[];
316
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
317
+ MonthYearSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
318
+ locale: StringConstructor;
319
+ startYear: NumberConstructor;
320
+ endYear: NumberConstructor;
321
+ yearValue: NumberConstructor;
322
+ monthValue: NumberConstructor;
323
+ onYearChange: PropType<(year: number) => void>;
324
+ onMonthChange: PropType<(month: number) => void>;
325
+ monthsListFormat: PropType<MonthYearSelectProps["monthsListFormat"]>;
326
+ labelFormat: PropType<MonthYearSelectProps["labelFormat"]>;
327
+ radius: PropType<string | number>;
328
+ getYearControlProps: PropType<MonthYearSelectProps["getYearControlProps"]>;
329
+ getMonthControlProps: PropType<MonthYearSelectProps["getMonthControlProps"]>;
330
+ withMonths: {
331
+ type: BooleanConstructor;
332
+ default: boolean;
333
+ };
334
+ labels: PropType<ScheduleLabelsOverride>;
335
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
336
+ [key: string]: any;
337
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
338
+ locale: StringConstructor;
339
+ startYear: NumberConstructor;
340
+ endYear: NumberConstructor;
341
+ yearValue: NumberConstructor;
342
+ monthValue: NumberConstructor;
343
+ onYearChange: PropType<(year: number) => void>;
344
+ onMonthChange: PropType<(month: number) => void>;
345
+ monthsListFormat: PropType<MonthYearSelectProps["monthsListFormat"]>;
346
+ labelFormat: PropType<MonthYearSelectProps["labelFormat"]>;
347
+ radius: PropType<string | number>;
348
+ getYearControlProps: PropType<MonthYearSelectProps["getYearControlProps"]>;
349
+ getMonthControlProps: PropType<MonthYearSelectProps["getMonthControlProps"]>;
350
+ withMonths: {
351
+ type: BooleanConstructor;
352
+ default: boolean;
353
+ };
354
+ labels: PropType<ScheduleLabelsOverride>;
355
+ }>> & Readonly<{}>, {
356
+ withMonths: boolean;
357
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
358
+ };
359
+ export type { HeaderControlProps, MonthYearSelectProps, ScheduleHeaderProps, ViewSelectProps };
360
+ export type HeaderControlStylesNames = 'headerControl';
361
+ export type ViewSelectStylesNames = 'viewSelect';
362
+ export type MonthYearSelectStylesNames = 'monthYearSelectTarget' | 'monthYearSelectDropdown' | 'monthYearSelectControl' | 'monthYearSelectList' | 'monthYearSelectLabel';
363
+ export type ScheduleHeaderStylesNames = 'header';
364
+ export type CombinedScheduleHeaderStylesNames = ScheduleHeaderStylesNames | HeaderControlStylesNames | ViewSelectStylesNames | MonthYearSelectStylesNames;
@@ -0,0 +1,72 @@
1
+ import { type PropType, type VNodeChild } from 'vue';
2
+ import { type ScheduleLabelsOverride } from '../../labels';
3
+ import type { DateStringValue, ScheduleViewLevel } from '../../types';
4
+ import type { MonthYearSelectProps, NativeButtonProps, ViewSelectProps } from '../../component-props';
5
+ export interface ScheduleHeaderBaseProps {
6
+ view: ScheduleViewLevel;
7
+ navigationHandlers: {
8
+ previous: () => DateStringValue;
9
+ next: () => DateStringValue;
10
+ today: () => DateStringValue;
11
+ };
12
+ control: {
13
+ title?: VNodeChild;
14
+ miw?: string | number;
15
+ monthYearSelect?: MonthYearSelectProps;
16
+ };
17
+ labels?: ScheduleLabelsOverride;
18
+ onDateChange?: (date: DateStringValue) => void;
19
+ onViewChange?: (view: ScheduleViewLevel) => void;
20
+ previousControlProps?: NativeButtonProps;
21
+ nextControlProps?: NativeButtonProps;
22
+ todayControlProps?: NativeButtonProps;
23
+ viewSelectProps?: Partial<ViewSelectProps>;
24
+ }
25
+ export declare const ScheduleHeaderBase: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
26
+ view: {
27
+ type: PropType<ScheduleViewLevel>;
28
+ required: true;
29
+ };
30
+ navigationHandlers: {
31
+ type: PropType<ScheduleHeaderBaseProps["navigationHandlers"]>;
32
+ required: true;
33
+ };
34
+ control: {
35
+ type: PropType<ScheduleHeaderBaseProps["control"]>;
36
+ required: true;
37
+ };
38
+ labels: PropType<ScheduleLabelsOverride>;
39
+ onDateChange: PropType<(date: DateStringValue) => void>;
40
+ onViewChange: PropType<(view: ScheduleViewLevel) => void>;
41
+ previousControlProps: PropType<NativeButtonProps>;
42
+ nextControlProps: PropType<NativeButtonProps>;
43
+ todayControlProps: PropType<NativeButtonProps>;
44
+ viewSelectProps: PropType<Partial<ViewSelectProps>>;
45
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
+ view: {
49
+ type: PropType<ScheduleViewLevel>;
50
+ required: true;
51
+ };
52
+ navigationHandlers: {
53
+ type: PropType<ScheduleHeaderBaseProps["navigationHandlers"]>;
54
+ required: true;
55
+ };
56
+ control: {
57
+ type: PropType<ScheduleHeaderBaseProps["control"]>;
58
+ required: true;
59
+ };
60
+ labels: PropType<ScheduleLabelsOverride>;
61
+ onDateChange: PropType<(date: DateStringValue) => void>;
62
+ onViewChange: PropType<(view: ScheduleViewLevel) => void>;
63
+ previousControlProps: PropType<NativeButtonProps>;
64
+ nextControlProps: PropType<NativeButtonProps>;
65
+ todayControlProps: PropType<NativeButtonProps>;
66
+ viewSelectProps: PropType<Partial<ViewSelectProps>>;
67
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
68
+ export declare function createHeaderNavigation(date: Date | string, unit: 'day' | 'week' | 'month' | 'year'): {
69
+ previous: () => string;
70
+ next: () => string;
71
+ today: () => string;
72
+ };