@progress/kendo-vue-scheduler 10.2.0-develop.11 → 10.2.0-develop.12
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.
- package/Scheduler.d.ts +157 -56
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +242 -214
- package/components/EventOverviewPopover.d.ts +62 -0
- package/components/EventOverviewPopover.js +8 -0
- package/components/EventOverviewPopover.mjs +191 -0
- package/components/MoreEventsPopover.d.ts +3 -1
- package/components/MoreEventsPopover.js +1 -1
- package/components/MoreEventsPopover.mjs +31 -27
- package/components/SchedulerActionButtons.js +1 -1
- package/components/SchedulerActionButtons.mjs +1 -0
- package/components/SchedulerForm.d.ts +412 -2
- package/components/SchedulerForm.js +1 -1
- package/components/SchedulerForm.mjs +162 -60
- package/components/SchedulerQuickCreateForm.d.ts +118 -0
- package/components/SchedulerQuickCreateForm.js +8 -0
- package/components/SchedulerQuickCreateForm.mjs +249 -0
- package/constants/main.d.ts +2 -0
- package/constants/main.js +1 -1
- package/constants/main.mjs +10 -9
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/KeepResetCustomEventsDialog.d.ts +31 -0
- package/editors/KeepResetCustomEventsDialog.js +8 -0
- package/editors/KeepResetCustomEventsDialog.mjs +72 -0
- package/editors/SchedulerFormEditor.d.ts +151 -52
- package/editors/SchedulerFormEditor.js +1 -1
- package/editors/SchedulerFormEditor.mjs +192 -139
- package/editors/SchedulerRecurrenceDialog.d.ts +2 -2
- package/editors/SchedulerRecurrenceDialog.js +1 -1
- package/editors/SchedulerRecurrenceDialog.mjs +126 -131
- package/editors/ZonedSplitDateTime.d.ts +32 -3
- package/editors/ZonedSplitDateTime.js +1 -1
- package/editors/ZonedSplitDateTime.mjs +112 -47
- package/hooks/useCloseOnAnchorScrollOut.d.ts +10 -0
- package/hooks/useCloseOnAnchorScrollOut.js +8 -0
- package/hooks/useCloseOnAnchorScrollOut.mjs +43 -0
- package/hooks/useCustomEventsConfirmation.d.ts +20 -0
- package/hooks/useCustomEventsConfirmation.js +8 -0
- package/hooks/useCustomEventsConfirmation.mjs +48 -0
- package/hooks/useDeferredClick.d.ts +12 -0
- package/hooks/useDeferredClick.js +8 -0
- package/hooks/useDeferredClick.mjs +22 -0
- package/hooks/useExclusivePopover.d.ts +26 -0
- package/hooks/useExclusivePopover.js +8 -0
- package/hooks/useExclusivePopover.mjs +30 -0
- package/hooks/useRecurrenceSummary.d.ts +3 -0
- package/hooks/useRecurrenceSummary.js +1 -1
- package/hooks/useRecurrenceSummary.mjs +68 -41
- package/index.d.mts +4 -2
- package/index.d.ts +4 -2
- package/index.js +1 -1
- package/index.mjs +83 -78
- package/items/SchedulerEditItem.d.ts +116 -12
- package/items/SchedulerEditItem.js +1 -1
- package/items/SchedulerEditItem.mjs +212 -131
- package/items/SchedulerItem.d.ts +2 -1
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +28 -23
- package/items/SchedulerProportionalViewItem.d.ts +1 -0
- package/items/SchedulerProportionalViewItem.js +1 -1
- package/items/SchedulerProportionalViewItem.mjs +83 -68
- package/items/SchedulerViewItem.d.ts +1 -0
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +84 -75
- package/items/hooks/use-drag-item.js +1 -1
- package/items/hooks/use-drag-item.mjs +49 -48
- package/items/hooks/use-form-item.d.ts +1 -1
- package/items/hooks/use-remove-item.d.ts +1 -1
- package/items/hooks/use-resize-item.js +1 -1
- package/items/hooks/use-resize-item.mjs +74 -65
- package/messages/main.d.ts +42 -0
- package/messages/main.js +1 -1
- package/messages/main.mjs +303 -275
- package/models/InternalDataAction.d.ts +13 -0
- package/models/SchedulerView.d.ts +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +13 -12
- package/recurrence/RecurrenceEditor.js +1 -1
- package/recurrence/RecurrenceEditor.mjs +42 -42
- package/recurrence/common.d.ts +10 -0
- package/recurrence/common.js +1 -1
- package/recurrence/common.mjs +39 -35
- package/services/itemsService.d.ts +5 -2
- package/services/itemsService.js +1 -1
- package/services/itemsService.mjs +46 -33
- package/services/occurrenceService.js +1 -1
- package/services/occurrenceService.mjs +18 -18
- package/slots/SchedulerEditSlot.d.ts +70 -8
- package/slots/SchedulerEditSlot.js +1 -1
- package/slots/SchedulerEditSlot.mjs +222 -141
- package/slots/SchedulerSlot.js +1 -1
- package/slots/SchedulerSlot.mjs +20 -16
- package/slots/SchedulerViewSlot.d.ts +3 -0
- package/slots/SchedulerViewSlot.js +1 -1
- package/slots/SchedulerViewSlot.mjs +21 -15
- package/tasks/SchedulerEditTask.d.ts +13 -2
- package/tasks/SchedulerEditTask.js +1 -1
- package/tasks/SchedulerEditTask.mjs +45 -30
- package/utils/main.d.ts +27 -0
- package/utils/main.js +1 -1
- package/utils/main.mjs +172 -136
- package/views/agenda/AgendaView.d.ts +6 -2
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +31 -29
- package/views/agenda/AgendaViewBody.d.ts +3 -3
- package/views/agenda/AgendaViewBody.js +1 -1
- package/views/agenda/AgendaViewBody.mjs +31 -29
- package/views/common/SchedulerDrag.d.ts +4 -2
- package/views/common/SchedulerDrag.js +1 -1
- package/views/common/SchedulerDrag.mjs +8 -7
- package/views/common/SchedulerResize.d.ts +4 -2
- package/views/common/SchedulerResize.js +1 -1
- package/views/common/SchedulerResize.mjs +14 -12
- package/views/common/VerticalResourceIterator.d.ts +3 -3
- package/views/common/VerticalResourceIterator.js +1 -1
- package/views/common/VerticalResourceIterator.mjs +34 -33
- package/views/day/DayView.d.ts +2 -0
- package/views/day/DayView.js +1 -1
- package/views/day/DayView.mjs +9 -7
- package/views/day/DayViewAllDaySlots.d.ts +7 -5
- package/views/day/DayViewAllDaySlots.js +1 -1
- package/views/day/DayViewAllDaySlots.mjs +24 -21
- package/views/day/DayViewMiddleRow.d.ts +7 -5
- package/views/day/DayViewMiddleRow.js +1 -1
- package/views/day/DayViewMiddleRow.mjs +18 -13
- package/views/day/DayViewVerticalRow.d.ts +7 -5
- package/views/day/DayViewVerticalRow.js +1 -1
- package/views/day/DayViewVerticalRow.mjs +23 -17
- package/views/day/DayViewVerticalSlotsRow.d.ts +7 -5
- package/views/day/DayViewVerticalSlotsRow.js +1 -1
- package/views/day/DayViewVerticalSlotsRow.mjs +34 -29
- package/views/day/MultiDayView.d.ts +13 -7
- package/views/day/MultiDayView.js +1 -1
- package/views/day/MultiDayView.mjs +108 -95
- package/views/month/MonthView.d.ts +15 -4
- package/views/month/MonthView.js +1 -1
- package/views/month/MonthView.mjs +105 -68
- package/views/month/MonthViewBody.d.ts +3 -3
- package/views/month/MonthViewBody.js +1 -1
- package/views/month/MonthViewBody.mjs +18 -16
- package/views/time/MultiDayTimelineView.d.ts +6 -4
- package/views/time/MultiDayTimelineView.js +1 -1
- package/views/time/MultiDayTimelineView.mjs +64 -63
- package/views/time/TimelineView.d.ts +2 -0
- package/views/time/TimelineView.js +1 -1
- package/views/time/TimelineView.mjs +5 -3
- package/views/time/TimelineViewBody.d.ts +7 -5
- package/views/time/TimelineViewBody.js +1 -1
- package/views/time/TimelineViewBody.mjs +29 -27
- package/views/week/WeekView.d.ts +2 -0
- package/views/week/WeekView.js +1 -1
- package/views/week/WeekView.mjs +11 -10
- package/views/week/WorkWeekView.d.ts +2 -0
- package/views/week/WorkWeekView.js +1 -1
- package/views/week/WorkWeekView.mjs +17 -16
|
@@ -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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),S=require("@progress/kendo-vue-dateinputs"),g=require("@progress/kendo-date-math");function h(e,n){if(!e)return null;if(!n)return e;const t=g.toLocalDate(g.ZonedDate.fromLocalDate(e,n).toUTCDate());return t.setUTCFullYear(e.getFullYear()),t}const D=(e,n)=>!e||!n?e:g.ZonedDate.fromUTCDate(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())),n).toLocalDate(),u=e=>Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),L=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),M=(e,n)=>u(e)===u(n),A=e=>e.reduce((n,t)=>!t||n&&n>=t?n:t,void 0),x={minute:15},B=s.defineComponent({name:"KendoZonedSplitDateTime",inheritAttrs:!1,props:{value:[Date,Object],isAllDay:Boolean,connector:String,connectorElement:[Object,Function,String],dateId:String,timeId:String,fieldError:String,ariaLabel:String,timeAriaLabel:String},emits:["change"],setup(e,{attrs:n}){const t=s.inject("ks",null),o=s.inject("kendoForm",null),f=s.ref(null);s.watch(()=>e.value,()=>{f.value=null});const l=i=>{const a=n[i];return a instanceof Date&&Number.isFinite(a.getTime())?a:void 0},p=()=>!!o&&!!t&&n.name===t.fields.end,m=()=>{const i=p()?o==null?void 0:o.valueGetter(t.fields.start):void 0;return i instanceof Date&&Number.isFinite(i.getTime())?i:void 0},V=()=>{const i=m();return i&&h(i,t==null?void 0:t.timezone)},r=i=>e.isAllDay?u(i):i.getTime(),w=i=>{const a=m(),d=h(i,t==null?void 0:t.timezone),c=l("min"),T=l("max");return!(a&&i.getTime()<a.getTime())&&!(c&&r(d)<r(c))&&!(T&&r(d)>r(T))},F=()=>{const i=A([V(),l("min")]);return i&&L(i)},b=i=>i?A([V(),l("min")].filter(a=>a&&M(a,i))):void 0,C=i=>{const a=l("max");return i&&a&&M(a,i)?a:void 0},E=i=>{const a=l("max"),d=h(i,t==null?void 0:t.timezone);if(!a||!d||r(d)<=r(a))return i;const c=new Date(e.isAllDay?d:a);return c.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),D(c,t==null?void 0:t.timezone)},y=s.inject("schedulerEndAdjustment",null);return p()&&y&&s.onUnmounted(y(E)),{ks:t,pendingValue:f,boundAttr:l,isInBounds:w,dateMin:F,timeMin:b,timeMax:C,modelStart:m}},computed:{timezone(){var e;return(e=this.ks)==null?void 0:e.timezone},localValue(){return this.readDateAsLocal(this.value,this.timezone)},displayValue(){return this.pendingValue||this.localValue},isInvalid(){return!!this.fieldError||!!this.pendingValue}},render(){const e=s.createVNode(S.DatePicker,{id:this.dateId,value:this.displayValue,min:this.dateMin(),max:this.boundAttr("max"),onChange:this.handleDateChange,onFocus:this.$attrs.onFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown,valid:!this.isInvalid,ariaLabel:this.ariaLabel},null);return this.isAllDay?e:s.createVNode(s.Fragment,null,[e,this.connectorElement||this.connector&&s.createVNode("span",{class:"k-scheduler-datetime-label"},[this.connector]),s.createVNode(S.TimePicker,{id:this.timeId,value:this.displayValue,min:this.timeMin(this.displayValue),max:this.timeMax(this.displayValue),steps:x,onChange:this.handleTimeChange,onFocus:this.$attrs.onFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown,valid:!this.isInvalid,"aria-label":this.timeAriaLabel},null)])},methods:{handleDateChange(e){const n=e.value;if(!n)return;const t=new Date(n);this.displayValue&&t.setHours(this.displayValue.getHours(),this.displayValue.getMinutes(),this.displayValue.getSeconds()),this.commit(t,e.event)},handleTimeChange(e){const n=e.value;if(!n)return;const t=new Date(this.displayValue||new Date);t.setHours(n.getHours(),n.getMinutes(),0,0),this.commit(t,e.event)},commit(e,n){let t=this.readDateWithTimezone(e,this.timezone);const o=this.modelStart();if(this.isAllDay&&o&&t.getTime()<o.getTime()&&u(e)===u(this.readDateAsLocal(o,this.timezone))&&(t=new Date(o.getTime())),this.isInBounds(t)){this.pendingValue=null,this.$emit("change",{value:t});return}this.pendingValue=(n==null?void 0:n.type)==="input"?e:null},handleBlur(e){var n,t;this.pendingValue=null,(t=(n=this.$attrs).onBlur)==null||t.call(n,e)},handleKeyDown(e){e.key==="Enter"&&this.pendingValue&&(e.preventDefault(),this.pendingValue=null)},readDateAsLocal:h,readDateWithTimezone:D}});exports.ZonedSplitDateTime=B;exports.dayValue=u;exports.readDateAsLocal=h;exports.readDateWithTimezone=D;
|
|
@@ -5,11 +5,22 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as
|
|
9
|
-
import { DatePicker as
|
|
10
|
-
import { ZonedDate as
|
|
11
|
-
|
|
8
|
+
import { defineComponent as E, createVNode as c, Fragment as B, inject as g, ref as L, watch as I, onUnmounted as z } from "vue";
|
|
9
|
+
import { DatePicker as Y, TimePicker as K } from "@progress/kendo-vue-dateinputs";
|
|
10
|
+
import { ZonedDate as A, toLocalDate as U } from "@progress/kendo-date-math";
|
|
11
|
+
function h(t, n) {
|
|
12
|
+
if (!t)
|
|
13
|
+
return null;
|
|
14
|
+
if (!n)
|
|
15
|
+
return t;
|
|
16
|
+
const e = U(A.fromLocalDate(t, n).toUTCDate());
|
|
17
|
+
return e.setUTCFullYear(t.getFullYear()), e;
|
|
18
|
+
}
|
|
19
|
+
const T = (t, n) => !t || !n ? t : A.fromUTCDate(new Date(Date.UTC(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds())), n).toLocalDate(), u = (t) => Date.UTC(t.getFullYear(), t.getMonth(), t.getDate()), j = (t) => new Date(t.getFullYear(), t.getMonth(), t.getDate()), S = (t, n) => u(t) === u(n), w = (t) => t.reduce((n, e) => !e || n && n >= e ? n : e, void 0), H = {
|
|
20
|
+
minute: 15
|
|
21
|
+
}, O = /* @__PURE__ */ E({
|
|
12
22
|
name: "KendoZonedSplitDateTime",
|
|
23
|
+
inheritAttrs: !1,
|
|
13
24
|
props: {
|
|
14
25
|
value: [Date, Object],
|
|
15
26
|
isAllDay: Boolean,
|
|
@@ -22,79 +33,133 @@ const m = /* @__PURE__ */ r({
|
|
|
22
33
|
timeAriaLabel: String
|
|
23
34
|
},
|
|
24
35
|
emits: ["change"],
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
36
|
+
setup(t, {
|
|
37
|
+
attrs: n
|
|
38
|
+
}) {
|
|
39
|
+
const e = g("ks", null), s = g("kendoForm", null), D = L(null);
|
|
40
|
+
I(() => t.value, () => {
|
|
41
|
+
D.value = null;
|
|
42
|
+
});
|
|
43
|
+
const o = (i) => {
|
|
44
|
+
const a = n[i];
|
|
45
|
+
return a instanceof Date && Number.isFinite(a.getTime()) ? a : void 0;
|
|
46
|
+
}, f = () => !!s && !!e && n.name === e.fields.end, m = () => {
|
|
47
|
+
const i = f() ? s == null ? void 0 : s.valueGetter(e.fields.start) : void 0;
|
|
48
|
+
return i instanceof Date && Number.isFinite(i.getTime()) ? i : void 0;
|
|
49
|
+
}, p = () => {
|
|
50
|
+
const i = m();
|
|
51
|
+
return i && h(i, e == null ? void 0 : e.timezone);
|
|
52
|
+
}, l = (i) => t.isAllDay ? u(i) : i.getTime(), F = (i) => {
|
|
53
|
+
const a = m(), r = h(i, e == null ? void 0 : e.timezone), d = o("min"), V = o("max");
|
|
54
|
+
return !(a && i.getTime() < a.getTime()) && !(d && l(r) < l(d)) && !(V && l(r) > l(V));
|
|
55
|
+
}, M = () => {
|
|
56
|
+
const i = w([p(), o("min")]);
|
|
57
|
+
return i && j(i);
|
|
58
|
+
}, b = (i) => i ? w([p(), o("min")].filter((a) => a && S(a, i))) : void 0, x = (i) => {
|
|
59
|
+
const a = o("max");
|
|
60
|
+
return i && a && S(a, i) ? a : void 0;
|
|
61
|
+
}, C = (i) => {
|
|
62
|
+
const a = o("max"), r = h(i, e == null ? void 0 : e.timezone);
|
|
63
|
+
if (!a || !r || l(r) <= l(a))
|
|
64
|
+
return i;
|
|
65
|
+
const d = new Date(t.isAllDay ? r : a);
|
|
66
|
+
return d.setFullYear(a.getFullYear(), a.getMonth(), a.getDate()), T(d, e == null ? void 0 : e.timezone);
|
|
67
|
+
}, y = g("schedulerEndAdjustment", null);
|
|
68
|
+
return f() && y && z(y(C)), {
|
|
69
|
+
ks: e,
|
|
70
|
+
pendingValue: D,
|
|
71
|
+
boundAttr: o,
|
|
72
|
+
isInBounds: F,
|
|
73
|
+
dateMin: M,
|
|
74
|
+
timeMin: b,
|
|
75
|
+
timeMax: x,
|
|
76
|
+
modelStart: m
|
|
77
|
+
};
|
|
29
78
|
},
|
|
30
79
|
computed: {
|
|
31
80
|
timezone() {
|
|
32
|
-
var
|
|
33
|
-
return (
|
|
81
|
+
var t;
|
|
82
|
+
return (t = this.ks) == null ? void 0 : t.timezone;
|
|
34
83
|
},
|
|
35
84
|
localValue() {
|
|
36
85
|
return this.readDateAsLocal(this.value, this.timezone);
|
|
37
86
|
},
|
|
87
|
+
displayValue() {
|
|
88
|
+
return this.pendingValue || this.localValue;
|
|
89
|
+
},
|
|
38
90
|
isInvalid() {
|
|
39
|
-
return !!this.fieldError;
|
|
91
|
+
return !!this.fieldError || !!this.pendingValue;
|
|
40
92
|
}
|
|
41
93
|
},
|
|
42
94
|
render() {
|
|
43
|
-
|
|
44
|
-
id: this.dateId,
|
|
45
|
-
value: this.localValue,
|
|
46
|
-
onChange: this.handleDateChange,
|
|
47
|
-
valid: !this.isInvalid,
|
|
48
|
-
ariaLabel: this.ariaLabel
|
|
49
|
-
}, null) : i(o, null, [i(n, {
|
|
95
|
+
const t = c(Y, {
|
|
50
96
|
id: this.dateId,
|
|
51
|
-
value: this.
|
|
97
|
+
value: this.displayValue,
|
|
98
|
+
min: this.dateMin(),
|
|
99
|
+
max: this.boundAttr("max"),
|
|
52
100
|
onChange: this.handleDateChange,
|
|
101
|
+
onFocus: this.$attrs.onFocus,
|
|
102
|
+
onBlur: this.handleBlur,
|
|
103
|
+
onKeydown: this.handleKeyDown,
|
|
53
104
|
valid: !this.isInvalid,
|
|
54
105
|
ariaLabel: this.ariaLabel
|
|
55
|
-
}, null)
|
|
106
|
+
}, null);
|
|
107
|
+
return this.isAllDay ? t : c(B, null, [t, this.connectorElement || this.connector && c("span", {
|
|
56
108
|
class: "k-scheduler-datetime-label"
|
|
57
|
-
}, [this.connector]),
|
|
109
|
+
}, [this.connector]), c(K, {
|
|
58
110
|
id: this.timeId,
|
|
59
|
-
value: this.
|
|
111
|
+
value: this.displayValue,
|
|
112
|
+
min: this.timeMin(this.displayValue),
|
|
113
|
+
max: this.timeMax(this.displayValue),
|
|
114
|
+
steps: H,
|
|
60
115
|
onChange: this.handleTimeChange,
|
|
116
|
+
onFocus: this.$attrs.onFocus,
|
|
117
|
+
onBlur: this.handleBlur,
|
|
118
|
+
onKeydown: this.handleKeyDown,
|
|
61
119
|
valid: !this.isInvalid,
|
|
62
120
|
"aria-label": this.timeAriaLabel
|
|
63
121
|
}, null)]);
|
|
64
122
|
},
|
|
65
123
|
methods: {
|
|
66
|
-
handleDateChange(
|
|
67
|
-
const
|
|
68
|
-
if (!
|
|
124
|
+
handleDateChange(t) {
|
|
125
|
+
const n = t.value;
|
|
126
|
+
if (!n)
|
|
69
127
|
return;
|
|
70
|
-
const
|
|
71
|
-
this.
|
|
72
|
-
value: this.readDateWithTimezone(a, this.timezone)
|
|
73
|
-
});
|
|
128
|
+
const e = new Date(n);
|
|
129
|
+
this.displayValue && e.setHours(this.displayValue.getHours(), this.displayValue.getMinutes(), this.displayValue.getSeconds()), this.commit(e, t.event);
|
|
74
130
|
},
|
|
75
|
-
handleTimeChange(
|
|
76
|
-
const
|
|
77
|
-
if (!
|
|
131
|
+
handleTimeChange(t) {
|
|
132
|
+
const n = t.value;
|
|
133
|
+
if (!n)
|
|
78
134
|
return;
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
value: this.readDateWithTimezone(a, this.timezone)
|
|
82
|
-
});
|
|
135
|
+
const e = new Date(this.displayValue || /* @__PURE__ */ new Date());
|
|
136
|
+
e.setHours(n.getHours(), n.getMinutes(), 0, 0), this.commit(e, t.event);
|
|
83
137
|
},
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
138
|
+
commit(t, n) {
|
|
139
|
+
let e = this.readDateWithTimezone(t, this.timezone);
|
|
140
|
+
const s = this.modelStart();
|
|
141
|
+
if (this.isAllDay && s && e.getTime() < s.getTime() && u(t) === u(this.readDateAsLocal(s, this.timezone)) && (e = new Date(s.getTime())), this.isInBounds(e)) {
|
|
142
|
+
this.pendingValue = null, this.$emit("change", {
|
|
143
|
+
value: e
|
|
144
|
+
});
|
|
145
|
+
return;
|
|
90
146
|
}
|
|
91
|
-
|
|
147
|
+
this.pendingValue = (n == null ? void 0 : n.type) === "input" ? t : null;
|
|
92
148
|
},
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
149
|
+
handleBlur(t) {
|
|
150
|
+
var n, e;
|
|
151
|
+
this.pendingValue = null, (e = (n = this.$attrs).onBlur) == null || e.call(n, t);
|
|
152
|
+
},
|
|
153
|
+
handleKeyDown(t) {
|
|
154
|
+
t.key === "Enter" && this.pendingValue && (t.preventDefault(), this.pendingValue = null);
|
|
155
|
+
},
|
|
156
|
+
readDateAsLocal: h,
|
|
157
|
+
readDateWithTimezone: T
|
|
96
158
|
}
|
|
97
159
|
});
|
|
98
160
|
export {
|
|
99
|
-
|
|
161
|
+
O as ZonedSplitDateTime,
|
|
162
|
+
u as dayValue,
|
|
163
|
+
h as readDateAsLocal,
|
|
164
|
+
T as readDateWithTimezone
|
|
100
165
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
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 { WatchSource } from 'vue';
|
|
9
|
+
/** @hidden */
|
|
10
|
+
export declare const useCloseOnAnchorScrollOut: (show: WatchSource<boolean>, anchor: () => HTMLElement | null, onClose: () => void) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("vue"),h=/(auto|scroll|overlay)/,g=s=>{const r=[];let t=s.parentElement;for(;t;){const{overflow:l,overflowX:e,overflowY:c}=getComputedStyle(t);if(h.test(`${l}${e}${c}`)&&r.push(t),t.classList.contains("k-scheduler"))break;t=t.parentElement}return r},d=(s,r,t)=>{const l=s.getBoundingClientRect();let{top:e,left:c,right:i}=l;const n=s.querySelector(".k-scheduler-head");n&&!n.contains(r)&&(e=Math.max(e,n.getBoundingClientRect().bottom));const u=s.querySelector(".k-sticky-cell");if(u&&!r.closest(".k-sticky-cell")){const o=u.getBoundingClientRect();o.left-l.left<=l.right-o.right?c=Math.max(c,o.right):i=Math.min(i,o.left)}return t.bottom<=e||t.top>=l.bottom||t.right<=c||t.left>=i},m=(s,r,t)=>{f.watch([s,r],([l,e],c,i)=>{if(!l||!e)return;const n=g(e),u=()=>{const o=e.getBoundingClientRect();n.some(a=>d(a,e,o))&&t()};n.forEach(o=>o.addEventListener("scroll",u,{passive:!0})),i(()=>n.forEach(o=>o.removeEventListener("scroll",u)))},{immediate:!0,flush:"post"})};exports.useCloseOnAnchorScrollOut=m;
|
|
@@ -0,0 +1,43 @@
|
|
|
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 { watch as f } from "vue";
|
|
9
|
+
const h = /(auto|scroll|overlay)/, g = (s) => {
|
|
10
|
+
const r = [];
|
|
11
|
+
let t = s.parentElement;
|
|
12
|
+
for (; t; ) {
|
|
13
|
+
const { overflow: l, overflowX: e, overflowY: c } = getComputedStyle(t);
|
|
14
|
+
if (h.test(`${l}${e}${c}`) && r.push(t), t.classList.contains("k-scheduler"))
|
|
15
|
+
break;
|
|
16
|
+
t = t.parentElement;
|
|
17
|
+
}
|
|
18
|
+
return r;
|
|
19
|
+
}, d = (s, r, t) => {
|
|
20
|
+
const l = s.getBoundingClientRect();
|
|
21
|
+
let { top: e, left: c, right: i } = l;
|
|
22
|
+
const n = s.querySelector(".k-scheduler-head");
|
|
23
|
+
n && !n.contains(r) && (e = Math.max(e, n.getBoundingClientRect().bottom));
|
|
24
|
+
const a = s.querySelector(".k-sticky-cell");
|
|
25
|
+
if (a && !r.closest(".k-sticky-cell")) {
|
|
26
|
+
const o = a.getBoundingClientRect();
|
|
27
|
+
o.left - l.left <= l.right - o.right ? c = Math.max(c, o.right) : i = Math.min(i, o.left);
|
|
28
|
+
}
|
|
29
|
+
return t.bottom <= e || t.top >= l.bottom || t.right <= c || t.left >= i;
|
|
30
|
+
}, p = (s, r, t) => {
|
|
31
|
+
f([s, r], ([l, e], c, i) => {
|
|
32
|
+
if (!l || !e)
|
|
33
|
+
return;
|
|
34
|
+
const n = g(e), a = () => {
|
|
35
|
+
const o = e.getBoundingClientRect();
|
|
36
|
+
n.some((u) => d(u, e, o)) && t();
|
|
37
|
+
};
|
|
38
|
+
n.forEach((o) => o.addEventListener("scroll", a, { passive: !0 })), i(() => n.forEach((o) => o.removeEventListener("scroll", a)));
|
|
39
|
+
}, { immediate: !0, flush: "post" });
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
p as useCloseOnAnchorScrollOut
|
|
43
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
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 { InternalDataAction } from '../models/InternalDataAction';
|
|
9
|
+
/** @hidden */
|
|
10
|
+
export declare const CUSTOM_EVENTS_CANCEL_KEY = "ksCustomEventsCancel";
|
|
11
|
+
/** @hidden */
|
|
12
|
+
export declare const useCustomEventsConfirmation: () => {
|
|
13
|
+
showCustomEventsDialog: import('vue').ComputedRef<boolean>;
|
|
14
|
+
confirmCustomEvents: (action: InternalDataAction, complete: (action: InternalDataAction) => void) => boolean;
|
|
15
|
+
handleCustomEventsKeep: () => void;
|
|
16
|
+
handleCustomEventsReset: () => void;
|
|
17
|
+
handleCustomEventsCancel: () => void;
|
|
18
|
+
cancelCustomEventsOnBack: () => boolean;
|
|
19
|
+
clearCustomEvents: () => void;
|
|
20
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),f=require("@progress/kendo-vue-common"),v=require("../constants/main.js"),a=require("../utils/main.js"),h="ksCustomEventsCancel",y=()=>{const t=n.inject("ks"),s=n.shallowRef(null);let l=null;const o=()=>{s.value=null,l=null},C=(e,r)=>!e.series||typeof e.resetExceptions=="boolean"||e.type!==v.DATA_ACTION.update&&e.type!==v.DATA_ACTION.remove||!(Array.isArray(e.dataItem)?e.dataItem:[e.dataItem]).some(u=>{const m=a.getSeriesMasterId(u,t.fields),d=t.dataItems.find(T=>a.getField(T,t.fields.id)===m),E=d&&a.getField(d,t.fields.recurrenceExceptions);return Array.isArray(E)&&E.length>0||a.findSeriesExceptions(t.dataItems,t.fields,m).length>0})?!1:(s.value||(l=document.activeElement instanceof HTMLElement?document.activeElement:null,s.value={action:{...e,dataItem:Array.isArray(e.dataItem)?e.dataItem.map(u=>f.clone(u)):f.clone(e.dataItem)},complete:r}),!0),c=e=>{const r=s.value;o(),r&&r.complete({...r.action,resetExceptions:e})},p=()=>c(!1),A=()=>c(!0),i=()=>{const e=l;o(),n.nextTick(()=>{e!=null&&e.isConnected&&e.focus({preventScroll:!0})})},I=()=>s.value?(i(),!0):!1;return n.watch([()=>t.currentDate,()=>t.activeViewName],o),n.onScopeDispose(o),{showCustomEventsDialog:n.computed(()=>s.value!==null),confirmCustomEvents:C,handleCustomEventsKeep:p,handleCustomEventsReset:A,handleCustomEventsCancel:i,cancelCustomEventsOnBack:I,clearCustomEvents:o}};exports.CUSTOM_EVENTS_CANCEL_KEY=h;exports.useCustomEventsConfirmation=y;
|
|
@@ -0,0 +1,48 @@
|
|
|
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 { inject as A, shallowRef as y, watch as x, onScopeDispose as T, computed as g, nextTick as S } from "vue";
|
|
9
|
+
import { clone as d } from "@progress/kendo-vue-common";
|
|
10
|
+
import { DATA_ACTION as f } from "../constants/main.mjs";
|
|
11
|
+
import { getSeriesMasterId as k, getField as p, findSeriesExceptions as w } from "../utils/main.mjs";
|
|
12
|
+
const L = "ksCustomEventsCancel", R = () => {
|
|
13
|
+
const t = A("ks"), s = y(null);
|
|
14
|
+
let o = null;
|
|
15
|
+
const n = () => {
|
|
16
|
+
s.value = null, o = null;
|
|
17
|
+
}, v = (e, r) => !e.series || typeof e.resetExceptions == "boolean" || e.type !== f.update && e.type !== f.remove || !(Array.isArray(e.dataItem) ? e.dataItem : [e.dataItem]).some((a) => {
|
|
18
|
+
const m = k(a, t.fields), u = t.dataItems.find((h) => p(h, t.fields.id) === m), i = u && p(u, t.fields.recurrenceExceptions);
|
|
19
|
+
return Array.isArray(i) && i.length > 0 || w(t.dataItems, t.fields, m).length > 0;
|
|
20
|
+
}) ? !1 : (s.value || (o = document.activeElement instanceof HTMLElement ? document.activeElement : null, s.value = {
|
|
21
|
+
action: {
|
|
22
|
+
...e,
|
|
23
|
+
dataItem: Array.isArray(e.dataItem) ? e.dataItem.map((a) => d(a)) : d(e.dataItem)
|
|
24
|
+
},
|
|
25
|
+
complete: r
|
|
26
|
+
}), !0), l = (e) => {
|
|
27
|
+
const r = s.value;
|
|
28
|
+
n(), r && r.complete({ ...r.action, resetExceptions: e });
|
|
29
|
+
}, E = () => l(!1), C = () => l(!0), c = () => {
|
|
30
|
+
const e = o;
|
|
31
|
+
n(), S(() => {
|
|
32
|
+
e != null && e.isConnected && e.focus({ preventScroll: !0 });
|
|
33
|
+
});
|
|
34
|
+
}, I = () => s.value ? (c(), !0) : !1;
|
|
35
|
+
return x([() => t.currentDate, () => t.activeViewName], n), T(n), {
|
|
36
|
+
showCustomEventsDialog: g(() => s.value !== null),
|
|
37
|
+
confirmCustomEvents: v,
|
|
38
|
+
handleCustomEventsKeep: E,
|
|
39
|
+
handleCustomEventsReset: C,
|
|
40
|
+
handleCustomEventsCancel: c,
|
|
41
|
+
cancelCustomEventsOnBack: I,
|
|
42
|
+
clearCustomEvents: n
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export {
|
|
46
|
+
L as CUSTOM_EVENTS_CANCEL_KEY,
|
|
47
|
+
R as useCustomEventsConfirmation
|
|
48
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
/** @hidden */
|
|
9
|
+
export declare const useDeferredClick: (delay?: number) => {
|
|
10
|
+
schedule: (callback: () => void) => void;
|
|
11
|
+
cancel: () => void;
|
|
12
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("vue"),n=(t=200)=>{let e=null;const l=()=>{e!==null&&(clearTimeout(e),e=null)},u=o=>{l(),e=setTimeout(()=>{e=null,o()},t)};return c.onScopeDispose(l),{schedule:u,cancel:l}};exports.useDeferredClick=n;
|
|
@@ -0,0 +1,22 @@
|
|
|
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 { onScopeDispose as u } from "vue";
|
|
9
|
+
const r = (o = 200) => {
|
|
10
|
+
let e = null;
|
|
11
|
+
const l = () => {
|
|
12
|
+
e !== null && (clearTimeout(e), e = null);
|
|
13
|
+
}, t = (n) => {
|
|
14
|
+
l(), e = setTimeout(() => {
|
|
15
|
+
e = null, n();
|
|
16
|
+
}, o);
|
|
17
|
+
};
|
|
18
|
+
return u(l), { schedule: t, cancel: l };
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
r as useDeferredClick
|
|
22
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
/** @hidden */
|
|
9
|
+
export declare const POPOVER_COORDINATOR_KEY = "ksPopoverCoordinator";
|
|
10
|
+
/** @hidden */
|
|
11
|
+
export interface SchedulerPopoverCoordinator {
|
|
12
|
+
activate(close: () => void): void;
|
|
13
|
+
release(close: () => void): void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*
|
|
18
|
+
* Tracks the single open Scheduler popover (quick create or event overview).
|
|
19
|
+
*/
|
|
20
|
+
export declare const createPopoverCoordinator: () => SchedulerPopoverCoordinator;
|
|
21
|
+
/**
|
|
22
|
+
* @hidden
|
|
23
|
+
*
|
|
24
|
+
* Closes any other open Scheduler popover when `isOpen` becomes `true`, so the last interaction wins.
|
|
25
|
+
*/
|
|
26
|
+
export declare const useExclusivePopover: (isOpen: () => boolean, close: () => void) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),i="ksPopoverCoordinator",s=()=>{let r=null;return{activate(e){const o=r;r=e,o&&o!==e&&o()},release(e){r===e&&(r=null)}}},a=(r,e)=>{const o=t.inject(i,null);o&&(t.watch(r,n=>{n?o.activate(e):o.release(e)},{flush:"sync"}),t.onScopeDispose(()=>o.release(e)))};exports.POPOVER_COORDINATOR_KEY=i;exports.createPopoverCoordinator=s;exports.useExclusivePopover=a;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { inject as n, watch as i, onScopeDispose as s } from "vue";
|
|
9
|
+
const a = "ksPopoverCoordinator", l = () => {
|
|
10
|
+
let r = null;
|
|
11
|
+
return {
|
|
12
|
+
activate(e) {
|
|
13
|
+
const o = r;
|
|
14
|
+
r = e, o && o !== e && o();
|
|
15
|
+
},
|
|
16
|
+
release(e) {
|
|
17
|
+
r === e && (r = null);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}, u = (r, e) => {
|
|
21
|
+
const o = n(a, null);
|
|
22
|
+
o && (i(r, (t) => {
|
|
23
|
+
t ? o.activate(e) : o.release(e);
|
|
24
|
+
}, { flush: "sync" }), s(() => o.release(e)));
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
a as POPOVER_COORDINATOR_KEY,
|
|
28
|
+
l as createPopoverCoordinator,
|
|
29
|
+
u as useExclusivePopover
|
|
30
|
+
};
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
+
import { VNode } from 'vue';
|
|
8
9
|
import { IntlService } from '@progress/kendo-vue-intl';
|
|
9
10
|
/** @hidden */
|
|
11
|
+
export declare const renderRecurrenceSummary: (text: string, template: VNode | null) => VNode;
|
|
12
|
+
/** @hidden */
|
|
10
13
|
export declare function getRecurrenceSummary(recurrenceRule: string | null, start: Date, intl: IntlService, localizeMessage: (key: string, defaultMessage: string) => string): string;
|
|
@@ -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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("vue"),E=require("@progress/kendo-date-math"),a=require("../recurrence/common.js"),c=require("../messages/main.js"),f=new WeakMap,B=(t,n)=>{const o=f.get(t);if(!n.value){o==null||o.disconnect(),f.delete(t);return}const l=()=>{var u;t.title=((u=t.textContent)==null?void 0:u.trim())||""};if(l(),!o){const u=new MutationObserver(l);u.observe(t,{childList:!0,characterData:!0,subtree:!0}),f.set(t,u)}},N={mounted:B,updated:B,unmounted(t){var n;(n=f.get(t))==null||n.disconnect(),f.delete(t)}},j=(t,n)=>R.withDirectives(R.h("div",{class:"k-form-hint k-scheduler-recurrence-summary",title:n?void 0:t},[n||t]),[[N,!!n]]);function Y(t,n,o,l){var w,W,M,x,p,q;if(!t)return"";const u=(r,d)=>{const m=d?r:"scheduler.recurrenceEditor"+r;return l(m,c.messages[m])},e=a.getRule(t);if(!e.freq||e.freq==="never")return"";const C=a.getWeekDays(o),L=a.getExtendedWeekDays(o,u),k=a.getWeekDay(L,e,n),O=a.getMonths(o),g=a.getMonth(O,e),T=a.getOffsets(u),S=a.getOffset(T,e),b=a.getMonthDay(e,n),v=a.getRepeatOnRule(e),i=e.interval||1,y=(r,...d)=>{let m=l(r,c.messages[r]);return d.forEach((D,h)=>{m=m.replace(`{${h}}`,String(D))}),m};let s="";switch(e.freq){case"daily":s=y(c.recurrenceSummaryDaily,i);break;case"weekly":{const r=(e.byWeekDay||[]).map(({day:m})=>{var D;return(D=C.find(h=>h.value===m))==null?void 0:D.text}).filter(Boolean),d=r.length>0?r.join(", "):"";s=y(c.recurrenceSummaryWeekly,i,d);break}case"monthly":{if(v==="weekday"&&((w=e.byWeekDay)!=null&&w.length))s=y(c.recurrenceSummaryMonthlyByWeekDay,i,S.text.toLowerCase(),k.text.toLowerCase());else{const r=(M=(W=e.byMonthDay)==null?void 0:W[0])!=null?M:b;s=y(c.recurrenceSummaryMonthlyByDay,i,r)}break}case"yearly":{if(v==="weekday"&&((x=e.byWeekDay)!=null&&x.length))s=y(c.recurrenceSummaryYearlyByWeekDay,i,S.text.toLowerCase(),k.text.toLowerCase(),g.text);else{const r=(q=(p=e.byMonthDay)==null?void 0:p[0])!=null?q:b;s=y(c.recurrenceSummaryYearlyByDay,i,g.text,r)}break}}return e.count?s+=y(c.recurrenceSummaryCount,e.count):e.until&&(s+=y(c.recurrenceSummaryUntil,o.formatDate(E.toLocalDate(e.until),"D"))),s}exports.getRecurrenceSummary=Y;exports.renderRecurrenceSummary=j;
|