@progress/kendo-vue-scheduler 9.3.0-develop.5 → 9.3.0-develop.7

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 (160) hide show
  1. package/Scheduler.d.ts +67 -4
  2. package/Scheduler.js +1 -1
  3. package/Scheduler.mjs +267 -115
  4. package/components/BaseView.js +1 -1
  5. package/components/BaseView.mjs +10 -4
  6. package/components/CurrentTimeMarker.js +1 -1
  7. package/components/CurrentTimeMarker.mjs +9 -9
  8. package/components/CurrentTimeMarkerArrow.js +1 -1
  9. package/components/CurrentTimeMarkerArrow.mjs +3 -3
  10. package/components/DateHeaderCell.js +1 -1
  11. package/components/DateHeaderCell.mjs +22 -13
  12. package/components/MoreEventsPopover.d.ts +77 -0
  13. package/components/MoreEventsPopover.js +8 -0
  14. package/components/MoreEventsPopover.mjs +125 -0
  15. package/components/SchedulerActionButtons.d.ts +6 -0
  16. package/components/SchedulerActionButtons.js +1 -1
  17. package/components/SchedulerActionButtons.mjs +25 -19
  18. package/components/SchedulerForm.d.ts +7 -0
  19. package/components/SchedulerForm.js +1 -1
  20. package/components/SchedulerForm.mjs +69 -61
  21. package/components/SchedulerOccurrenceDialog.d.ts +4 -4
  22. package/components/SchedulerOccurrenceDialog.js +1 -1
  23. package/components/SchedulerOccurrenceDialog.mjs +35 -26
  24. package/components/SchedulerRemoveDialog.d.ts +6 -0
  25. package/components/SchedulerRemoveDialog.js +1 -1
  26. package/components/SchedulerRemoveDialog.mjs +24 -23
  27. package/components/ShowMoreItemsButton.d.ts +10 -1
  28. package/components/ShowMoreItemsButton.js +1 -1
  29. package/components/ShowMoreItemsButton.mjs +40 -18
  30. package/components/footer/bussiness-hours/BusinessHours.js +1 -1
  31. package/components/footer/bussiness-hours/BusinessHours.mjs +16 -21
  32. package/components/header/SchedulerAdaptiveHeader.js +1 -1
  33. package/components/header/SchedulerAdaptiveHeader.mjs +28 -26
  34. package/components/header/SchedulerHeader.d.ts +5 -1
  35. package/components/header/SchedulerHeader.js +1 -1
  36. package/components/header/SchedulerHeader.mjs +11 -7
  37. package/components/header/navigation/NavigationDatePicker.d.ts +22 -3
  38. package/components/header/navigation/NavigationDatePicker.js +1 -1
  39. package/components/header/navigation/NavigationDatePicker.mjs +27 -30
  40. package/components/header/view-selector/ViewSelectorList.d.ts +26 -6
  41. package/components/header/view-selector/ViewSelectorList.js +1 -1
  42. package/components/header/view-selector/ViewSelectorList.mjs +55 -49
  43. package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
  44. package/editors/RemoveRecurrenceConfirmDialog.d.ts +29 -0
  45. package/editors/RemoveRecurrenceConfirmDialog.js +8 -0
  46. package/editors/RemoveRecurrenceConfirmDialog.mjs +65 -0
  47. package/editors/ResourceEditor.d.ts +3 -0
  48. package/editors/ResourceEditor.js +1 -1
  49. package/editors/ResourceEditor.mjs +12 -10
  50. package/editors/SchedulerFormEditor.d.ts +1067 -2953
  51. package/editors/SchedulerFormEditor.js +1 -1
  52. package/editors/SchedulerFormEditor.mjs +297 -365
  53. package/editors/SchedulerRecurrenceDialog.d.ts +143 -0
  54. package/editors/SchedulerRecurrenceDialog.js +8 -0
  55. package/editors/SchedulerRecurrenceDialog.mjs +575 -0
  56. package/editors/TimezoneDropDownList.d.ts +46 -0
  57. package/editors/TimezoneDropDownList.js +8 -0
  58. package/editors/TimezoneDropDownList.mjs +63 -0
  59. package/editors/ZonedSplitDateTime.d.ts +65 -0
  60. package/editors/ZonedSplitDateTime.js +8 -0
  61. package/editors/ZonedSplitDateTime.mjs +100 -0
  62. package/hooks/main.d.ts +1 -0
  63. package/hooks/useGroupRowHeightSync.d.ts +10 -0
  64. package/hooks/useRecurrenceSummary.d.ts +10 -0
  65. package/hooks/useRecurrenceSummary.js +8 -0
  66. package/hooks/useRecurrenceSummary.mjs +74 -0
  67. package/hooks/useRowSync.js +1 -1
  68. package/hooks/useRowSync.mjs +23 -4
  69. package/hooks/useSlotExpand.js +1 -1
  70. package/hooks/useSlotExpand.mjs +36 -28
  71. package/index.d.mts +9 -3
  72. package/index.d.ts +9 -3
  73. package/index.js +1 -1
  74. package/index.mjs +83 -71
  75. package/items/SchedulerEditItem.d.ts +14 -3
  76. package/items/SchedulerEditItem.js +1 -1
  77. package/items/SchedulerEditItem.mjs +130 -72
  78. package/items/SchedulerItem.d.ts +10 -0
  79. package/items/SchedulerItem.js +1 -1
  80. package/items/SchedulerItem.mjs +153 -135
  81. package/items/SchedulerProportionalViewItem.d.ts +183 -0
  82. package/items/SchedulerProportionalViewItem.js +8 -0
  83. package/items/SchedulerProportionalViewItem.mjs +378 -0
  84. package/items/SchedulerViewItem.d.ts +3 -0
  85. package/items/SchedulerViewItem.js +1 -1
  86. package/items/SchedulerViewItem.mjs +107 -67
  87. package/messages/main.d.ts +186 -0
  88. package/messages/main.js +1 -1
  89. package/messages/main.mjs +226 -102
  90. package/models/Item.d.ts +2 -0
  91. package/models/Occurrence.d.ts +2 -0
  92. package/models/SchedulerModelFields.d.ts +5 -0
  93. package/models/SchedulerResource.d.ts +6 -0
  94. package/models/SchedulerView.d.ts +2 -0
  95. package/package-metadata.js +1 -1
  96. package/package-metadata.mjs +2 -2
  97. package/package.json +12 -11
  98. package/recurrence/common.js +1 -1
  99. package/recurrence/common.mjs +36 -39
  100. package/services/itemsService.js +1 -1
  101. package/services/itemsService.mjs +31 -27
  102. package/services/occurrenceService.js +1 -1
  103. package/services/occurrenceService.mjs +41 -35
  104. package/slots/SchedulerEditSlot.d.ts +2 -0
  105. package/slots/SchedulerEditSlot.js +1 -1
  106. package/slots/SchedulerEditSlot.mjs +27 -28
  107. package/slots/SchedulerSlot.d.ts +4 -0
  108. package/slots/SchedulerSlot.js +1 -1
  109. package/slots/SchedulerSlot.mjs +10 -1
  110. package/slots/SchedulerViewSlot.d.ts +5 -0
  111. package/slots/SchedulerViewSlot.js +1 -1
  112. package/slots/SchedulerViewSlot.mjs +70 -50
  113. package/tasks/SchedulerEditTask.d.ts +6 -0
  114. package/tasks/SchedulerEditTask.js +1 -1
  115. package/tasks/SchedulerEditTask.mjs +64 -23
  116. package/tasks/SchedulerTask.d.ts +15 -0
  117. package/tasks/SchedulerTask.js +1 -1
  118. package/tasks/SchedulerTask.mjs +39 -28
  119. package/tasks/SchedulerViewTask.d.ts +9 -0
  120. package/tasks/SchedulerViewTask.js +1 -1
  121. package/tasks/SchedulerViewTask.mjs +10 -5
  122. package/utils/main.d.ts +4 -1
  123. package/utils/main.js +1 -1
  124. package/utils/main.mjs +133 -112
  125. package/views/agenda/AgendaView.js +1 -1
  126. package/views/agenda/AgendaView.mjs +28 -22
  127. package/views/agenda/AgendaViewBody.js +1 -1
  128. package/views/agenda/AgendaViewBody.mjs +44 -42
  129. package/views/agenda/AgendaViewHead.js +1 -1
  130. package/views/agenda/AgendaViewHead.mjs +14 -10
  131. package/views/common/SchedulerDrag.d.ts +12 -0
  132. package/views/common/SchedulerResize.d.ts +12 -0
  133. package/views/common/VerticalResourceIterator.d.ts +3 -0
  134. package/views/common/VerticalResourceIterator.js +1 -1
  135. package/views/common/VerticalResourceIterator.mjs +16 -9
  136. package/views/day/DayView.js +1 -1
  137. package/views/day/DayView.mjs +2 -2
  138. package/views/day/MultiDayView.js +1 -1
  139. package/views/day/MultiDayView.mjs +98 -127
  140. package/views/month/MonthView.d.ts +8 -2
  141. package/views/month/MonthView.js +1 -1
  142. package/views/month/MonthView.mjs +115 -109
  143. package/views/month/MonthViewBody.d.ts +7 -2
  144. package/views/month/MonthViewBody.js +1 -1
  145. package/views/month/MonthViewBody.mjs +15 -11
  146. package/views/time/MultiDayTimelineView.d.ts +5 -0
  147. package/views/time/MultiDayTimelineView.js +1 -1
  148. package/views/time/MultiDayTimelineView.mjs +125 -132
  149. package/views/time/TimelineView.js +1 -1
  150. package/views/time/TimelineView.mjs +2 -2
  151. package/views/week/WeekView.js +1 -1
  152. package/views/week/WeekView.mjs +2 -2
  153. package/views/week/WorkWeekView.js +1 -1
  154. package/views/week/WorkWeekView.mjs +9 -9
  155. package/components/header/navigation/DatePickerToggleButton.d.ts +0 -16
  156. package/editors/FilterableComboBox.d.ts +0 -38
  157. package/editors/FilterableComboBox.js +0 -8
  158. package/editors/FilterableComboBox.mjs +0 -61
  159. package/editors/ZonedDateTime.js +0 -8
  160. package/editors/ZonedDateTime.mjs +0 -57
@@ -0,0 +1,378 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { defineComponent as _, createVNode as i, Fragment as H, h as B } from "vue";
9
+ import { SchedulerItem as j } from "./SchedulerItem.mjs";
10
+ import { intersects as v, first as y, last as T, calculateProportionalOrder as C } from "../utils/main.mjs";
11
+ import { getRect as D, setRect as N } from "../views/common/utils.mjs";
12
+ import { BORDER_WIDTH as u } from "../constants/main.mjs";
13
+ import { provideIntlService as K } from "@progress/kendo-vue-intl";
14
+ import { SchedulerItemContent as k } from "./SchedulerItemContent.mjs";
15
+ import { getDefaultSlots as U, Icon as d, getTemplate as V, canUseDOM as x } from "@progress/kendo-vue-common";
16
+ import { chevronRightIcon as E, chevronLeftIcon as M, chevronUpIcon as G, arrowRotateCwIcon as O, arrowsNoRepeatIcon as F, chevronDownIcon as L } from "@progress/kendo-svg-icons";
17
+ const q = 1, A = 12, se = /* @__PURE__ */ _({
18
+ name: "KendoSchedulerProportionalViewItem",
19
+ inheritAttrs: !1,
20
+ props: {
21
+ ignoreIsAllDay: Boolean,
22
+ item: [String, Function, Object],
23
+ uid: [String, Number],
24
+ start: Date,
25
+ end: Date,
26
+ originalStart: Date,
27
+ startTimezone: String,
28
+ endTimezone: String,
29
+ isAllDay: Boolean,
30
+ title: String,
31
+ description: String,
32
+ occurrenceId: String,
33
+ recurrenceExceptions: Array,
34
+ recurrenceRule: String,
35
+ recurrenceId: [String, Number],
36
+ dataItem: Object,
37
+ head: Boolean,
38
+ tail: Boolean,
39
+ order: Number,
40
+ zonedStart: Object,
41
+ zonedEnd: Object,
42
+ slots: Array,
43
+ group: Object,
44
+ range: Object,
45
+ isException: Boolean,
46
+ isRecurring: Boolean,
47
+ id: String,
48
+ tabIndex: Number,
49
+ className: String,
50
+ itemStyle: Object,
51
+ editable: [Object, Boolean],
52
+ readonly: Boolean,
53
+ selected: Boolean,
54
+ vertical: Boolean,
55
+ dragHint: Boolean,
56
+ resizeHint: Boolean,
57
+ format: String,
58
+ showOccurrenceDialog: {
59
+ type: Boolean,
60
+ default: void 0
61
+ },
62
+ showRemoveDialog: {
63
+ type: Boolean,
64
+ default: void 0
65
+ },
66
+ formItem: Object,
67
+ dragItem: Object,
68
+ resizeItem: Object,
69
+ removeItem: Object,
70
+ itemRef: Object,
71
+ onKeydown: Function,
72
+ onKeyup: Function,
73
+ onFocus: Function,
74
+ onMouseup: Function,
75
+ onMousedown: Function,
76
+ onClick: Function,
77
+ onDoubleclick: Function,
78
+ onRemoveclick: Function,
79
+ onPress: Function,
80
+ onDrag: Function,
81
+ onRelease: Function,
82
+ onResizepress: Function,
83
+ onResizeenddrag: Function,
84
+ onResizestartdrag: Function,
85
+ onResizerelease: Function
86
+ },
87
+ inject: {
88
+ kendoIntlService: {
89
+ default: null
90
+ },
91
+ ks: {
92
+ default: null
93
+ },
94
+ bv: {
95
+ default: null
96
+ }
97
+ },
98
+ computed: {
99
+ itemTime() {
100
+ return this.$props.isAllDay ? this.intl.toString(this.$props.zonedStart, "t") : this.intl.format("{0:t} - {1:t}", this.$props.zonedStart, this.$props.zonedEnd);
101
+ },
102
+ itemTitle() {
103
+ return `(${this.itemTime}): ${this.$props.title}`;
104
+ },
105
+ formattedTime() {
106
+ return this.intl.format("{0:t} – {1:t}", this.$props.zonedStart, this.$props.zonedEnd);
107
+ }
108
+ },
109
+ data() {
110
+ return {
111
+ timeout: void 0,
112
+ display: !0,
113
+ visible: !1,
114
+ maxSiblingsPerSlot: 0
115
+ };
116
+ },
117
+ mounted() {
118
+ if (this.element = this.getElement(), !this.ks.scheduler || !this.ks.scheduler.$el)
119
+ return;
120
+ x && (this.observer = new window.ResizeObserver(this.handleResize), this.observer.observe(this.ks.scheduler.$el));
121
+ const e = this;
122
+ this.$nextTick(function() {
123
+ e.position();
124
+ });
125
+ },
126
+ updated() {
127
+ const e = this;
128
+ this.$nextTick(function() {
129
+ e.position();
130
+ }), !(!this.ks.scheduler || !this.ks.scheduler.$el || this.observer) && x && window.ResizeObserver && (this.observer = new window.ResizeObserver(this.handleResize), this.observer.observe(this.ks.scheduler.$el));
131
+ },
132
+ unmounted() {
133
+ this.observer && this.observer.disconnect();
134
+ },
135
+ render() {
136
+ const e = U(this);
137
+ this.intl = K(this);
138
+ let s;
139
+ const n = i(j, {
140
+ ignoreIsAllDay: this.ignoreIsAllDay,
141
+ item: this.item,
142
+ uid: this.uid,
143
+ start: this.start,
144
+ end: this.end,
145
+ originalStart: this.originalStart,
146
+ startTimezone: this.startTimezone,
147
+ endTimezone: this.endTimezone,
148
+ isAllDay: this.isAllDay,
149
+ title: this.title,
150
+ description: this.description,
151
+ occurrenceId: this.occurrenceId,
152
+ recurrenceExceptions: this.recurrenceExceptions,
153
+ recurrenceRule: this.recurrenceRule,
154
+ recurrenceId: this.recurrenceId,
155
+ dataItem: this.dataItem,
156
+ head: this.head,
157
+ tail: this.tail,
158
+ order: this.order,
159
+ zonedStart: this.zonedStart,
160
+ zonedEnd: this.zonedEnd,
161
+ slots: this.slots,
162
+ group: this.group,
163
+ range: this.range,
164
+ isException: this.isException,
165
+ isRecurring: this.isRecurring,
166
+ id: this.id,
167
+ tabIndex: this.tabIndex,
168
+ className: this.className,
169
+ itemStyle: {
170
+ visibility: this.visible ? void 0 : "hidden",
171
+ display: this.display ? void 0 : "none",
172
+ ...this.$props.itemStyle
173
+ },
174
+ editable: this.editable,
175
+ readonly: this.readonly,
176
+ selected: this.selected,
177
+ vertical: this.vertical,
178
+ dragHint: this.dragHint,
179
+ resizeHint: this.resizeHint,
180
+ format: this.format,
181
+ itemTitle: this.itemTitle,
182
+ showOccurrenceDialog: this.showOccurrenceDialog,
183
+ showRemoveDialog: this.showRemoveDialog,
184
+ formItem: this.formItem,
185
+ dragItem: this.dragItem,
186
+ resizeItem: this.resizeItem,
187
+ removeItem: this.removeItem,
188
+ maxSiblingsPerSlot: this.maxSiblingsPerSlot,
189
+ onKeydown: this.handleKeyDown,
190
+ onKeyup: this.handleKeyUp,
191
+ onFocus: this.handleFocus,
192
+ onMouseup: this.handleMouseUp,
193
+ onMousedown: this.handleMouseDown,
194
+ onClick: this.handleClick,
195
+ onDoubleclick: this.handleDoubleClick,
196
+ onRemoveclick: this.handleRemoveClick,
197
+ onPress: this.handlePress,
198
+ onDrag: this.handleDrag,
199
+ onRelease: this.handleRelease,
200
+ onResizepress: this.handleResizePress,
201
+ onResizeenddrag: this.handleResizeEndDrag,
202
+ onResizestartdrag: this.handleResizeStartDrag,
203
+ onResizerelease: this.handleResizeRelease
204
+ }, {
205
+ default: () => [!this.$props.resizeHint && i(H, null, [this.$props.tail && !this.$props.vertical && i("span", {
206
+ class: "k-event-continuation"
207
+ }, [i(d, {
208
+ name: this.ks.isRtl ? "chevron-right" : "chevron-left",
209
+ icon: this.ks.isRtl ? E : M
210
+ }, null)]), i("div", {
211
+ title: this.itemTitle
212
+ }, [this.$props.tail && this.$props.vertical && i("span", {
213
+ class: "k-event-continuation"
214
+ }, [i(d, {
215
+ name: "chevron-up",
216
+ icon: G
217
+ }, null)]), i(k, {
218
+ class: "k-event-title"
219
+ }, {
220
+ default: () => [this.$props.title]
221
+ }), !this.$props.isAllDay && i(k, {
222
+ class: "k-event-time"
223
+ }, {
224
+ default: () => [this.$props.isRecurring && !this.$props.isException && i("span", {
225
+ class: "k-event-recurrence-icon"
226
+ }, [i(d, {
227
+ name: "arrow-rotate-cw",
228
+ icon: O
229
+ }, null)]), !this.$props.isRecurring && this.$props.isException && i("span", {
230
+ class: "k-event-recurrence-icon"
231
+ }, [i(d, {
232
+ name: "arrows-no-repeat",
233
+ icon: F
234
+ }, null)]), this.formattedTime]
235
+ }), this.$props.head && this.$props.vertical && i("span", {
236
+ class: "k-event-continuation"
237
+ }, [i(d, {
238
+ name: "chevron-down",
239
+ icon: L
240
+ }, null)])]), (this.$props.isRecurring && !this.$props.isException || !this.$props.isRecurring && this.$props.isException) && i("span", {
241
+ class: "k-event-recurrence-icon"
242
+ }, [i(d, {
243
+ name: this.$props.isRecurring ? "arrow-rotate-cw" : "arrows-no-repeat",
244
+ icon: this.$props.isRecurring ? O : F
245
+ }, null)]), this.$props.head && !this.$props.vertical && i("span", {
246
+ class: "k-event-continuation"
247
+ }, [i(d, {
248
+ name: this.ks.isRtl ? "chevron-left" : "chevron-right",
249
+ icon: this.ks.isRtl ? M : E
250
+ }, null)])])]
251
+ });
252
+ return s = V.call(this, {
253
+ h: B,
254
+ template: this.$props.item,
255
+ defaultRendering: n,
256
+ defaultSlots: e,
257
+ additionalListeners: {
258
+ doubleclick: this.handleDoubleClick,
259
+ removeclick: this.handleRemoveClick,
260
+ press: this.handlePress,
261
+ drag: this.handleDrag,
262
+ release: this.handleRelease,
263
+ resizepress: this.handleResizePress,
264
+ resizeenddrag: this.handleResizeEndDrag,
265
+ resizestartdrag: this.handleResizeStartDrag,
266
+ resizerelease: this.handleResizeRelease
267
+ }
268
+ }), s;
269
+ },
270
+ methods: {
271
+ getElement() {
272
+ return this.$el.nodeType === 8 ? this.$el.parentElement : this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;
273
+ },
274
+ handleFocus(e) {
275
+ this.$emit("focus", e);
276
+ },
277
+ handleMouseDown(e) {
278
+ this.$emit("mousedown", e);
279
+ },
280
+ handleClick(e) {
281
+ this.$emit("click", e);
282
+ },
283
+ handleMouseUp(e) {
284
+ this.$emit("mouseup", e);
285
+ },
286
+ handleDoubleClick(e) {
287
+ this.$emit("doubleclick", e);
288
+ },
289
+ handleRemoveClick(e) {
290
+ this.$emit("removeclick", e);
291
+ },
292
+ handleKeyDown(e) {
293
+ this.$emit("keydown", e);
294
+ },
295
+ handleKeyUp(e) {
296
+ this.$emit("keyup", e);
297
+ },
298
+ handlePress(e) {
299
+ this.$emit("press", e);
300
+ },
301
+ handleDrag(e) {
302
+ this.$emit("drag", e);
303
+ },
304
+ handleRelease(e) {
305
+ this.$emit("release", e);
306
+ },
307
+ handleResizePress(e) {
308
+ this.$emit("resizepress", e);
309
+ },
310
+ handleResizeStartDrag(e) {
311
+ this.$emit("resizestartdrag", e);
312
+ },
313
+ handleResizeEndDrag(e) {
314
+ this.$emit("resizeenddrag", e);
315
+ },
316
+ handleResizeRelease(e) {
317
+ this.$emit("resizerelease", e);
318
+ },
319
+ calculateMostSiblings(e, s) {
320
+ let n = 0;
321
+ return s.forEach((a) => {
322
+ a._order !== void 0 && a._order !== null && n < a._order && (n = a._order);
323
+ }), n + 1;
324
+ },
325
+ getSiblings(e, s, n) {
326
+ const [a, r] = s, c = new Date(Math.min(r.cSlot.end.getTime() - n, Math.max(this.$props.start.getTime(), a.cSlot.start.getTime()))), $ = new Date(Math.max(c.getTime() + n, Math.min(this.$props.end.getTime(), r.cSlot.end.getTime())));
327
+ return e.filter((l) => {
328
+ const p = Math.max(Math.min(r.cSlot.end.getTime() - n, l.$props.start.getTime()), a.cSlot.start.getTime()), f = Math.min(Math.max(p + n, l.$props.end.getTime()), r.cSlot.end.getTime());
329
+ return l.$props.id !== this.$props.id && l.$props.group.index === this.$props.group.index && l.$props.range.index === this.$props.range.index && (this.$props.ignoreIsAllDay || l.$props.isAllDay === this.$props.isAllDay) && v(new Date(p), new Date(f), c, $) && v(a.cSlot.start, r.cSlot.end, l.$props.start, l.$props.end);
330
+ });
331
+ },
332
+ inSlot(e, s) {
333
+ return e.group.index === s.group.index && e.range.index === s.range.index && (e.range.isAllDay === void 0 || s.range.isAllDay === void 0 || e.range.isAllDay === s.range.isAllDay) && (this.$props.ignoreIsAllDay || e.isAllDay === s.isAllDay);
334
+ },
335
+ position() {
336
+ var w, I;
337
+ if (!this.element)
338
+ return;
339
+ const e = (this.bv.slots || []).filter((t) => t && this.inSlot(t.cSlot, this.$props)).sort((t, S) => t.cSlot.start.getTime() - S.cSlot.start.getTime()), s = e.filter((t) => v(t.cSlot.start, t.cSlot.end, this.$props.start, this.$props.end));
340
+ if (!this.element || !s.length)
341
+ return;
342
+ const n = y(e), a = T(e), r = y(s), c = T(s);
343
+ if (!r || !c || !n || !a)
344
+ return;
345
+ if (!v(r.cSlot.start, c.cSlot.end, this.$props.start, this.$props.end)) {
346
+ this.display = !1;
347
+ return;
348
+ }
349
+ const $ = [], l = D(r.$el), p = (this.$props.vertical ? l.height : l.width) / (r.cSlot.end.getTime() - r.cSlot.start.getTime()), f = (this.$props.vertical ? A : 8) / p, R = (Math.min(this.$props.start.getTime(), c.cSlot.end.getTime() - f) - r.cSlot.start.getTime()) * p, b = Math.floor(Math.min(this.$props.end.getTime(), c.cSlot.end.getTime()) - Math.max(this.$props.start.getTime(), r.cSlot.start.getTime())) * p;
350
+ (this.bv.items || []).forEach((t) => {
351
+ t && (t.$props.dragHint || t.$props.resizeHint || $.push(t));
352
+ });
353
+ const g = this.getSiblings($, [n, a], f), m = this.$props.resizeHint || this.$props.dragHint ? 0 : C(this, g);
354
+ let h = 1;
355
+ this.$props.resizeHint || this.$props.dragHint || (h = this.calculateMostSiblings(this, g), g.forEach((t) => {
356
+ t._maxSiblingsPerSlot && h < t._maxSiblingsPerSlot && (h = t._maxSiblingsPerSlot);
357
+ }), g.forEach((t) => {
358
+ t._maxSiblingsPerSlot !== void 0 && t._maxSiblingsPerSlot !== null && t._maxSiblingsPerSlot < h && (t._maxSiblingsPerSlot = h);
359
+ }));
360
+ let z = 0;
361
+ const o = l;
362
+ g.forEach((t) => {
363
+ let S = 0;
364
+ t._order !== void 0 && t._order !== null && t._order < m && (S = D(t.getElement()).top + D(t.getElement()).height - o.top - u * m + q), S > z && (z = S);
365
+ });
366
+ const P = 20;
367
+ o.width = this.$props.vertical ? o.width / h - u - P / h : b - u, this.$props.vertical ? o.height = b - u : (this.$props.resizeHint || this.$props.dragHint) && h <= 1 || (o.height = (I = (w = this.$props.itemStyle) == null ? void 0 : w.height) != null ? I : A), o.left = this.$props.vertical ? o.left + m + u * m * o.width : o.left + (R < 0 ? 0 : R), o.top = this.$props.vertical ? o.top + (R < 0 ? 0 : R) : o.top + z + u * m, this.maxSiblingsPerSlot = h, this._order = m, N(this.element, o), this.visible = !0, this.display = !0;
368
+ },
369
+ handleResize() {
370
+ this.timeout !== void 0 && window.cancelAnimationFrame(this.timeout), this.timeout = window.requestAnimationFrame(() => {
371
+ this.position();
372
+ });
373
+ }
374
+ }
375
+ });
376
+ export {
377
+ se as SchedulerProportionalViewItem
378
+ };
@@ -91,6 +91,7 @@ declare const SchedulerViewItem: import('vue').DefineComponent<import('vue').Ext
91
91
  className: PropType<string>;
92
92
  itemStyle: PropType<any>;
93
93
  editable: PropType<boolean | import('../models/EditableProp').EditableProp>;
94
+ readonly: PropType<boolean>;
94
95
  selected: PropType<boolean>;
95
96
  vertical: PropType<boolean>;
96
97
  dragHint: PropType<boolean>;
@@ -134,6 +135,7 @@ declare const SchedulerViewItem: import('vue').DefineComponent<import('vue').Ext
134
135
  }, {
135
136
  itemTime(): any;
136
137
  itemTitle(): string;
138
+ formattedTime(): any;
137
139
  }, {
138
140
  getElement(): any;
139
141
  handleFocus(e: any): void;
@@ -195,6 +197,7 @@ declare const SchedulerViewItem: import('vue').DefineComponent<import('vue').Ext
195
197
  className: PropType<string>;
196
198
  itemStyle: PropType<any>;
197
199
  editable: PropType<boolean | import('../models/EditableProp').EditableProp>;
200
+ readonly: PropType<boolean>;
198
201
  selected: PropType<boolean>;
199
202
  vertical: PropType<boolean>;
200
203
  dragHint: PropType<boolean>;
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("vue"),z=require("./SchedulerItem.js"),m=require("../utils/main.js"),u=require("../views/common/utils.js"),c=require("../constants/main.js"),D=require("@progress/kendo-vue-intl"),b=require("./SchedulerItemContent.js"),g=require("@progress/kendo-vue-common");function R(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!h.isVNode(e)}const I=1,v=h.defineComponent({name:"KendoSchedulerViewItem",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,item:[String,Function,Object],uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,isAllDay:Boolean,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,id:String,tabIndex:Number,className:String,itemStyle:Object,editable:[Object,Boolean],selected:Boolean,vertical:Boolean,dragHint:Boolean,resizeHint:Boolean,format:String,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,itemRef:Object,onKeydown:Function,onKeyup:Function,onFocus:Function,onMouseup:Function,onMousedown:Function,onClick:Function,onDoubleclick:Function,onRemoveclick:Function,onPress:Function,onDrag:Function,onRelease:Function,onResizepress:Function,onResizeenddrag:Function,onResizestartdrag:Function,onResizerelease:Function},inject:{kendoIntlService:{default:null},ks:{default:null},bv:{default:null}},computed:{itemTime(){return this.$props.isAllDay?this.intl.toString(this.$props.zonedStart,"t"):this.intl.format("{0:t} - {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},itemTitle(){return`(${this.itemTime}): ${this.$props.title}`}},data(){return{timeout:void 0,currentItem:null,viewItem:null,display:!0,visible:!1,maxSiblingsPerSlot:0}},mounted(){if(this.element=this.getElement(),!this.ks.scheduler||!this.ks.scheduler.$el)return;g.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const e=this;this.$nextTick(function(){e.align(),e.position()})},updated(){const e=this;this.$nextTick(function(){e.align(),e.position()}),!(!this.ks.scheduler||!this.ks.scheduler.$el||this.observer)&&g.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},unmounted(){this.observer&&this.observer.disconnect()},render(){const e=g.getDefaultSlots(this);this.intl=D.provideIntlService(this);let t;const n=h.createVNode(z.SchedulerItem,{ignoreIsAllDay:this.ignoreIsAllDay,item:this.item,uid:this.uid,start:this.start,end:this.end,originalStart:this.originalStart,startTimezone:this.startTimezone,endTimezone:this.endTimezone,isAllDay:this.isAllDay,title:this.title,description:this.description,occurrenceId:this.occurrenceId,recurrenceExceptions:this.recurrenceExceptions,recurrenceRule:this.recurrenceRule,recurrenceId:this.recurrenceId,dataItem:this.dataItem,head:this.head,tail:this.tail,order:this.order,zonedStart:this.zonedStart,zonedEnd:this.zonedEnd,slots:this.slots,group:this.group,range:this.range,isException:this.isException,isRecurring:this.isRecurring,id:this.id,tabIndex:this.tabIndex,className:this.className,itemStyle:{visibility:this.visible?void 0:"hidden",display:this.display?void 0:"none",...this.$props.itemStyle},editable:this.editable,selected:this.selected,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,itemTitle:this.itemTitle,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,formItem:this.formItem,dragItem:this.dragItem,resizeItem:this.resizeItem,removeItem:this.removeItem,maxSiblingsPerSlot:this.maxSiblingsPerSlot,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onFocus:this.handleFocus,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onRemoveclick:this.handleRemoveClick,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,onResizepress:this.handleResizePress,onResizeenddrag:this.handleResizeEndDrag,onResizestartdrag:this.handleResizeStartDrag,onResizerelease:this.handleResizeRelease},{default:()=>[!this.$props.resizeHint&&h.createVNode("div",{title:this.itemTitle},[!this.$props.isAllDay&&h.createVNode(b.SchedulerItemContent,{title:this.itemTitle,class:"k-event-template k-event-time "},R(e)?e:{default:()=>[e]}),h.createVNode(b.SchedulerItemContent,{title:this.$props.title,class:"k-event-template"},R(e)?e:{default:()=>[e]})])]});return t=g.getTemplate.call(this,{h:h.h,template:this.$props.item,defaultRendering:n,defaultSlots:e,additionalListeners:{doubleclick:this.handleDoubleClick,removeclick:this.handleRemoveClick,press:this.handlePress,drag:this.handleDrag,release:this.handleRelease,resizepress:this.handleResizePress,resizeenddrag:this.handleResizeEndDrag,resizestartdrag:this.handleResizeStartDrag,resizerelease:this.handleResizeRelease}}),t},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleBlur(e){this.$emit("blur",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleMouseOver(e){this.$emit("mouseover",e)},handleMouseOut(e){this.$emit("mouseout",e)},handleMouseEnter(e){this.$emit("mouseenter",e)},handleMouseLeave(e){this.$emit("mouseleave",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleKeyPress(e){this.$emit("keypress",e)},handleKeyUp(e){this.$emit("keyup",e)},handlePress(e){this.$emit("press",e)},handleDrag(e){this.$emit("drag",e)},handleRelease(e){this.$emit("release",e)},handleResizePress(e){this.$emit("resizepress",e)},handleResizeStartDrag(e){this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){this.$emit("resizeenddrag",e)},handleResizeRelease(e){this.$emit("resizerelease",e)},calculateMostSiblings(e,t){let n=1;return e.forEach(o=>{const i=t.filter(r=>this.inSlot(o.cSlot,r.$props));i.length>n&&(n=i.length)}),n},getSiblingsInAllSlots(e,t){return e.map(o=>t.filter(i=>this.inSlot(o.cSlot,i.$props)))},inSlot(e,t){return m.intersects(e.start,e.end,t.start,t.end)&&e.group.index===t.group.index&&e.range.index===t.range.index&&(this.$props.ignoreIsAllDay||e.isAllDay===t.isAllDay)},align(){if(!this.element)return;const e=(this.bv.slots||[]).filter(i=>i&&this.inSlot(i.cSlot,this.$props));if(e.length===0){this.display=!1;return}const t=m.first(e.sort(function(i,r){return i.cSlot.start&&r.cSlot.start?i.cSlot.start.getTime()-r.cSlot.start.getTime():!0}));if(!t)return;const n=u.getRect(t.$el),o=t.$el;if(o&&!this.$props.vertical){const i=o.querySelector(".k-nav-day");if(i)n.top+=i.offsetTop+parseFloat(window.getComputedStyle(i).lineHeight||"0");else if(o.firstElementChild){const r=window.getComputedStyle(o),S=parseFloat(r.paddingTop||"0"),d=parseFloat(r.lineHeight||"0");d>0&&(n.top+=S+d)}}u.setRect(this.element,n)},position(){if(!this.element)return;const e=(this.bv.slots||[]).filter(l=>l&&this.inSlot(l.cSlot,this.$props)),t=[],n=[],o=[];(this.bv.items||[]).forEach(l=>{l&&(l.$props.dragHint?n.push(l):l.$props.resizeHint?o.push(l):t.push(l))});const i=this.$props.dragHint||this.$props.resizeHint?m.calculateOrder(this,this.$props.dragHint?n:o,e,this.$props.ignoreIsAllDay):this.$props.order||0;let r=this.$props.dragHint||this.$props.resizeHint?this.calculateMostSiblings(e,this.$props.dragHint?n:o):this.calculateMostSiblings(e,t);const S=this.getSiblingsInAllSlots(e,t);let d=0;const s=u.getRect(this.element);if(S.forEach(l=>{let $=0;l.sort(function(a,p){return a.$props.order-p.$props.order}).forEach(a=>{m.intersects(a.$props.start,a.$props.end,this.$props.start,this.$props.end)&&!(this.$props.dragHint||this.$props.resizeHint)&&a.$props.maxSiblingsPerSlot&&a.$props.maxSiblingsPerSlot>r&&a.getElement()!==this.element&&(r=a.$props.maxSiblingsPerSlot);const p=u.getRect(a.getElement());a.$props.order!==null&&a.$props.order<i&&($=(p.top||s.top)+p.height-s.top-c.BORDER_WIDTH*i+I)}),$>d&&(d=$)}),e.length===0){this.display=!1;return}const f=20;s.width=this.$props.vertical?s.width/r-c.BORDER_WIDTH-f/r:s.width*e.length-c.BORDER_WIDTH-f,s.height=this.$props.vertical?s.height*e.length-c.BORDER_WIDTH:(this.$props.resizeHint||this.$props.dragHint)&&r<=1?s.height:this.$props.itemStyle&&this.$props.itemStyle.height?this.$props.itemStyle.height:25,s.left=this.$props.vertical?s.left+i*s.width+c.BORDER_WIDTH*i:s.left,s.top=this.$props.vertical?s.top:s.top+d+c.BORDER_WIDTH*i,this.maxSiblingsPerSlot=r,u.setRect(this.element,s),this.visible=!0,this.display=!0},handleResize(){this.timeout!==void 0&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.align(),this.position()})}}});exports.SchedulerViewItem=v;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),H=require("./SchedulerItem.js"),S=require("../utils/main.js"),g=require("../views/common/utils.js"),u=require("../constants/main.js"),O=require("@progress/kendo-vue-intl"),y=require("./SchedulerItemContent.js"),c=require("@progress/kendo-vue-common"),d=require("@progress/kendo-svg-icons"),w=1,k=25,T=s.defineComponent({name:"KendoSchedulerViewItem",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,item:[String,Function,Object],uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,isAllDay:Boolean,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,id:String,tabIndex:Number,className:String,itemStyle:Object,editable:[Object,Boolean],readonly:Boolean,selected:Boolean,vertical:Boolean,dragHint:Boolean,resizeHint:Boolean,format:String,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,itemRef:Object,onKeydown:Function,onKeyup:Function,onFocus:Function,onMouseup:Function,onMousedown:Function,onClick:Function,onDoubleclick:Function,onRemoveclick:Function,onPress:Function,onDrag:Function,onRelease:Function,onResizepress:Function,onResizeenddrag:Function,onResizestartdrag:Function,onResizerelease:Function},inject:{kendoIntlService:{default:null},ks:{default:null},bv:{default:null}},computed:{itemTime(){return this.$props.isAllDay?this.intl.toString(this.$props.zonedStart,"t"):this.intl.format("{0:t} - {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},itemTitle(){return`(${this.itemTime}): ${this.$props.title}`},formattedTime(){return this.intl.format("{0:t} – {1:t}",this.$props.zonedStart,this.$props.zonedEnd)}},data(){return{timeout:void 0,currentItem:null,viewItem:null,display:!0,visible:!1,maxSiblingsPerSlot:0}},mounted(){if(this.element=this.getElement(),!this.ks.scheduler||!this.ks.scheduler.$el)return;c.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const e=this;this.$nextTick(function(){e.align(),e.position()})},updated(){const e=this;this.$nextTick(function(){e.align(),e.position()}),!(!this.ks.scheduler||!this.ks.scheduler.$el||this.observer)&&c.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},unmounted(){this.observer&&this.observer.disconnect()},render(){const e=c.getDefaultSlots(this);this.intl=O.provideIntlService(this);let t;const o=s.createVNode(H.SchedulerItem,{ignoreIsAllDay:this.ignoreIsAllDay,item:this.item,uid:this.uid,start:this.start,end:this.end,originalStart:this.originalStart,startTimezone:this.startTimezone,endTimezone:this.endTimezone,isAllDay:this.isAllDay,title:this.title,description:this.description,occurrenceId:this.occurrenceId,recurrenceExceptions:this.recurrenceExceptions,recurrenceRule:this.recurrenceRule,recurrenceId:this.recurrenceId,dataItem:this.dataItem,head:this.head,tail:this.tail,order:this.order,zonedStart:this.zonedStart,zonedEnd:this.zonedEnd,slots:this.slots,group:this.group,range:this.range,isException:this.isException,isRecurring:this.isRecurring,id:this.id,tabIndex:this.tabIndex,className:this.className,itemStyle:{visibility:this.visible?void 0:"hidden",display:this.display?void 0:"none",...this.$props.itemStyle},editable:this.editable,readonly:this.readonly,selected:this.selected,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,itemTitle:this.itemTitle,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,formItem:this.formItem,dragItem:this.dragItem,resizeItem:this.resizeItem,removeItem:this.removeItem,maxSiblingsPerSlot:this.maxSiblingsPerSlot,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onFocus:this.handleFocus,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onRemoveclick:this.handleRemoveClick,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,onResizepress:this.handleResizePress,onResizeenddrag:this.handleResizeEndDrag,onResizestartdrag:this.handleResizeStartDrag,onResizerelease:this.handleResizeRelease},{default:()=>[!this.$props.resizeHint&&s.createVNode(s.Fragment,null,[this.$props.tail&&!this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null)]),s.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:"chevron-up",icon:d.chevronUpIcon},null)]),s.createVNode(y.SchedulerItemContent,{class:"k-event-title"},{default:()=>[this.$props.title]}),!this.$props.isAllDay&&s.createVNode(y.SchedulerItemContent,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&s.createVNode("span",{class:"k-event-recurrence-icon"},[s.createVNode(c.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&s.createVNode("span",{class:"k-event-recurrence-icon"},[s.createVNode(c.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:"chevron-down",icon:d.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&s.createVNode("span",{class:"k-event-recurrence-icon"},[s.createVNode(c.Icon,{name:this.$props.isRecurring?"arrow-rotate-cw":"arrows-no-repeat",icon:this.$props.isRecurring?d.arrowRotateCwIcon:d.arrowsNoRepeatIcon},null)]),this.$props.head&&!this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])])]});return t=c.getTemplate.call(this,{h:s.h,template:this.$props.item,defaultRendering:o,defaultSlots:e,additionalListeners:{doubleclick:this.handleDoubleClick,removeclick:this.handleRemoveClick,press:this.handlePress,drag:this.handleDrag,release:this.handleRelease,resizepress:this.handleResizePress,resizeenddrag:this.handleResizeEndDrag,resizestartdrag:this.handleResizeStartDrag,resizerelease:this.handleResizeRelease}}),t},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleBlur(e){this.$emit("blur",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleMouseOver(e){this.$emit("mouseover",e)},handleMouseOut(e){this.$emit("mouseout",e)},handleMouseEnter(e){this.$emit("mouseenter",e)},handleMouseLeave(e){this.$emit("mouseleave",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleKeyPress(e){this.$emit("keypress",e)},handleKeyUp(e){this.$emit("keyup",e)},handlePress(e){this.$emit("press",e)},handleDrag(e){this.$emit("drag",e)},handleRelease(e){this.$emit("release",e)},handleResizePress(e){this.$emit("resizepress",e)},handleResizeStartDrag(e){this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){this.$emit("resizeenddrag",e)},handleResizeRelease(e){this.$emit("resizerelease",e)},calculateMostSiblings(e,t){let o=1;return e.forEach(l=>{const i=t.filter(r=>this.inSlot(l.cSlot,r.$props));i.length>o&&(o=i.length)}),o},getSiblingsInAllSlots(e,t){return e.map(l=>t.filter(i=>this.inSlot(l.cSlot,i.$props)))},inSlot(e,t){return S.intersects(e.start,e.end,t.start,t.end)&&e.group.index===t.group.index&&e.range.index===t.range.index&&(e.range.isAllDay===void 0||t.range.isAllDay===void 0||e.range.isAllDay===t.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===t.isAllDay)},align(){if(!this.element)return;const e=(this.bv.slots||[]).filter(i=>i&&this.inSlot(i.cSlot,this.$props));if(e.length===0){this.display=!1;return}const t=S.first(e.sort(function(i,r){return i.cSlot.start&&r.cSlot.start?i.cSlot.start.getTime()-r.cSlot.start.getTime():!0}));if(!t)return;const o=g.getRect(t.$el),l=t.$el;if(l&&!this.$props.vertical){const i=l.querySelector(".k-nav-day");let r=0;if(i)r=i.offsetTop+parseFloat(window.getComputedStyle(i).lineHeight||"0");else if(l.firstElementChild){const $=window.getComputedStyle(l),p=parseFloat($.paddingTop||"0"),n=parseFloat($.lineHeight||"0");n>0&&(r=p+n)}o.top+=r,(this.$props.dragHint||this.$props.resizeHint)&&(o.height-=r)}g.setRect(this.element,o)},position(){var z,D;if(!this.element)return;const e=(this.bv.slots||[]).filter(a=>a&&this.inSlot(a.cSlot,this.$props)),t=[],o=[],l=[];(this.bv.items||[]).forEach(a=>{a&&(a.$props.dragHint?o.push(a):a.$props.resizeHint?l.push(a):t.push(a))});const i=this.$props.dragHint||this.$props.resizeHint?S.calculateOrder(this,this.$props.dragHint?o:l,e,this.$props.ignoreIsAllDay):this.$props.order||0;let r=this.$props.dragHint||this.$props.resizeHint?this.calculateMostSiblings(e,this.$props.dragHint?o:l):this.calculateMostSiblings(e,t);const $=this.getSiblingsInAllSlots(e,t);let p=0;const n=g.getRect(this.element),m=(z=this.$props.itemStyle)==null?void 0:z.height,R=typeof m=="number"?m:parseFloat(m),I=!this.$props.vertical&&(m==null||!Number.isNaN(R));if($.forEach(a=>{let v=0;a.sort(function(h,f){return h.$props.order-f.$props.order}).forEach(h=>{if(S.intersects(h.$props.start,h.$props.end,this.$props.start,this.$props.end)&&!(this.$props.dragHint||this.$props.resizeHint)&&h.$props.maxSiblingsPerSlot&&h.$props.maxSiblingsPerSlot>r&&h.getElement()!==this.element&&(r=h.$props.maxSiblingsPerSlot),!I){const f=g.getRect(h.getElement());h.$props.order!==null&&h.$props.order<i&&(v=(f.top||n.top)+f.height-n.top-u.BORDER_WIDTH*i+w)}}),v>p&&(p=v)}),I&&(p=i*((Number.isNaN(R)?k:R)+w)),e.length===0){this.display=!1;return}const b=20,E=((D=this.$props.itemStyle)==null?void 0:D.height)||k;n.width=this.$props.vertical?n.width/r-u.BORDER_WIDTH-b/r:n.width*e.length-u.BORDER_WIDTH-b,this.$props.vertical?n.height=n.height*e.length-u.BORDER_WIDTH:(this.$props.resizeHint||this.$props.dragHint)&&r<=1||(n.height=E),n.left=this.$props.vertical?n.left+i*n.width+u.BORDER_WIDTH*i:n.left,n.top=this.$props.vertical?n.top:n.top+p+u.BORDER_WIDTH*i,this.maxSiblingsPerSlot=r,this._order=i,g.setRect(this.element,n),this.visible=!0,this.display=!0},handleResize(){this.timeout!==void 0&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.align(),this.position()})}}});exports.SchedulerViewItem=T;