@progress/kendo-vue-scheduler 10.2.0-develop.10 → 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.
Files changed (156) hide show
  1. package/Scheduler.d.ts +157 -56
  2. package/Scheduler.js +1 -1
  3. package/Scheduler.mjs +242 -214
  4. package/components/EventOverviewPopover.d.ts +62 -0
  5. package/components/EventOverviewPopover.js +8 -0
  6. package/components/EventOverviewPopover.mjs +191 -0
  7. package/components/MoreEventsPopover.d.ts +3 -1
  8. package/components/MoreEventsPopover.js +1 -1
  9. package/components/MoreEventsPopover.mjs +31 -27
  10. package/components/SchedulerActionButtons.js +1 -1
  11. package/components/SchedulerActionButtons.mjs +1 -0
  12. package/components/SchedulerForm.d.ts +412 -2
  13. package/components/SchedulerForm.js +1 -1
  14. package/components/SchedulerForm.mjs +162 -60
  15. package/components/SchedulerQuickCreateForm.d.ts +118 -0
  16. package/components/SchedulerQuickCreateForm.js +8 -0
  17. package/components/SchedulerQuickCreateForm.mjs +249 -0
  18. package/constants/main.d.ts +2 -0
  19. package/constants/main.js +1 -1
  20. package/constants/main.mjs +10 -9
  21. package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
  22. package/editors/KeepResetCustomEventsDialog.d.ts +31 -0
  23. package/editors/KeepResetCustomEventsDialog.js +8 -0
  24. package/editors/KeepResetCustomEventsDialog.mjs +72 -0
  25. package/editors/SchedulerFormEditor.d.ts +151 -52
  26. package/editors/SchedulerFormEditor.js +1 -1
  27. package/editors/SchedulerFormEditor.mjs +192 -139
  28. package/editors/SchedulerRecurrenceDialog.d.ts +2 -2
  29. package/editors/SchedulerRecurrenceDialog.js +1 -1
  30. package/editors/SchedulerRecurrenceDialog.mjs +126 -131
  31. package/editors/ZonedSplitDateTime.d.ts +32 -3
  32. package/editors/ZonedSplitDateTime.js +1 -1
  33. package/editors/ZonedSplitDateTime.mjs +112 -47
  34. package/hooks/useCloseOnAnchorScrollOut.d.ts +10 -0
  35. package/hooks/useCloseOnAnchorScrollOut.js +8 -0
  36. package/hooks/useCloseOnAnchorScrollOut.mjs +43 -0
  37. package/hooks/useCustomEventsConfirmation.d.ts +20 -0
  38. package/hooks/useCustomEventsConfirmation.js +8 -0
  39. package/hooks/useCustomEventsConfirmation.mjs +48 -0
  40. package/hooks/useDeferredClick.d.ts +12 -0
  41. package/hooks/useDeferredClick.js +8 -0
  42. package/hooks/useDeferredClick.mjs +22 -0
  43. package/hooks/useExclusivePopover.d.ts +26 -0
  44. package/hooks/useExclusivePopover.js +8 -0
  45. package/hooks/useExclusivePopover.mjs +30 -0
  46. package/hooks/useRecurrenceSummary.d.ts +3 -0
  47. package/hooks/useRecurrenceSummary.js +1 -1
  48. package/hooks/useRecurrenceSummary.mjs +68 -41
  49. package/index.d.mts +4 -2
  50. package/index.d.ts +4 -2
  51. package/index.js +1 -1
  52. package/index.mjs +83 -78
  53. package/items/SchedulerEditItem.d.ts +116 -12
  54. package/items/SchedulerEditItem.js +1 -1
  55. package/items/SchedulerEditItem.mjs +212 -131
  56. package/items/SchedulerItem.d.ts +2 -1
  57. package/items/SchedulerItem.js +1 -1
  58. package/items/SchedulerItem.mjs +28 -23
  59. package/items/SchedulerProportionalViewItem.d.ts +1 -0
  60. package/items/SchedulerProportionalViewItem.js +1 -1
  61. package/items/SchedulerProportionalViewItem.mjs +83 -68
  62. package/items/SchedulerViewItem.d.ts +1 -0
  63. package/items/SchedulerViewItem.js +1 -1
  64. package/items/SchedulerViewItem.mjs +84 -75
  65. package/items/hooks/use-drag-item.js +1 -1
  66. package/items/hooks/use-drag-item.mjs +49 -48
  67. package/items/hooks/use-form-item.d.ts +1 -1
  68. package/items/hooks/use-remove-item.d.ts +1 -1
  69. package/items/hooks/use-resize-item.js +1 -1
  70. package/items/hooks/use-resize-item.mjs +74 -65
  71. package/messages/main.d.ts +42 -0
  72. package/messages/main.js +1 -1
  73. package/messages/main.mjs +303 -275
  74. package/models/InternalDataAction.d.ts +13 -0
  75. package/models/SchedulerView.d.ts +1 -1
  76. package/package-metadata.js +1 -1
  77. package/package-metadata.mjs +2 -2
  78. package/package.json +13 -12
  79. package/recurrence/RecurrenceEditor.js +1 -1
  80. package/recurrence/RecurrenceEditor.mjs +42 -42
  81. package/recurrence/common.d.ts +10 -0
  82. package/recurrence/common.js +1 -1
  83. package/recurrence/common.mjs +39 -35
  84. package/services/itemsService.d.ts +5 -2
  85. package/services/itemsService.js +1 -1
  86. package/services/itemsService.mjs +46 -33
  87. package/services/occurrenceService.js +1 -1
  88. package/services/occurrenceService.mjs +18 -18
  89. package/slots/SchedulerEditSlot.d.ts +70 -8
  90. package/slots/SchedulerEditSlot.js +1 -1
  91. package/slots/SchedulerEditSlot.mjs +222 -141
  92. package/slots/SchedulerSlot.js +1 -1
  93. package/slots/SchedulerSlot.mjs +20 -16
  94. package/slots/SchedulerViewSlot.d.ts +3 -0
  95. package/slots/SchedulerViewSlot.js +1 -1
  96. package/slots/SchedulerViewSlot.mjs +21 -15
  97. package/tasks/SchedulerEditTask.d.ts +13 -2
  98. package/tasks/SchedulerEditTask.js +1 -1
  99. package/tasks/SchedulerEditTask.mjs +45 -30
  100. package/utils/main.d.ts +27 -0
  101. package/utils/main.js +1 -1
  102. package/utils/main.mjs +172 -136
  103. package/views/agenda/AgendaView.d.ts +6 -2
  104. package/views/agenda/AgendaView.js +1 -1
  105. package/views/agenda/AgendaView.mjs +31 -29
  106. package/views/agenda/AgendaViewBody.d.ts +3 -3
  107. package/views/agenda/AgendaViewBody.js +1 -1
  108. package/views/agenda/AgendaViewBody.mjs +31 -29
  109. package/views/common/SchedulerDrag.d.ts +4 -2
  110. package/views/common/SchedulerDrag.js +1 -1
  111. package/views/common/SchedulerDrag.mjs +8 -7
  112. package/views/common/SchedulerResize.d.ts +4 -2
  113. package/views/common/SchedulerResize.js +1 -1
  114. package/views/common/SchedulerResize.mjs +14 -12
  115. package/views/common/VerticalResourceIterator.d.ts +3 -3
  116. package/views/common/VerticalResourceIterator.js +1 -1
  117. package/views/common/VerticalResourceIterator.mjs +34 -33
  118. package/views/day/DayView.d.ts +2 -0
  119. package/views/day/DayView.js +1 -1
  120. package/views/day/DayView.mjs +9 -7
  121. package/views/day/DayViewAllDaySlots.d.ts +7 -5
  122. package/views/day/DayViewAllDaySlots.js +1 -1
  123. package/views/day/DayViewAllDaySlots.mjs +24 -21
  124. package/views/day/DayViewMiddleRow.d.ts +7 -5
  125. package/views/day/DayViewMiddleRow.js +1 -1
  126. package/views/day/DayViewMiddleRow.mjs +18 -13
  127. package/views/day/DayViewVerticalRow.d.ts +7 -5
  128. package/views/day/DayViewVerticalRow.js +1 -1
  129. package/views/day/DayViewVerticalRow.mjs +23 -17
  130. package/views/day/DayViewVerticalSlotsRow.d.ts +7 -5
  131. package/views/day/DayViewVerticalSlotsRow.js +1 -1
  132. package/views/day/DayViewVerticalSlotsRow.mjs +34 -29
  133. package/views/day/MultiDayView.d.ts +13 -7
  134. package/views/day/MultiDayView.js +1 -1
  135. package/views/day/MultiDayView.mjs +108 -95
  136. package/views/month/MonthView.d.ts +15 -4
  137. package/views/month/MonthView.js +1 -1
  138. package/views/month/MonthView.mjs +105 -68
  139. package/views/month/MonthViewBody.d.ts +3 -3
  140. package/views/month/MonthViewBody.js +1 -1
  141. package/views/month/MonthViewBody.mjs +18 -16
  142. package/views/time/MultiDayTimelineView.d.ts +6 -4
  143. package/views/time/MultiDayTimelineView.js +1 -1
  144. package/views/time/MultiDayTimelineView.mjs +64 -63
  145. package/views/time/TimelineView.d.ts +2 -0
  146. package/views/time/TimelineView.js +1 -1
  147. package/views/time/TimelineView.mjs +5 -3
  148. package/views/time/TimelineViewBody.d.ts +7 -5
  149. package/views/time/TimelineViewBody.js +1 -1
  150. package/views/time/TimelineViewBody.mjs +29 -27
  151. package/views/week/WeekView.d.ts +2 -0
  152. package/views/week/WeekView.js +1 -1
  153. package/views/week/WeekView.mjs +11 -10
  154. package/views/week/WorkWeekView.d.ts +2 -0
  155. package/views/week/WorkWeekView.js +1 -1
  156. package/views/week/WorkWeekView.mjs +17 -16
@@ -12,4 +12,4 @@
12
12
  * Licensed under commercial license. See LICENSE.md in the package root for more information
13
13
  *-------------------------------------------------------------------------------------------
14
14
  */
15
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-date-math"),require("@progress/kendo-vue-common"),require("@progress/kendo-data-query"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-intl"),require("@progress/kendo-vue-dateinputs"),require("@progress/kendo-vue-popup"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-dialogs"),require("@progress/kendo-vue-form"),require("@progress/kendo-vue-labels"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-recurrence"),require("@progress/kendo-vue-dropdowns"),require("@progress/kendo-vue-tooltip")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-date-math","@progress/kendo-vue-common","@progress/kendo-data-query","@progress/kendo-vue-buttons","@progress/kendo-vue-intl","@progress/kendo-vue-dateinputs","@progress/kendo-vue-popup","@progress/kendo-svg-icons","@progress/kendo-vue-dialogs","@progress/kendo-vue-form","@progress/kendo-vue-labels","@progress/kendo-vue-inputs","@progress/kendo-recurrence","@progress/kendo-vue-dropdowns","@progress/kendo-vue-tooltip"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueScheduler={},e.Vue,e.KendoDateMath,e.KendoVueCommon,e.KendoDataQuery,e.KendoVueButtons,e.KendoVueIntl,e.KendoVueDateinputs,e.KendoVuePopup,e.KendoSVGIcons,e.KendoVueDialogs,e.KendoVueForm,e.KendoVueLabels,e.KendoVueInputs,e.KendoRecurrence,e.KendoVueDropdowns,e.KendoVueTooltip)}(this,function(e,t,i,r,s,o,n,a,l,d,c,h,u,p,m,g,f){"use strict";const v=(e,t=0,i=0,r=[])=>{if(e.length<=t)return[r];const s=[];return e[t].data.map(o=>{s.push(...v(e,t+1,i+1,[...r,{...o,field:e[t].field,valueField:e[t].valueField,colorField:e[t].colorField,multiple:e[t].multiple}]))}),s};function y(e,t){const i=[];if(!t||!t.length)return i;if(e&&e.resources&&e.resources.length){const r=e.resources;for(let e=0;e<r.length;e++){const s=t.find(t=>t.name===r[e]);i.push(s)}}return i}const k=(e,t=e.length-1)=>{const i=Math.max(0,t),r=[];e&&e.length||(e=[{}]);const s=(e[i].data||[]).map(t=>({...t,text:t[e[i].textField]}))||[],o=s.length;let n=1;for(let t=0;t<=i;t++)n*=(e[t].data||[]).length||1;for(let e=0;e<n;e++)s[e%o]&&r.push(s[e%o]);return r},S=e=>{if(!e)return{top:0,left:0,width:0,height:0,right:0};return{top:e.offsetTop,left:e.offsetLeft,right:e.offsetParent?e.offsetParent.offsetWidth-(e.offsetLeft+e.offsetWidth):0,width:e.offsetWidth,height:e.offsetHeight}},D=(e,t=!1)=>r.canUseDOM?parseFloat(window.getComputedStyle(e)[t?"paddingLeft":"paddingTop"]||"0")+parseFloat(window.getComputedStyle(e)[t?"paddingRight":"paddingBottom"]||"0"):0,b=(e,t,i=!1)=>{e&&(void 0!==t.top&&(e.style.top=`${t.top}px`),void 0!==t.left&&(e.style.left=`${t.left}px`),void 0!==t.width&&(e.style.width=`${t.width}px`),void 0!==t.height&&!i&&(e.style.height="number"==typeof t.height?`${t.height}px`:t.height),i&&(e.style.minHeight=void 0!==t.height&&t.height>0?`${t.height}px`:""))};var w=(e=>(e[e.add=0]="add",e[e.remove=1]="remove",e))(w||{});const I=new WeakMap,R=()=>{const e=t.ref(!1);return t.onMounted(()=>{e.value=!0}),t=>e.value?(e=>{if(!e||"undefined"==typeof document||!document.body||!document.defaultView)return e;const t=document;let i=I.get(t);i||(i=new Map,I.set(t,i),queueMicrotask(()=>I.delete(t)));const r=i.get(e);if(void 0!==r)return r;const s=t.createElement("span");s.className="k-event",Object.assign(s.style,{position:"fixed",visibility:"hidden",pointerEvents:"none",width:"0",height:"0"}),s.style.setProperty("--kendo-scheduler-event-color",e),t.body.append(s);try{const r=t.defaultView.getComputedStyle(s).backgroundColor;return i.set(e,r),r}finally{s.remove()}})(t):t},$=e=>e[0],C=e=>e[e.length-1],E=e=>{const t=new Set;return e.forEach(e=>{t.add(e.field)}),t.size===e.length};function z(e,t,i,r,s="all day"){const o={skeleton:"yMMMMEEEEdhm"},n={skeleton:"yMMMMEEEEd"},a=t.getFullYear()===i.getFullYear()&&t.getMonth()===i.getMonth()&&t.getDate()===i.getDate();if(r){const r=0===i.getHours()&&0===i.getMinutes()&&0===i.getSeconds()&&i.getTime()-t.getTime()===864e5;return a||r?`${e.formatDate(t,n)} (${s})`:`${e.formatDate(t,n)} to ${e.formatDate(i,n)} (${s})`}return a?`${e.formatDate(t,o)}–${e.formatDate(i,"t")}`:`${e.formatDate(t,o)}-${e.formatDate(i,o)}`}const N=(e,t,i,r=0)=>{if(r===i)return null;let s=null;const o=document.elementFromPoint(e,t);if(!o)return s;if("true"===o.getAttribute("data-slot"))return o;{const n=o.style.pointerEvents;o.style.pointerEvents="none",s=N(e,t,i,r+1),o.style.pointerEvents=n}return s},T=(e,t)=>r.getter(t)(e),O=(e,t,i)=>{if(t)return r.setter(t)(e,i)},V=e=>null!=e;function x(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}const F=(e,t,i)=>{const r=A(e,t)?T(e,t.id):T(e,t.recurrenceId);return i.find(e=>T(e,t.id)===r)},A=(e,t)=>{const i=T(e,t.id),r=T(e,t.recurrenceId),s=T(e,t.recurrenceRule);return!(!i||!s||null!=r)},M=(e,t)=>Math.max(e.getTime(),t.getTime()),j=(e,t)=>Math.min(e.getTime(),t.getTime()),L=(e,t,i,r,s=!1)=>s?M(t,r)-j(e,i)<=t.getTime()-e.getTime()+(r.getTime()-i.getTime()):M(t,r)-j(e,i)<t.getTime()-e.getTime()+(r.getTime()-i.getTime()),B={id:"id",start:"start",startTimezone:"startTimezone",originalStart:"originalStart",end:"end",endTimezone:"endTimezone",isAllDay:"isAllDay",title:"title",description:"description",recurrenceRule:"recurrenceRule",recurrenceId:"recurrenceId",recurrenceExceptions:"recurrenceExceptions",readonly:"readonly"},W=e=>({fields:{...B,...e}}),H=(e,t,i)=>(t.getHours()<e.getHours()||t.getHours()===e.getHours()&&t.getMinutes()<=e.getMinutes())&&(e.getHours()<i.getHours()||i.getHours()===e.getHours()&&e.getMinutes()<i.getMinutes()),P=(e,t)=>{const i=y(e,t),r=v(i);return 1===r.length?[{index:0,resources:(t||[]).reduce((e,t)=>[...e,...t.data.map(e=>({...e,field:t.field,valueField:t.valueField,colorField:t.colorField,multiple:t.multiple}))],[])}]:r.map((e,t)=>({index:t,resources:e}))},_=e=>{let t=0;const i=e.slice();return i.sort((e,t)=>e-t).forEach((e,r)=>{i[r]===r&&(t=r+1)}),t},K=(e,t,i=!1)=>{e.forEach(e=>{e.order=null}),t.forEach(e=>{const t=e.cSlot?e.cSlot:e;t.items.splice(0,t.items.length)});const r=[...e].sort((e,t)=>e.start.getTime()-t.start.getTime());t.forEach(e=>{const t=e.cSlot?e.cSlot:e,s=[];r.forEach(e=>{if((i||e.isAllDay===t.isAllDay)&&e.range.index===t.range.index&&(void 0===e.range.isAllDay||void 0===t.range.isAllDay||e.range.isAllDay===t.range.isAllDay)&&e.group.index===t.group.index&&L(e.start,e.end,t.start,t.end)){if(null!==e.order&&void 0!==e.order)s.includes(e.order)||(s.push(e.order),s.sort((e,t)=>e-t));else{const t=_(s);e.order=t,s.push(t),s.sort((e,t)=>e-t)}t.items.push(e)}})})},q=(e,t,i=!1)=>{e.forEach(e=>e.slots.splice(0,e.slots.length)),e.forEach(e=>{t.forEach(t=>{const r=t.cSlot?t.cSlot:t;(i||e.isAllDay===r.isAllDay)&&e.range.index===r.range.index&&(void 0===e.range.isAllDay||void 0===r.range.isAllDay||e.range.isAllDay===r.range.isAllDay)&&e.group.index===r.group.index&&L(e.start,e.end,r.start,r.end)&&e.slots.push(t)})})},U=(e,t,i)=>!(e.uid!==t.uid||void 0!==e.occurrenceId&&e.occurrenceId!==t.occurrenceId||e.group.index!==t.group.index||e.range.index!==t.range.index||!i&&e.isAllDay!==t.isAllDay),G=(e,t)=>{const i=e.filter(e=>null!==e.element);return s.orderBy(i,[{field:"group.index",dir:"asc"},{field:"range.index",dir:"asc"},t?{field:""}:{field:"isAllDay",dir:"desc"},{field:"start",dir:"asc"}])},Z=(e,t)=>e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()&&e.index===t.index&&e.group.index===t.group.index&&e.range.index===t.range.index&&e.isAllDay===t.isAllDay,Y=(e,t,i=!1)=>{const r=e,s=G(t,i);return{currentIndex:s.findIndex(e=>U(e,r,i)),sorted:s}},X=(e,t,i=!1)=>{if(!e||!t)return null;const{currentIndex:r,sorted:s}=Y(e,t,i)||{};return s[r]},Q=(e,t,i=!1,r=!1)=>{const{currentIndex:s,sorted:o}=Y(e,t,i);return o[s+(r?-1:1)]},J=(e,t)=>(e.order||0)-(t.order||0);const ee=t.defineComponent({name:"KendoSchedulerHeader",props:{ariaLabel:String},render(){const e=r.getDefaultSlots(this);return t.createVNode(o.Toolbar,{overflow:"none",class:"k-scheduler-toolbar",ariaLabel:this.ariaLabel},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]})}});const te=t.defineComponent({name:"KendoSchedulerFooter",render(){const e=r.getDefaultSlots(this);return t.createVNode(o.Toolbar,{overflow:"none",class:"k-scheduler-footer",style:{boxShadow:"none"}},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]})}}),ie=t.defineComponent({name:"KendoNavigationDatePicker",props:{value:[Date,Object],onChange:Function,level:{type:Number,default:0}},inject:{kendoIntlService:{default:null},ks:{default:null}},created(){this.buttonId=r.guid(),this._popupId="popup"+r.guid()},data:()=>({hasMounted:!1,show:!1,focused:!1}),mounted(){this.buttonRef=this.$refs.button,this.hasMounted=!0},updated(){this.show&&this.focused&&this.$refs.calendar&&this.$refs.calendar.focus()},render(){const e=i.ZonedDate.fromLocalDate(this.$props.value||this.ks.currentDate,this.ks.timezone),r=i.getDate(e),s=this.show,c=this.ks.dateRange.end.getTime()-this.ks.dateRange.start.getTime()>27*i.MS_PER_DAY,h=n.provideIntlService(this),u=h.format(this.ks.dateFormat,c?this.ks.currentDate:this.ks.dateRange.zonedStart,c?this.ks.currentDate:this.ks.dateRange.zonedEnd.addDays(-1)),p=h.format(this.ks.shortDateFormat,c?this.ks.currentDate:this.ks.dateRange.zonedStart,c?this.ks.currentDate:this.ks.dateRange.zonedEnd.addDays(-1));return t.createVNode(o.Button,{ref:"button",id:this.buttonId,onFocus:this.onFocus,onBlur:this.onBlur,fillMode:"flat",class:"k-nav-current k-toolbar-button","aria-live":"polite",tabIndex:-1,icon:"calendar",svgIcon:d.calendarIcon,onClick:this.handleClick},{default:()=>[this.$props.level>=2?p:u,t.createVNode(l.Popup,{id:this._popupId,anchor:this.buttonId,show:s},{default:()=>[this.hasMounted&&t.createVNode(a.Calendar,{ref:"calendar",onBlur:this.onCalendarBlur,onChange:this.handleChange,onKeydown:this.calendarKeydown,value:r},null)]})]})},methods:{handleChange(e){const t=i.ZonedDate.fromUTCDate(x(e.value),this.ks.timezone);this.$emit("change",{...e,value:t}),this.hideAndFocusButton()},handleClick(){this.show=!this.show},onFocus(){clearTimeout(this._blurTimeout),this.focused=!0},onBlur(){this.focused=!1},onCalendarBlur(){clearTimeout(this._blurTimeout),this.createBlurTimeout()},createBlurTimeout(){const e=this;this._blurTimeout=setTimeout(()=>{this.focused=!1;const t=document.activeElement&&document.activeElement.closest(`#${e._popupId}`);r.canUseDOM&&document.activeElement!==e.$refs.button.$el&&!t&&(e.show=!1)},200)},calendarKeydown(e){e.keyCode===r.Keys.esc&&this.hideAndFocusButton()},hideAndFocusButton(){this.show=!1,this.$refs.button.focus()}}}),re="scheduler.allEvents",se="scheduler.allDay",oe="scheduler.today",ne="scheduler.dropdownlistSelectViewAriaLabel",ae="scheduler.timelineViewTitle",le="scheduler.weekViewTitle",de="scheduler.workWeekViewTitle",ce="scheduler.agendaViewTitle",he="scheduler.dayViewTitle",ue="scheduler.monthViewTitle",pe="scheduler.deleteTitle",me="scheduler.previousTitle",ge="scheduler.nextTitle",fe="scheduler.showFullDay",ve="scheduler.showWorkDay",ye="scheduler.editOccurrence",ke="scheduler.editSeries",Se="scheduler.editRecurringConfirmation",De="scheduler.editRecurringDialogTitle",be="scheduler.editSave",we="scheduler.editCancel",Ie="scheduler.editorTitle",Re="scheduler.editorEventTitle",$e="scheduler.editorEventStart",Ce="scheduler.editorEventStartTimeZone",Ee="scheduler.editorEventEnd",ze="scheduler.editorEventEndTimeZone",Ne="scheduler.editorEventAllDay",Te="scheduler.editorEventDescription",Oe="scheduler.editorEventSeparateTimeZones",Ve="scheduler.editorEventTimeZone",xe="scheduler.recurrenceEditorRepeat",Fe="scheduler.recurrenceEditorDailyInterval",Ae="scheduler.recurrenceEditorDailyRepeatEvery",Me="scheduler.recurrenceEditorWeeklyInterval",je="scheduler.recurrenceEditorWeeklyRepeatEvery",Le="scheduler.recurrenceEditorWeeklyRepeatOn",Be="scheduler.recurrenceEditorMonthlyDay",We="scheduler.recurrenceEditorMonthlyInterval",He="scheduler.recurrenceEditorMonthlyRepeatEvery",Pe="scheduler.recurrenceEditorMonthlyRepeatOn",_e="scheduler.recurrenceEditorYearlyOf",Ke="scheduler.recurrenceEditorYearlyRepeatEvery",qe="scheduler.recurrenceEditorYearlyRepeatOn",Ue="scheduler.recurrenceEditorYearlyInterval",Ge="scheduler.recurrenceEditorFrequenciesDaily",Ze="scheduler.recurrenceEditorFrequenciesMonthly",Ye="scheduler.recurrenceEditorFrequenciesNever",Xe="scheduler.recurrenceEditorFrequenciesWeekly",Qe="scheduler.recurrenceEditorFrequenciesYearly",Je="scheduler.recurrenceEditorOffsetPositionsFirst",et="scheduler.recurrenceEditorOffsetPositionsSecond",tt="scheduler.recurrenceEditorOffsetPositionsThird",it="scheduler.recurrenceEditorOffsetPositionsFourth",rt="scheduler.recurrenceEditorOffsetPositionsLast",st="scheduler.recurrenceEditorWeekdaysDay",ot="scheduler.recurrenceEditorWeekdaysWeekday",nt="scheduler.recurrenceEditorWeekdaysWeekendday",at="scheduler.recurrenceEditorEndAfter",lt="scheduler.recurrenceEditorEndOccurrence",dt="scheduler.recurrenceEditorEndLabel",ct="scheduler.recurrenceEditorEndNever",ht="scheduler.recurrenceEditorEndOn",ut="scheduler.editorDelete",pt="scheduler.deleteConfirmation",mt="scheduler.deleteRecurringConfirmation",gt="scheduler.deleteOccurrence",ft="scheduler.deleteSeries",vt="scheduler.deleteDialogTitle",yt="scheduler.deleteSeriesConfirmation",kt="scheduler.deleteSeriesDialogTitle",St="scheduler.deleteRecurringDialogTitle",Dt="scheduler.dateTitle",bt="scheduler.timeTitle",wt="scheduler.eventTitle",It="scheduler.editorValidationRequired",Rt="scheduler.editorValidationStart",$t="scheduler.editorValidationEnd",Ct="scheduler.noEvents",Et="scheduler.popoverEvents",zt="scheduler.moreEvents",Nt="scheduler.moreEventsCount",Tt="scheduler.newEvent",Ot="scheduler.newEventLabel",Vt="scheduler.editorTitleNew",xt="scheduler.editorEventTimeZoneReset",Ft="scheduler.editorEventDescriptionPlaceholder",At="scheduler.editorEventDateRangeSeparator",Mt="scheduler.editorEventDateRangeStart",jt="scheduler.editorNewEvent",Lt="scheduler.editorEditEvent",Bt="scheduler.editorRecurrenceMakeRecurring",Wt="scheduler.editorRecurrenceEdit",Ht="scheduler.editorRecurrenceDialogTitle",Pt="scheduler.editorRecurrenceRemove",_t="scheduler.removeRecurrenceConfirmation",Kt="scheduler.removeRecurrenceNo",qt="scheduler.removeRecurrenceYes",Ut="scheduler.recurrenceEditorStartsOn",Gt="scheduler.recurrenceEditorRepeatsEveryDay",Zt="scheduler.recurrenceEditorRepeatsEveryDays",Yt="scheduler.recurrenceEditorRepeatsEveryWeek",Xt="scheduler.recurrenceEditorRepeatsEveryWeeks",Qt="scheduler.recurrenceEditorRepeatsEveryMonth",Jt="scheduler.recurrenceEditorRepeatsEveryMonths",ei="scheduler.recurrenceEditorRepeatsEveryYear",ti="scheduler.recurrenceEditorRepeatsEveryYears",ii="scheduler.recurrenceEditorRepeatsAnd",ri="scheduler.recurrenceEditorRepeatsMonthDay",si="scheduler.recurrenceEditorRepeatsWeekDayPosition",oi="scheduler.recurrenceEditorRepeatsYearlyMonthDay",ni="scheduler.recurrenceEditorRepeatsYearlyWeekDayPosition",ai="scheduler.recurrenceEditorRepeatsAfter",li="scheduler.recurrenceEditorRepeatsUntil",di="scheduler.recurrenceEditorEndsAfterOccurrences",ci="scheduler.recurrenceSummaryDaily",hi="scheduler.recurrenceSummaryWeekly",ui="scheduler.recurrenceSummaryMonthlyByDay",pi="scheduler.recurrenceSummaryMonthlyByWeekDay",mi="scheduler.recurrenceSummaryYearlyByDay",gi="scheduler.recurrenceSummaryYearlyByWeekDay",fi="scheduler.recurrenceSummaryCount",vi="scheduler.recurrenceSummaryUntil",yi="scheduler.resetTimezoneDialogTitle",ki="scheduler.resetTimezoneConfirmation",Si="scheduler.resetTimezoneNo",Di="scheduler.resetTimezoneYes",bi="scheduler.editorStartTimeAriaLabel",wi="scheduler.editorEndTimeAriaLabel",Ii="scheduler.editorTimezoneButton",Ri="scheduler.editorSetTimezoneTitle",$i="scheduler.editorResetTimezoneTitle",Ci="scheduler.editorResetTimezoneAriaLabel",Ei="scheduler.editorDateConnectorFrom",zi="scheduler.editorDateConnectorTo",Ni="scheduler.recurrenceEditorWeeklyRepeatOnDays",Ti="scheduler.recurrenceSummaryOnThe",Oi="scheduler.recurrenceSummaryEnding",Vi="scheduler.toolbarLabel",xi={[It]:"Field is required.",[Rt]:"Start time must be before End time.",[$t]:"End time must be after Start time.",[re]:"All events",[se]:"all day",[oe]:"Today",[ne]:"Select View",[he]:"Day",[ue]:"Month",[le]:"Week",[de]:"Work Week",[ae]:"Timeline",[ce]:"Agenda",[pe]:"Delete",[me]:"Previous",[ge]:"Next",[fe]:"Show full day",[ve]:"Show business hours",[ye]:"Edit current occurrence",[ke]:"Edit the series",[Se]:"Do you want to edit only this event occurrence or the whole series?",[De]:"Edit Recurring Item",[be]:"Save",[we]:"Cancel",[ut]:"Delete",[Ie]:"Event",[Re]:"Title",[$e]:"Start",[Ce]:"Start Time Zone",[Ee]:"End",[ze]:"End Time Zone",[Ne]:"All Day",[Te]:"Description",[Oe]:"End in different Time Zone",[Ve]:"Specify Time Zone",[xe]:"Repeats every",[Fe]:"day(s)",[Ae]:"Repeats every",[Me]:"week(s)",[je]:"Repeats every",[Le]:"On",[Be]:"Day",[We]:"month(s)",[He]:"Repeats every",[Pe]:"On",[_e]:"of",[Ke]:"Repeats every",[qe]:"On",[Ue]:"year(s)",[Ge]:"Day",[Ze]:"Month",[Ye]:"Never",[Xe]:"Week",[Qe]:"Year",[Je]:"First",[et]:"Second",[tt]:"Third",[it]:"Fourth",[rt]:"Last",[st]:"Day",[ot]:"Weekday",[nt]:"Weekend Day",[at]:"After",[lt]:"occurrence(s)",[dt]:"Ends",[ct]:"Never",[ht]:"On",[pt]:"Are you sure you want to delete this event?",[mt]:"Do you want to delete only this event occurrence or the whole series?",[gt]:"Delete current occurrence",[ft]:"Delete the series",[vt]:"Delete Event",[yt]:"Are you sure you want to delete this series?",[kt]:"Delete Series",[St]:"Delete Recurring Item",[Dt]:"Date",[bt]:"Time",[wt]:"Event",[Ct]:"no events",[Et]:"Events",[zt]:"more",[Nt]:"{0} more",[Tt]:"New Event",[Ot]:"Create new event",[Vt]:"New Event",[xt]:"Reset Time Zone",[Ft]:"Add a description",[At]:"to",[Mt]:"from",[jt]:"New event",[Lt]:"Edit event",[Bt]:"Make recurring",[Wt]:"Edit recurrence",[Ht]:"Recurrence",[Pt]:"Remove recurrence",[_t]:"Do you want to remove the recurrence?",[Kt]:"No",[qt]:"Yes",[Ut]:"Starts on",[Gt]:"Repeats every {0} day",[Zt]:"Repeats every {0} days",[Yt]:"Repeats every {0} week",[Xt]:"Repeats every {0} weeks",[Qt]:"Repeats every {0} month",[Jt]:"Repeats every {0} months",[ei]:"Repeats every {0} year",[ti]:"Repeats every {0} years",[ii]:"and",[ri]:"on day {0}",[si]:"on the {0} {1}",[oi]:"on {0} {1}",[ni]:"on the {0} {1} of {2}",[ai]:"after {0} occurrence(s)",[li]:"until {0}",[di]:"{0} occurrence(s)",[ci]:"Repeats every {0} day(s)",[hi]:"Repeats every {0} week(s) on {1}",[ui]:"Repeats every {0} month(s) on day {1}",[pi]:"Repeats every {0} month(s) on the {1} {2}",[mi]:"Repeats every {0} year(s) on {1} {2}",[gi]:"Repeats every {0} year(s) on the {1} {2} of {3}",[fi]:", {0} time(s)",[vi]:", until {0}",[yi]:"Reset Time Zone",[ki]:"Do you want to remove the time zone settings?",[Si]:"No",[Di]:"Yes",[bi]:"Start time",[wi]:"End time",[Ii]:"Time zone",[Ri]:"Set time zone",[$i]:"Reset time zone",[Ci]:"Reset time zone",[Ei]:"from",[zi]:"to",[Ni]:"Repeat on days",[Ti]:"on the",[Oi]:", ending",[Vi]:"Toolbar"},Fi=t.defineComponent({name:"KendoViewSelectorList",props:{level:{type:Number,default:0}},inject:{kendoLocalizationService:{default:null},ks:{default:null},setActiveViewName:{default:null}},render(){const e=this.ks.views;this.localization=n.provideLocalizationService(this);const i=e.find(e=>e.name===this.ks.activeViewName);if(this.$props.level>=1&&i){const s="scheduler."+i.name+"ViewTitle",n=this.localization.toLanguageString(s,xi[s])||i.name;return t.createVNode(o.DropDownButton,{class:"k-toolbar-menu-button",fillMode:"flat",onItemclick:this.handleItemClick,popupSettings:{popupClass:"k-scheduler-toolbar"},textField:"title",items:e.map(e=>{const t="scheduler."+e.name+"ViewTitle",i=this.localization.toLanguageString(t,xi[t])||e.name;return{...e,selected:e.name===this.ks.activeViewName,title:e.title||i}}),text:i.title||n},{default:()=>[t.createVNode("span",{class:"k-menu-button-arrow k-button-arrow"},[t.createVNode(r.SvgIcon,{icon:d.chevronDownIcon},null)])]})}const s=e.map(e=>{const t="scheduler."+e.name+"ViewTitle",i=this.localization.toLanguageString(t,xi[t])||e.name;return{value:e.name,text:e.title||i}});return t.createVNode(o.SegmentedControl,{class:"k-scheduler-views",items:s,value:this.ks.activeViewName,onChange:this.handleViewChange},null)},methods:{handleViewChange(e){this.setActiveViewName(e)},handleItemClick(e){this.setActiveViewName&&(e.event&&e.event.preventDefault(),this.setActiveViewName(e.item.name))}}});const Ai=t.defineComponent({name:"KendoBusinessHours",emits:{click:null},inject:{ks:{default:null},kendoLocalizationService:{default:null}},props:{slotDuration:Number},render(){let e;const i=r.getDefaultSlots(this);return this.localization=n.provideLocalizationService(this),this.slotDuration&&this.slotDuration<1440?i||t.createVNode(o.Button,{tabIndex:-1,class:"k-toolbar-button k-scheduler-fullday",svgIcon:d.clockIcon,onClick:this.handleShowWorkHoursClick},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e=this.localization.toLanguageString(this.ks.showWorkHours?fe:ve,xi[this.ks.showWorkHours?fe:ve]))?e:{default:()=>[e]}):null},methods:{handleShowWorkHoursClick(e){this.$emit("click",e)}}}),Mi={name:"@progress/kendo-vue-scheduler",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1645190650,version:"10.2.0-develop.10",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};let ji=function(e){return e.select="ITEMS_SELECT_SELECT",e.selectNext="ITEMS_SELECT_SELECT_NEXT",e.selectPrev="ITEMS_SELECT_SELECT_PREV",e.reset="ITEMS_SELECT_RESET",e.add="ITEMS_SELECT_ADD",e.remove="ITEMS_SELECT_REMOVE",e}({});const Li=function(e,t){switch(e.type){case ji.select:if(!e.item)return;this.bv.selectedItems=[e.item];break;case ji.selectNext:{if(!e.item||!this.bv.items)return;const i=Q(e.item,this.bv.items,e.ignoreIsAllDay,!1);i&&(t.preventDefault(),this.bv.selectedItems=[i]);break}case ji.selectPrev:{if(!e.item||!this.bv.items)return;const i=Q(e.item,this.bv.items,e.ignoreIsAllDay,!0);i&&(t.preventDefault(),this.bv.selectedItems=[i]);break}case ji.reset:this.bv.selectedItems=[];break;case ji.add:if(!e.item)return;this.bv.selectedItems.some(t=>t===e.item)||(this.bv.selectedItems=[...this.bv.selectedItems,e.item]);break;case ji.remove:if(!e.item)return;this.bv.selectedItems=[...this.bv.selectedItems.filter(t=>t!==e.item)]}};let Bi=function(e){return e.select="SLOTS_SELECT_SELECT",e.reset="SLOTS_SELECT_RESET",e.add="SLOTS_SELECT_ADD",e}({});const Wi=function(e){switch(e.type){case Bi.select:if(!e.slot)return;this.bv.selectedSlots=[e.slot];break;case Bi.reset:this.bv.selectedSlots=[];break;case Bi.add:if(!e.slot)return;this.bv.selectedSlots.some(t=>t===e.slot)||(this.bv.selectedSlots=[...this.bv.selectedSlots,e.slot])}};let Hi=function(e){return e.up="SLOT_FOCUS_UP",e.down="SLOT_FOCUS_DOWN",e.left="SLOT_FOCUS_LEFT",e.right="SLOT_FOCUS_RIGHT",e}({});const Pi=function(e,t){switch(e.type){case Hi.up:{if(!e.slot||!this.bv.slots)return;const i=_i(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}case Hi.down:{if(!e.slot||!this.bv.slots)return;const i=Ui(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}case Hi.left:{if(!e.slot||!this.bv.slots)return;const i=Ki(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}case Hi.right:{if(!e.slot||!this.bv.slots)return;const i=qi(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}}},_i=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row-1&&t.cSlot.col===e.$props.col),Ki=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row&&t.cSlot.col===e.$props.col-1),qi=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row&&t.cSlot.col===e.$props.col+1),Ui=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row+1&&t.cSlot.col===e.$props.col);let Gi=function(e){return e.current="ITEMS_FOCUS_CURRENT",e.next="ITEMS_FOCUS_NEXT",e.prev="ITEMS_FOCUS_PREV",e}({});const Zi=function(e,t){switch(e.type){case Gi.current:{if(!e.item||!this.bv.items)return;const i=X(e.item,this.bv.items,e.ignoreIsAllDay);i&&i.element&&(t.preventDefault(),i.element.focus());break}case Gi.next:{if(!e.item||!this.bv.items)return;const i=Q(e.item,this.bv.items,e.ignoreIsAllDay,!1);i&&i.element&&(t.preventDefault(),i.element.focus());break}case Gi.prev:{if(!e.item||!this.bv.items)return;const i=Q(e.item,this.bv.items,e.ignoreIsAllDay,!0);i&&i.element&&(t.preventDefault(),i.element.focus());break}}},Yi=e=>{const{element:t}=e;(()=>{if(!t)return;let i=[],s=[],o=[];const n=t.querySelectorAll(e.selector);n.forEach(t=>{const n=t.getBoundingClientRect().width,a=e.explicitDepth&&void 0!==e.attribute?t.getAttribute(e.attribute):0,l=D(t,!0),d=((e,t=!1)=>r.canUseDOM?parseFloat(window.getComputedStyle(e)[t?"borderLeftWidth":"borderTopWidth"]||"0")+parseFloat(window.getComputedStyle(e)[t?"borderRightWidth":"borderBottomWidth"]||"0"):0)(t,!0);null!==a&&((!o[a]||d>o[a])&&(o[a]=d),(!s[a]||l>s[a])&&(s[a]=l),(!i[a]||n>i[a])&&(i[a]=n))}),n.forEach(t=>{const r=e.explicitDepth?t.getAttribute(e.attribute):0;null!==r&&(t.style.minWidth=i[r]-s[r]-o[r]+"px")})})()},Xi=t.defineComponent({name:"KendoBaseView",inheritAttrs:!1,props:{viewProps:Object,baseSlots:Array,ranges:Array,id:String,isAgendaView:{type:Boolean,default:!1}},provide(){return{bv:this.bv,setItems:this.dispatchItems,setSlots:this.dispatchSlots,dispatchSelectedSlots:this.handleSchedulerSlotsSelectAction,dispatchSelectedItems:this.handleSchedulerItemsSelectAction,dispatchFocusedItems:this.setFocusedItems,dispatchFocusedSlots:this.setFocusedSlots}},data(){return{bv:{viewProps:this.viewProps,ranges:this.ranges,items:[],slots:[],focusedItems:[],focusedSlots:[],selectedItems:[],selectedSlots:[]}}},mounted(){this.syncCells()},watch:{ranges(e){this.bv.ranges=e}},updated(){this.syncCells()},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:["k-scheduler-layout k-scheduler-layout-flex",this.$attrs.class],role:this.$props.isAgendaView?"grid":"none"},[e])},methods:{syncCells(){Yi({element:this.$el,selector:".k-group-cell",attribute:"data-depth-index",explicitDepth:!0}),Yi({element:this.$el,selector:".k-side-cell",attribute:"data-depth-index",explicitDepth:!1})},handleSchedulerItemsSelectAction(e,t){Wi.call(this,{type:Bi.reset}),Li.call(this,e,t)},handleSchedulerSlotsSelectAction(e,t){Li.call(this,{type:ji.reset},t),Wi.call(this,e)},setFocusedItems(e,t){Zi.call(this,e,t)},setFocusedSlots(e,t){Pi.call(this,e,t)},dispatchItems(e){let t;switch(e.type){case w.add:this.bv.items.push(e.item);break;case w.remove:t=this.bv.items.indexOf(e.item),this.bv.items.splice(t,1)}},dispatchSlots(e){let t;switch(e.type){case w.add:this.bv.slots.push(e.item);break;case w.remove:t=this.bv.slots.indexOf(e.item),this.bv.slots.splice(t,1)}}}}),Qi=t.defineComponent({name:"KendoSchedulerResourceIteratorContext",inheritAttrs:!1,props:{noWrap:Boolean,resource:{type:Object,default:function(){return{}}},groupIndex:{type:Number,default:0}},data(){return{ri:{resource:this.resource,groupIndex:this.groupIndex}}},provide(){return{ri:this.ri}},render(){const e=r.getDefaultSlots(this);return e?this.$props.noWrap&&e?e[0]:t.createVNode("div",{class:"k-scheduler-cell k-group-cell"},[e]):null}});var Ji=(e=>(e[e.create=0]="create",e[e.update=1]="update",e[e.remove=2]="remove",e))(Ji||{});const er=6e4,tr=[{}],ir=new Date(1900,0,1),rr=new Date(2099,11,31);i.ZonedDate.fromLocalDate(ir),i.ZonedDate.fromLocalDate(rr);const sr=t.defineComponent({name:"KendoShowMoreItemsButton",props:{currentSlot:Object,hiddenCount:Number,onClick:Function},inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),mounted(){var e,t;null==(t=null==(e=this.$refs.button)?void 0:e.$el)||t.addEventListener("dblclick",this.handleDoubleClick)},unmounted(){var e,t;null==(t=null==(e=this.$refs.button)?void 0:e.$el)||t.removeEventListener("dblclick",this.handleDoubleClick)},render(){const e=n.provideLocalizationService(this).toLanguageString(zt,xi[zt]),i=void 0!==this.$props.hiddenCount?`${String(this.$props.hiddenCount)} ${e}`:e;return t.createVNode(o.Button,{ref:"button",tabIndex:-1,size:"xs",fillMode:"flat",themeColor:"primary",class:"k-more-events",onClick:this.handleClick,ariaLabel:i},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(i)?i:{default:()=>[i]})},methods:{handleClick(e){if(e.stopPropagation(),!this.onClick)return;const t=this.$refs.button,i=(null==t?void 0:t.$el)||(null==t?void 0:t.element)||null;this.onClick({target:{element:i,slot:this.currentSlot},event:e})},handleDoubleClick(e){e.stopPropagation()}}}),or=t.defineComponent({name:"KendoSchedulerActionButtons",props:{editSaveMessage:String,editCancelMessage:String,editDeleteMessage:String,onDelete:Function,onCancel:Function},inject:{kendoForm:{default:{}}},render(){return t.createVNode(c.DialogActionsBar,{class:"k-form-buttons",layout:"end"},{default:()=>[this.onDelete&&t.createVNode(o.Button,{type:"button",fillMode:"flat",themeColor:"primary",svgIcon:d.trashIcon,onClick:this.onDelete},{default:()=>[this.editDeleteMessage]}),t.createVNode(o.Button,{onClick:this.handleCancel},{default:()=>[this.editCancelMessage]}),t.createVNode(o.Button,{type:"submit",themeColor:"primary",disabled:!this.kendoForm.allowSubmit,onClick:this.onSubmit},{default:()=>[this.editSaveMessage]})]})},methods:{onSubmit(e){this.kendoForm.onSubmit(e)},handleCancel(e){this.$emit("cancel",e)}}});const nr=t.defineComponent({name:"KendoRecurrenceFrequencyEditor",emits:{change:null},props:{value:String,dataItems:Array},render(){let e;const{value:i,dataItems:r}=this.$props;return t.createVNode(o.ButtonGroup,{class:"k-scheduler-recurrence-repeat",width:"100%"},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e=r.map(function(e){return t.createVNode(o.Button,{type:"button",key:e.value,selected:e.value===i,onClick:this.handleClick,"data-value":e.value,togglable:!0},{default:()=>[e.text]})},this))?e:{default:()=>[e]})},methods:{handleClick(e){this.$emit("change",e.currentTarget.dataset.value)}}}),ar=e=>e.charAt(0).toUpperCase()+e.slice(1),lr=["first","second","third","fourth","last"],dr=["never","daily","weekly","monthly","yearly"],cr=[{day:0,offset:0},{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0},{day:6,offset:0}],hr=[{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0}],ur=[{day:0,offset:0},{day:6,offset:0}],pr=e=>{switch(e){case"day":return cr;case"weekday":return hr;case"weekend":return ur}},mr=e=>m.parseRule({recurrenceRule:e})||{},gr=e=>V(e)&&!(e=>(e=>null==e)(e)||e.trim&&0===e.trim().length)(e.freq)?e.freq:"never",fr=e=>e.dateFormatNames({type:"months",nameType:"wide",standAlone:!0}).map((e,t)=>({text:e,value:t+1})),vr=e=>{const t=e.firstDay(),i=e.dateFormatNames({type:"days",nameType:"abbreviated"}).map((e,t)=>({text:e,value:t}));return i.slice(t).concat(i.slice(0,t))},yr=(e,t,i)=>{let r=i.getDay();if(V(t.byWeekDay))switch(t.byWeekDay.length){case 7:r="day";break;case 5:r="weekday";break;case 2:r="weekend";break;case 1:r=t.byWeekDay[0].day}return e.find(e=>r===e.value)||e[0]},kr=(e,t)=>{const i=e.firstDay(),r=e.dateFormatNames({type:"days",nameType:"wide"}).map((e,t)=>({text:e,value:t})),s=r.slice(i).concat(r.slice(0,i));return[{text:t("WeekdaysDay"),value:"day"},{text:t("WeekdaysWeekday"),value:"weekday"},{text:t("WeekdaysWeekendday"),value:"weekend"}].concat(s)},Sr=(e,t)=>e.find(e=>e.value===(t.bySetPosition?t.bySetPosition[0]:t.byWeekDay&&t.byWeekDay[0]?t.byWeekDay[0].offset:1))||e[0],Dr=e=>{const t=[1,2,3,4,-1];return lr.map((i,r)=>({text:e("OffsetPositions"+ar(i)),value:t[r]}))},br=e=>V(e.count)?"count":V(e.until)?"until":"never",wr=e=>V(e.byWeekDay)?"weekday":V(e.byMonthDay)?"monthday":void 0,Ir=(e,t)=>e.find(e=>(t.byMonth?t.byMonth[0]:null)===e.value)||e[0],Rr=(e,t)=>V(e.byMonthDay)&&e.byMonthDay.length>0?e.byMonthDay[0]:t.getDate();function $r(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Cr=t.defineComponent({name:"KendoRecurrenceRepeatOnWeekEditor",emits:{change:null},props:{dataItems:{type:Array,default:function(){return[]}},value:{type:Array,default:function(){return[]}}},render(){let e;const{value:i,dataItems:r}=this.$props;return t.createVNode(o.ButtonGroup,{width:"auto"},$r(e=r.map(function(e){let r;return t.createVNode(o.Button,{type:"button",key:e.value,"data-key":e.value,selected:i.some(t=>t===e.value),togglable:!0,onClick:this.handleClick},$r(r=ar(e.text))?r:{default:()=>[r]})},this))?e:{default:()=>[e]})},methods:{handleClick(e){const t=Number(e.currentTarget.dataset.key);this.$emit("change",this.value.some(e=>e===t)?this.value.filter(e=>e!==t):[...this.value,t])}}});function Er(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const zr=t.defineComponent({name:"KendoRecurrenceEditor",emits:{change:null},props:{name:String,value:{type:String,default:""},start:Date,timezone:String},inject:{ks:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},computed:{rrule(){return mr(this.$props.value)},frequencies(){return(e=>dr.map(t=>({value:t,text:e("Frequencies"+ar(t))})))(this.localizeMessage)},frequency(){return gr(this.rrule)},extendedWeekDays(){return kr(this.intl,this.localizeMessage)},weekDay(){return yr(this.extendedWeekDays,this.rrule,this.$props.start)},months(){return fr(this.intl)},month(){return Ir(this.months,this.rrule)},offsets(){return Dr(this.localizeMessage)},offset(){return Sr(this.offsets,this.rrule)},endRule(){return br(this.rrule)},monthDay(){return Rr(this.rrule,this.$props.start)},until(){return(e=>V(e.until)?i.toLocalDate(e.until):null)(this.rrule)},weekDays(){return vr(this.intl)},repeatOnRule(){return wr(this.rrule)}},data(){return{defaultCount:1,defaultUntil:i.ZonedDate.fromUTCDate(this.$props.start)}},render(){let e,r,s,o,l,d,c;this.intl=n.provideIntlService(this),this.localization=n.provideLocalizationService(this),this.ks.timezone;const m={display:"flex",alignItems:"center",minHeight:30},f=function(){return[t.createVNode(g.DropDownList,{key:"weekday-offset",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange,style:{width:"auto"}},null),t.createVNode(g.DropDownList,{key:"weekday-value",disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange,textField:"text",dataItemKey:"value",style:{width:"auto"}},null)]},v=function(){return t.createVNode(p.NumericTextBox,{key:"weekday-day",min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:this.rrule&&this.rrule.byMonthDay&&this.rrule.byMonthDay[0],onChange:this.handleMonthDayChange,style:{width:"auto"}},null)},y=function(){return[t.createVNode(g.DropDownList,{key:"monthday-month",disabled:"monthday"!==this.repeatOnRule,value:this.month,dataItems:this.months,textField:"text",dataItemKey:"value",onChange:this.handleMonthChange,style:{width:"auto"}},null),t.createVNode(p.NumericTextBox,{key:"monthday-day",min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:this.monthDay,onChange:this.handleMonthDayChange,style:{width:"auto"}},null)]},k=function(){return[t.createVNode(g.DropDownList,{key:"yearly-weekday-offset",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange,style:{width:"auto"}},null),t.createVNode(g.DropDownList,{key:"yearly-weekday-day",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange,style:{width:"auto"}},null),t.createVNode("span",{key:"yearly-weekday-of-label"},[this.localizeMessage(_e,!0)]),t.createVNode(g.DropDownList,{key:"yearly-weekday-month",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.month,dataItems:this.months,onChange:this.handleMonthChange,style:{width:"auto"}},null)]},S=function(){let e;return[t.createVNode(p.NumericTextBox,{key:"endrule-after-editor",id:"k-endrule-after",min:1,style:{width:"70px"},value:"count"===this.endRule?this.rrule.count:this.defaultCount,onChange:this.handleCountChange,disabled:"count"!==this.endRule},null),t.createVNode(u.Label,{key:"endrule-after-label",class:"k-radio-label",editorId:"k-endrule-after"},Er(e=this.localizeMessage(lt,!0))?e:{default:()=>[e]})]},D=()=>t.createVNode(a.DatePicker,{key:"k-endrule-until-editor",id:"k-endrule-until",disabled:"until"!==this.endRule,min:this.$props.start,value:"until"===this.endRule?this.until:i.toLocalDate(this.defaultUntil),onChange:this.handleUntilChange,style:{width:"auto"}},null);return t.createVNode("div",null,[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},Er(e=this.localization.toLanguageString(xe,xi[xe]))?e:{default:()=>[e]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(nr,{value:this.frequency,dataItems:this.frequencies,onChange:this.handleFrequencyChange},null)])]}),"never"!==this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{editorId:"interval-editor",class:"k-form-label"},Er(r=this.localizeMessage(ar(this.frequency)+"RepeatEvery"))?r:{default:()=>[r]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(p.NumericTextBox,{min:1,step:1,defaultValue:1,value:this.rrule.interval,onChange:this.handleIntervalChange,id:"interval-editor"},null),t.createVNode(u.Label,{editorId:"interval-editor"},Er(s=this.localizeMessage(ar(this.frequency)+"Interval"))?s:{default:()=>[s]})])]}),"weekly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},Er(o=this.localizeMessage(Le,!0))?o:{default:()=>[o]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(Cr,{dataItems:this.weekDays,value:(this.rrule.byWeekDay||[]).map(({day:e})=>e),onChange:this.handleWeekDaysChange},null)])]}),"monthly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{key:"recurrence-repeat-on-monthly-label",class:"k-form-label"},Er(l=this.localizeMessage(Pe,!0))?l:{default:()=>[l]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(p.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"monthday",style:m,label:this.localizeMessage(Be,!0),content:v.call(this)},{value:"weekday",style:m,label:" ",content:f.call(this)}]},null)])]}),"yearly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},Er(d=this.localizeMessage(qe,!0))?d:{default:()=>[d]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(p.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"monthday",label:" ",style:m,content:y.call(this)},{value:"weekday",label:" ",style:m,content:k.call(this)}]},null)])]}),"never"!==this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},Er(c=this.localizeMessage(dt,!0))?c:{default:()=>[c]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(p.RadioGroup,{value:this.endRule,onChange:this.handleEndRuleChange,dataItems:[{value:"never",style:m,label:this.localizeMessage(ct,!0)},{value:"count",style:m,label:this.localizeMessage(at,!0),content:S.call(this)},{value:"until",style:m,label:this.localizeMessage(ht,!0),content:D.call(this)}]},null)])]})])},methods:{localizeMessage(e,t){const i=t?e:"scheduler.recurrenceEditor"+e;return this.localization.toLanguageString(i,xi[i])},onChangeHandler(e){"never"===e.freq?this.$emit("change",{value:null}):(void 0===e.weekStart&&(e.weekStart=this.intl.firstDay()),this.$emit("change",{value:m.serializeRule(e,this.$props.timezone)}))},handleFrequencyChange(e){const t={};t.freq=e,t.interval=1,"weekly"===e&&(t.byWeekDay=[{day:i.ZonedDate.fromLocalDate(this.$props.start,this.timezone).getDay(),offset:0}]),("monthly"===e||"yearly"===e)&&(t.byMonthDay=[this.$props.start.getDate()]),"yearly"===e&&(t.byMonth=[this.$props.start.getMonth()+1]),this.onChangeHandler(t)},handleIntervalChange(e){const t=e.value;this.onChangeHandler(Object.assign({},this.rrule,{interval:t}))},handleCountChange(e){const t=e.value;this.onChangeHandler(Object.assign({},this.rrule,{count:t})),null!==t&&(this.defaultCount=t)},handleUntilChange(e){const t=e.value;if(!t)return;const r=i.ZonedDate.fromLocalDate(t,this.$props.timezone);this.onChangeHandler(Object.assign({},this.rrule,{until:r})),this.defaultUntil=r},handleWeekDaysChange(e){this.onChangeHandler(Object.assign({},this.rrule,{byWeekDay:this.weekDays.filter(t=>e.some(e=>e===t.value)).map(e=>({offset:0,day:e.value}))}))},handleWeekDayChange(e){const t=Object.assign({},this.rrule),i=e.target.value;"string"==typeof i.value?(t.byWeekDay=pr(i.value),t.bySetPosition=[this.offset.value]):t.byWeekDay=[{day:i.value,offset:this.offset.value}],this.onChangeHandler(t)},handleMonthDayChange(e){this.onChangeHandler(Object.assign({},this.rrule,{byMonthDay:[e.value]}))},handleMonthChange(e){const t=e.value;this.onChangeHandler(Object.assign({},this.rrule,{byMonth:[t.value]}))},handleEndRuleChange(e){const t=e.value,i=Object.assign({},this.rrule);switch(t){case"never":i.until=void 0,i.count=void 0;break;case"count":i.until=void 0,i.count=this.defaultCount;break;case"until":i.until=this.defaultUntil,i.count=void 0}this.onChangeHandler(i)},handleRepeatOnRuleChange(e){const t=Object.assign({},this.rrule);"monthday"===e.value?(t.byWeekDay=void 0,t.bySetPosition=void 0,t.byMonthDay=[this.monthDay]):"weekday"===e.value&&(t.byMonthDay=void 0,"string"==typeof this.weekDay.value?(t.bySetPosition=[this.offset.value],t.byWeekDay=pr(this.weekDay.value)):t.byWeekDay=[{day:this.weekDay.value,offset:this.offset.value}]),this.onChangeHandler(t)},handleOffsetChange(e){const t=Object.assign({},this.rrule),i=e.value;if(t.byWeekDay)switch(t.byWeekDay.length){case 7:case 5:case 2:t.bySetPosition=[i.value];break;case 1:t.byWeekDay[0].offset=i.value}this.onChangeHandler(t)}}}),Nr=t.defineComponent({name:"KendoResourceEditor",setup:()=>({getResourceColor:R()}),emits:{change:null},props:{resource:Object,dataItems:Array,textField:String,valueField:String,colorField:String,multiple:Boolean,validationMessage:String,ariaLabel:String,value:[String,Number,Object],touched:Boolean,modified:Boolean,visited:Boolean,valid:Boolean,name:String},render(){const{colorField:e,textField:i,valueField:r}=this.$props,s=this.getResourceColor,o=Array.isArray(this.$props.value)?this.$props.dataItems.filter(e=>this.$props.value.some(t=>e[this.$props.valueField]===t)):this.$props.dataItems.find(e=>e[this.$props.valueField]===this.$props.value),n=this.$props.multiple?g.MultiSelect:g.DropDownList;return t.createVNode(n,{value:o,onChange:this.handleChange,dataItems:this.$props.dataItems,textField:this.$props.textField,dataItemKey:this.$props.valueField,valid:this.$props.valid,validationMessage:this.$props.validationMessage,ariaLabel:this.$props.ariaLabel,itemRender:function(o,n,a,l){return t.createVNode("li",{class:{"k-item":!0,...a.itemClass},onClick:l.onClick},[e&&t.createVNode("span",{key:1,class:"k-scheduler-mark",style:{backgroundColor:s(a.dataItem[e]),marginRight:V(a.dataItem[r])?"8px":"4px"}},null),a.dataItem[i]])},valueRender:function(o,n,a){return t.createVNode("span",{class:"k-input-inner"},[e&&a.value&&t.createVNode("span",{key:1,class:"k-scheduler-mark",style:{backgroundColor:s(a.value[e]),marginRight:a.value[r]?"8px":"4px"}},null),a.value&&a.value[i]])}},null)},methods:{handleChange(e){const t=e.component.$props.dataItemKey,i=this.$props.multiple?(e.value||[]).map(e=>e[t]):e.value[t];this.$emit("change",{value:i})}}}),Tr=t.defineComponent({name:"KendoZonedSplitDateTime",props:{value:[Date,Object],isAllDay:Boolean,connector:String,connectorElement:[Object,Function,String],dateId:String,timeId:String,fieldError:String,ariaLabel:String,timeAriaLabel:String},emits:["change"],inject:{ks:{default:null}},computed:{timezone(){var e;return null==(e=this.ks)?void 0:e.timezone},localValue(){return this.readDateAsLocal(this.value,this.timezone)},isInvalid(){return!!this.fieldError}},render(){return this.isAllDay?t.createVNode(a.DatePicker,{id:this.dateId,value:this.localValue,onChange:this.handleDateChange,valid:!this.isInvalid,ariaLabel:this.ariaLabel},null):t.createVNode(t.Fragment,null,[t.createVNode(a.DatePicker,{id:this.dateId,value:this.localValue,onChange:this.handleDateChange,valid:!this.isInvalid,ariaLabel:this.ariaLabel},null),this.connectorElement||this.connector&&t.createVNode("span",{class:"k-scheduler-datetime-label"},[this.connector]),t.createVNode(a.TimePicker,{id:this.timeId,value:this.localValue,onChange:this.handleTimeChange,valid:!this.isInvalid,"aria-label":this.timeAriaLabel},null)])},methods:{handleDateChange(e){const t=e.value;if(!t)return;const i=new Date(t);this.localValue&&i.setHours(this.localValue.getHours(),this.localValue.getMinutes(),this.localValue.getSeconds()),this.$emit("change",{value:this.readDateWithTimezone(i,this.timezone)})},handleTimeChange(e){const t=e.value;if(!t)return;const i=new Date(this.localValue||new Date);i.setHours(t.getHours(),t.getMinutes(),0,0),this.$emit("change",{value:this.readDateWithTimezone(i,this.timezone)})},readDateAsLocal(e,t){if(e){if(!t)return e;const r=i.toLocalDate(i.ZonedDate.fromLocalDate(e,t).toUTCDate());return r.setUTCFullYear(e.getFullYear()),r}return null},readDateWithTimezone:(e,t)=>e&&(t?i.ZonedDate.fromUTCDate(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())),t).toLocalDate():e)}}),Or=t.defineComponent({name:"KendoTimezoneDropDownList",props:{value:[String,Number,Object],dataItems:Array,validationMessage:String,touched:Boolean,modified:Boolean,visited:Boolean,valid:Boolean,name:String,ariaLabel:String},emits:["change"],data(){return{filteredData:this.$props.dataItems}},watch:{dataItems(e){this.filteredData=e}},render(){return t.createVNode(g.DropDownList,t.mergeProps({popupSettings:{width:"360px"},dataItems:this.filteredData,value:this.value,onChange:this.handleChange,filterable:!0,ariaLabel:this.ariaLabel},{onFilterchange:this.handleFilterChange}),null)},methods:{handleChange(e){this.$emit("change",{value:e.value})},handleFilterChange(e){var t,i;const r=(null==(i=null==(t=e.filter)?void 0:t.value)?void 0:i.toLocaleLowerCase())||"";this.filteredData=(this.$props.dataItems||[]).filter(e=>e.toLocaleLowerCase().includes(r))}}});function Vr(e,t,r,s){var o,n,a,l,d,c;if(!e)return"";const h=(e,t)=>{const i=t?e:"scheduler.recurrenceEditor"+e;return s(i,xi[i])},u=mr(e);if(!u.freq||"never"===u.freq)return"";const p=vr(r),m=kr(r,h),g=yr(m,u,t),f=fr(r),v=Ir(f,u),y=Dr(h),k=Sr(y,u),S=Rr(u,t),D=wr(u),b=u.interval||1,w=(e,...t)=>{let i=s(e,xi[e]);return t.forEach((e,t)=>{i=i.replace(`{${t}}`,String(e))}),i};let I="";switch(u.freq){case"daily":I=w(ci,b);break;case"weekly":{const e=(u.byWeekDay||[]).map(({day:e})=>{var t;return null==(t=p.find(t=>t.value===e))?void 0:t.text}).filter(Boolean),t=e.length>0?e.join(", "):"";I=w(hi,b,t);break}case"monthly":if("weekday"===D&&null!=(o=u.byWeekDay)&&o.length)I=w(pi,b,k.text.toLowerCase(),g.text.toLowerCase());else{const e=null!=(a=null==(n=u.byMonthDay)?void 0:n[0])?a:S;I=w(ui,b,e)}break;case"yearly":if("weekday"===D&&null!=(l=u.byWeekDay)&&l.length)I=w(gi,b,k.text.toLowerCase(),g.text.toLowerCase(),v.text);else{const e=null!=(c=null==(d=u.byMonthDay)?void 0:d[0])?c:S;I=w(mi,b,v.text,e)}}return u.count?I+=w(fi,u.count):u.until&&(I+=w(vi,r.formatDate(i.toLocalDate(u.until),"D"))),I}function xr(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Fr=t.defineComponent({name:"KendoSchedulerRecurrenceDialog",props:{value:{type:[String,null],default:null},start:{type:Date,required:!0},timezone:{type:String,default:""},onSave:Function,onCancel:Function,onRemoveRecurrence:Function,recurrenceSummaryTemplate:[Object,Function],recurrenceEditor:[Object,Function]},inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),data(){var e;const t=mr(null!=(e=this.value)?e:"");return{rrule:t.freq?t:{freq:"daily",interval:1},defaultCount:1,defaultUntil:i.ZonedDate.fromUTCDate(this.start),startsOn:new Date(this.start)}},computed:{frequency(){return gr(this.rrule)},weekDays(){const e=n.provideIntlService(this);return vr(e)},extendedWeekDays(){const e=n.provideIntlService(this);return kr(e,this.localizeMessage)},weekDay(){return yr(this.extendedWeekDays,this.rrule,this.startsOn)},months(){const e=n.provideIntlService(this);return fr(e)},month(){return Ir(this.months,this.rrule)},offsets(){return Dr(this.localizeMessage)},offset(){return Sr(this.offsets,this.rrule)},endRule(){return br(this.rrule)},monthDay(){return Rr(this.rrule,this.startsOn)},until(){return this.rrule.until?i.toLocalDate(this.rrule.until):null},repeatOnRule(){return wr(this.rrule)},isExistingRecurrence(){return!!this.value},frequencyData(){return[{text:this.localizeMessage(Ge,!0),value:"daily"},{text:this.localizeMessage(Xe,!0),value:"weekly"},{text:this.localizeMessage(Ze,!0),value:"monthly"},{text:this.localizeMessage(Qe,!0),value:"yearly"}]},endRuleData(){return[{text:this.localizeMessage(ct,!0),value:"never"},{text:this.localizeMessage(at,!0),value:"count"},{text:this.localizeMessage(ht,!0),value:"until"}]},frequencyDropDownValue(){return this.frequencyData.find(e=>e.value===this.frequency)||this.frequencyData[0]},endRuleDropDownValue(){return this.endRuleData.find(e=>e.value===this.endRule)||this.endRuleData[0]},narrowWeekDays(){const e=n.provideIntlService(this),t=e.firstDay(),i=e.dateFormatNames({type:"days",nameType:"narrow"}),r=e.dateFormatNames({type:"days",nameType:"wide"}),s=i.map((e,t)=>({narrow:e,wide:r[t],value:t}));return s.slice(t).concat(s.slice(0,t))},selectedWeekDays(){return(this.rrule.byWeekDay||[]).map(({day:e})=>e)},summary(){if(!this.rrule.freq||"never"===this.rrule.freq)return"";const e=n.provideIntlService(this),t=n.provideLocalizationService(this);return Vr(m.serializeRule(this.rrule,this.timezone),this.startsOn,e,(e,i)=>t.toLanguageString(e,i))},currentRuleString(){return this.rrule.freq&&"never"!==this.rrule.freq?m.serializeRule(this.rrule,this.timezone):null},parsedCurrentRule(){return this.currentRuleString?m.parseRule({recurrenceRule:this.currentRuleString}):null}},methods:{localizeMessage(e,t){const i=t?e:"scheduler.recurrenceEditor"+e;return n.provideLocalizationService(this).toLanguageString(i,xi[i])},renderRecurrenceSummaryTemplate(){const e=this.recurrenceSummaryTemplate;return e&&this.currentRuleString?t.createVNode(e,{recurrenceRule:this.currentRuleString,text:this.summary||"",parsedRule:this.parsedCurrentRule},null):null},updateRrule(e){this.rrule={...e}},handleFrequencyChange(e){const t={};t.freq=e,t.interval=1,"weekly"===e&&(t.byWeekDay=[{day:i.ZonedDate.fromLocalDate(this.startsOn,this.timezone).getDay(),offset:0}]),("monthly"===e||"yearly"===e)&&(t.byMonthDay=[this.startsOn.getDate()]),"yearly"===e&&(t.byMonth=[this.startsOn.getMonth()+1]),this.updateRrule(t)},handleIntervalChange(e){var t;this.updateRrule({...this.rrule,interval:null!=(t=e.value)?t:1})},handleCountChange(e){const t=e.value,i=null!=t?t:this.defaultCount;this.updateRrule({...this.rrule,count:i}),null!==t&&(this.defaultCount=i)},handleUntilChange(e){if(!e.value)return;const t=i.ZonedDate.fromLocalDate(e.value,this.timezone);this.updateRrule({...this.rrule,until:t}),this.defaultUntil=t},handleWeekDaysChange(e){this.updateRrule({...this.rrule,byWeekDay:this.weekDays.filter(t=>e.some(e=>e===t.value)).map(e=>({offset:0,day:e.value}))})},handleWeekDayChange(e){const t={...this.rrule},i=e.value;"string"==typeof i.value?(t.byWeekDay=pr(i.value),t.bySetPosition=[this.offset.value]):(t.bySetPosition=void 0,t.byWeekDay=[{day:i.value,offset:this.offset.value}]),this.updateRrule(t)},handleMonthDayChange(e){var t;this.updateRrule({...this.rrule,byMonthDay:[null!=(t=e.value)?t:1]})},handleMonthChange(e){this.updateRrule({...this.rrule,byMonth:[e.value.value]})},handleEndRuleDropDownChange(e){const t=e.value.value,i={...this.rrule};switch(t){case"never":i.until=void 0,i.count=void 0;break;case"count":i.until=void 0,i.count=this.defaultCount;break;case"until":i.until=this.defaultUntil,i.count=void 0}this.updateRrule(i)},handleRepeatOnRuleChange(e){const t={...this.rrule};"monthday"===e.value?(t.byWeekDay=void 0,t.bySetPosition=void 0,t.byMonthDay=[this.monthDay]):"weekday"===e.value&&(t.byMonthDay=void 0,"string"==typeof this.weekDay.value?(t.bySetPosition=[this.offset.value],t.byWeekDay=pr(this.weekDay.value)):t.byWeekDay=[{day:this.weekDay.value,offset:this.offset.value}]),this.updateRrule(t)},handleOffsetChange(e){const t={...this.rrule},i=e.value;if(t.byWeekDay)switch(t.byWeekDay.length){case 7:case 5:case 2:t.bySetPosition=[i.value];break;case 1:t.byWeekDay[0].offset=i.value}this.updateRrule(t)},handleFrequencyDropDownChange(e){const t=e.value.value;this.handleFrequencyChange(t)},handleWeekDayButtonClick(e){const t=this.selectedWeekDays.includes(e)?this.selectedWeekDays.filter(t=>t!==e):[...this.selectedWeekDays,e];this.handleWeekDaysChange(t)},handleStartsOnChange(e){e.value&&(this.startsOn=e.value)},handleSave(){const e=n.provideIntlService(this);"never"!==this.rrule.freq&&this.rrule.freq?(void 0===this.rrule.weekStart&&(this.rrule.weekStart=e.firstDay()),this.$emit("save",m.serializeRule(this.rrule,this.timezone))):this.$emit("save",null)},handleClose(e){this.$emit("cancel")}},render(){let e,r,s,l,d;const m=n.provideLocalizationService(this),f=m.toLanguageString(be,xi[be]),v=m.toLanguageString(we,xi[we]),y=m.toLanguageString(Ht,xi[Ht]),k=m.toLanguageString(Pt,xi[Pt]);return t.createVNode(c.Dialog,{title:y,appendTo:"body",width:540,onClose:this.handleClose},{default:()=>[t.createVNode("div",{class:"k-form k-form-horizontal"},[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{editorId:"recurrence-interval",class:"k-form-label"},xr(e=this.localizeMessage(xe,!0))?e:{default:()=>[e]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-recurrence-fields"},["never"!==this.frequency&&t.createVNode(p.NumericTextBox,{id:"recurrence-interval",min:1,step:1,defaultValue:1,value:this.rrule.interval,onChange:this.handleIntervalChange},null),t.createVNode(g.DropDownList,{dataItems:this.frequencyData,textField:"text",dataItemKey:"value",value:this.frequencyDropDownValue,onChange:this.handleFrequencyDropDownChange},null)])])]}),"weekly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},xr(r=this.localizeMessage(Le,!0))?r:{default:()=>[r]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-weekday-picker",role:"group","aria-label":this.localizeMessage(Ni,!0)},[this.narrowWeekDays.map(e=>t.createVNode(o.Button,{key:e.value,type:"button",themeColor:"primary",fillMode:"flat",rounded:"full",togglable:!0,selected:this.selectedWeekDays.includes(e.value),"aria-label":e.wide,"aria-pressed":this.selectedWeekDays.includes(e.value),onClick:()=>this.handleWeekDayButtonClick(e.value)},{default:()=>[e.narrow]}))])])]}),"monthly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>{var e,i;return[t.createVNode(u.Label,{class:"k-form-label"},xr(s=this.localizeMessage(Pe,!0))?s:{default:()=>[s]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(p.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"weekday",tabIndex:0,name:"scheduler-recurrence-monthly-weekday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(g.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange},null),t.createVNode(g.DropDownList,{disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange,textField:"text",dataItemKey:"value"},null)])},{value:"monthday",tabIndex:0,name:"scheduler-recurrence-monthly-monthday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(p.NumericTextBox,{min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:null==(i=null==(e=this.rrule)?void 0:e.byMonthDay)?void 0:i[0],onChange:this.handleMonthDayChange,style:{width:"auto"}},null)])}]},null)])]}}),"yearly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},xr(l=this.localizeMessage(qe,!0))?l:{default:()=>[l]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(p.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"monthday",tabIndex:0,name:"scheduler-recurrence-yearly-monthday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(g.DropDownList,{disabled:"monthday"!==this.repeatOnRule,value:this.month,dataItems:this.months,textField:"text",dataItemKey:"value",onChange:this.handleMonthChange},null),t.createVNode(p.NumericTextBox,{min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:this.monthDay,onChange:this.handleMonthDayChange,style:{width:"auto"}},null)])},{value:"weekday",tabIndex:0,name:"scheduler-recurrence-yearly-weekday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(g.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange},null),t.createVNode(g.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange},null),t.createVNode("span",{key:"of-row",class:"k-scheduler-edit-form-row"},[t.createVNode("span",null,[this.localizeMessage(_e,!0)]),t.createVNode(g.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.month,dataItems:this.months,onChange:this.handleMonthChange},null)])])}]},null)])]}),"never"!==this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>{var e,r;return[t.createVNode(u.Label,{class:"k-form-label"},xr(d=this.localizeMessage(dt,!0))?d:{default:()=>[d]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(g.DropDownList,{dataItems:this.endRuleData,textField:"text",dataItemKey:"value",value:this.endRuleDropDownValue,onChange:this.handleEndRuleDropDownChange},null),"count"===this.endRule&&t.createVNode(p.NumericTextBox,{min:1,style:{width:"auto"},value:null!=(e=this.rrule.count)?e:this.defaultCount,onChange:this.handleCountChange,format:`0 '${this.localizeMessage(lt,!0)}'`},null),"until"===this.endRule&&t.createVNode(a.DatePicker,{min:this.startsOn,value:null!=(r=this.until)?r:i.toLocalDate(this.defaultUntil),onChange:this.handleUntilChange,style:{width:"auto"}},null)])])]}}),"never"!==this.frequency&&(this.recurrenceSummaryTemplate&&this.currentRuleString?t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-form-hint"},[this.renderRecurrenceSummaryTemplate()])])]}):this.summary?t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-form-hint"},[this.summary])])]}):null)]),t.createVNode(c.DialogActionsBar,{layout:"end"},{default:()=>[this.isExistingRecurrence&&this.onRemoveRecurrence&&t.createVNode(o.Button,{fillMode:"flat",themeColor:"primary",onClick:this.onRemoveRecurrence},xr(k)?k:{default:()=>[k]}),t.createVNode(o.Button,{onClick:()=>this.$emit("cancel")},xr(v)?v:{default:()=>[v]}),t.createVNode(o.Button,{themeColor:"primary",onClick:this.handleSave},xr(f)?f:{default:()=>[f]})]})]})}});function Ar(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Mr=t.defineComponent({name:"KendoRemoveRecurrenceConfirmDialog",props:{onConfirm:Function,onCancel:Function},inject:{kendoLocalizationService:{default:null}},methods:{handleClose(e){this.$emit("cancel")},handleCancel(){this.$emit("cancel")},handleConfirm(){this.$emit("confirm")}},render(){const e=n.provideLocalizationService(this),i=e.toLanguageString(Pt,xi[Pt]),r=e.toLanguageString(_t,xi[_t]),s=e.toLanguageString(Kt,xi[Kt]),a=e.toLanguageString(qt,xi[qt]);return t.createVNode(c.Dialog,{title:i,appendTo:"body",width:400,onClose:this.handleClose},{default:()=>[t.createVNode("p",null,[r]),t.createVNode(c.DialogActionsBar,{layout:"end"},{default:()=>[t.createVNode(o.Button,{onClick:this.handleCancel},Ar(s)?s:{default:()=>[s]}),t.createVNode(o.Button,{themeColor:"primary",onClick:this.handleConfirm},Ar(a)?a:{default:()=>[a]})]})]})}});function jr(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Lr=t.defineComponent({name:"KendoSchedulerFormEditor",props:{as:[String,Function,Object],id:String,tabIndex:Number,titleEditor:{type:[String,Function,Object],default:function(){return p.TextBox}},startEditor:{type:[String,Function,Object],default:function(){return Tr}},startTimezoneEditor:{type:[String,Function,Object],default:function(){return Or}},endEditor:{type:[String,Function,Object],default:function(){return Tr}},endTimezoneEditor:{type:[String,Function,Object],default:function(){return Or}},allDayLabel:{type:[String,Function,Object],default:function(){return"span"}},allDayEditor:{type:[String,Function,Object],default:function(){return p.Switch}},recurrenceEditor:{type:[String,Function,Object],default:function(){return zr}},descriptionEditor:{type:[String,Function,Object],default:function(){return p.TextArea}},resourceEditor:{type:[String,Function,Object],default:function(){return Nr}},recurrenceButtonTextTemplate:[Object,Function],recurrenceSummaryTemplate:[Object,Function],errors:Object,valid:Boolean,touched:Boolean,visited:Boolean,modified:Boolean,submitted:Boolean,allowSubmit:Boolean,valueGetter:Function},created(){this.requiredValidationMessage=void 0},inject:{ks:{default:null},kendoForm:{default:{}},kendoLocalizationService:{default:null}},data(){const e=this.kendoForm,t=this.ks;return{showTimezones:!!e.valueGetter(t.fields.startTimezone),showTimezoneResetDialog:!1,showRecurrenceDialog:!1,showRemoveRecurrenceDialog:!1}},computed:{isAllDay(){return!!this.kendoForm.valueGetter(this.ks.fields.isAllDay)},start(){return this.kendoForm.valueGetter(this.ks.fields.start)||new Date},startTimezone(){return this.kendoForm.valueGetter(this.ks.fields.startTimezone)||""},recurrenceRule(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceRule)},recurrenceId(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceId)},isEditingOccurrence(){return void 0!==this.recurrenceId&&null!==this.recurrenceId},showRecurrenceButton(){return!this.isEditingOccurrence},recurrenceButtonText(){const e=n.provideIntlService(this),t=n.provideLocalizationService(this),i=t.toLanguageString(Bt,xi[Bt]);return this.recurrenceRule&&Vr(this.recurrenceRule,this.start,e,(e,i)=>t.toLanguageString(e,i))||i}},render(){let e,s,a;const l=r.getDefaultSlots(this),p=i.timezoneNames(),m=n.provideLocalizationService(this),g=this.$props.startEditor,f=this.$props.endEditor,v=this.$props.startTimezoneEditor,y=this.$props.endTimezoneEditor,k=this.$props.allDayEditor,S=this.$props.allDayLabel,D=this.$props.descriptionEditor,b=this.$props.resourceEditor,w=this.$props.titleEditor,I=this.startTimezone;this.requiredValidationMessage=m.toLanguageString(It,xi[It]);const R=m.toLanguageString(Ne,xi[Ne]);return t.createVNode(t.Fragment,null,[t.createVNode(h.FormElement,{horizontal:!0,class:"k-scheduler-edit-form"},{default:()=>[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.rightDoubleQuotesIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(h.Field,{id:"k-scheduler-editor-title",name:this.ks.fields.title,field:this.ks.fields.title,component:w,placeholder:m.toLanguageString(Re,xi[Re]),"aria-label":m.toLanguageString(Re,xi[Re])},null)])]}),t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.clockIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-datetime-section"},[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.isAllDay,component:k,onLabel:"",offLabel:""},null),t.createVNode(S,null,jr(R)?R:{default:()=>[R]})]),t.createVNode("div",{class:"k-scheduler-datetime-grid"},[this.isAllDay?t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.start,component:g,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:m.toLanguageString($e,xi[$e]),timezone:this.ks.timezone},null),t.createVNode("span",{class:"k-scheduler-datetime-label"},[m.toLanguageString(zi,xi[zi])]),t.createVNode(h.Field,{name:this.ks.fields.end,component:f,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:m.toLanguageString(Ee,xi[Ee]),timezone:this.ks.timezone},null)]):t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.start,component:g,isAllDay:this.isAllDay,connector:m.toLanguageString(Ei,xi[Ei]),fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:m.toLanguageString($e,xi[$e]),timeAriaLabel:m.toLanguageString(bi,xi[bi]),timezone:this.ks.timezone},null)]),!this.showTimezones&&t.createVNode(o.Button,{class:"k-col-span-2",fillMode:"flat",themeColor:"primary",title:m.toLanguageString(Ri,xi[Ri]),onClick:this.handleTimezoneToggle,svgIcon:d.globeIcon},jr(e=m.toLanguageString(Ii,xi[Ii]))?e:{default:()=>[e]}),this.showTimezones&&t.createVNode(t.Fragment,null,[t.createVNode(h.Field,{name:this.ks.fields.startTimezone,component:v,dataItems:p,value:I,ariaLabel:m.toLanguageString(Ce,xi[Ce])},null),t.createVNode(o.Button,{title:m.toLanguageString($i,xi[$i]),"aria-label":m.toLanguageString(Ci,xi[Ci]),onClick:this.handleTimezoneToggle,svgIcon:d.globeIcon,fillMode:"flat",themeColor:"primary"},null)]),t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.end,component:f,isAllDay:this.isAllDay,connector:m.toLanguageString(zi,xi[zi]),fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:m.toLanguageString(Ee,xi[Ee]),timeAriaLabel:m.toLanguageString(wi,xi[wi]),timezone:this.ks.timezone},null)]),this.showTimezones&&t.createVNode(h.Field,{name:this.ks.fields.endTimezone,component:y,dataItems:p,value:this.kendoForm.valueGetter(this.ks.fields.endTimezone)||"",ariaLabel:m.toLanguageString(ze,xi[ze])},null)])]),this.showRecurrenceButton&&t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(o.Button,{class:"k-scheduler-recurrence-button",type:"button",fillMode:"flat",themeColor:"primary",svgIcon:d.arrowRotateCwIcon,onClick:this.handleMakeRecurringClick},{default:()=>[this.recurrenceButtonTextTemplate?this.renderRecurrenceButtonTextTemplate():this.recurrenceButtonText]})])])])]}),t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(u.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.commentIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(h.Field,{component:D,name:this.ks.fields.description,id:"k-event-description",resizable:"vertical",placeholder:m.toLanguageString(Te,xi[Te]),"aria-label":m.toLanguageString(Te,xi[Te])},null)])]}),(this.ks.props.resources||[]).map(e=>t.createVNode(h.FieldWrapper,{key:e.field},{default:()=>[e.svgIcon&&t.createVNode(u.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:e.svgIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(h.Field,{name:e.field,component:b,resource:e,multiple:e.multiple,dataItems:e.data,textField:e.textField,valueField:e.valueField,colorField:e.colorField,ariaLabel:e.name||e.field},null)])]})),l]}),this.showRecurrenceDialog&&t.createVNode(Fr,{value:this.recurrenceRule,start:this.start,timezone:this.ks.timezone||"",onSave:this.handleRecurrenceSave,onCancel:this.handleRecurrenceCancel,onRemoveRecurrence:this.handleRemoveRecurrenceClick,recurrenceSummaryTemplate:this.recurrenceSummaryTemplate,recurrenceEditor:this.recurrenceEditor},null),this.showRemoveRecurrenceDialog&&t.createVNode(Mr,{onConfirm:this.handleRemoveRecurrenceConfirm,onCancel:this.handleRemoveRecurrenceCancel},null),this.showTimezoneResetDialog&&t.createVNode(c.Dialog,{title:m.toLanguageString(yi,xi[yi]),onClose:this.handleTimezoneResetClose},{default:()=>[m.toLanguageString(ki,xi[ki]),t.createVNode(c.DialogActionsBar,null,{default:()=>[t.createVNode(o.Button,{onClick:this.handleTimezoneResetClose},jr(s=m.toLanguageString(Si,xi[Si]))?s:{default:()=>[s]}),t.createVNode(o.Button,{themeColor:"primary",onClick:this.handleTimezoneResetConfirm},jr(a=m.toLanguageString(Di,xi[Di]))?a:{default:()=>[a]})]})]})])},methods:{renderRecurrenceButtonTextTemplate(){const e=this.recurrenceButtonTextTemplate;return e?t.createVNode(e,{recurrenceRule:this.recurrenceRule},null):null},handleTimezoneToggle(e){e.preventDefault(),this.showTimezones?this.showTimezoneResetDialog=!0:(this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!0)},handleTimezoneResetConfirm(){this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!1,this.showTimezoneResetDialog=!1},handleTimezoneResetClose(){this.showTimezoneResetDialog=!1},handleMakeRecurringClick(){this.showRecurrenceDialog=!0},handleRecurrenceSave(e){this.updateFormField(this.ks.fields.recurrenceRule,e),this.showRecurrenceDialog=!1},handleRecurrenceCancel(){this.showRecurrenceDialog=!1},handleRemoveRecurrenceClick(){this.showRemoveRecurrenceDialog=!0},handleRemoveRecurrenceConfirm(){this.updateFormField(this.ks.fields.recurrenceRule,null),this.updateFormField(this.ks.fields.recurrenceExceptions,null),this.showRemoveRecurrenceDialog=!1,this.showRecurrenceDialog=!1},handleRemoveRecurrenceCancel(){this.showRemoveRecurrenceDialog=!1},updateFormField(e,t){this.kendoForm.onChange(e,{value:t}),this.$emit("change",e,{value:t})},requiredValidator(e){return e?void 0:this.requiredValidationMessage},startTimezoneValidator(e,t){return this.showTimezones?this.requiredValidator(t(this.ks.fields.startTimezone)):void 0},endTimezoneValidator(e,t){return this.showTimezones?this.requiredValidator(t(this.ks.fields.endTimezone))||this.requiredValidator(t(this.ks.fields.startTimezone)):void 0}},watch:{startTimezone(e,t){this.showTimezones&&e&&e!==t&&this.updateFormField(this.ks.fields.endTimezone,e)}}}),Br=t.defineComponent({name:"KendoSchedulerForm",emits:{cancel:null,close:null,submit:null},props:{dataItem:Object,onDelete:Function},inject:{ks:{default:null},kendoLocalizationService:{default:null},ksValidator:{default:null},ksModifyInitialFormValues:{default:null}},created(){this.dialogId=r.guid()},data:()=>({media:"desktop"}),mounted(){this.calculateMedia(),setTimeout(()=>{const e=document.getElementById(this.dialogId);e&&e.focus()},10)},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){var e;const i=this,s=n.provideLocalizationService(this);this.requiredValidationMessage=s.toLanguageString(It,xi[It]),this.endValidationMessage=s.toLanguageString($t,xi[$t]);const o=s.toLanguageString(be,xi[be]),a=s.toLanguageString(we,xi[we]),l=s.toLanguageString(ut,xi[ut]),d=!(null==(e=this.$props.dataItem)||!e[this.ks.fields.id]),u=d?s.toLanguageString(Lt,xi[Lt]):s.toLanguageString(jt,xi[jt]);this.startValidationMessage=s.toLanguageString(Rt,xi[Rt]);const p=t.createVNode(Lr,null,{default:()=>[t.createVNode(or,{editSaveMessage:o,editCancelMessage:a,editDeleteMessage:d?l:void 0,onCancel:this.handleCancel,onDelete:d&&this.onDelete?this.handleDelete:void 0},null)]}),m=r.getTemplate.call(this,{h:t.h,template:this.ks.form,defaultRendering:p,additionalProps:{dataItem:this.dataItem,editSaveMessage:o,editCancelMessage:a},additionalListeners:{cancel:this.handleCancel}}),g={title:u,appendTo:"body",width:"desktop"===this.media?650:"85%",wrapperId:this.dialogId,...this.ks.dialogProps},f={initialValues:i.ksModifyInitialFormValues(i.$props.dataItem),validator:i.formValidator,...this.ks.formProps};return t.h(c.Dialog,{onClose:this.handleClose,class:"k-scheduler-edit-dialog",...g},function(){return[t.h(h.Form,{onSubmit:i.handleSubmit,...f},function(){return[m]})]})},methods:{calculateMedia(){r.canUseDOM&&window.matchMedia&&(this.media=window.matchMedia("(min-width: 600px)").matches?"desktop":"mobile")},handleCancel(e){this.$emit("cancel",{value:null,event:e,target:this.form})},handleClose({event:e}){this.$emit("close",{value:null,event:e,target:this.form})},handleDelete(){var e;null==(e=this.onDelete)||e.call(this,this.$props.dataItem)},handleSubmit(e,t){this.$emit("submit",{value:e,event:t,target:this.form})},startAfterEndValidator(e,t){return e&&t(this.ks.fields.end)&&e.getTime()>t(this.ks.fields.end).getTime()?this.startValidationMessage:void 0},endAfterStartValidator(e,t){return e&&t(this.ks.fields.start)&&e.getTime()<t(this.ks.fields.start).getTime()?this.endValidationMessage:void 0},requiredValidator(e){return e?void 0:this.requiredValidationMessage},formValidator(e,t){const i={};i[this.ks.fields.start]=[this.requiredValidator(t(this.ks.fields.start)),this.startAfterEndValidator(t(this.ks.fields.start),t)].filter(Boolean).reduce((e,t)=>e||t,""),i[this.ks.fields.end]=[this.requiredValidator(t(this.ks.fields.start)),this.endAfterStartValidator(t(this.ks.fields.start),t)].filter(Boolean).reduce((e,t)=>e||t,"");const r=this.ksValidator(t);return{...i,...r}}}}),Wr={skeleton:"dd"},Hr=t.defineComponent({name:"KendoSchedulerSlot",inheritAttrs:!1,emits:{focus:null,blur:null,click:null,showmoreitems:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,doubleclick:null,keydown:null,keypress:null,keyup:null,cancel:null,close:null,formsubmit:null},props:{refTo:[Function,Object],role:String,items:Array,row:Number,group:Object,range:Object,className:String,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,tabIndex:{type:Number,default:void 0},col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,isAllDay:Boolean,navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,formItem:Object,slotStyle:Object,viewSlot:Object},computed:{cSlot(){const e=this.ksSlots.cSlots;return e?e[this.index]?e[this.index]:e.length?e[0]:{}:{}},currentTabIndex(){return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:this.$props.selected?0:-1},slotClass(){return{"k-scheduler-cell k-slot-cell":!0,"k-nonwork-hour":!this.$props.isWorkHour||!this.$props.isWorkDay,"k-selected":this.$props.selected,[this.$props.className]:this.$props.className}},slotLabel(){return`${z(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay||!1)}`}},inject:{ks:{default:null},kendoIntlService:{default:null},setSlots:{default:null},slotClick:{default:null},slotDoubleClick:{default:null},ksEditFormSubmit:{default:null},ksEditFormCancel:{default:null},ksEditFormClose:{default:null},ksSlots:{default:{}}},data:()=>({hasMounted:!1}),mounted(){this.hasMounted=!0,this.setSlots({type:w.add,item:this})},unmounted(){this.setSlots({type:w.remove,item:this})},render(){this.intl=n.provideIntlService(this);const e=r.getDefaultSlots(this),i=Object.assign({userSelect:"none"},this.$props.slotStyle,this.$attrs.style);return t.createVNode("div",{id:this.$props.id,style:i,class:this.slotClass,tabindex:this.currentTabIndex,role:this.$props.role,onFocus:this.handleFocus,onBlur:this.handleBlur,onClick:this.handleClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-slot":!0,"data-slot-allday":this.cSlot.isAllDay,"data-slot-start":this.cSlot.start.getTime(),"data-slot-end":this.cSlot.end.getTime(),"data-slot-group":this.cSlot.group.index,"data-slot-range":this.cSlot.range.index,"data-slot-index":this.cSlot.index},[this.navDay&&t.createVNode("span",{class:"k-link k-nav-day"},[this.intl.formatDate(new Date(this.cSlot.end.getTime()-(this.cSlot.end.getTime()-this.cSlot.start.getTime())/2),Wr)]),this.itemsPerSlot<this.cSlot.items.length&&t.createVNode(sr,{currentSlot:this.cSlot,hiddenCount:this.cSlot.items.length-this.itemsPerSlot,onClick:this.handleShowMoreItemsClick},null),e,this.formItem&&t.createVNode(Br,{dataItem:this.formItem,onSubmit:this.handleFormSubmit,onClose:this.handleFormClose,onCancel:this.handleFormCancel},null)])},methods:{handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},handleFocus(e){this.$emit("focus",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleBlur(e){this.$emit("blur",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleClick(e){const t={event:e,target:{props:{...this.cSlot},element:this.$el}};this.$emit("click",t),this.slotClick(t)},handleMouseOver(e){this.$emit("mouseover",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseOut(e){this.$emit("mouseout",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseEnter(e){this.$emit("mouseenter",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseLeave(e){this.$emit("mouseleave",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleDoubleClick(e){if(e.target.closest(".k-more-events"))return;const t={event:e,target:{props:{...this.cSlot},element:this.$el}};this.$emit("doubleclick",t),this.slotDoubleClick(t)},handleKeyDown(e){this.$emit("keydown",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleKeyPress(e){this.$emit("keypress",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleKeyUp(e){this.$emit("keyup",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleFormClose(e){this.ksEditFormClose(e),this.$emit("close",e)},handleFormSubmit(e){this.ksEditFormSubmit(e),this.$emit("formsubmit",e)},handleFormCancel(e){this.ksEditFormCancel(e),this.$emit("cancel",e)}}}),Pr=(e,t,i)=>{let s=0;const o=e=>8===e.nodeType?e.parentElement:3===e.nodeType?e.nextElementSibling:e,n=t=>{const i=e.$props.slotStyle;i&&Object.prototype.hasOwnProperty.call(i,"minHeight")&&(t.style.minHeight=i.minHeight)};(()=>{if(!e)return;const t=o(e.$el);t&&(n(t),s=t.clientHeight)})(),(()=>{if(!i||!e)return;const t=o(e.$el);if(!t||!e.bv.items.length)return;const a=D(t);let l=0;const d=e.cSlot.items.filter(e=>e.refTo),c=e.$props.itemsPerSlot,h=void 0!==c?d.filter((e,t)=>t<c):d;h.forEach(t=>{const i=e.bv.items.find(e=>e.uid===t.uid);if(!i)return;const{height:r}=S(i.getElement());l+=r});let u=0;if(r.isObject(i)&&i.offsetBottom){const e=t.querySelector(".k-more-events");if(e){const t=parseFloat(window.getComputedStyle(e).bottom)||0;u=e.offsetHeight+t+6}}let p=1*h.length*2+l-(a||0)+(r.isObject(i)&&i.offsetTop?i.offsetTop:0)+u;d.length?p>s-a&&b(t,{height:p},!0):t&&n(t)})()};const _r=t.defineComponent({name:"KendoSchedulerViewSlot",inheritAttrs:!1,emits:{focus:null,showmoreitems:null,doubleclick:null,keydown:null},props:{role:String,refTo:[Function,Object],className:String,items:Array,row:Number,group:Object,range:Object,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,slotRender:[String,Function,Object],expandable:[Boolean,Object],isAllDay:Boolean,navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,formItem:Object,tabIndex:{type:Number,default:void 0},slotStyle:Object},created(){this.viewSlot=null,this.slot=null},inject:{ks:{default:null},bv:{default:null},ksSlots:{default:{}}},data:()=>({timeout:void 0,expandTimeout:void 0,layoutSignature:""}),computed:{cSlot(){return this.ksSlots.cSlots?this.ksSlots.cSlots[this.index]:{}}},mounted(){const e=this;this.$nextTick(function(){e.layoutSignature=e.getLayoutSignature(),Pr(e,e.ks.scheduler.$el,e.$props.expandable)}),this.ks.scheduler&&this.ks.scheduler.$el&&r.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},updated(){const e=this.getLayoutSignature();if(e!==this.layoutSignature){this.layoutSignature=e;const t=this;void 0!==this.expandTimeout&&window.cancelAnimationFrame(this.expandTimeout),this.expandTimeout=window.requestAnimationFrame(()=>{Pr(t,t.ks.scheduler.$el,t.$props.expandable)})}},render(){const e=r.getDefaultSlots(this),{refTo:i,items:s,row:o,group:n,range:a,isWorkDay:l,isWorkHour:d,col:c,index:h,start:u,end:p,zonedStart:m,zonedEnd:g,navDay:f,itemsPerSlot:v,editable:y,className:k}=this.$props;let S;const D=t.createVNode(Hr,{role:this.role,tabIndex:this.tabIndex,isAllDay:this.isAllDay,items:s,row:o,group:n,range:a,isWorkDay:l,isWorkHour:d,col:c,index:h,start:u,end:p,zonedStart:m,zonedEnd:g,navDay:f,itemsPerSlot:v,editable:y,formItem:this.formItem,onShowmoreitems:this.handleShowMoreItemsClick,onDoubleclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onFocus:this.handleFocus,selected:this.selected,slotStyle:this.$props.slotStyle,className:k},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]});return S=r.getTemplate.call(this,{h:t.h,template:this.$props.slotRender,defaultRendering:D,defaultSlots:e,additionalProps:this.cSlot,additionalListeners:{showmoreitems:this.handleShowMoreItemsClick}}),S},methods:{getLayoutSignature(){var e;return JSON.stringify({items:null==(e=this.cSlot.items)?void 0:e.map(e=>({uid:e.uid,order:e.order})),itemsPerSlot:this.$props.itemsPerSlot,expandable:this.$props.expandable,slotStyle:this.$props.slotStyle})},handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleFocus(e){this.$emit("focus",e)},handleResize(){const e=this;void 0!==this.timeout&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{Pr(e,e.ks.scheduler.$el,e.$props.expandable)})}}}),Kr=e=>{const t=void 0!==e?e:{}.editable||!1,i=!0===t||void 0!==t&&!1!==t&&!0===t.edit,r=!0===t||void 0!==t&&!1!==t&&!0===t.resize,s=!0===t||void 0!==t&&!1!==t&&!0===t.remove,o=!0===t||void 0!==t&&!1!==t&&!0===t.drag;return{add:!0===t||void 0!==t&&!1!==t&&!0===t.add,edit:i,drag:o,remove:s,resize:r,select:!0===t||void 0!==t&&!1!==t&&!0===t.select}};const qr=t.defineComponent({name:"KendoSchedulerEditSlot",inheritAttrs:!1,props:{role:String,tabIndex:{type:Number,default:void 0},className:String,form:Object,formItem:Object,refTo:[Function,Object],items:Array,row:Number,group:Object,range:Object,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,isAllDay:Boolean,expandable:[Boolean,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,onDataaction:Function},created(){this.slot=null,this.editableSlot=null},mounted(){const e=this;this.$nextTick(function(){Pr(e,e.ks.scheduler.$el,e.$props.expandable)})},updated(){const e=this;this.$nextTick(function(){Pr(e,e.ks.scheduler.$el,e.$props.expandable)})},provide(){return{ksEditFormSubmit:this.handleEditFormSubmit,ksEditFormCancel:this.handleEditFormCancel,ksEditFormClose:this.handleEditFormClose}},inject:{bv:{default:null},ks:{default:null},dispatchSelectedItems:{default:null},dispatchFocusedItems:{default:null},dispatchFocusedSlots:{default:null},dispatchSelectedSlots:{default:null},ksSlots:{default:{}}},data:()=>({currentFormItem:null}),computed:{cSlot(){return this.ksSlots.cSlots?this.ksSlots.cSlots[this.index]:{}},currentTabIndex(){const e=this.bv.slots.length&&Z(this.bv.slots[0].cSlot,this.cSlot);return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:0===this.bv.selectedSlots.length&&e&&0===this.cSlot.items.length?0:void 0},computedEditable(){return Kr(this.$props.editable)},compFormItem(){return void 0!==this.formItem?this.formItem:this.currentFormItem}},render(){const e=r.getDefaultSlots(this),{role:i,viewSlot:s,form:o,formItem:n,items:a,row:l,group:d,range:c,isWorkDay:h,isWorkHour:u,col:p,index:m,start:g,end:f,zonedStart:v,zonedEnd:y,navDay:k,itemsPerSlot:S,className:D}=this.$props,b=this.bv.selectedSlots.some(e=>Z(e.cSlot,this.cSlot));let w;const I=t.createVNode(_r,{role:i,className:D,slotRender:this.$props.slotRender,isAllDay:this.isAllDay,expandable:this.expandable,editable:this.editable,items:a,row:l,group:d,range:c,isWorkDay:h,isWorkHour:u,col:p,index:m,start:g,end:f,zonedStart:v,zonedEnd:y,selected:b,navDay:k,itemsPerSlot:S,tabIndex:this.currentTabIndex,formItem:this.compFormItem,onFocus:this.handleFocus,onDoubleclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onShowmoreitems:this.handleShowMoreItemsClick},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]});return w=r.getTemplate.call(this,{h:t.h,template:this.$props.viewSlot,defaultRendering:I,defaultSlots:e,additionalProps:{...this.cSlot,isAllDay:this.cSlot.isAllDay,expandable:this.expandable,editable:this.editable,items:a,row:this.cSlot.row,group:this.cSlot.group,range:this.cSlot.range,isWorkDay:h,isWorkHour:u,col:this.cSlot.col,index:m,start:this.cSlot.start,end:this.cSlot.end,zonedStart:v,zonedEnd:y,selected:b,navDay:k,itemsPerSlot:S,tabIndex:this.currentTabIndex},additionalListeners:{focus:this.handleFocus,doubleclick:this.handleDoubleClick,keydown:this.handleKeyDown,showmoreitems:this.handleShowMoreItemsClick}}),w},methods:{handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},createDataItemFromSlot(){const e={};if(O(e,this.ks.fields.start,new Date(this.cSlot.start.getTime())),O(e,this.ks.fields.end,new Date(this.cSlot.end.getTime())),O(e,this.ks.fields.isAllDay,this.cSlot.isAllDay),this.cSlot.group.resources.length)for(let t=0;t<this.cSlot.group.resources.length;t++){const i=this.cSlot.group.resources[t];if(E(this.cSlot.group.resources)){const r=T(this.cSlot.group.resources[t],i.valueField);O(e,i.field,i.multiple?[r]:r)}else O(e,i.field,i.multiple?[]:void 0)}return e},handleFocus(e){this.computedEditable.select&&this.dispatchSelectedSlots({type:Bi.select,slot:this},e.event),this.$emit("focus",e)},handleDoubleClick(e){if(this.computedEditable.add){const t=this.createDataItemFromSlot();this.setFormItem(t,e)}this.$emit("doubleclick",e)},handleKeyDown(e){let t,i,s;switch(e.event.keyCode){case r.Keys.left:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:Hi.left,slot:this},e.event);break;case r.Keys.right:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:Hi.right,slot:this},e.event);break;case r.Keys.up:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:Hi.up,slot:this},e.event);break;case r.Keys.down:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:Hi.down,slot:this},e.event);break;case r.Keys.enter:if(!this.bv.slots||!this.computedEditable.add)return;s=this.createDataItemFromSlot(),this.setFormItem(s);break;case r.Keys.tab:i=function(e){return e.props.items.find(e=>0===e.order)||e.props.items[0]}(e.target),t=i?X(i,this.bv.items,!1):G(this.bv.items,this.ignoreIsAllDay)[0],this.dispatchFocusedItems({type:Gi.current,item:t},e.event),this.dispatchSelectedItems({type:ji.select,item:t},e)}t&&e.event.preventDefault()},handleEditFormSubmit(e){this.$emit("dataaction",{type:Ji.create,series:!1,dataItem:e.value},e),this.setFormItem(null,e.event)},handleEditFormCancel(e){this.setFormItem(null,e.event)},handleEditFormClose(e){this.setFormItem(null,e)},handleFormItemChange(e,t){this.setFormItem&&this.setFormItem(e,t)},setFormItem(e,t){this.currentFormItem=e,this.$emit("formitemchange",t)}}}),Ur=t.defineComponent({name:"KendoTimeHeaderCell",props:{as:[String,Function,Object],format:{type:[String,Object],default:"t"},date:[Date,Object],start:[Date,Object],end:[Date,Object]},inject:{kendoIntlService:{default:null}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=n.provideIntlService(this).formatDate(this.$props.date,this.$props.format),i=r.getTemplate.call(this,{h:t.h,template:this.$props.as,defaultRendering:e,additionalProps:{default:e,date:this.$props.date,format:this.$props.format}});return t.createVNode("div",{class:"k-scheduler-cell k-heading-cell"},[i])}}),Gr=t.defineComponent({name:"KendoDayViewRowContent",props:{contentSlot:Object,isMaster:Boolean,isLast:Boolean,timeHeaderCell:[String,Function,Object]},render(){const{contentSlot:e}=this.$props;return this.$props.isMaster?t.createVNode(Ur,{as:this.$props.timeHeaderCell,date:e.zonedStart,start:e.zonedStart,end:e.zonedEnd,class:r.classNames("k-side-cell",{"k-major-cell":!this.$props.isLast})},null):t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-side-cell"},null)}}),Zr=t.defineComponent({name:"KendoCurrentTimeMarker",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null,this.observer=null,this.line=null},data:()=>({show:!1}),mounted(){this.line=this.$el,this.$nextTick(()=>{this.position()}),this.ks.scheduler&&this.ks.scheduler.$el&&window&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),r.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){clearInterval(this.interval),this.observer&&this.observer.disconnect()},render(){return t.createVNode("div",{class:"k-current-time",style:{transform:this.$props.vertical?"translateX(-50%)":"translateY(-50%)",[this.$props.vertical?"width":"height"]:"1px",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const e=this.$props.groupIndex,t=this.bv.slots.filter(t=>(null==e||t.cSlot.group.index===e)&&(this.$props.vertical?L(new Date,new Date,t.cSlot.start,t.cSlot.end,!0):H(new Date,t.cSlot.start,t.cSlot.end))&&!t.isAllDay);if(t&&t.length&&this.line){const e=$(t);if(!e)return;const r=this.$props.vertical?(e=>{let t=0;return e.forEach(e=>{if(e){const i=S(e.$el);t+=i.height}}),t})(t):(e=>{let t=0;return e.forEach(e=>{if(e){const i=S(e.$el);t+=i.width}}),t})(t),s=S(e.$el),o=S(this.arrowRef),n=(this.$props.vertical?s.width:s.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),a=(Date.now()-((e,t)=>{const r=i.cloneDate(e);return r.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),r})(new Date,e.cSlot.start).getTime())*n,l="rtl"===this.$props.dir,d=this.$props.vertical?s.top:s.top+a-o.height/2,c=l?"right":"left",h=this.$props.vertical?s[c]+a-o.width/2:s[c];this.line.style[c]=`${h}px`,this.line.style.top=`${d}px`,this.line.style[this.$props.vertical?"height":"width"]=r-1+"px",this.show=!0}else this.show=!1}}}),Yr=t.defineComponent({name:"KendoCurrentTimeMarkerArrow",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null},data:()=>({show:!1}),mounted(){this.arrowRef=this.$el,this.position(),this.ks.scheduler&&this.ks.scheduler.$el&&window&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),r.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){clearInterval(this.interval),this.observer&&this.observer.disconnect()},render(){return t.createVNode("div",{class:r.classNames("k-current-time",{"k-current-time-arrow-right":!this.$props.vertical&&"rtl"!==this.$props.dir,"k-current-time-arrow-left":!this.$props.vertical&&"rtl"===this.$props.dir,"k-current-time-arrow-down":this.$props.vertical}),style:{transform:this.$props.vertical?"rtl"===this.$props.dir?"translateX(50%)":"translateX(-50%)":"translateY(-50%)",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const e=this.$props.groupIndex,t=this.bv.slots.filter(t=>(null==e||t.cSlot.group.index===e)&&(this.$props.vertical?L(new Date,new Date,t.cSlot.start,t.cSlot.end,!0):H(new Date,t.cSlot.start,t.cSlot.end))&&!t.isAllDay);if(t&&t.length&&this.$el){const e=$(t);if(!e)return;const r=S(e.$el),s=S(this.arrowRef),o=(this.$props.vertical?r.width:r.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),n=(Date.now()-((e,t)=>{const r=i.cloneDate(e);return r.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),r})(new Date,e.cSlot.start).getTime())*o,a="rtl"===this.$props.dir,l=this.$props.vertical?r.top:r.top+n-s.height/2,d=a?"right":"left",c=this.$props.vertical?r[d]+n-s.width/2:r[d];this.$props.vertical?this.arrowRef.style[d]=`${c}px`:this.arrowRef.style.top=`${l}px`,this.show=!0}else this.show=!1}}}),Xr=t.defineComponent({name:"KendoDayViewVerticalSlotsRow",props:{currentTimeMarker:{type:Boolean,default:!0},slotRender:[String,Function,Object],viewSlot:[String,Function,Object],editable:[Object,Boolean],groupIndex:Number,root:Object,rootIndex:Number,filtered:Array,slotDivisions:{type:Number,default:2},timeSlots:Array,timeRanges:Array,numberOfDays:Number,workDayStart:Date,workDayEnd:Date,workWeekStart:Number,workWeekEnd:Number,onDataaction:Function},inject:{ri:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.timeSlots,t=this.root,i=this.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,i,this.timeRanges,t)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.timeSlots,t=this.root,i=this.groupIndex;return this.calculateRanges(e,i,this.timeRanges,t)}},render(){const e=this.$props.editSlot||qr,i=this.groupIndex,r=this,{root:s,rootIndex:o,slotDivisions:n,filtered:a,workDayStart:l,workDayEnd:d,numberOfDays:c,workWeekStart:h,workWeekEnd:u,viewSlot:p,renderSlot:m,form:g,editable:f}=this.$props;return t.createVNode("div",{class:"k-scheduler-row",key:s.index},[t.createVNode(Gr,{contentSlot:s,isMaster:o%n===0,isLast:(o+1)%n===0,timeHeaderCell:this.$props.timeHeaderCell},null),this.currentCellSlots.map(function(s,n){return t.createVNode(e,{slotRender:m,viewSlot:p,form:g,onDataaction:r.handleDataAction,index:n,row:a.length*(i||0)+o+1*(i||0)+1,col:s.range.index,editable:f,isWorkHour:H(s.zonedStart,l,d),isWorkDay:0<=s.zonedStart.getDay()+(c-h)&&(s.zonedStart.getDay()+(c-h))%c<=u+(c-h)},null)},!0),this.$props.currentTimeMarker&&L($(this.timeRanges).start,C(this.timeRanges).end,new Date,new Date,!0)&&[t.createVNode(Yr,{groupIndex:i},null),t.createVNode(Zr,{groupIndex:i},null)]])},methods:{handleDataAction(e){this.$emit("dataaction",e)},calculateRanges:(e,t,i,r)=>i.map(function(i,s){return e.filter(e=>e.index===r.index&&e.group.index===t&&e.range.index===s)}).flat()}}),Qr=t.defineComponent({name:"KendoMonthViewBody",emits:["dataaction","showmoreitems"],props:{editable:[Object,Boolean],groupIndex:Number,rangeIndex:Number,itemsPerSlot:Number,monthSlots:Array,ranges:Array,slotRender:[String,Function,Object],viewSlot:[String,Function,Object],onDataaction:Function,onShowmoreitems:Function},inject:{ri:{default:{}},ks:{default:null},setActiveDate:{default:null},setActiveViewName:{default:null},setSlots:{default:null},kendoIntlService:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return{ksSlots:{cSlots:this.monthSlots.filter(t=>t.group.index===e&&t.range.index===this.rangeIndex)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return this.monthSlots.filter(t=>t.group.index===e&&t.range.index===this.rangeIndex)}},render(){this.intl=n.provideIntlService(this);const e=this.$props.editSlot||qr,i=this,s=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return t.createVNode("div",{class:"k-scheduler-row",key:this.rangeIndex},[this.currentCellSlots.map(function(o,n,a){return t.createVNode(e,{className:r.classNames({"k-other-month":this.isOtherMonth(o,this.ks.currentDate)}),slotRender:this.$props.slotRender,viewSlot:i.$props.viewSlot,form:i.$props.form,index:n,navDay:!0,itemsPerSlot:i.itemsPerSlot,expandable:{offsetTop:30,offsetBottom:i.itemsPerSlot<o.items.length?15:0},onDataaction:i.handleDataAction,col:"horizontal"===i.ks.orientation?a.length*(s||0)+n:n,row:"horizontal"===i.ks.orientation?i.rangeIndex:i.ranges.length*(s||0)+i.rangeIndex,editable:i.$props.editable,onShowmoreitems:e=>i.handleShowMoreItemsClick(e,o)},null)},this)])},methods:{handleShowMoreItemsClick(e,t){this.$emit("showmoreitems",{event:e,slot:t})},handleDataAction(e){this.$emit("dataaction",e)},isOtherMonth:(e,t)=>e.start.getMonth()<t.getMonth()||e.start.getMonth()>t.getMonth()}}),Jr=t.defineComponent({name:"KendoTimelineViewBody",props:{currentTimeMarker:{type:Boolean,default:!0},groupIndex:Number,timelineSlots:Array,ranges:Array,workDayStart:Date,workDayEnd:Date,editable:[Object,Boolean],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],onDataaction:Function},inject:{ri:{default:null},ks:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.timelineSlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.ranges)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.timelineSlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return this.calculateRanges(e,t,this.ranges)}},render(){const e=this,i=this.ks.orientation,r=this.ranges,s=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex,o=this.$props.editable;return t.createVNode("div",{class:"k-scheduler-row"},[this.currentCellSlots.map(function(n,a,l){return t.createVNode(qr,{slotRender:e.$props.slotRender,viewSlot:e.$props.viewSlot,index:a,form:e.$props.form,onDataaction:e.handleDataAction,isWorkHour:H(n.zonedStart,e.workDayStart,e.workDayEnd),col:"horizontal"===i?n.range.index*l.length+a+l.length*r.length*(s||0):n.range.index*l.length+a,row:"horizontal"===i?0:s||0,expandable:!0,editable:o},null)},this),this.$props.currentTimeMarker&&L($(r).start,C(r).end,new Date,new Date,!0)&&t.createVNode(Zr,{groupIndex:s,vertical:!0},null)])},methods:{handleDataAction(e){this.$emit("dataaction",e)},calculateRanges:(e,t,i)=>i.map((i,r)=>e.filter(e=>e.group.index===t&&e.range.index===r)).flat()}});function es(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const ts=t.defineComponent({name:"KendoVerticalResourceIterator",emits:["dataaction"],props:{more:Object,group:Object,resources:Array,nested:Boolean,wrapGroup:Boolean,cellContent:Object,emptyCell:Boolean,role:String,onDataaction:Function,editable:[Boolean,Object]},render(){const e=this,i=r.getDefaultSlots(this),{nested:s,wrapGroup:o,more:n}=this.$props,a=this.$props.cellContent||is,l=y(this.$props.group,this.$props.resources),d=function(e,i){return n?n.timelineSlots?t.createVNode(Jr,{slotRender:n.slotRender,viewSlot:n.viewSlot,groupIndex:i,ranges:n.ranges,workDayStart:n.workDayStart,workDayEnd:n.workDayEnd,timelineSlots:n.timelineSlots,onDataaction:this.handleDataAction,editable:n.editable},null):n.monthSlots?n.ranges.map(function(e,r){return t.createVNode(Qr,{slotRender:n.slotRender,viewSlot:n.viewSlot,ranges:n.ranges,groupIndex:i,monthSlots:n.monthSlots,rangeIndex:r,itemsPerSlot:n.itemsPerSlot,onDataaction:this.handleDataAction,onShowmoreitems:n.onShowmoreitems,editable:n.editable},null)},this):n.timeSlots.filter(e=>e.group.index===i&&0===e.range.index).map(function(e,r,s){return t.createVNode(Xr,{slotRender:n.slotRender,viewSlot:n.viewSlot,groupIndex:i,onDataaction:this.handleDataAction,root:e,rootIndex:r,filtered:s,timeRanges:n.timeRanges,timeSlots:n.timeSlots,workDayStart:n.workDayStart,workDayEnd:n.workDayEnd,numberOfDays:n.numberOfDays,workWeekStart:n.workWeekStart,workWeekEnd:n.workWeekEnd,editable:n.editable,currentTimeMarker:n.currentTimeMarker},null)},this):null},c=function(i,s=!0){const{children:o}=i,n=i.resources.length>0;if(i.depth===i.resources.length||!n){let s;return[t.createVNode(Qi,{noWrap:!0,resource:i.resources[i.depth],groupIndex:n?i.groupIndex:0},es(s=r.getDefaultSlots(e))?s:{default:()=>[s]}),d.call(this,i.resources[i.depth],n?i.groupIndex:0)]}const a=i.resources[i.depth].data.length;return i.resources[i.depth].data.map(function(e,r){return t.createVNode("div",{key:r,class:"k-scheduler-row"},[s&&t.createVNode("div",{class:"k-scheduler-cell k-group-cell k-heading-cell","data-depth-index":i.depth},[e.text]),t.createVNode("div",{class:"k-scheduler-cell k-group-content k-resource-row","data-depth-index":i.depth,"data-resource-index":a*i.groupIndex+r},[c.call(this,{resources:i.resources,children:o,cellContent:i.cellContent,groupIndex:a*i.groupIndex+r,depth:i.depth+1},s)])])},this)},h=function(e){const{children:i}=e,r=e.resources.length?e.resources[e.depth].data.length:0;return e.resources[e.depth]?e.resources[e.depth].data.map(function(s,o){return t.createVNode("div",{key:o,class:"k-scheduler-row"},[t.createVNode("div",{class:"k-scheduler-cell k-resource-cell k-resource-row k-heading-cell","data-depth-index":e.depth,"data-resource-index":r*e.groupIndex+o},[s.text]),e.depth+1!==l.length&&t.createVNode("div",{class:"k-scheduler-cell k-resource-content"},[h.call(this,{resources:l,children:i,cellContent:e.cellContent,groupIndex:r*e.groupIndex+o,depth:e.depth+1})])])},this):null},u=function(e,i,r,s){const o=i.length>0;return t.createVNode(Qi,{noWrap:!0,resource:i[r],groupIndex:o?r:void 0},{default:()=>[t.createVNode("div",{class:"k-scheduler-cell k-group-content",role:s},[e])]})},p=function(e){return e.map(function(e,i){return t.createVNode("div",{key:i,class:"k-scheduler-cell k-group-cell k-heading-cell","data-depth-index":i},null)},this)};return t.createVNode("div",{class:"k-scheduler-group",role:this.role},[s?o?t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode("div",{class:"k-sticky-cell"},[h.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0})]),t.createVNode("div",{class:"k-scheduler-cell k-group-content"},[c.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0},!1)])]):c.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0},!0):o?t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode("div",{class:"k-sticky-cell"},[function(e){return t.createVNode("div",{class:"k-scheduler-row",role:e.role},[t.createVNode("div",{class:"k-scheduler-row"},[e.resources.map(function(e,i){return t.createVNode("div",{key:i,class:"k-scheduler-cell k-resource-cell k-heading-cell","data-depth-index":i},null)},this)])])}.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0})]),t.createVNode("div",{class:"k-scheduler-cell k-group-content"},[i])]):function(e){const{children:i}=e;return t.createVNode("div",{class:"k-scheduler-row",role:e.role},[p.call(this,e.resources),this.emptyCell&&t.createVNode("div",{class:"k-scheduler-cell k-side-cell"},null),u.call(this,i,e.resources,e.groupIndex,e.role)])}.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0,role:this.role})])},methods:{handleDataAction(e){this.$emit("dataaction",e)}}}),is=null,rs=(e,{step:t,timezone:r})=>{const s=[],o=i.ZonedDate.fromLocalDate(e.start,r),n=i.ZonedDate.fromLocalDate(e.end,r);for(let e=o.clone(),i=0;e.getTime()<n.getTime();i++,e=e.addTime(t)){const r=e.clone(),o=r.clone().addTime(t),n=new Date(r.getTime()),a={index:i,end:new Date(o.getTime()),start:n,zonedStart:r,zonedEnd:o};s.push(a)}return s},ss=(e,{dateRange:t,fields:i,timezone:r})=>e.map(os(i)).reduce(ns(t,r,i),[]).filter(e=>!A(e.dataItem,i)),os=e=>t=>({uid:r.getter(e.id||"id")(t),start:r.getter(e.start||"start")(t),startTimezone:r.getter(e.startTimezone||"startTimezone")(t),originalStart:r.getter(e.originalStart||"originalStart")(t),end:r.getter(e.end||"end")(t),endTimezone:r.getter(e.endTimezone||"endTimezone")(t),isAllDay:r.getter(e.isAllDay||"isAllDay")(t),title:r.getter(e.title||"title")(t),description:r.getter(e.description||"description")(t),occurrenceId:r.getter("occurrenceId")(t),recurrenceRule:r.getter(e.recurrenceRule||"recurrenceRule")(t),recurrenceExceptions:r.getter(e.recurrenceExceptions||"recurrenceExceptions")(t),recurrenceId:r.getter(e.recurrenceId||"recurrenceId")(t),readonly:r.getter(e.readonly||"readonly")(t),dataItem:r.clone(t)}),ns=(e,t,i)=>(r,s)=>[...r,...s.recurrenceRule&&(null===s.recurrenceId||void 0===s.recurrenceId)&&A(s.dataItem,i)?[...as(s,{dateRange:e,timezone:t,fields:i})]:[s]],as=(e,{dateRange:t,timezone:s,fields:o})=>{const n=e.recurrenceRule,a=m.parseRule({recurrenceRule:n});if(!a)return[];a.start||(a.start=i.ZonedDate.fromLocalDate(e.start,s)),a.end||(a.end=i.ZonedDate.fromLocalDate(e.end,s));const l=e.recurrenceExceptions;l&&(a.exceptionDates=l.map(e=>i.ZonedDate.fromLocalDate(e,s)));const d=a.end.getTime()-a.start.getTime(),c=i.ZonedDate.fromLocalDate(new Date(t.zonedStart.toLocalDate().getTime()-d),s),h=t.zonedEnd,u=m.expand(a,{rangeStart:c,rangeEnd:h});return u.events.length?u.events.map((t,i)=>{const s=r.clone(e),n=r.clone(e.dataItem);return s.recurrenceId=s.uid,O(n,o.recurrenceId,e.uid),s.originalStart=t.start.toLocalDate(),O(n,o.originalStart,t.start.toLocalDate()),s.start=t.start.toLocalDate(),O(n,o.start,t.start.toLocalDate()),s.end=t.end.toLocalDate(),O(n,o.end,t.end.toLocalDate()),s.occurrenceId=String(i),O(n,"occurrenceId",String(i)),s.dataItem=n,s}):[]},ls=(e,{timezone:t},{groups:r,ranges:o})=>{const n=[];return s.orderBy(e,[{field:"start",dir:"asc"},{field:"end",dir:"desc"},{field:"isAllDay",dir:"desc"},{field:"title",dir:"asc"},{field:"uid",dir:"asc"}]).forEach(e=>{r.forEach(s=>{const a=1===r.length?ds(e,s):s;hs(e,a)&&o.forEach(r=>{var s;if(us(e,r)){const o={},l={},d=r.end<e.end,c=e.start<r.start,h=i.ZonedDate.fromLocalDate(e.start,t),u=i.ZonedDate.fromLocalDate(e.end,t),p={...e,refTo:l,itemRef:o,head:d,tail:c,order:null,zonedStart:h,zonedEnd:u,group:a,range:r,slots:[],isRecurring:!!e.recurrenceRule,isException:!e.recurrenceRule&&null!==e.recurrenceId&&void 0!==e.recurrenceId,isAllDay:!!e.isAllDay,readonly:null!=(s=e.readonly)?s:void 0};n.push(p)}})})}),n},ds=(e,t)=>({index:0,resources:t.resources.filter(t=>cs(e,t))}),cs=(e,t)=>t.multiple?(e.dataItem[t.field]||[]).some(e=>t[t.valueField]===e):e.dataItem[t.field]===t[t.valueField],hs=(e,t)=>!t.resources.some(t=>t.multiple?!e.dataItem[t.field].some(e=>t[t.valueField]===e):e.dataItem[t.field]!==t[t.valueField]),us=(e,t)=>L(t.start,t.end,e.start,e.end)&&(void 0===t.isAllDay||!!e.isAllDay==!!t.isAllDay),ps=t.defineComponent({name:"KendoAgendaViewHead",props:{monthSlots:Array,dateHeaderCell:[String,Function,Object]},inject:{ri:{default:null},kendoLocalizationService:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1}},render(){const e=n.provideLocalizationService(this),i="function"==typeof this.ksMobile&&this.ksMobile()?"k-scheduler-row k-mobile-header":"k-scheduler-row";return t.createVNode("div",{class:i,role:"row",key:this.ri.groupIndex},[t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-datecolumn",role:"columnheader"},[e.toLanguageString(Dt,xi[Dt])]),t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-timecolumn",role:"columnheader"},[e.toLanguageString(bt,xi[bt])]),t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-eventcolumn",role:"columnheader"},[e.toLanguageString(wt,xi[wt])])])}});function ms(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const gs=t.defineComponent({name:"KendoSchedulerOccurrenceDialog",props:{dataItem:Object,isRemove:Boolean,onClose:Function,onOccurrenceclick:Function,onSeriesclick:Function},inject:{kendoLocalizationService:{default:null}},created(){this.dialogId=r.guid()},mounted(){setTimeout(()=>{const e=document.getElementById(this.dialogId);e&&e.focus()},10)},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{isRemove:e}=this.$props,i=n.provideLocalizationService(this),r=e=>i.toLanguageString(e,xi[e]),s=r(ye),a=r(ke),l=r(Se),d=r(De),h=r(gt),u=r(ft),p=r(St),m=r(mt),g=e?p:d,f=e?m:l,v=e?h:s,y=e?u:a;return t.createVNode(c.Dialog,{title:g,appendTo:"body",wrapperId:this.dialogId,onClose:this.handleClose},{default:()=>[f,t.createVNode(c.DialogActionsBar,null,{default:()=>[t.createVNode(o.Button,{onClick:this.handleOccurrenceClick},ms(v)?v:{default:()=>[v]}),t.createVNode(o.Button,{onClick:this.handleSeriesClick},ms(y)?y:{default:()=>[y]})]})]})},methods:{handleClose({event:e}){var t;null==(t=this.onClose)||t.call(this,{event:e,value:null,target:{props:this.$props}})},handleSeriesClick(e){var t;null==(t=this.onSeriesclick)||t.call(this,{event:e,value:null,target:{props:this.$props}})},handleOccurrenceClick(e){var t;null==(t=this.onOccurrenceclick)||t.call(this,{event:e,value:null,target:{props:this.$props}})}}});function fs(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const vs=t.defineComponent({name:"KendoSchedulerRemoveDialog",props:{dataItem:Object,onClose:Function,onCancel:Function,onConfirm:Function,isSeries:Boolean},inject:{kendoLocalizationService:{default:null}},created(){this.dialogId=r.guid()},mounted(){setTimeout(()=>{const e=document.getElementById(this.dialogId);e&&e.focus()},10)},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=n.provideLocalizationService(this),i=e.toLanguageString(we,xi[we]),r=e.toLanguageString(ut,xi[ut]),s=this.isSeries?e.toLanguageString(yt,xi[yt]):e.toLanguageString(pt,xi[pt]),a=this.isSeries?e.toLanguageString(kt,xi[kt]):e.toLanguageString(vt,xi[vt]);return t.createVNode(c.Dialog,{title:a,appendTo:"body",wrapperId:this.dialogId,onClose:this.handleClose},{default:()=>[s,t.createVNode(c.DialogActionsBar,null,{default:()=>[t.createVNode(o.Button,{onClick:this.handleCancel},fs(i)?i:{default:()=>[i]}),t.createVNode(o.Button,{onClick:this.handleConfirm},fs(r)?r:{default:()=>[r]})]})]})},methods:{handleClose({event:e}){this.$emit("close",{event:e})},handleCancel(e){this.$emit("cancel",{event:e,value:null})},handleConfirm(e){this.$emit("confirm",{event:e,value:null})}}}),ys=t.defineComponent({name:"KendoSchedulerTask",setup:()=>({getResourceColor:R()}),props:{refTo:[Function,Object],id:String,tabIndex:Number,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,removeItem:Object,editable:[Object,Boolean],readonly:Boolean,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},isSeries:{type:Boolean,default:void 0},onRemoveclick:Function},inject:{kendoLocalizationService:{default:null},taskClick:{default:null},taskDoubleClick:{default:null},ksCancel:{default:null},ksSeriesClick:{default:null},ksOccurrenceClick:{default:null},ksRemoveConfirm:{default:null}},created(){this.task=null},render(){const e=r.getDefaultSlots(this),i=Kr(this.$props.editable),s=this.$props.readonly?{remove:!1,select:i.select}:i,o=n.provideLocalizationService(this).toLanguageString(pe,xi[pe]),a=this.$props.group.resources.find(e=>!(!e.colorField||""===e[e.colorField]||void 0===e[e.colorField])),l=this.getResourceColor(a&&a.colorField&&a[a.colorField]);return t.createVNode("div",{id:this.$props.id,class:"k-task",tabindex:this.$props.tabIndex||void 0,onClick:this.handleClick,onDblclick:this.handleDoubleClick},[l&&t.createVNode("span",{class:"k-scheduler-mark",style:{color:l,backgroundColor:l}},null),this.$props.isRecurring&&t.createVNode(r.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null),this.$props.isException&&t.createVNode(r.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null),t.createVNode("span",{class:"k-scheduler-task-text"},[this.$props.title]),e,s.remove&&t.createVNode("a",{class:"k-link k-event-delete",title:o,"aria-label":o,onClick:this.handleRemoveClick},[t.createVNode(r.Icon,{name:"x",icon:d.xIcon},null)]),this.showOccurrenceDialog&&t.createVNode(gs,{dataItem:this.removeItem,isRemove:null!==this.removeItem,onClose:this.ksCancel,onOccurrenceclick:this.ksOccurrenceClick,onSeriesclick:this.ksSeriesClick},null),this.showRemoveDialog&&t.createVNode(vs,{dataItem:this.removeItem,isSeries:this.isSeries,onClose:this.ksCancel,onCancel:this.ksCancel,onConfirm:this.ksRemoveConfirm},null)])},methods:{handleRemoveClick(e){this.$emit("removeclick",{event:e,target:this.task})},handleClick(e){const t={event:e,target:{props:{...this.$props},element:this.$el}};this.$emit("click",t),this.taskClick(t)},handleDoubleClick(e){const t={event:e,target:{props:{...this.$props},element:this.$el}};this.$emit("doubleclick",t),this.taskDoubleClick(t)}}});const ks=t.defineComponent({name:"KendoSchedulerViewTask",emits:["removeclick"],props:{itemRef:[Function,Object],id:String,tabIndex:Number,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,removeItem:Object,task:[String,Function,Object],editable:[Object,Boolean],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},isSeries:{type:Boolean,default:void 0},onRemoveclick:Function},render(){const e=r.getDefaultSlots(this);let i;const s=t.createVNode(ys,{id:this.$props.id,tabIndex:this.$props.tabIndex,head:this.$props.head,tail:this.$props.tail,order:this.$props.order,zonedStart:this.$props.zonedStart,zonedEnd:this.$props.zonedEnd,slots:this.$props.slots,group:this.$props.group,range:this.$props.range,isException:this.$props.isException,isRecurring:this.$props.isRecurring,isAllDay:this.$props.isAllDay,uid:this.$props.uid,start:this.$props.start,end:this.$props.end,originalStart:this.$props.originalStart,startTimezone:this.$props.startTimezone,endTimezone:this.$props.endTimezone,title:this.$props.title,description:this.$props.description,occurrenceId:this.$props.occurrenceId,recurrenceExceptions:this.$props.recurrenceExceptions,recurrenceRule:this.$props.recurrenceRule,recurrenceId:this.$props.recurrenceId,dataItem:this.$props.dataItem,removeItem:this.removeItem,editable:this.$props.editable,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,isSeries:this.isSeries,onRemoveclick:this.handleRemoveClick},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]});return i=r.getTemplate.call(this,{h:t.h,template:this.$props.task,defaultRendering:s,defaultSlots:e,additionalListeners:{removeclick:this.handleRemoveClick}}),i},methods:{handleRemoveClick(e){this.$emit("removeclick",e)}}});function Ss(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Ds=t.defineComponent({name:"KendoSchedulerEditTask",emits:["dataaction","showremovedialogchange","showoccurrencedialogchange","removeitemchange"],props:{viewTask:[String,Function,Object],removeDialog:[String,Function,Object],removeItem:[String,Function,Object],occurrenceDialog:[String,Function,Object],task:[String,Function,Object],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},series:{type:Boolean,default:void 0},refTo:[Function,Object],id:String,tabIndex:Number,editable:[Object,Boolean],head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object},created(){},inject:{bv:{default:null},ks:{default:null},taskDoubleClick:{default:null}},provide(){return{et:this.et,taskDoubleClick:this.handleTaskDoubleClick,removeTask:this.handleRemoveItemChange,removeDialog:this.handleRemoveDialogChange,occurrenceDialog:this.handleOccurrenceDialogChange,ksCancel:this.handleCancel,ksSeriesClick:this.handleSeriesClick,ksOccurrenceClick:this.handleOccurrenceClick,ksRemoveConfirm:this.handleRemoveConfirm}},data:()=>({et:{removeItem:null,showRemoveDialog:!1,showOccurrenceDialog:!1},currentSeries:null,currentFormItem:null,currentRemoveItem:null,currentShowRemoveDialog:null,currentShowOccurrenceDialog:null}),computed:{compSeries(){return void 0!==this.series?this.series:this.currentSeries},compRemoveItem(){return void 0!==this.removeItem?this.removeItem:this.currentRemoveItem},compShowRemoveDialog(){return void 0!==this.showRemoveDialog?this.showRemoveDialog:this.currentShowRemoveDialog},compShowOccurrenceDialog(){return void 0!==this.showOccurrenceDialog?this.showOccurrenceDialog:this.currentShowOccurrenceDialog},compFormItem(){return this.currentFormItem},currentEditable(){return Kr(this.$props.editable)}},render(){const e=r.getDefaultSlots(this);return t.createVNode(t.Fragment,null,[t.createVNode(ks,{id:this.$props.id,tabIndex:this.$props.tabIndex,head:this.$props.head,tail:this.$props.tail,order:this.$props.order,zonedStart:this.$props.zonedStart,zonedEnd:this.$props.zonedEnd,slots:this.$props.slots,group:this.$props.group,range:this.$props.range,isException:this.$props.isException,isRecurring:this.$props.isRecurring,isAllDay:this.$props.isAllDay,uid:this.$props.uid,start:this.$props.start,end:this.$props.end,originalStart:this.$props.originalStart,startTimezone:this.$props.startTimezone,endTimezone:this.$props.endTimezone,title:this.$props.title,description:this.$props.description,occurrenceId:this.$props.occurrenceId,recurrenceExceptions:this.$props.recurrenceExceptions,recurrenceRule:this.$props.recurrenceRule,recurrenceId:this.$props.recurrenceId,dataItem:this.$props.dataItem,task:this.$props.task,editable:this.$props.editable,onRemoveclick:this.handleRemoveClick},Ss(e)?e:{default:()=>[e]}),this.compFormItem&&!this.compShowOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(Br,{dataItem:this.compFormItem,onSubmit:this.handleFormSubmit,onClose:this.handleCancel,onCancel:this.handleCancel,onDelete:this.currentEditable.remove?this.handleFormDelete:void 0},null),this.compShowOccurrenceDialog&&this.compFormItem&&this.currentEditable.edit&&t.createVNode(gs,{dataItem:this.compFormItem,isRemove:!1,onClose:this.handleCancel,onOccurrenceclick:this.handleOccurrenceClick,onSeriesclick:this.handleSeriesClick},null)])},methods:{setRemoveItem(e,t){this.currentRemoveItem=e,this.$emit("removeitemchange",{item:e,event:t})},setShowRemoveDialog(e,t){this.currentShowRemoveDialog=e,this.$emit("showremovedialogchange",{show:e,event:t})},setShowOccurrenceDialog(e,t){this.currentShowOccurrenceDialog=e,this.$emit("showoccurrencedialogchange",{show:e,event:t})},handleTaskDoubleClick(e){this.currentEditable.edit?(this.currentFormItem=this.$props.dataItem,this.$props.isRecurring&&this.setShowOccurrenceDialog(!0,e),this.taskDoubleClick&&this.taskDoubleClick(e)):this.taskDoubleClick&&this.taskDoubleClick(e)},handleFormSubmit(e){const t=e.value;this.$emit("dataaction",{type:Ji.update,series:this.compSeries,dataItem:t}),this.currentFormItem=null,this.currentSeries=null},handleFormDelete(e){this.currentFormItem=null,this.currentSeries=null,this.$emit("dataaction",{type:Ji.remove,series:this.compSeries,dataItem:e})},handleRemoveClick(e){this.currentEditable.remove&&(this.setRemoveItem(this.$props.dataItem,e),this.$props.isRecurring?this.setShowOccurrenceDialog(!0,e):this.setShowRemoveDialog(!0,e))},handleCancel(e){this.currentSeries=null,this.currentFormItem=null,this.setRemoveItem(null,e),this.setShowRemoveDialog(!1,e),this.setShowOccurrenceDialog(!1,e)},handleRemoveConfirm(e){this.compRemoveItem&&this.$emit("dataaction",{type:Ji.remove,series:this.compSeries,dataItem:this.compRemoveItem}),this.setRemoveItem(null,e),this.setShowRemoveDialog(!1,e)},handleRemoveItemChange(e,t){this.setRemoveItem&&this.setRemoveItem(e,t)},handleRemoveDialogChange(e,t){this.setShowRemoveDialog&&this.setShowRemoveDialog(e,t)},handleOccurrenceDialogChange(e,t){this.setShowOccurrenceDialog&&this.setShowOccurrenceDialog(e,t)},handleOccurrenceClick(e){this.compRemoveItem?(this.currentSeries=!1,this.setRemoveItem(this.$props.dataItem,e),this.setShowRemoveDialog(!0,e)):this.compFormItem&&(this.currentSeries=!1,this.currentFormItem=this.$props.dataItem),this.setShowOccurrenceDialog(!1,e)},handleSeriesClick(e){if(this.compRemoveItem){this.currentSeries=!0;const t=F(this.compRemoveItem,this.ks.fields,this.ks.dataItems);this.setRemoveItem(t,e),this.setShowRemoveDialog(!0,e)}else this.compFormItem&&(this.currentSeries=!0,this.currentFormItem=r.clone(F(this.$props.dataItem,this.ks.fields,this.ks.dataItems)));this.setShowOccurrenceDialog(!1,e)}}}),bs=t.defineComponent({name:"KendoAgendaViewBody",emits:["dataaction"],props:{items:Array,rangeIndex:Number,itemsPerSlot:Number,agendaSlots:Array,task:[String,Function,Object],editable:[Object,Boolean],onDataaction:Function},inject:{ri:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1},kendoIntlService:{default:null},kendoLocalizationService:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){return{hasMounted:!1,ksSlots:{cSlots:this.agendaSlots.filter(e=>e.group.index===(this.ri.groupIndex||0))}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){return this.agendaSlots.filter(e=>e.group.index===(this.ri.groupIndex||0))}},mounted(){this.hasMounted=!0},render(){this.intl=n.provideIntlService(this);const e=this.$props.editSlot||qr,i=this.$props.editTask||Ds,s=n.provideLocalizationService(this),o="function"==typeof this.ksMobile&&this.ksMobile();return t.createVNode(t.Fragment,null,[this.currentCellSlots.map(function(n,a,l){return t.createVNode("div",{class:"k-scheduler-row k-scheduler-content",role:"row",key:`${this.ri.groupIndex}:${a}`},[t.createVNode(e,{index:a,editable:this.$props.editable,row:l.length*(this.ri.groupIndex||0)+a,col:0,viewSlot:this.$props.viewSlot,onDataaction:this.handleDataAction,className:"k-scheduler-datecolumn k-group-cell",role:"rowheader"},{default:()=>[o?t.createVNode("div",{class:"k-scheduler-datecolumn-wrap"},[t.createVNode("span",{class:"k-mobile-scheduler-agendadate"},[t.createVNode("span",{class:"k-mobile-scheduler-agendaday"},[this.intl.formatDate(n.zonedStart,"dd")]),t.createTextVNode(" "),t.createVNode("span",{class:"k-mobile-scheduler-agendamonth"},[this.intl.formatDate(n.zonedStart,"MMMM")])]),t.createVNode("span",{class:"k-mobile-scheduler-agendaweekday"},[this.intl.formatDate(n.zonedStart,"EEEE")])]):t.createVNode("div",null,[t.createVNode("strong",{class:"k-scheduler-agendaday"},[this.intl.formatDate(n.zonedStart,"dd")]),t.createVNode("em",{class:"k-scheduler-agendaweek"},[this.intl.formatDate(n.zonedStart,"EEEE")]),t.createVNode("span",{class:"k-scheduler-agendadate"},[this.intl.formatDate(n.zonedStart,"y")])])]}),t.createVNode("div",{class:"k-scheduler-cell k-group-content",role:"gridcell"},[this.hasMounted&&n.items.length?n.items.map(function(e,o){return t.createVNode("div",{class:"k-scheduler-row",key:o},[t.createVNode("div",{class:"k-scheduler-cell k-scheduler-timecolumn"},[t.createVNode("div",null,[e.tail&&t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null),e.isAllDay?s.toLanguageString(se,xi[se]):ws(this.intl,e),e.head&&t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])]),t.createVNode("div",{class:"k-scheduler-cell"},[t.createVNode(i,{key:`${a}:${o}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,onDataaction:this.handleDataAction,task:this.$props.task,viewTask:this.$props.viewTask,editable:this.$props.editable},null)])])},this):t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell"},[s.toLanguageString(Ct,xi[Ct])])])])},this)])},methods:{handleDataAction(e){this.$emit("dataaction",e)}}}),ws=(e,t)=>{let i="{0:t}-{1:t}";return t.head?i="{0:t}":t.tail&&(i="{1:t}"),e.format(i,t.zonedStart,t.zonedEnd)},Is=(e,{step:t},{groups:r,ranges:s})=>{const o=[];return r.forEach(e=>{s.forEach(r=>{const s=r.zonedStart,n=r.zonedEnd,a=n.timezoneOffset-s.timezoneOffset;for(let l=s.clone(),d=0,c=a<0?a*er*-1:0;l.getTime()<n.getTime();){const s={},n=l.clone(),a=l.addTime(t),h=(a.timezoneOffset-n.timezoneOffset)*er,u=t<Math.abs(h);c&&u&&(c-=t,l=l.addTime(-t));const p=new Date(n.getTime()),m={refTo:s,index:d,end:new Date(a.getTime()),start:p,zonedStart:n,zonedEnd:a,range:r,group:e,items:[],isAllDay:i.MS_PER_DAY<=t};o.push(m),d++,l=l.addTime(t)}})}),o},Rs=t.defineComponent({name:"KendoAgendaView",props:{name:{type:String,default:"agenda"},dateRange:{type:[Function,Object],default:function(){return $s}},selectedDateFormat:{type:String,default:"{0:M} - {1:M}"},selectedShortDateFormat:{type:String,default:"{0:m} - {1:m}"},slotDuration:{type:Number,default:1440},slotDivisions:{type:Number,default:1},step:{type:Number,default:7},numberOfDays:{type:Number,default:7},task:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{ks:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},created(){this.intl=n.provideIntlService(this)},mounted(){Yi({element:this.$el,selector:".k-scheduler-datecolumn",explicitDepth:!1}),setTimeout(()=>Yi({element:this.$el,selector:".k-scheduler-timecolumn",explicitDepth:!1}))},updated(){Yi({element:this.$el,selector:".k-scheduler-datecolumn",explicitDepth:!1}),setTimeout(()=>Yi({element:this.$el,selector:".k-scheduler-timecolumn",explicitDepth:!1}))},computed:{ranges(){return rs(this.ks.dateRange,{step:i.MS_PER_DAY,timezone:this.ks.timezone})},agendaSlots(){return Is(this.ks.dateRange,{step:i.MS_PER_DAY},{groups:this.ks.groups,ranges:this.ranges})},occurrences(){return ss(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=ls(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges});return q(e,this.agendaSlots,!0),K(e,this.agendaSlots,!0),e}},render(){this.$props.editTask,this.$props.editSlot,n.provideIntlService(this),n.provideLocalizationService(this);const e=this.agendaSlots;return t.createVNode(Xi,{id:this.$props.id,class:"k-scheduler-agendaview",viewProps:{...this.$props},baseSlots:this.items,ranges:this.ranges,isAgendaView:!0},{default:()=>[t.createVNode("div",{class:"k-scheduler-head",role:"rowgroup"},[t.createVNode(ts,{resources:this.ks.props.resources,group:this.ks.props.group,role:"presentation"},{default:()=>[t.createVNode(ps,null,null)]})]),t.createVNode("div",{class:"k-scheduler-body",role:"rowgroup"},[t.createVNode(ts,{resources:this.ks.props.resources,group:this.ks.props.group,nested:!0,role:"presentation"},{default:()=>[t.createVNode(bs,{items:this.items,agendaSlots:e,task:this.$props.task,editable:this.$props.editable,onDataaction:this.handleDataAction},null)]})])]})},methods:{handleDataAction(e){this.$emit("dataaction",e)}}}),$s=({intl:e,date:t,numberOfDays:r=1,timezone:s})=>{const o=i.ZonedDate.fromLocalDate(t,s),n=(e=>i.getDate(e))(7===r?i.firstDayInWeek(o,e.firstDay()):o),a=((e,t)=>i.getDate(i.addDays(e,t||1)))(n,r),l=i.ZonedDate.fromUTCDate(x(n),s),d=i.ZonedDate.fromUTCDate(x(a),s);return{start:new Date(l.getTime()),end:new Date(d.getTime()),zonedStart:l,zonedEnd:d}};const Cs=t.defineComponent({name:"KendoHorizontalResourceIterator",props:{group:Object,resources:Array,nested:Boolean,rowContent:[String,Function,Object],childRowContent:[String,Function,Object],rowContentProps:{type:Object,default:function(){return{}}}},render(){const e=this,{nested:i,rowContentProps:s}=this.$props,o=this.$props.rowContent||Es,n=this.$props.childRowContent||o,a=y(this.$props.group,this.$props.resources),l=r.getDefaultSlots(this),d=function(i){const s=k(i.resources,i.resources.length-1),o=i.childRowContent,n=i.resources.length>0;return t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode(o,{timeHeaderCell:i.rowContentProps.timeHeaderCell,isMaster:i.rowContentProps.isMaster,isLast:i.rowContentProps.isLast,contentSlot:i.rowContentProps.contentSlot,resources:i.resources},null),(s.length?s:tr).map(function(i,s){let o;return t.createVNode(Qi,{key:s,resource:i,groupIndex:n?s:0},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(o=r.getDefaultSlots(e))?o:{default:()=>[o]})},this)])},c=function(e){const{children:r}=e;if(e.groupIndex===e.resources.length)return d.call(this,{resources:e.resources,rowContent:e.rowContent,children:r,nested:e.nested,groupIndex:e.groupIndex,rowContentProps:e.rowContentProps,childRowContent:e.childRowContent});const s=k(e.resources,e.groupIndex),h=e.rowContent;return[e.nested?t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode(h,{resources:e.resources,groupIndex:e.groupIndex,timeHeaderCell:e.rowContentProps.timeHeaderCell,isMaster:e.rowContentProps.isMaster,isLast:e.rowContentProps.isLast,contentSlot:e.rowContentProps.contentSlot},null),s.map((e,i)=>t.createVNode("div",{key:i,class:"k-scheduler-cell k-heading-cell"},[e.text]))]):[t.createVNode(h,{resources:e.resources,groupIndex:e.groupIndex,timeHeaderCell:e.rowContentProps.timeHeaderCell,isMaster:e.rowContentProps.isMaster,isLast:e.rowContentProps.isLast,contentSlot:e.rowContentProps.contentSlot},null),s.map(function(e,i){return t.createVNode("div",{key:i,class:"k-scheduler-cell k-heading-cell"},[e.text])},this)],c.call(this,{resources:a,children:l,nested:i,rowContent:o,rowContentProps:e.rowContentProps,childRowContent:n,groupIndex:e.groupIndex+1})]};return t.createVNode("div",{class:"k-scheduler-group k-group-horizontal"},[i?c.call(this,{resources:a,children:l,nested:i,groupIndex:0,rowContent:o,rowContentProps:s,childRowContent:n}):d.call(this,{resources:a,children:l,rowContent:o,nested:!!i,groupIndex:0,rowContentProps:s,childRowContent:n})])}}),Es=e=>e.children,zs=t.defineComponent({name:"KendoTimelineViewRowContent",props:{},render:()=>t.createVNode("div",{class:"k-sticky-cell"},[t.createVNode("div",{class:"k-scheduler-cell k-side-cell"},null)])}),Ns=t.defineComponent({name:"KendoTimelineViewAllEventsRowContent",props:{},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this);return t.createVNode("div",{class:"k-sticky-cell"},[t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-side-cell k-scheduler-times-all-day","data-range-index":0},[e.toLanguageString(re,xi[re])])])}}),Ts=t.defineComponent({name:"KendoSchedulerItem",inheritAttrs:!1,emits:{focus:null,blur:null,mousedown:null,mouseup:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,click:null,doubleclick:null,removeclick:null,keydown:null,keypress:null,keyup:null,press:null,drag:null,release:null,resizepress:null,resizestartdrag:null,resizeenddrag:null,resizerelease:null,cancel:null,close:null,formsubmit:null},props:{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,maxSiblingsPerSlot:Number,itemTitle:String,formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,ignoreIsAllDay:Boolean,item:[String,Function,Object],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0}},inject:{ks:{default:null},bv:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null},setItems:{default:null},itemClick:{default:null},itemDoubleClick:{default:null},ksMobile:{default:null},ksCancel:{default:null},ksFormSubmit:{default:null},ksOccurrenceClick:{default:null},ksSeriesClick:{default:null},ksRemoveConfirm:{default:null},ksRemoveDialogCancel:{default:null},ksDeleteItem:{default:null},ksFormDelete:{default:null},ksIsSeries:{default:null}},computed:{currentEditable(){const e=Kr(this.$props.editable);return this.$props.readonly?{add:!1,edit:!1,drag:!1,resize:!1,remove:!1,select:e.select}:e},resource(){return this.$props.group.resources.find(e=>!(!e.colorField||""===e[e.colorField]||void 0===e[e.colorField]))},color(){return this.resource&&this.resource.colorField&&this.resource[this.resource.colorField]},currentTabIndex(){return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:this.$props.selected?0:-1},itemClassName(){return{"k-event":!this.$props.resizeHint,"k-selected":this.$props.selected&&this.currentEditable.select,"k-readonly":!this.$props.resizeHint&&!!this.$props.readonly,"k-event-drag-hint":this.$props.dragHint,"k-scheduler-marquee":this.$props.resizeHint,"k-marquee":this.$props.resizeHint,"k-first":this.$props.resizeHint&&!this.$props.tail,"k-last":this.$props.resizeHint&&!this.$props.head,[this.$props.className]:this.$props.className}},eventLabel(){return`${z(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay)}, ${this.$props.title}`},resizeHandleStyle(){var e;return this.$props.selected&&this.currentEditable.select&&null!=(e=this.ksMobile)&&e.call(this)?{visibility:"visible"}:void 0},computedStyle(){var e;return{cursor:"pointer",userSelect:"none",...this.color?{[this.$props.resizeHint?"--kendo-marquee-color":"--kendo-scheduler-event-color"]:this.color}:void 0,touchAction:"none",...this.$props.itemStyle,containerType:this.$props.resizeHint?void 0:"auto"===(null==(e=this.$props.itemStyle)?void 0:e.height)?"normal":"size"}}},created(){this.setItems({type:w.add,item:this})},mounted(){this.element||(this.element=this.$refs.draggable&&this.$refs.draggable.element)},unmounted(){this.setItems({type:w.remove,item:this})},render(){const e=r.getDefaultSlots(this);this.intl=n.provideIntlService(this);const i=r.getTemplate.call(this,{h:t.h,template:this.bv.viewProps.resizeHint,additionalProps:{dataItem:this.dataItem,color:this.color,itemClassName:this.itemClassName}});return t.createVNode(r.Draggable,{onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,ref:"draggable"},{default:()=>{var s;return[t.createVNode("div",{id:this.$props.id,style:this.computedStyle,tabindex:this.currentTabIndex,class:this.itemClassName,role:"button","aria-label":this.eventLabel,"aria-disabled":!!this.$props.readonly||void 0,onFocusin:this.handleFocus,onBlur:this.handleBlur,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-group-index":this.$props.group.index,"data-range-index":this.$props.range.index},[this.formItem&&!this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(Br,{dataItem:this.formItem,onSubmit:this.handleFormSubmit,onClose:this.handleFormClose,onCancel:this.handleFormCancel,onDelete:this.currentEditable.remove?this.handleEditDialogDelete:void 0},null),this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(gs,{dataItem:this.formItem||this.dragItem||this.resizeItem||this.removeItem,isRemove:!!this.removeItem,onClose:this.ksCancel,onOccurrenceclick:this.ksOccurrenceClick,onSeriesclick:this.ksSeriesClick},null),this.showRemoveDialog&&this.removeItem&&this.currentEditable.remove&&t.createVNode(vs,{dataItem:this.removeItem,isSeries:null==(s=this.ksIsSeries)?void 0:s.call(this),onClose:this.ksRemoveDialogCancel,onCancel:this.ksRemoveDialogCancel,onConfirm:this.ksRemoveConfirm},null),e,this.currentEditable.resize&&this.$props.vertical&&[t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-n",style:this.resizeHandleStyle},null)]}),t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-s",style:this.resizeHandleStyle},null)]})],this.currentEditable.resize&&!this.$props.vertical&&[t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-w",style:this.resizeHandleStyle},null)]}),t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-e",style:this.resizeHandleStyle},null)]})],this.$props.resizeHint?this.bv.viewProps.resizeHint?i:[t.createVNode("div",{key:"color",class:"k-marquee-color"},null),t.createVNode("div",{key:"text",class:"k-marquee-text"},[!this.$props.tail&&t.createVNode("div",{class:"k-label-top"},[this.intl.formatDate(this.$props.zonedStart,this.$props.format)]),!this.$props.head&&t.createVNode("div",{class:"k-label-bottom"},[this.intl.formatDate(this.$props.zonedEnd,this.$props.format)])])]:null])]}})},methods:{getElement(){return 8===this.$el.nodeType?this.$el.parentElement:3===this.$el.nodeType?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",{event:e,target:{props:{...this.$props},element:this.element}})},handleBlur(e){this.$emit("blur",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseDown(e){this.$emit("mousedown",{event:e,target:{props:{...this.$props},element:this.element}})},handleClick(e){var t;const i={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("click",i),this.itemClick(i),null!=(t=this.ksMobile)&&t.call(this)&&this.$props.selected&&this.handleDoubleClick(e)},handleMouseUp(e){this.$emit("mouseup",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOver(e){this.$emit("mouseover",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOut(e){this.$emit("mouseout",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseEnter(e){this.$emit("mouseenter",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseLeave(e){this.$emit("mouseleave",{event:e,target:{props:{...this.$props},element:this.element}})},handleDoubleClick(e){if(this.$props.readonly)return;const t={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("doubleclick",t),this.itemDoubleClick(t)},handleRemoveClick(e){this.$emit("removeclick",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyDown(e){this.$emit("keydown",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyPress(e){this.$emit("keypress",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyUp(e){this.$emit("keyup",{event:e,target:{props:{...this.$props},element:this.element}})},handlePress(e){this.currentEditable.drag&&this.$emit("press",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleDrag(e){this.currentEditable.drag&&this.$emit("drag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleRelease(e){this.currentEditable.drag&&this.$emit("release",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizePress(e){this.$emit("resizepress",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeStartDrag(e){this.$emit("resizestartdrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeEndDrag(e){this.$emit("resizeenddrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeRelease(e){this.$emit("resizerelease",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleFormClose(e){this.ksCancel(e),this.$emit("close",e)},handleFormSubmit(e){this.ksFormSubmit(e),this.$emit("formsubmit",e)},handleFormCancel(e){this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogSave(e){const t={value:e,event:null,target:this};this.ksFormSubmit(t),this.$emit("formsubmit",t)},handleEditDialogCancel(){const e={value:null,event:null,target:this};this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogDelete(e){this.ksFormDelete&&this.ksFormDelete(e)}}}),Os=t.defineComponent({name:"KendoSchedulerItemContent",props:{title:String},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:"k-event-template"},[this.title,e])}}),Vs=t.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:()=>({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;r.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&&r.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=r.getDefaultSlots(this);let i;this.intl=n.provideIntlService(this);const s=t.createVNode(Ts,{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&&t.createVNode(t.Fragment,null,[this.$props.tail&&!this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null)]),t.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-up",icon:d.chevronUpIcon},null)]),t.createVNode(Os,{class:"k-event-title"},{default:()=>[this.$props.title]}),!this.$props.isAllDay&&t.createVNode(Os,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-down",icon:d.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.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&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])])]});return i=r.getTemplate.call(this,{h:t.h,template:this.$props.item,defaultRendering:s,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}}),i},methods:{getElement(){return 8===this.$el.nodeType?this.$el.parentElement:3===this.$el.nodeType?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 i=1;return e.forEach(e=>{const r=t.filter(t=>this.inSlot(e.cSlot,t.$props));r.length>i&&(i=r.length)}),i},getSiblingsInAllSlots(e,t){return e.map(e=>t.filter(t=>this.inSlot(e.cSlot,t.$props)))},inSlot(e,t){return L(e.start,e.end,t.start,t.end)&&e.group.index===t.group.index&&e.range.index===t.range.index&&(void 0===e.range.isAllDay||void 0===t.range.isAllDay||e.range.isAllDay===t.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===t.isAllDay)},align(){if(!this.element)return;const e=(this.bv.slots||[]).filter(e=>e&&this.inSlot(e.cSlot,this.$props));if(0===e.length)return void(this.display=!1);const t=$(e.sort(function(e,t){return!e.cSlot.start||!t.cSlot.start||e.cSlot.start.getTime()-t.cSlot.start.getTime()}));if(!t)return;const i=S(t.$el),r=t.$el;if(r&&!this.$props.vertical){const e=r.querySelector(".k-nav-day");let t=0;if(e)t=e.offsetTop+parseFloat(window.getComputedStyle(e).lineHeight||"0");else if(r.firstElementChild){const e=window.getComputedStyle(r),i=parseFloat(e.paddingTop||"0"),s=parseFloat(e.lineHeight||"0");s>0&&(t=i+s)}i.top+=t,(this.$props.dragHint||this.$props.resizeHint)&&(i.height-=t)}b(this.element,i)},position(){var e,t;if(!this.element)return;const i=(this.bv.slots||[]).filter(e=>e&&this.inSlot(e.cSlot,this.$props)),r=[],s=[],o=[];(this.bv.items||[]).forEach(e=>{e&&(e.$props.dragHint?s.push(e):e.$props.resizeHint?o.push(e):r.push(e))});const n=this.$props.dragHint||this.$props.resizeHint?((e,t,i,r=!1)=>{let s;return i.forEach(i=>{const o=[];t.sort((e,t)=>e.$props.start.getTime()-t.$props.start.getTime()).forEach(t=>{if((r||t.$props.isAllDay===i.cSlot.isAllDay)&&t.$props.range.index===i.cSlot.range.index&&t.$props.group.index===i.cSlot.group.index&&L(t.$props.start,t.$props.end,i.cSlot.start,i.cSlot.end)){const i=_(o);t===e&&void 0===s&&(s=i),o.splice(i,0,i)}})}),s})(this,this.$props.dragHint?s:o,i,this.$props.ignoreIsAllDay):this.$props.order||0;let a=this.$props.dragHint||this.$props.resizeHint?this.calculateMostSiblings(i,this.$props.dragHint?s:o):this.calculateMostSiblings(i,r);const l=this.getSiblingsInAllSlots(i,r);let d=0;const c=S(this.element),h=null==(e=this.$props.itemStyle)?void 0:e.height,u="number"==typeof h?h:parseFloat(h),p=!(this.$props.vertical||null!=h&&Number.isNaN(u));if(l.forEach(e=>{let t=0;e.sort(function(e,t){return e.$props.order-t.$props.order}).forEach(e=>{if(L(e.$props.start,e.$props.end,this.$props.start,this.$props.end)&&!(this.$props.dragHint||this.$props.resizeHint)&&e.$props.maxSiblingsPerSlot&&e.$props.maxSiblingsPerSlot>a&&e.getElement()!==this.element&&(a=e.$props.maxSiblingsPerSlot),!p){const i=S(e.getElement());null!==e.$props.order&&e.$props.order<n&&(t=(i.top||c.top)+i.height-c.top-1*n+1)}}),t>d&&(d=t)}),p&&(d=n*((Number.isNaN(u)?25:u)+1)),0===i.length)return void(this.display=!1);const m=(null==(t=this.$props.itemStyle)?void 0:t.height)||25;c.width=this.$props.vertical?c.width/a-1-20/a:c.width*i.length-1-20,this.$props.vertical?c.height=c.height*i.length-1:(this.$props.resizeHint||this.$props.dragHint)&&a<=1||(c.height=m),c.left=this.$props.vertical?c.left+n*c.width+1*n:c.left,c.top=this.$props.vertical?c.top:c.top+d+1*n,this.maxSiblingsPerSlot=a,this._order=n,b(this.element,c),this.visible=!0,this.display=!0},handleResize(){void 0!==this.timeout&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.align(),this.position()})}}}),xs=t.defineComponent({name:"KendoSchedulerDrag",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,dataItem:Object,vertical:Boolean,viewItem:[String,Function,Object],item:{type:Object,default:function(){return Ts}}},inject:{ks:{default:null},bv:{default:null}},computed:{occurrences(){return ss([this.$props.dataItem],{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){return ls(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.bv.ranges})}},render(){const e=(this.bv.slots||[]).map(e=>e);q(this.items,e);const i=this.items;return i.length?i.map(function(e,i){return t.createVNode(Vs,{key:i,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,dragHint:!0,vertical:this.$props.vertical,ignoreIsAllDay:this.$props.ignoreIsAllDay},null)},this):null}}),Fs=t.defineComponent({name:"KendoSchedulerResize",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,dataItem:Object,format:String,vertical:Boolean,viewItem:[String,Function,Object],item:{type:Object,default:function(){return Ts}}},inject:{ks:{default:null},bv:{default:null}},computed:{occurrences(){return ss([this.$props.dataItem],{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){return ls(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.bv.ranges})}},render(){const e=(this.bv.slots||[]).map(e=>e);q(this.items,e);const i=this.items;return i.length?i.map(function(e,i){return t.createVNode(Vs,{key:i,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,format:this.format,resizeHint:!0,vertical:this.$props.vertical,ignoreIsAllDay:this.$props.ignoreIsAllDay},null)},this):null}});let As=function(e){return e.set="FORM_ITEM_SET",e.setMaster="FORM_ITEM_SET_MASTER",e.reset="FORM_ITEM_RESET",e.complete="FORM_ITEM_COMPLETE",e}({}),Ms=function(e){return e.set="SHOW_OCCURRENCE_DIALOG_SET",e.open="SHOW_OCCURRENCE_DIALOG_OPEN",e.close="SHOW_OCCURRENCE_DIALOG_CLOSE",e.reset="SHOW_OCCURRENCE_DIALOG_RESET",e.toggle="SHOW_OCCURRENCE_DIALOG_TOGGLE",e}({});let js=function(e){return e.set="REMOVE_ITEM_SET",e.reset="REMOVE_ITEM_RESET",e.complete="REMOVE_ITEM_COMPLETE",e}({}),Ls=function(e){return e.set="SHOW_REMOVE_DIALOG_SET",e.open="SHOW_REMOVE_DIALOG_OPEN",e.close="SHOW_REMOVE_DIALOG_CLOSE",e.reset="SHOW_REMOVE_DIALOG_RESET",e.toggle="SHOW_REMOVE_DIALOG_TOGGLE",e}({});let Bs=function(e){return e.set="DRAG_ITEM_SET",e.start="DRAG_ITEM_START",e.drag="DRAG_ITEM_DRAG",e.complete="DRAG_ITEM_COMPLETE",e.completeOccurrence="DRAG_ITEM_COMPLETE_OCCURRENCE",e.completeSeries="DRAG_ITEM_COMPLETE_SERIES",e.reset="DRAG_ITEM_RESET",e.dragSelected="DRAG_ITEM_DRAG_SELECTED",e}({}),Ws=0,Hs=0,Ps=0,_s=null;const Ks=function(e){const t=r.clone(this.dataItem);switch(e.type){case Bs.set:this.currentDragItem=e.payload;break;case Bs.reset:this.currentDragItem=null;break;case Bs.dragSelected:{if(Math.abs(Hs-e.payload.x)<10&&Math.abs(Ps-e.payload.y)<10)return;const i=N(e.payload.x,e.payload.y,7);if(!i||i===_s)return;const s=i.getAttribute("data-slot-start"),o="true"===i.getAttribute("data-slot-allday");if(!this.ignoreIsAllDay&&o!==this.isAllDay)return;const n=new Date(T(t,this.ks.fields.start)),a=Number(s)-n.getTime(),l=this.bv.selectedItems.map(e=>{if(!e)return null;const t=r.clone(e.props.dataItem),i=new Date(e.props.start.getTime()+a),s=new Date(e.props.end.getTime()+a);return O(t,this.ks.fields.start,i),O(t,this.ks.fields.end,s),t}).filter(Boolean);_s=i,this.currentDragItem=[...l];break}case Bs.start:{const i=e.payload.x,r=e.payload.y;Hs=i,Ps=r;const s=N(i,r,7);if(!s)return;const o=s.getAttribute("data-slot-start"),n=T(t,this.ks.fields.start);if(null===o)return;Ws=Number(o)-new Date(n).getTime();break}case Bs.drag:{if(Math.abs(Hs-e.payload.x)<10&&Math.abs(Ps-e.payload.y)<10)return;const i=N(e.payload.x,e.payload.y,7);if(!i||i===_s)return;const r=i.getAttribute("data-slot-start"),s=i.getAttribute("data-slot-group"),o="true"===i.getAttribute("data-slot-allday");if(!this.ignoreIsAllDay&&o!==this.isAllDay)return;const n=new Date(T(t,this.ks.fields.start)),a=new Date(T(t,this.ks.fields.end)).getTime()-n.getTime(),l=new Date(Number(r)-Number(Ws)),d=new Date(Number(r)-Number(Ws)+a),c=this.ks.groups.find(e=>e.index===Number(s));O(t,this.ks.fields.start,l),O(t,this.ks.fields.end,d),c&&this.ks.groups.length>1&&c.resources.forEach(e=>{e.multiple||O(t,e.field,e[e.valueField])}),_s=i,t&&(this.currentDragItem=t);break}case Bs.complete:{const e=this.compDragItem;this.currentDragItem=null,e&&this.$emit("dataaction",{type:Ji.update,series:!1,dataItem:e});break}case Bs.completeOccurrence:{const e=Array.isArray(this.compDragItem)?this.compDragItem.slice():r.clone(this.compDragItem),t=this.compDragItem;this.currentDragItem=null,t&&this.$emit("dataaction",{type:Ji.update,series:!1,dataItem:e});break}case Bs.completeSeries:{let e;if(Array.isArray(this.compDragItem))e=this.compDragItem.map(e=>{const t=r.clone(e);return O(t,this.ks.fields.start,T(e,this.ks.fields.start)),O(t,this.ks.fields.end,T(e,this.ks.fields.end)),t});else{const t=r.clone(this.compDragItem);O(t,this.ks.fields.start,T(this.compDragItem,this.ks.fields.start)),O(t,this.ks.fields.end,T(this.compDragItem,this.ks.fields.end)),e=t}this.currentDragItem=null,e&&this.$emit("dataaction",{type:Ji.update,series:!0,dataItem:e});break}default:this.currentDragItem=this.compDragItem}this.$emit("dragitemchange",this.currentDragItem)};let qs=function(e){return e.set="RESIZE_ITEM_SET",e.start="RESIZE_ITEM_START",e.startDrag="RESIZE_ITEM_START_DRAG",e.startDragSelected="RESIZE_ITEM_START_DRAG_SELECTED",e.endDrag="RESIZE_ITEM_END_DRAG",e.endDragSelected="RESIZE_ITEM_END_DRAG_SELECTED",e.complete="RESIZE_ITEM_COMPLETE",e.completeOccurrence="RESIZE_ITEM_COMPLETE_OCCURRENCE",e.completeSeries="RESIZE_ITEM_COMPLETE_SERIES",e.reset="RESIZE_ITEM_RESET",e}({}),Us=null;const Gs=function(e,t){let i=this.compResizeItem;switch(e.type){case qs.set:i=e.payload;break;case qs.reset:i=null;break;case qs.start:{t.stopPropagation(),t.preventDefault();const s=e.payload.x,o=e.payload.y,n=N(s,o,7);if(!n||n===Us)return;const a=n.getAttribute("data-slot-start"),l=new Date(Number(a)),d=r.clone(this.dataItem);if(l>=T(d,this.ks.fields.end))return;O(d,this.ks.fields.start,l),Us=n,i=d;break}case qs.startDragSelected:{t.stopPropagation(),t.preventDefault();const s=e.payload.x,o=e.payload.y,n=r.clone(this.dataItem),a=N(s,o,7);if(!a||a===Us)return;const l=a.getAttribute("data-slot-start"),d=new Date(T(n,this.ks.fields.start)),c=new Date(Number(l)).getTime()-d.getTime();let h=!1;const u=this.bv.selectedItems.map(e=>{if(!e)return null;const t=r.clone(e.props.dataItem),i=new Date(e.props.start.getTime()+c);if(!(i>=T(t,this.ks.fields.end)))return O(t,this.ks.fields.start,i),t;h=!0}).filter(Boolean);h||(i=[...u]);break}case qs.startDrag:{const t=e.payload.x,s=e.payload.y,o=N(t,s,7);if(!o||o===Us)return;const n=o.getAttribute("data-slot-start"),a=new Date(Number(n)),l=r.clone(this.dataItem);if(a>=l.end)return;O(l,this.ks.fields.start,a),Us=o,i=l;break}case qs.endDrag:{const t=e.payload.x,s=e.payload.y,o=N(t,s,7);if(!o||o===Us)return;const n=o.getAttribute("data-slot-end"),a=new Date(Number(n)),l=r.clone(this.dataItem);if(a<=l.start)return;O(l,this.ks.fields.end,a),Us=o,i=l;break}case qs.endDragSelected:{t.stopPropagation(),t.preventDefault();const s=e.payload.x,o=e.payload.y,n=r.clone(this.dataItem),a=N(s,o,7);if(!a||a===Us)return;const l=a.getAttribute("data-slot-start"),d=new Date(T(n,this.ks.fields.end)),c=new Date(Number(l)).getTime()-d.getTime();let h;const u=this.bv.selectedItems.map(e=>{if(!e)return null;const t=r.clone(e.props.dataItem),i=new Date(e.props.end.getTime()+c);if(!(i<=T(t,this.ks.fields.start)))return O(t,this.ks.fields.end,i),t;h=!0}).filter(Boolean);h||(i=[...u]);break}case qs.complete:case qs.completeOccurrence:i=null,this.compResizeItem&&this.$emit("dataaction",{type:Ji.update,series:!1,dataItem:this.compResizeItem});break;case qs.completeSeries:{let e;if(i=null,Array.isArray(this.compResizeItem))e=this.compResizeItem.map(e=>{const t=r.clone(e);return O(t,this.ks.fields.start,T(e,this.ks.fields.start)),O(t,this.ks.fields.end,T(e,this.ks.fields.end)),t});else{const t=r.clone(this.compResizeItem);O(t,this.ks.fields.start,T(this.compResizeItem,this.ks.fields.start)),O(t,this.ks.fields.end,T(this.compResizeItem,this.ks.fields.end)),e=t}e&&this.$emit("dataaction",{type:Ji.update,series:!0,dataItem:e});break}default:i=null}this.currentResizeItem=i,this.$emit("resizeitemchange",i)};let Zs=function(e){return e.reset="SERIES_RESET",e.set="SERIES_SET",e.toggle="SERIES_TOGGLE",e}({});const Ys=t.defineComponent({name:"KendoSchedulerEditItem",inheritAttrs:!1,props:{tabIndex:{type:Number,default:void 0},item:[String,Function,Object],viewItem:[String,Function,Object],drag:[String,Function,Object],resize:[String,Function,Object],form:[String,Function,Object],removeDialog:[String,Function,Object],occurrenceDialog:[String,Function,Object],formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},series:{type:Boolean,default:void 0},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,className:String,itemStyle:Object,editable:[Object,Boolean],readonly:Boolean,selected:Boolean,vertical:Boolean,dragHint:Boolean,resizeHint:Boolean,format:String,ignoreIsAllDay:Boolean,itemRef:Object,onRemoveclick:Function,onDataaction:Function,onFormItemChange:Function,onDragitemchange:Function,onResizeitemchange:Function},inject:{bv:{default:null},ks:{default:null},dispatchFocusedItems:{default:null},dispatchFocusedSlots:{default:null},dispatchSelectedItems:{default:null}},provide(){return{ei:this.ei,ksCancel:this.handleCancel,ksFormSubmit:this.handleFormSubmit,ksOccurrenceClick:this.handleOccurrenceClick,ksSeriesClick:this.handleSeriesClick,ksRemoveConfirm:this.handleRemoveConfirm,ksRemoveDialogCancel:this.handleRemoveDialogCancel,ksDeleteItem:this.handleDeleteItem,ksFormDelete:this.handleFormDelete,ksIsSeries:()=>!0===this.compSeries}},data(){return{ei:{props:this.$props,form:this.$props.formItem,drag:this.drag,resize:this.resize,remove:this.remove,showRemoveDialog:this.showRemoveDialog,showOccurrenceDialog:this.showOccurrenceDialog},currentFormItem:null,currentSelected:null,currentSeries:null,currentRemoveItem:null,currentDragItem:null,currentResizeItem:null,currentShowRemoveDialog:null,currentShowOccurrenceDialog:null}},computed:{currentTabIndex(){const e=this.bv.items.length&&this.bv.items[0].dataItem.id===this.dataItem.id;return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:0===this.bv.selectedItems.length&&e?0:void 0},compSelected(){return void 0!==this.selected?this.selected:this.currentSelected},compSeries(){return void 0!==this.series?this.series:this.currentSeries},compFormItem(){return void 0!==this.formItem?this.formItem:this.currentFormItem},compRemoveItem(){return void 0!==this.removeItem?this.removeItem:this.currentRemoveItem},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem},compShowRemoveDialog(){return void 0!==this.showRemoveDialog?this.showRemoveDialog:this.currentShowRemoveDialog},compShowOccurrenceDialog(){return void 0!==this.showOccurrenceDialog?this.showOccurrenceDialog:this.currentShowOccurrenceDialog},actionsReducerMap(){return{[Zs.set]:this.dispatchSeries,[Zs.toggle]:this.dispatchSeries,[Zs.reset]:this.dispatchSeries,[ji.select]:this.dispatchItemSelection,[ji.add]:this.dispatchItemSelection,[ji.remove]:this.dispatchItemSelection,[ji.reset]:this.dispatchItemSelection,[ji.selectNext]:this.dispatchItemSelection,[ji.selectPrev]:this.dispatchItemSelection,[As.set]:this.dispatchFormItem,[As.setMaster]:this.dispatchFormItem,[As.reset]:this.dispatchFormItem,[As.complete]:this.dispatchFormItem,[js.set]:this.dispatchRemoveItem,[js.reset]:this.dispatchRemoveItem,[js.complete]:this.dispatchRemoveItem,[Ms.close]:this.dispatchShowOccurrenceDialog,[Ms.open]:this.dispatchShowOccurrenceDialog,[Ms.set]:this.dispatchShowOccurrenceDialog,[Ms.toggle]:this.dispatchShowOccurrenceDialog,[Ms.reset]:this.dispatchShowOccurrenceDialog,[Ls.close]:this.dispatchShowRemoveDialog,[Ls.open]:this.dispatchShowRemoveDialog,[Ls.set]:this.dispatchShowRemoveDialog,[Ls.toggle]:this.dispatchShowRemoveDialog,[Ls.reset]:this.dispatchShowRemoveDialog,[Bs.start]:this.dispatchDragItem,[Bs.drag]:this.dispatchDragItem,[Bs.complete]:this.dispatchDragItem,[Bs.completeOccurrence]:this.dispatchDragItem,[Bs.completeSeries]:this.dispatchDragItem,[Bs.set]:this.dispatchDragItem,[Bs.reset]:this.dispatchDragItem,[Bs.dragSelected]:this.dispatchDragItem,[qs.start]:this.dispatchResizeItem,[qs.startDrag]:this.dispatchResizeItem,[qs.startDragSelected]:this.dispatchResizeItem,[qs.endDrag]:this.dispatchResizeItem,[qs.endDragSelected]:this.dispatchResizeItem,[qs.complete]:this.dispatchResizeItem,[qs.completeOccurrence]:this.dispatchResizeItem,[qs.completeSeries]:this.dispatchResizeItem,[qs.set]:this.dispatchResizeItem,[qs.reset]:this.dispatchResizeItem,[Gi.next]:this.dispatchViewItemsFocus,[Gi.prev]:this.dispatchViewItemsFocus,[Hi.left]:this.dispatchViewSlotsFocus,[Hi.right]:this.dispatchViewSlotsFocus,[Hi.up]:this.dispatchViewSlotsFocus,[Hi.down]:this.dispatchViewSlotsFocus,null:()=>{}}}},render(){const e=r.getDefaultSlots(this),i=this.$props.drag||xs,s=this.$props.resize||Fs,o=!(!this.bv.selectedItems||!this.bv.selectedItems.some(e=>U(e,this,this.ignoreIsAllDay)));let n;const a=t.createVNode(Vs,{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,className:this.className,itemStyle:this.itemStyle,editable:this.editable,readonly:this.readonly,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,showOccurrenceDialog:this.compShowOccurrenceDialog,showRemoveDialog:this.compShowRemoveDialog,formItem:this.compFormItem,dragItem:this.compDragItem,resizeItem:this.compResizeItem,removeItem:this.compRemoveItem,itemRef:this.item,selected:o,tabIndex:this.currentTabIndex,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},null);return n=r.getTemplate.call(this,{h:t.h,template:this.$props.viewItem,defaultRendering:a,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.createVNode(t.Fragment,null,[n,this.compDragItem&&this.$props.editable.drag&&(Array.isArray(this.compDragItem)?this.compDragItem.map((e,r)=>t.createVNode(i,{key:r,dataItem:e,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null)):t.createVNode(i,{dataItem:this.compDragItem,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null)),this.compResizeItem&&this.$props.editable.resize&&(Array.isArray(this.compResizeItem)?this.compResizeItem.map((e,i)=>t.createVNode(s,{key:i,dataItem:e,format:this.format,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null)):t.createVNode(s,{dataItem:this.compResizeItem,format:this.format,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null))])},methods:{dispatchSeries(e,t){const i=((e,t)=>{switch(t.type){case Zs.reset:return null;case Zs.set:return t.payload;case Zs.toggle:return!e;default:return e}})(this.compSeries,e);this.currentSeries=i,this.$emit("serieschange",i)},dispatchItemSelection(e,t){this.dispatchSelectedItems(e,t)},dispatchRemoveItem(e,t){let i;switch(e.type){case js.set:i=e.payload;break;case js.reset:i=null;break;case js.complete:this.compRemoveItem&&this.$emit("dataaction",{type:Ji.remove,series:this.compSeries,dataItem:this.compRemoveItem}),i=null;break;default:i=this.compRemoveItem}this.currentRemoveItem=i,this.$emit("removeitemchange",i)},dispatchShowOccurrenceDialog(e,t){const i=((e,t)=>{switch(t.type){case Ms.reset:return!1;case Ms.set:return t.payload;case Ms.open:return!0;case Ms.close:return!1;case Ms.toggle:return!e;default:return e}})(this.compShowOccurrenceDialog,e);this.currentShowOccurrenceDialog=i,this.$emit("showoccurrencedialogchange",i)},dispatchShowRemoveDialog(e,t){const i=((e,t)=>{switch(t.type){case Ls.reset:return!1;case Ls.set:return t.payload;case Ls.open:return!0;case Ls.close:return!1;case Ls.toggle:return!e;default:return e}})(this.compShowRemoveDialog,e);this.currentShowRemoveDialog=i,this.$emit("showremovedialogchange",i)},dispatchDragItem(e,t){Ks.call(this,e)},dispatchResizeItem(e,t){Gs.call(this,e,t)},dispatchViewSlotsFocus(e,t){this.dispatchFocusedSlots(e,t)},dispatchViewItemsFocus(e,t){this.dispatchFocusedItems(e,t)},dispatchFormItem(e,t){let i;switch(e.type){case As.set:i=e.payload;break;case As.reset:i=null;break;case As.setMaster:i=r.clone(F(e.payload,this.ks.fields,this.ks.dataItems));break;case As.complete:this.compFormItem&&(this.$emit("dataaction",{type:Ji.update,series:this.compSeries,dataItem:e.payload}),i=null);break;default:i=this.compFormItem}this.currentFormItem=i,this.$emit("formitemchange",i)},handleFocus(e){if(this.onFocusAction){const t=this.onFocusAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("focus",e)},handleMouseDown(e){if(this.onMouseDownAction){const t=this.onMouseDownAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("mousedown",e)},handleMouseUp(e){if(this.onMouseUpAction){const t=this.onMouseUpAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("mouseup",e)},handleClick(e){if(this.onClickAction){const t=this.onClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this},e)):this.actionsReducerMap[t.type]({...t,item:this}))}this.$emit("click",e)},handleDoubleClick(e){if(this.onDoubleClickAction){const t=this.onDoubleClickAction(e,this.$props),i=this;t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&i.actionsReducerMap[t.type]({...t,item:i.dataItem},e)):i.actionsReducerMap[t.type]({...t,item:i.dataItem}))}this.$emit("doubleclick",e)},handleRemoveClick(e){if(this.onRemoveClickAction){const t=this.onRemoveClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("removeclick",e)},handlePress(e){if(this.onPressAction){const t=this.onPressAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("press",e)},handleDrag(e){if(this.onDragAction){const t=this.onDragAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("drag",e)},handleRelease(e){if(this.onReleaseAction){const t=this.onReleaseAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("release",e)},handleResizePress(e){if(this.onResizePressAction){const t=this.onResizePressAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizepress",e)},handleResizeStartDrag(e){if(this.onResizeStartDragAction){const t=this.onResizeStartDragAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){if(this.onResizeEndDragAction){const t=this.onResizeEndDragAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizeenddrag",e)},handleResizeRelease(e){if(this.onResizeReleaseAction){const t=this.onResizeReleaseAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizerelease",e)},handleFormSubmit(e){if(this.onFormSubmitAction){const t=this.onFormSubmitAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("formsubmit",e)},handleCancel(e){if(this.onCancelAction){const t=this.onCancelAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("cancel",e)},handleOccurrenceClick(e){if(this.onOccurrenceClickAction){const t=this.onOccurrenceClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("occurrenceclick",e)},handleSeriesClick(e){if(this.onSeriesClickAction){const t=this.onSeriesClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("seriesclick",e)},handleKeyDown(e){if(this.onKeyDownAction){const t=this.onKeyDownAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this},e.event)):this.actionsReducerMap[t.type]({...t,item:this},e.event))}this.$emit("keydown",e)},handleKeyUp(e){if(this.onKeyUpAction){const t=this.onKeyUpAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event))}this.$emit("keyup",e)},handleRemoveConfirm(e){if(this.onRemoveConfirmAction){const t=this.onRemoveConfirmAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event))}this.$emit("removeconfirm",e)},handleDeleteItem(e){this.$emit("dataaction",{type:Ji.remove,series:this.compSeries,dataItem:e})},handleFormDelete(e){this.dispatchRemoveItem({type:js.set,payload:e},null),this.dispatchShowRemoveDialog({type:Ls.open},null)},handleRemoveDialogCancel(e){this.compFormItem?(this.dispatchRemoveItem({type:js.reset},null),this.dispatchShowRemoveDialog({type:Ls.close},null)):this.handleCancel(e)},onClickAction(e,t){return[{type:e.event.metaKey||e.event.ctrlKey?!this.compSelected||this.compDragItem||this.compResizeItem?ji.add:ji.remove:ji.select}]},onDoubleClickAction:(e,t)=>t.editable?[{type:As.set,payload:t.dataItem},t.isRecurring&&{type:Ms.open}].filter(Boolean):[],onRemoveClickAction:(e,t)=>t.editable?[{type:js.set,payload:t.dataItem},t.isRecurring?{type:Ms.open}:{type:Ls.open}]:[],onPressAction:(e,t)=>t.editable?{type:Bs.start,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onDragAction:(e,t)=>t.editable?{type:e.dragEvent.originalEvent.metaKey||e.dragEvent.originalEvent.ctrlKey?Bs.dragSelected:Bs.drag,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onReleaseAction(e,t){return t.editable&&this.compDragItem?t.isRecurring&&!t.isException&&null===this.compSeries?{type:Ms.open}:{type:t.isRecurring?this.compSeries?Bs.completeSeries:Bs.completeOccurrence:Bs.complete,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[]},onResizePressAction:(e,t)=>t.editable?{type:qs.start,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onResizeStartDragAction:(e,t)=>t.editable?{type:e.dragEvent.originalEvent.metaKey||e.dragEvent.originalEvent.ctrlKey?qs.startDragSelected:qs.startDrag,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onResizeEndDragAction:(e,t)=>t.editable?{type:e.dragEvent.originalEvent.metaKey||e.dragEvent.originalEvent.ctrlKey?qs.endDragSelected:qs.endDrag,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onResizeReleaseAction(e,t){return t.editable&&this.compResizeItem?t.isRecurring&&!t.isException&&null===this.compSeries?{type:Ms.open}:{type:t.isRecurring?this.compSeries?qs.completeSeries:qs.completeOccurrence:qs.complete,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[]},onOccurrenceClickAction(e,t){return this.compDragItem?[{type:Bs.completeOccurrence},{type:Ms.close}]:this.compResizeItem?[{type:qs.completeOccurrence},{type:Ms.close}]:this.compFormItem?[{type:Zs.set,payload:!1},{type:As.set,payload:t.dataItem},{type:Ms.close}]:this.compRemoveItem?[{type:Zs.set,payload:!1},{type:js.set,payload:t.dataItem},{type:Ls.open},{type:Ms.close}]:void 0},onSeriesClickAction(e,t){return this.compDragItem?[{type:Bs.completeSeries},{type:Ms.close}]:this.compResizeItem?[{type:qs.completeSeries},{type:Ms.close}]:this.compFormItem?[{type:Zs.set,payload:!0},{type:As.setMaster,payload:t.dataItem},{type:Ms.close}]:this.compRemoveItem?[{type:Zs.set,payload:!0},{type:js.set,payload:t.dataItem},{type:Ls.open},{type:Ms.close}]:void 0},onKeyDownAction(e,t){let i;switch(e.event.keyCode){case r.Keys.enter:return[{type:As.set,payload:t.dataItem},t.isRecurring&&{type:Ms.open}];case r.Keys.tab:return[{type:e.event.shiftKey?Gi.prev:Gi.next,ignoreIsAllDay:t.ignoreIsAllDay},{type:e.event.shiftKey?ji.selectPrev:ji.selectNext,ignoreIsAllDay:t.ignoreIsAllDay}];case r.Keys.up:return i=this.bv.slots.find(e=>Z(e.cSlot,t.slots[0])),[!(!t.slots.length||!i)&&{type:Hi.up,slot:i}];case r.Keys.right:return i=this.bv.slots.find(e=>Z(e.cSlot,t.slots[0])),[!(!t.slots.length||!i)&&{type:Hi.right,slot:i}];case r.Keys.down:return i=this.bv.slots.find(e=>Z(e.cSlot,t.slots[t.slots.length-1])),[!(!t.slots.length||!i)&&{type:Hi.down,slot:i}];case r.Keys.left:return i=this.bv.slots.find(e=>Z(e.cSlot.cSlot,t.slots[0])),[!(!t.slots.length||!i)&&{type:Hi.left,slot:i}];case r.Keys.delete:case r.Keys.backspace:return[{type:js.set,payload:t.dataItem},t.isRecurring?{type:Ms.open}:{type:Ls.open}];default:return}},onFormSubmitAction:e=>({type:As.complete,payload:e.value}),onRemoveConfirmAction:()=>[{type:js.complete},{type:Ms.close}],onCancelAction:()=>[{type:Zs.reset},{type:js.reset},{type:As.reset},{type:Bs.reset},{type:qs.reset},{type:Ls.reset},{type:Ms.reset}]}}),Xs=t.defineComponent({name:"KendoDateHeaderCell",props:{as:[String,Function,Object],format:{type:[String,Object],default:"d"},date:[Date,Object],start:Date,end:Date},inject:{kendoIntlService:{default:null}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=n.provideIntlService(this),i=this.$props.format||"d",s=!this.$props.as&&"object"==typeof i&&"skeleton"in i&&"string"==typeof i.skeleton&&i.skeleton.includes("E")&&i.skeleton.includes("d"),o=s?null:e.formatDate(this.$props.date,i),a=r.getTemplate.call(this,{h:t.h,template:this.$props.as,defaultRendering:o,additionalProps:{default:o,date:this.$props.date,format:this.$props.format}});return t.createVNode("div",{class:"k-scheduler-cell k-heading-cell"},[s?t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"k-scheduler-date-day"},[e.formatDate(this.$props.date,"EEE")]),t.createVNode("span",{class:"k-link k-nav-day","aria-label":e.formatDate(this.$props.date,{skeleton:"Ed"})},[e.formatDate(this.$props.date,{skeleton:"d"})])]):t.createVNode("span",{class:"k-link k-nav-day"},[a])])}});function Qs(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Js=t.defineComponent({name:"KendoMultiDayTimelineView",props:{name:{type:String,default:"multi-day-timeline"},title:{type:String,default:"Multi Day Timeline"},currentTimeMarker:{type:Boolean,default:!0},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},showWorkHours:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return eo}},selectedDateFormat:{type:String,default:"{0:M}"},selectedShortDateFormat:{type:String,default:"{0:m}"},step:{type:Number,default:1},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"00:00"},workDayStart:{type:String,default:"8:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},defaultShowWorkHours:{type:Boolean,default:!0},columnWidth:{type:Number,default:100},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},onDataaction:Function},data:()=>({hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0,rowSyncTimeout:void 0,rowSyncObserver:null}),inject:{ks:{default:null},kendoIntlService:{default:null}},computed:{viewStart(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayStart),t=this.intl.parseDate(this.$props.startTime);return this.showWorkHours?e:t},viewEnd(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayEnd),t=this.intl.parseDate(this.$props.endTime);return this.showWorkHours?e:t},ranges(){return rs(this.ks.dateRange,{step:i.MS_PER_DAY,timezone:this.ks.timezone})},timelineSlots(){return Is(this.ks.dateRange,{step:this.slotDuration/this.slotDivisions*i.MS_PER_MINUTE},{groups:this.ks.groups,ranges:this.ranges}).filter(e=>H(e.zonedStart,this.viewStart,this.viewEnd)||this.viewStart.getTime()===this.viewEnd.getTime())},occurrences(){return ss(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=ls(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges}).filter(e=>this.viewStart.getTime()===this.viewEnd.getTime()||H(e.zonedStart,this.viewStart,this.viewEnd)||H(e.zonedEnd,this.viewStart,this.viewEnd)||H(new Date(e.zonedEnd.getTime()-(e.zonedEnd.getTime()-e.zonedStart.getTime())/2),this.viewStart,this.viewEnd));return q(e,this.timelineSlots,!0),K(e,this.timelineSlots,!0),e},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem}},mounted(){this.timeRef=null,this.bodyRef=null,this.hasMounted=!0,Yi({element:this.$el,selector:".k-resource-cell",attribute:"data-depth-index",explicitDepth:!0}),this.scheduleRowSync(),this.observeSlotChanges()},unmounted(){void 0!==this.rowSyncTimeout&&window.cancelAnimationFrame(this.rowSyncTimeout),this.rowSyncObserver&&(this.rowSyncObserver.disconnect(),this.rowSyncObserver=null)},updated(){Yi({element:this.$el,selector:".k-resource-cell",attribute:"data-depth-index",explicitDepth:!0}),this.scheduleRowSync()},render(){const e=n.provideIntlService(this),i=this.$props.slotDuration,r=e.parseDate(this.$props.workDayStart),s=e.parseDate(this.$props.workDayEnd),o=[...this.items],a=[...this.timelineSlots],l=("horizontal"===this.ks.orientation?a.length:a.length/this.ks.groups.length)*(this.$props.columnWidth+1),d=[t.createVNode("div",{class:"k-scheduler-row"},[this.ranges.map(function(e,i){return t.createVNode(Xs,{as:this.$props.dateHeaderCell,key:i,date:e.zonedStart,start:e.start,end:e.end,format:"m"},null)},this)]),t.createVNode("div",{class:"k-scheduler-row",ref:"timeRef"},[this.ranges.map(function(e,r){return a.filter(e=>0===e.group.index&&e.range.index===r).map(function(e){return e.zonedStart.getMinutes()%i===0?t.createVNode(Ur,{key:e.index,as:this.$props.timeHeaderCell,format:"t",date:e.zonedStart,start:e.zonedStart,end:e.zonedEnd},null):null},this)},this)])];return t.createVNode(Xi,{id:this.$props.id,class:"k-scheduler-timelineview",viewProps:{...this.$props},baseSlots:a,ranges:this.ranges},{default:()=>[t.createVNode("div",{class:"k-scheduler-head",style:{width:l+"px"}},["horizontal"===this.ks.orientation?t.createVNode(Cs,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:zs},Qs(d)?d:{default:()=>[d]}):t.createVNode(ts,{wrapGroup:!0,group:this.ks.props.group,resources:this.ks.props.resources,editable:this.$props.editable},Qs(d)?d:{default:()=>[d]})]),t.createVNode("div",{class:"k-scheduler-body",style:{width:l+"px"},ref:"bodyRef"},["horizontal"===this.ks.orientation?t.createVNode(Cs,{group:this.ks.props.group,resources:this.ks.props.resources,rowContent:Ns},{default:()=>[t.createVNode(Jr,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,ranges:this.ranges,workDayStart:r,workDayEnd:s,timelineSlots:a,onDataaction:this.handleDataAction},null)]}):t.createVNode(ts,{nested:!0,wrapGroup:!0,group:this.ks.props.group,resources:this.ks.props.resources,onDataaction:this.handleDataAction,more:{ranges:this.ranges,workDayStart:r,workDayEnd:s,timelineSlots:a,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,editable:this.$props.editable,currentTimeMarker:this.$props.currentTimeMarker}},null),this.hasMounted&&o.sort(J).map(function(e){return t.createVNode(Ys,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,format:"t",form:this.$props.form,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,onDataaction:this.handleDataAction,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,ignoreIsAllDay:!0,vertical:!1},null)},this)])]})},methods:{scheduleRowSync(){void 0!==this.rowSyncTimeout&&window.cancelAnimationFrame(this.rowSyncTimeout),this.rowSyncTimeout=window.requestAnimationFrame(()=>{this.rowSyncTimeout=window.requestAnimationFrame(()=>{this.runRowSync()})})},runRowSync(){const e=this.$el?this.$el.closest(".k-scheduler-layout"):null;e&&(e=>{const{element:t}=e;(()=>{if(!t)return;let i=[[]];Array.from(t.querySelectorAll(e.selector)).filter(t=>!t.classList.contains((e=>e.slice(1,e.length))(e.applyTo))).forEach(t=>{const r=t.clientHeight,s=t.getAttribute(e.horizontalAttribute),o=t.getAttribute(e.verticalAttribute);null===s||null===o||(i[s]||(i[s]=[]),(!i[s][o]||r>i[s][o])&&(i[s][o]=r-1))}),Array.from(t.querySelectorAll(e.applyTo)).forEach(t=>{const r=t.getAttribute(e.horizontalAttribute),s=t.getAttribute(e.verticalAttribute);if(null===r||null===s)return;const o=D(t),n=i[r][s]-o;b(t,{height:n},!0)})})()})({element:e,selector:".k-resource-row",horizontalAttribute:"data-depth-index",verticalAttribute:"data-resource-index",applyTo:".k-resource-cell"})},observeSlotChanges(){const e=this.$el?this.$el.querySelector(".k-scheduler-body"):null;e&&(this.rowSyncObserver=new MutationObserver(e=>{e.some(e=>e.target instanceof HTMLElement&&e.target.classList.contains("k-slot-cell"))&&this.scheduleRowSync()}),this.rowSyncObserver.observe(e,{attributes:!0,attributeFilter:["style"],subtree:!0}))},handleDataAction(e){this.$emit("dataaction",e)},handleDragItemChange(e){this.currentDragItem=e},handleResizeItemChange(e){this.currentResizeItem=e}}}),eo=({date:e,numberOfDays:t=1,timezone:r})=>{const s=i.ZonedDate.fromLocalDate(e,r),o=i.getDate(s),n=i.addDays(o,t),a=i.ZonedDate.fromUTCDate(x(o),r),l=i.ZonedDate.fromUTCDate(x(n),r);return{start:new Date(a.getTime()),end:new Date(l.getTime()),zonedStart:a,zonedEnd:l}},to=t.defineComponent({name:"KendoTimelineView",emits:{dataaction:null},props:{name:{type:String,default:"timeline"},title:{type:String,default:"Multi Day Timeline"},currentTimeMarker:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return Js.props.dateRange.default()}},showWorkHours:{type:Boolean,default:!0},selectedDateFormat:{type:String,default:"{0:M}"},selectedShortDateFormat:{type:String,default:"{0:m}"},step:{type:Number,default:1},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"00:00"},workDayStart:{type:String,default:"8:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},defaultShowWorkHours:{type:Boolean,default:!0},columnWidth:{type:Number,default:100},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:[Object,Boolean]},render(){return t.createVNode(Js,{name:this.$props.name,dragItem:this.$props.dragItem,resizeItem:this.$props.resizeItem,dateRange:this.$props.dateRange,step:this.$props.step,numberOfDays:this.$props.numberOfDays,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,columnWidth:this.$props.columnWidth,title:this.$props.title,currentTimeMarker:this.$props.currentTimeMarker,startTime:this.$props.startTime,endTime:this.$props.endTime,workDayStart:this.$props.workDayStart,workDayEnd:this.$props.workDayEnd,workWeekStart:this.$props.workWeekStart,workWeekEnd:this.$props.workWeekEnd,timeHeaderCell:this.$props.timeHeaderCell,dateHeaderCell:this.$props.dateHeaderCell,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){this.$emit("dataaction",e)}}}),io=t.defineComponent({name:"KendoDayViewGroupRowContent",props:{rangeIndex:Number},render(){return t.createVNode("div",{class:"k-scheduler-cell k-side-cell","data-range-index":this.$props.rangeIndex},null)}}),ro=t.defineComponent({name:"KendoDayViewAllDayRowContent",props:{groupIndex:Number},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this);return t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-side-cell k-scheduler-times-all-day"},[e.toLanguageString(se,xi[se])])}}),so=t.defineComponent({name:"KendoDayViewMiddleRow",props:{editable:[Object,Boolean],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],timeRanges:Array,timeSlots:Array,slotDivisions:{type:Number,default:2},rootIndex:{type:Number},root:Object,numberOfDays:Number,workDayStart:Date,workDayEnd:Date,workWeekStart:Number,workWeekEnd:Number,onDataaction:Function},inject:{ri:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.timeSlots,t=this.ri.groupIndex,i=this.root;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.timeRanges,i)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.timeSlots,t=this.ri.groupIndex,i=this.root;return this.calculateRanges(e,t,this.timeRanges,i)}},render(){const e=this.$props.editSlot||qr,i=this,s=i.numberOfDays+i.workWeekStart;return t.createVNode("div",{class:r.classNames("k-scheduler-row",{"k-middle-row":(this.rootIndex+1)%this.slotDivisions!==0})},[this.currentCellSlots.map(function(r,o){return t.createVNode(e,{index:o,onDataaction:this.handleDataAction,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,form:this.$props.form,row:this.rootIndex+1,col:this.timeRanges.length*(this.ri.groupIndex||0)+r.range.index,isWorkHour:H(r.zonedStart,i.workDayStart,i.workDayEnd),isWorkDay:0<=r.zonedStart.getDay()+(i.numberOfDays-s)&&(r.zonedStart.getDay()+(i.numberOfDays-s))%i.numberOfDays<=i.workWeekEnd+(i.numberOfDays-s),editable:i.$props.editable},null)},i)])},methods:{handleDataAction(e){this.$emit("dataaction",e)},calculateRanges:(e,t,i,r)=>i.map(function(i,s){return e.filter(e=>e.index===r.index&&e.range.index===s&&e.group.index===t)}).flat()}}),oo=t.defineComponent({name:"KendoDayViewVerticalRow",props:{editable:[Object,Boolean],dayRanges:Array,daySlots:Array,timeSlots:Array,onDataaction:Function},inject:{ri:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.daySlots,t=this.ri.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.dayRanges)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.daySlots,t=this.ri.groupIndex;return this.calculateRanges(e,t,this.dayRanges)}},render(){const e=this.$props.editSlot||qr,i=this.ri.groupIndex,{timeSlots:r}=this.$props;return t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode(ro,{groupIndex:i},null),this.currentCellSlots.map(function(s,o){const n=r.filter(e=>e.group.index===i&&0===e.range.index).length;return t.createVNode(e,{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,form:this.$props.form,index:o,onDataaction:this.handleDataAction,className:"k-scheduler-alldays-slot",row:n*(i||0)+1*(i||0),col:o,expandable:!0,editable:this.$props.editable},null)},this)])},methods:{handleDataAction(e){this.$emit("dataaction",e)},calculateRanges:(e,t,i)=>i.map(function(i,r){return e.filter(e=>e.group.index===t&&e.range.index===r)}).flat()}}),no=t.defineComponent({name:"KendoDayViewHead",props:{timeRanges:Array,dateHeaderCell:[String,Function,Object]},inject:{ri:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1}},render(){const e="function"==typeof this.ksMobile&&this.ksMobile()?"k-scheduler-row k-mobile-header k-mobile-horizontal-header":"k-scheduler-row";return t.createVNode("div",{class:e,key:this.ri.groupIndex},[this.timeRanges.map(function(e,r){return t.createVNode(Xs,{as:this.$props.dateHeaderCell,key:r,date:i.ZonedDate.fromLocalDate(new Date(e.zonedEnd.getTime()-(e.zonedEnd.getTime()-e.zonedStart.getTime())/2),this.ks.timezone),start:e.start,end:e.end,format:{skeleton:"MEd"}},null)},this)])}}),ao=t.defineComponent({name:"KendoDayViewAllDaySlots",props:{slotRender:[String,Function,Object],viewSlot:[String,Function,Object],dayRanges:Array,daySlots:Array,numberOfDays:Number,workWeekStart:Number,workWeekEnd:Number,editable:{type:[Boolean,Object],default:!1},onDataaction:Function},inject:{ri:{default:null},ks:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.daySlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.dayRanges)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.daySlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return this.calculateRanges(e,t,this.dayRanges)}},render(){const{numberOfDays:e,workWeekStart:i,workWeekEnd:r}=this.$props,s=this.ri.groupIndex;return t.createVNode("div",{key:s,class:"k-scheduler-row"},[this.currentCellSlots.map(function(o,n,a){return t.createVNode(qr,{index:n,onDataaction:this.handleDataAction,form:this.$props.form,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,row:0,col:"horizontal"===this.ks.orientation?a.length*(s||0)+n:n,isWorkDay:0<=o.zonedStart.getDay()+(e-i)&&(o.zonedStart.getDay()+(e-i))%e<=r+(e-i),expandable:!0,editable:this.$props.editable},null)},this)])},methods:{handleDataAction(e){this.$emit("dataaction",e)},calculateRanges:(e,t,i)=>i.map(function(i,r){return e.filter(e=>e.group.index===t&&e.range.index===r)}).flat()}}),lo=t.defineComponent({name:"KendoMultiDayView",props:{name:{type:String,default:"multi-day"},title:{type:String,default:"Multi Day"},currentTimeMarker:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return co}},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},step:{type:Number,default:1},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},showWorkHours:{type:Boolean,default:!0},selectedDateFormat:{type:String,default:"{0:D} - {1:D}"},selectedShortDateFormat:{type:String,default:"{0:d} - {1:d}"},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},format:{type:String,default:"t"},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},onDataaction:Function},inject:{kendoIntlService:{default:null},ks:{default:null}},computed:{viewStart(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayStart),t=this.intl.parseDate(this.$props.startTime);return(void 0!==this.ks.showWorkHours?this.ks.showWorkHours:this.showWorkHours)?e:t},viewEnd(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayEnd),t=this.intl.parseDate(this.$props.endTime);return(void 0!==this.ks.showWorkHours?this.ks.showWorkHours:this.showWorkHours)?e:t},dayRanges(){return rs(this.ks.dateRange,{step:i.MS_PER_DAY*this.numberOfDays,timezone:this.ks.timezone}).map(e=>({...e,isAllDay:!0}))},timeRanges(){return rs(this.ks.dateRange,{step:i.MS_PER_DAY,timezone:this.ks.timezone}).map(e=>({...e,isAllDay:!1}))},daySlots(){return Is(this.ks.dateRange,{step:i.MS_PER_DAY},{groups:this.ks.groups,ranges:this.dayRanges})},timeSlots(){const e=this;return Is(this.ks.dateRange,{step:this.slotDuration*er/this.slotDivisions},{groups:this.ks.groups,ranges:this.timeRanges}).filter(t=>e.viewEnd.getTime()===e.viewStart.getTime()||H(t.zonedStart,e.viewStart,e.viewEnd))},occurrences(){return ss(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},dayOccurrences(){return this.occurrences.filter(e=>e.isAllDay)},timeOccurrences(){return this.occurrences.filter(e=>!e.isAllDay)},dayItems(){const e=ls(this.dayOccurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.dayRanges});return q(e,this.daySlots,!1),K(e,this.daySlots,!1),e},timeItems(){const e=ls(this.timeOccurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.timeRanges}).filter(e=>this.viewStart.getTime()===this.viewEnd.getTime()||H(e.zonedStart,this.viewStart,this.viewEnd)||H(e.zonedEnd,this.viewStart,this.viewEnd)||H(new Date(e.zonedEnd.getTime()-(e.zonedEnd.getTime()-e.zonedStart.getTime())/2),this.viewStart,this.viewEnd));return q(e,this.timeSlots,!1),K(e,this.timeSlots,!1),e},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem}},data:()=>({hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0}),mounted(){this.hasMounted=!0},created(){this.intl=n.provideIntlService(this)},beforeUpdate(){this.intl=n.provideIntlService(this)},render(){this.intl=n.provideIntlService(this);const e=this.$props.editItem||Ys;this.$props.editSlot,this.$props.showWorkHours;const i=this.$props.numberOfDays,r=this.$props.slotDivisions;this.$props.slotDuration;const s=this.$props.workWeekStart,o=this.$props.workWeekEnd,a=this.intl.parseDate(this.$props.workDayStart),l=this.intl.parseDate(this.$props.workDayEnd),d=this.dayItems,c=this.timeItems,h=this.daySlots,u=this.timeSlots,p="workweek"===this.ks.view.name||"week"===this.ks.view.name;return t.createVNode(Xi,{id:this.$props.id,viewProps:{...this.$props},class:p?"k-scheduler-weekview":"k-scheduler-dayview",ranges:[...this.dayRanges,...this.timeRanges],baseSlots:[...h,...u]},{default:()=>[t.createVNode("div",{class:"k-scheduler-head"},["horizontal"===this.ks.orientation?[t.createVNode(Cs,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:io,childRowContent:io},{default:()=>[t.createVNode(no,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]}),t.createVNode(Cs,{group:this.ks.props.group,resources:this.ks.props.resources,rowContent:ro,childRowContent:ro},{default:()=>[t.createVNode(ao,{editable:this.$props.editable,dayRanges:this.dayRanges,daySlots:h,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,numberOfDays:i,workWeekStart:s,workWeekEnd:o,onDataaction:this.handleDataAction},null)]}),this.hasMounted&&d.map(function(i){return t.createVNode(e,{key:i.isRecurring?`${i.uid}:${i.group.index}:${i.range.index}:${i.originalStart}`:`${i.uid}:${i.group.index}:${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,form:this.$props.form,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,vertical:!1},null)},this)]:t.createVNode(ts,{group:this.ks.props.group,resources:this.ks.props.resources,emptyCell:!0,editable:this.$props.editable},{default:()=>[t.createVNode(no,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),t.createVNode("div",{class:"k-scheduler-body"},["horizontal"===this.ks.orientation?[u.filter(e=>0===e.group.index&&0===e.range.index).map(function(e,n){return t.createVNode(Cs,{key:e.index,nested:!1,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:Gr,rowContentProps:{timeHeaderCell:this.$props.timeHeaderCell,isMaster:n%r===0,isLast:(n+1)%r===0,contentSlot:e}},{default:()=>[t.createVNode(so,{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,timeRanges:this.timeRanges,timeSlots:u,slotDivisions:r,rootIndex:n,root:e,numberOfDays:i,workDayStart:a,workDayEnd:l,workWeekStart:s,workWeekEnd:o,onDataaction:this.handleDataAction,editable:this.$props.editable},null)]})},this),this.$props.currentTimeMarker&&L($(this.timeRanges).start,C(this.timeRanges).end,new Date,new Date,!0)&&[t.createVNode(Yr,null,null),t.createVNode(Zr,null,null)]]:[t.createVNode(ts,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,onDataaction:this.handleDataAction,more:{timeRanges:this.timeRanges,timeSlots:u,workDayStart:a,workDayEnd:l,numberOfDays:i,workWeekStart:s,workWeekEnd:o,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,editable:this.$props.editable,currentTimeMarker:this.$props.currentTimeMarker}},{default:()=>[t.createVNode(oo,{onDataaction:this.handleDataAction,daySlots:h,timeSlots:u,dayRanges:this.dayRanges,editable:this.$props.editable},null)]}),this.hasMounted&&d.map(function(i){return t.createVNode(e,{key:i.isRecurring?`${i.uid}:${i.group.index} : ${i.range.index} : ${i.originalStart}`:`${i.uid}:${i.group.index} : ${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,vertical:!1},null)},this)],this.hasMounted&&c.map(function(i){return t.createVNode(e,{key:i.isRecurring?`${i.uid}:${i.group.index}:${i.range.index}:${i.originalStart}`:`${i.uid}:${i.group.index}:${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,format:"t",onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,vertical:!0},null)},this)])]})},methods:{handleDataAction(e){this.$emit("dataaction",e)},handleDragItemChange(e){this.currentDragItem=e},handleResizeItemChange(e){this.currentResizeItem=e}}}),co=({date:e,numberOfDays:t=1,timezone:r})=>{const s=i.ZonedDate.fromLocalDate(e,r),o=i.getDate(s),n=i.addDays(o,t),a=i.ZonedDate.fromUTCDate(x(o),r),l=i.ZonedDate.fromUTCDate(x(n),r);return{start:new Date(a.getTime()),end:new Date(l.getTime()),zonedStart:a,zonedEnd:l}},ho=t.defineComponent({name:"KendoDayView",emits:{dataaction:null},props:{name:{type:String,default:"day"},title:String,dateRange:{type:[Function,Object],default:function(){return lo.props.dateRange.default()}},showWorkHours:{type:Boolean,default:!0},step:{type:Number,default:1},numberOfDays:{type:Number,default:1},slotDuration:{type:Number,default:60},slotDivisions:{type:Number,default:2},selectedDateFormat:{type:String,default:"{0:M}"},selectedShortDateFormat:{type:String,default:"{0:m}"},currentTimeMarker:{type:Boolean,default:!0},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},format:String},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this).toLanguageString(he,xi[he]);return t.createVNode(lo,{name:this.$props.name,dateRange:this.$props.dateRange,step:this.$props.step,numberOfDays:this.$props.numberOfDays,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,title:e,currentTimeMarker:this.$props.currentTimeMarker,startTime:this.$props.startTime,endTime:this.$props.endTime,workDayStart:this.$props.workDayStart,workDayEnd:this.$props.workDayEnd,workWeekStart:this.$props.workWeekStart,workWeekEnd:this.$props.workWeekEnd,defaultShowWorkHours:this.$props.defaultShowWorkHours,timeHeaderCell:this.$props.timeHeaderCell,dateHeaderCell:this.$props.dateHeaderCell,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){this.$emit("dataaction",e)}}}),uo=t.defineComponent({name:"KendoWeekView",emits:{dataaction:null},props:{name:{type:String,default:"week"},slotDuration:{type:Number,default:60},slotDivisions:{type:Number,default:2},numberOfDays:{type:Number,default:7},dateRange:{type:[Function,Object],default:function(){return po}},title:String,selectedDateFormat:{type:String,default:"{0:M} - {1:M}"},selectedShortDateFormat:{type:String,default:"{0:m} - {1:m}"},showWorkHours:{type:Boolean,default:!0},currentTimeMarker:{type:Boolean,default:!0},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},format:String},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this).toLanguageString(le,xi[le]);return t.createVNode(lo,{name:this.$props.name,dateRange:this.$props.dateRange,numberOfDays:this.$props.numberOfDays,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,title:e,step:7,currentTimeMarker:this.$props.currentTimeMarker,startTime:this.$props.startTime,endTime:this.$props.endTime,workDayStart:this.$props.workDayStart,workDayEnd:this.$props.workDayEnd,workWeekStart:this.$props.workWeekStart,workWeekEnd:this.$props.workWeekEnd,defaultShowWorkHours:this.$props.defaultShowWorkHours,dateHeaderCell:this.$props.dateHeaderCell,timeHeaderCell:this.$props.timeHeaderCell,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){this.$emit("dataaction",e)}}}),po=({intl:e,date:t,timezone:r})=>{const s=i.ZonedDate.fromLocalDate(t,r),o=(e=>i.getDate(e))(i.firstDayInWeek(s,e.firstDay())),n=((e,t)=>i.getDate(i.addDays(e,t)))(o,7),a=i.ZonedDate.fromUTCDate(x(o),r),l=i.ZonedDate.fromUTCDate(x(n),r);return{start:new Date(a.getTime()),end:new Date(l.getTime()),zonedStart:a,zonedEnd:l}},mo=t.defineComponent({name:"KendoWorkWeekView",emits:{dataaction:null},props:{name:{type:String,default:"work-week"},slotDuration:{type:Number,default:60},slotDivisions:{type:Number,default:2},numberOfDays:{type:Number,default:7},dateRange:{type:[Function,Object],default:function(){return go}},title:String,workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},selectedDateFormat:{type:String,default:"{0:M} - {1:M}"},selectedShortDateFormat:{type:String,default:"{0:m} - {1:m}"},showWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{kendoLocalizationService:{default:null},ks:{default:null}},render(){const e=n.provideLocalizationService(this).toLanguageString(de,xi[de]),r=this.ks.dateRange,s=Math.round((r.end.getTime()-r.start.getTime())/i.MS_PER_DAY);return t.createVNode(lo,{name:this.$props.name,dateRange:this.$props.dateRange,numberOfDays:s,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,title:e,step:7,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,dateHeaderCell:this.$props.dateHeaderCell,timeHeaderCell:this.$props.timeHeaderCell,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){this.$emit("dataaction",e)}}}),go=({intl:e,date:t,timezone:r,...s})=>{const o=i.ZonedDate.fromLocalDate(t,r),n=void 0!==s.workWeekStart?s.workWeekStart:i.Day.Monday,a=void 0!==s.workWeekEnd?s.workWeekEnd:i.Day.Friday,l=a<n?7+a-n+1:a-n+1,d=i.getDate(((e,t=i.Day.Sunday)=>{let r=e.clone();for(;r.getDay()!==t;)r=r.addDays(-1);return r})(o,n)),c=i.addDays(d,l),h=i.ZonedDate.fromUTCDate(x(d),r),u=i.ZonedDate.fromUTCDate(x(c),r);return{start:new Date(h.getTime()),end:new Date(u.getTime()),zonedStart:h,zonedEnd:u}},fo=t.defineComponent({name:"KendoMonthViewHead",props:{monthSlots:Array,dateHeaderCell:[String,Function,Object]},inject:{ri:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1}},provide(){return{ksSlots:this.ksSlots}},data(){return{ksSlots:{cSlots:this.monthSlots.filter(e=>e.group.index===this.ri.groupIndex&&0===e.range.index)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){return this.monthSlots.filter(e=>e.group.index===this.ri.groupIndex&&0===e.range.index)}},render(){const e="function"==typeof this.ksMobile&&this.ksMobile()?"k-scheduler-row k-mobile-header":"k-scheduler-row";return t.createVNode("div",{class:e,key:this.ri.groupIndex},[this.currentCellSlots.map(function(e,r){return t.createVNode(Xs,{as:this.$props.dateHeaderCell,key:r,"data-dayslot-index":r,date:i.ZonedDate.fromLocalDate(new Date(e.zonedEnd.getTime()-(e.zonedEnd.getTime()-e.zonedStart.getTime())/2),this.ks.timezone),start:e.start,end:e.end,format:{skeleton:"EEEE"}},null)},this)])}}),vo={skeleton:"MMM"},yo={skeleton:"dd"},ko=t.defineComponent({name:"KendoSchedulerMoreEventsPopover",props:{show:{type:Boolean,default:!1},anchor:{type:Object,default:null},slot:{type:Object,default:null},items:{type:Array,default:()=>[]},itemsPerSlot:{type:Number,default:2}},emits:["dayclick","close"],inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},setup(e,{emit:i}){const r=t=>{const r=t.target,s=document.querySelector(".k-scheduler-popover");s&&!s.contains(r)&&e.anchor&&!e.anchor.contains(r)&&i("close")};return t.watch(()=>e.show,e=>{e?document.addEventListener("mousedown",r,!0):document.removeEventListener("mousedown",r,!0)},{immediate:!0}),t.onUnmounted(()=>{document.removeEventListener("mousedown",r,!0)}),{}},render(){const e=n.provideIntlService(this),i=n.provideLocalizationService(this);if(!this.$props.show||!this.$props.slot)return null;const r=this.$props.slot,s=this.$props.itemsPerSlot,o=r.items?r.items.filter((e,t)=>t>=s):[],a=new Date(r.zonedEnd.getTime()-(r.zonedEnd.getTime()-r.zonedStart.getTime())/2),l=e.formatDate(a,vo),d=e.formatDate(a,yo),c=i.toLanguageString(Ct,xi[Ct]),h=i.toLanguageString(Et,xi[Et]),u=t.createVNode("div",{class:"k-popover-header"},[t.createVNode("div",{class:"k-month"},[l]),t.createVNode("div",{class:"k-link k-day",onClick:e=>{e.preventDefault(),this.$emit("dayclick",r)}},[d])]);return t.createVNode(f.Popover,{anchor:this.$props.anchor,show:this.$props.show,popoverClass:"k-scheduler-popover",position:"right",collision:{horizontal:"flip",vertical:"flip"},animate:!1,onKeydown:()=>{this.$emit("close")}},{default:()=>[u,t.createVNode("div",{class:"k-scheduler-more-events-content",style:{minWidth:"220px"}},[o.length>0?t.createVNode("div",{class:"k-popover-events",role:"list","aria-label":h},[o.map((i,r)=>{var s,o;const n=null==(o=null==(s=i.group)?void 0:s.resources)?void 0:o.find(e=>!(!e.colorField||""===e[e.colorField]||void 0===e[e.colorField])),a=(null==n?void 0:n.colorField)&&n[n.colorField],l=a?{"--kendo-scheduler-event-color":a}:void 0;return t.createVNode("div",{key:i.uid||r,class:"k-popover-event k-event",role:"listitem",style:l},[t.createVNode("div",{class:"k-event-title"},[i.title||""]),t.createVNode("span",{class:"k-event-time"},[e.formatDate(i.zonedStart,"t")])])})]):t.createVNode("span",{class:"k-no-data"},[c])])]})}}),So=(e,t)=>{for(const i of e){const e=i[t];e&&e.querySelectorAll(":scope > .k-slot-cell").forEach(e=>{e.style.removeProperty("height")})}},Do=(e,t)=>{let i=0;for(const r of e){const e=r[t];e&&(i=Math.max(i,e.offsetHeight))}return i},bo=(e,t,i)=>{let r=!1;for(const s of e){const e=s[t];e&&e.querySelectorAll(":scope > .k-slot-cell").forEach(e=>{e.offsetHeight!==i&&(r=!0),e.style.height=`${i}px`})}return r},wo=e=>{const t=(e=>{if(!e)return null;const t=e.querySelectorAll(":scope > .k-scheduler-group > .k-scheduler-row > .k-group-cell");return t.length<2?null:Array.from(t).map(e=>Array.from(e.querySelectorAll(":scope > .k-scheduler-row")))})(e);if(!t)return(e=>{if(!e)return!1;let t=!1;return e.querySelectorAll(".k-slot-cell").forEach(e=>{e.style.height&&(e.style.removeProperty("height"),t=!0)}),t})(e);let i=!1;const r=t.reduce((e,t)=>Math.max(e,t.length),0);for(let e=0;e<r;e++){So(t,e);const r=Do(t,e);bo(t,e,r)&&(i=!0)}return i},Io=t.defineComponent({name:"KendoMonthView",props:{itemsPerSlot:{type:Number,default:2},name:{type:String,default:"month"},dateRange:{type:[Function,Object],default:function(){return Ro}},slotDuration:{type:Number,default:1440},slotDivisions:{type:Number,default:1},numberOfDays:{type:Number,default:31},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},title:String,selectedDateFormat:{type:String,default:"{0:Y}"},selectedShortDateFormat:{type:String,default:"{0:y}"},dateHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{ks:{default:{}},setActiveDate:{default:null},setActiveViewName:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},created(){this.intl=n.provideIntlService(this)},mounted(){this.hasMounted=!0,this.queueSyncGroupRows()},unmounted(){this.hasMounted=!1,void 0!==this.rowSyncFrame&&window.cancelAnimationFrame(this.rowSyncFrame)},data:()=>({hasMounted:!1,rowSyncFrame:void 0,rowSyncQueued:!1,currentDragItem:void 0,currentResizeItem:void 0,popoverShow:!1,popoverAnchor:null,popoverSlot:null}),watch:{rowSyncKey(){this.hasMounted&&this.queueSyncGroupRows()},compDragItem(){this.hasMounted&&this.queueSyncGroupRows()},compResizeItem(){this.hasMounted&&this.queueSyncGroupRows()}},computed:{ranges(){return rs(this.ks.dateRange,{step:7*i.MS_PER_DAY,timezone:this.ks.timezone})},monthSlots(){return Is(this.ks.dateRange,{step:i.MS_PER_DAY},{groups:this.ks.groups,ranges:this.ranges})},occurrences(){return ss(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=ls(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges});return q(e,this.monthSlots,!0),K(e,this.monthSlots,!0),e},rowSyncKey(){return[this.itemsPerSlot,this.monthSlots.map(e=>`${e.group.index}:${e.range.index}:${e.items.length}`).join("|")].join("::")},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem}},render(){this.localization=n.provideLocalizationService(this),this.localization.toLanguageString(ue,xi[ue]);const e=this.$props.editItem||Ys;this.$props.editSlot;const i=this.items,r=this.monthSlots;this.intl=n.provideIntlService(this);const s=this.$props.itemsPerSlot,o="horizontal"===this.ks.orientation?this.ranges.map(function(e,i){return t.createVNode(Cs,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[t.createVNode(Qr,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:r,rangeIndex:i,itemsPerSlot:s,onDataaction:this.handleDataAction,onShowmoreitems:this.handleShowMoreItemsClick},null)]})},this):t.createVNode(ts,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group,onDataaction:this.handleDataAction,more:{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:r,ranges:this.ranges,itemsPerSlot:s,editable:this.$props.editable,onShowmoreitems:this.handleShowMoreItemsClick}},null);return t.createVNode(Xi,{viewProps:{...this.$props},baseSlots:r,ranges:this.ranges,class:"k-scheduler-monthview"},{default:()=>[t.createVNode("div",{class:"k-scheduler-head"},["horizontal"===this.ks.orientation?t.createVNode(Cs,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[t.createVNode(fo,{monthSlots:r,dateHeaderCell:this.$props.dateHeaderCell},null)]}):t.createVNode(ts,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[t.createVNode(fo,{monthSlots:r,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),t.createVNode("div",{class:"k-scheduler-body",ref:"body"},[o,this.hasMounted&&i.filter(e=>null===e.order||e.order<s).sort(J).map(function(i){return t.createVNode(e,{item:this.$props.item,viewItem:this.$props.viewItem,form:this.$props.form,key:i.isRecurring?`${i.uid}:${i.group.index}:${i.range.index}:${i.originalStart}`:`${i.uid}:${i.group.index}:${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,onDataaction:this.handleDataAction,vertical:!1,editable:this.$props.editable,ignoreIsAllDay:!0},null)},this)]),t.createVNode(ko,{show:this.popoverShow,anchor:this.popoverAnchor,slot:this.popoverSlot,items:i,itemsPerSlot:s,onDayclick:this.handlePopoverDayClick,onClose:this.handlePopoverClose},null)]})},methods:{queueSyncGroupRows(){this.rowSyncQueued||(this.rowSyncQueued=!0,this.$nextTick(()=>{this.rowSyncQueued=!1,this.$refs.body&&this.syncGroupRows()}))},syncGroupRows(){void 0!==this.rowSyncFrame&&window.cancelAnimationFrame(this.rowSyncFrame),this.rowSyncFrame=window.requestAnimationFrame(()=>{this.hasMounted&&this.$refs.body?(wo(this.$refs.body),this.rowSyncFrame=void 0):this.rowSyncFrame=void 0})},handleShowMoreItemsClick({event:e,slot:t}){var i;const r=(null==(i=e.target)?void 0:i.element)||null;if(this.popoverShow&&this.popoverAnchor===r)return this.popoverShow=!1,this.popoverAnchor=null,void(this.popoverSlot=null);this.popoverShow=!0,this.popoverAnchor=r,this.popoverSlot=t||null},handlePopoverClose(){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null},handlePopoverDayClick(e){const t=this.ks.views.find(e=>"day"===e.name);!this.setActiveViewName||!t||!t.name||(this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null,this.$nextTick(()=>{this.setActiveViewName(t.name),this.setActiveDate(e.start)}))},handleDataAction(e){this.$emit("dataaction",e)},handleDragItemChange(e){this.currentDragItem=e},handleResizeItemChange(e){this.currentResizeItem=e}}}),Ro=({intl:e,date:t,timezone:r})=>{const s=i.firstDayInWeek(i.firstDayOfMonth(i.getDate(t)),e.firstDay()),o=i.addDays(i.firstDayInWeek(i.lastDayOfMonth(i.getDate(t)),e.firstDay()),7),n=i.ZonedDate.fromUTCDate(x(s),r),a=i.ZonedDate.fromUTCDate(x(o),r);return{start:new Date(n.getTime()),end:new Date(a.getTime()),zonedStart:n,zonedEnd:a}};function $o(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Co="{0:D}",Eo="{0:d}",zo=(e,t)=>{const i=Math.round(t/864e5),r=m.parseRule({recurrenceRule:e});if(i%7==0||"weekly"!==(null==r?void 0:r.freq)||!r.byWeekDay)return e;const s=m.serializeRule({...r,byWeekDay:r.byWeekDay.map(e=>({...e,day:(e.day+i+7)%7}))});return e.toUpperCase().includes("WKST=")?s:s.replace(";WKST=SU","")},No=t.defineComponent({name:"KendoScheduler",emits:["datechange","viewchange","datachange","itemclick","itemdoubleclick","slotclick","slotdoubleclick","taskclick","taskdoubleclick"],props:{dataItems:{type:Array,default:function(){return[]}},views:{type:Array,default:function(){return[]}},view:String,defaultView:String,date:Date,rtl:Boolean,height:{type:[Number,String],default:600},timezone:String,group:Object,resources:[Object,Array],modelFields:Object,tabIndex:{type:Number,default:-1},editable:{type:[Boolean,Object],default:!1},defaultDate:{type:Date,default:function(){return new Date}},validator:{type:Function,default:()=>({})},modifyInitialFormValues:{type:Function,default:e=>e},header:[String,Function,Object],footer:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],task:[String,Function,Object],form:[String,Function,Object],resizeHint:[String,Function,Object],editItem:[String,Function,Object],viewTask:[String,Function,Object],editTask:[String,Function,Object],editSlot:[String,Function,Object],className:String,dialogProps:Object,formProps:Object,dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],adaptive:{type:Boolean,default:!0}},computed:{isRtl(){return void 0!==this.$props.rtl?this.$props.rtl:this.currentRtl},isMobile(){return this.$props.adaptive&&"mobile"===this.media},canAdd(){return"object"==typeof this.$props.editable?this.$props.editable.add:!!this.$props.editable},wrapperClassName(){return{"k-rtl":this.isRtl,"k-scheduler":!0,"k-scheduler-mobile":this.isMobile,[this.$props.className]:!!this.$props.className}},fields(){return W(this.$props.modelFields).fields}},mounted(){this.currentRtl=r.isRtl(this.$el),this.calculateMedia(),this.$props.adaptive&&r.canUseDOM&&window.ResizeObserver&&(this.resizeObserver=new window.ResizeObserver(this.calculateMedia),this.resizeObserver.observe(this.$el)),r.canUseDOM&&window.ResizeObserver&&(this.toolbarObserver=new window.ResizeObserver(this.measureToolbar),this.toolbarElement&&(this.toolbarObserver.observe(this.toolbarElement),this.measureToolbar()))},unmounted(){this.resizeObserver&&this.resizeObserver.disconnect(),this.toolbarObserver&&this.toolbarObserver.disconnect()},provide(){return{ks:this.ks,ksMobile:()=>this.isMobile,setActiveViewName:this.handleActiveViewNameChange,setActiveDate:this.handleDateChange,itemDoubleClick:this.handleItemDoubleClick,itemClick:this.handleItemClick,slotDoubleClick:this.handleSlotDoubleClick,slotClick:this.handleSlotClick,taskDoubleClick:this.handleTaskDoubleClick,taskClick:this.handleTaskClick,ksValidator:this.validator,ksModifyInitialFormValues:this.modifyInitialFormValues}},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},data(){const e=n.provideIntlService(this),i=this.$props.date||this.$props.defaultDate,r=this.$props.view||this.$props.defaultView||this.views[0]&&this.views[0].name||"day",s=this.views.find(e=>e.name===r)||this.views[0]||t.createVNode(ho,null,null),o=this.getViewPropValue(s,"selectedDateFormat",r)||Co,a=this.getViewPropValue(s,"selectedShortDateFormat",r)||Eo,l=this.getViewComponentByName(r).props.dateRange.default()({intl:e,date:i,timezone:this.$props.timezone,numberOfDays:this.getViewPropValue(s,"numberOfDays",r),workWeekStart:this.getViewPropValue(s,"workWeekStart",r)||e.firstDay(),workWeekEnd:this.getViewPropValue(s,"workWeekEnd",r)||(e.firstDay()+this.getViewPropValue(s,"numberOfDays",r))%6});return{media:"desktop",toolbarLevel:0,toolbarBreakpoints:[1/0,1/0,1/0],newEventDialogItem:null,ks:{activeViewName:r,currentDate:i,showWorkHours:void 0===s.showWorkHours||s.showWorkHours,timezone:this.$props.timezone,props:{...this.$props},views:this.views,view:s,fields:W(this.$props.modelFields).fields,groups:P(this.$props.group,this.$props.resources),dateRange:l,orientation:this.$props.group&&this.$props.group.orientation?this.$props.group.orientation:"horizontal",dateFormat:o,shortDateFormat:a,scheduler:this,dataItems:this.dataItems}}},watch:{isRtl(e){this.ks.isRtl=e},view(e){this.updatePassedState(e)},date(e){this.ks.currentDate=e,this.updatePassedState()},timezone(e){this.ks.timezone=e,this.updatePassedState()},dataItems(e){this.ks.dataItems=e}},render(){r.validatePackage(Mi),this.showLicenseWatermark=r.shouldShowValidationUI(Mi),this.licenseMessage=r.getLicenseMessage(Mi);const e=this.views.find(e=>e.name===this.ks.activeViewName)||this.views[0]||t.createVNode(ho,null,null),i=this.getViewPropValue(this.ks.view,"slotDuration",this.ks.activeViewName),s=r.templateRendering.call(this,e.header||this.$props.header,r.getListeners.call(this)),a=r.templateRendering.call(this,e.footer||this.$props.footer,r.getListeners.call(this)),l=r.templateRendering.call(this,e.slot||this.$props.slotRender,{}),c=r.templateRendering.call(this,e.viewSlot||this.$props.viewSlot,{}),h=r.templateRendering.call(this,e.item||this.$props.item,{}),u=r.templateRendering.call(this,e.viewItem||this.$props.viewItem,{}),p=r.templateRendering.call(this,e.task||this.$props.task,{}),m=e.form||this.$props.form||Br,g=r.templateRendering.call(this,e.dateHeaderCell||this.$props.dateHeaderCell,{}),f=r.templateRendering.call(this,e.timeHeaderCell||this.$props.timeHeaderCell,{}),v=r.templateRendering.call(this,e.resizeHint||this.$props.resizeHint,{});this.ks.form=r.templateRendering.call(this,e.form||this.$props.form,{}),this.ks.dialogProps=e.dialogProps||this.$props.dialogProps,this.ks.formProps=e.formProps||this.$props.formProps;const y=Kr(void 0!==e.editable?e.editable:this.$props.editable),k=this.getViewComponentByName(this.ks.activeViewName||e.name),S={...this.$props,...this.ks.view,showWorkHours:this.ks.showWorkHours,dataItems:void 0,views:void 0,defaultDate:void 0,dateRange:this.ks.dateRange,slotRender:l,viewSlot:c,item:h,viewItem:u,task:p,dateHeaderCell:g,timeHeaderCell:f,resizeHint:v,editable:y},D=n.provideLocalizationService(this),b=D.toLanguageString(oe,xi[oe]),w=D.toLanguageString(me,xi[me]),I=D.toLanguageString(ge,xi[ge]),R=D.toLanguageString(Tt,xi[Tt]),$=D.toLanguageString(Ot,xi[Ot]),C=D.toLanguageString(Vi,xi[Vi]),E=this.toolbarLevel,z=t.createVNode(ee,{ref:this.setToolbarRef,ariaLabel:C},{default:()=>[this.canAdd&&t.createVNode(o.Button,{class:"k-toolbar-button",themeColor:"primary",svgIcon:d.plusIcon,"aria-label":$,tabIndex:-1,onClick:this.handleNewEventClick},{default:()=>[E<2&&R]}),E<2&&t.createVNode(o.Button,{class:"k-toolbar-button",fillMode:"flat",tabIndex:-1,title:b,onClick:this.handleTodayClick},$o(b)?b:{default:()=>[b]}),E<3&&t.createVNode(o.ButtonGroup,{class:"k-button-group-flat k-toolbar-button-group"},{default:()=>[t.createVNode(o.Button,{fillMode:"flat",tabIndex:-1,svgIcon:this.isRtl?d.chevronRightIcon:d.chevronLeftIcon,"aria-label":w,title:w,onClick:this.handlePrevClick},null),t.createVNode(o.Button,{fillMode:"flat",tabIndex:-1,svgIcon:this.isRtl?d.chevronLeftIcon:d.chevronRightIcon,"aria-label":I,title:I,onClick:this.handleNextClick},null)]}),t.createVNode(ie,{value:this.ks.currentDate,onChange:this.handleDatePickerChange,level:E},null),t.createVNode(o.ToolbarSpacer,null,null),1===E&&t.createVNode("span",{class:"k-separator"},null),t.createVNode(Fi,{level:E},null)]}),N=r.getTemplate.call(this,{h:t.h,template:s,defaultRendering:z,additionalProps:{currentDate:this.ks.currentDate},additionalListeners:{prevclick:this.handlePrevClick,nextclick:this.handleNextClick,todayclick:this.handleTodayClick,datepickerchange:this.handleDatePickerChange}}),T=t.createVNode(te,{"aria-label":C},{default:()=>[this.isMobile&&t.createVNode(o.Button,{class:"k-scheduler-today",tabIndex:-1,onClick:this.handleTodayClick},$o(b)?b:{default:()=>[b]}),this.isMobile&&t.createVNode(o.ToolbarSpacer,null,null),t.createVNode(Ai,{slotDuration:i,onClick:this.handleShowWorkHoursClick},null)]}),O=r.getTemplate.call(this,{h:t.h,template:a,defaultRendering:T,additionalProps:{slotDuration:i},additionalListeners:{showworkhoursclick:this.handleShowWorkHoursClick}}),V=this.showLicenseWatermark?t.createVNode(r.WatermarkOverlay,{message:this.licenseMessage},null):null;return t.createVNode("div",{id:this.$props.id,style:{height:this.$props.height+"px"},class:this.wrapperClassName,tabindex:this.$props.tabIndex,dir:this.isRtl&&"rtl",role:this.$props.role||"application","aria-label":this.$props.ariaLabel,"aria-labelledby":this.$props.ariaLabelledby,onFocusin:this.handleFocus,onFocusout:this.handleBlur},[N,t.h(k,{key:`${this.ks.view.name}-${this.ks.showWorkHours}`,onDataaction:this.handleDataAction,...S}),!["agenda","month"].includes(this.ks.activeViewName)&&O,V,this.newEventDialogItem&&t.createVNode(m,{dataItem:this.newEventDialogItem,onSubmit:this.handleNewEventFormSubmit,onCancel:this.handleNewEventFormCancel,onClose:this.handleNewEventFormCancel},null)])},methods:{getViewComponentByName(e){switch(e.toLowerCase()){case"week":return uo;case"workweek":return mo;case"agenda":return Rs;case"timeline":return to;case"month":return Io;default:return ho}},getViewPropValue(e,t,i){const r=this.getViewComponentByName(i).props[t];return e[t]||(r?r.default:void 0)},handleDataChange({created:e=[],updated:t=[],deleted:i=[]}){const r={created:e,updated:t,deleted:i};this.$emit("datachange",r)},handleNewEventClick(e){e.preventDefault();const t=new Date,i=this.getViewPropValue(this.ks.view,"slotDuration",this.ks.activeViewName)||30,r=60*i*1e3,s=t.getMinutes(),o=Math.ceil(s/i)*i;let n=new Date(t);n.setHours(t.getHours()+Math.floor(o/60),o%60,0,0);const a=this.$props.dataItems||[],l=this.fields,d=(e,t)=>a.some(i=>{const r=T(i,l.start),s=T(i,l.end);return!(!r||!s)&&(r.getTime()<t.getTime()&&s.getTime()>e.getTime())});let c=new Date(n.getTime()+r);for(let e=0;e<48&&d(n,c);e++)n=new Date(n.getTime()+r),c=new Date(n.getTime()+r);const h={};O(h,l.start,n),O(h,l.end,c),O(h,l.isAllDay,!1),O(h,l.title,""),O(h,l.description,""),this.newEventDialogItem=h},handleNewEventFormSubmit(e){this.handleDataChange({created:[e.value]}),this.newEventDialogItem=null},handleNewEventFormCancel(){this.newEventDialogItem=null},handleCreate(e){const t=[e.dataItem];this.handleDataChange({created:t})},handleUpdate(e){const t=[],i=[];if(e.series)if(Array.isArray(e.dataItem)){const t=e.dataItem[0];if(null!==T(t,this.fields.recurrenceId)&&void 0!==T(t,this.fields.recurrenceId)){const e=r.clone(F(t,this.fields,this.dataItems)),s=new Date(T(t,this.fields.originalStart)).getTime(),o=new Date(T(t,this.fields.start)).getTime(),n=new Date(T(t,this.fields.end)).getTime(),a=o-s,l=n-o,d=new Date(T(e,this.fields.start)).getTime();O(e,this.fields.start,new Date(d+a)),O(e,this.fields.end,new Date(d+a+l));const c=T(e,this.fields.recurrenceExceptions)||[];if(c.length>0&&0!==a){const t=c.map(e=>new Date(new Date(e).getTime()+a));O(e,this.fields.recurrenceExceptions,t)}O(e,this.fields.recurrenceRule,zo(T(e,this.fields.recurrenceRule),a)),i.push(e)}else e.dataItem.forEach(e=>{const t=r.clone(F(e,this.fields,this.dataItems)),s=r.clone(e);O(s,this.fields.originalStart,T(t,this.fields.originalStart)),O(s,this.fields.recurrenceId,T(t,this.fields.recurrenceId));const o=T(t,this.fields.recurrenceExceptions)||[],n=new Date(T(t,this.fields.start)).getTime(),a=new Date(T(s,this.fields.start)).getTime()-n;if(o.length>0&&0!==a){const e=o.map(e=>new Date(new Date(e).getTime()+a));O(s,this.fields.recurrenceExceptions,e)}else O(s,this.fields.recurrenceExceptions,o);i.push(s)})}else if(null!==T(e.dataItem,this.fields.recurrenceId)&&void 0!==T(e.dataItem,this.fields.recurrenceId)){const t=r.clone(F(e.dataItem,this.fields,this.dataItems)),s=new Date(T(e.dataItem,this.fields.originalStart)).getTime(),o=new Date(T(e.dataItem,this.fields.start)).getTime(),n=new Date(T(e.dataItem,this.fields.end)).getTime(),a=o-s,l=n-o,d=new Date(T(t,this.fields.start)).getTime();O(t,this.fields.start,new Date(d+a)),O(t,this.fields.end,new Date(d+a+l));const c=T(t,this.fields.recurrenceExceptions)||[];if(c.length>0&&0!==a){const e=c.map(e=>new Date(new Date(e).getTime()+a));O(t,this.fields.recurrenceExceptions,e)}O(t,this.fields.recurrenceRule,zo(T(t,this.fields.recurrenceRule),a)),i.push(t)}else{const t=r.clone(e.dataItem);if(T(t,this.fields.recurrenceRule)){const i=r.clone(F(e.dataItem,this.fields,this.dataItems));O(t,this.fields.originalStart,T(i,this.fields.originalStart)),O(t,this.fields.recurrenceId,T(i,this.fields.recurrenceId));const s=T(i,this.fields.recurrenceExceptions)||[],o=new Date(T(i,this.fields.start)).getTime(),n=new Date(T(t,this.fields.start)).getTime()-o;if(s.length>0&&0!==n){const e=s.map(e=>new Date(new Date(e).getTime()+n));O(t,this.fields.recurrenceExceptions,e)}else O(t,this.fields.recurrenceExceptions,s)}else O(t,this.fields.recurrenceExceptions,null);i.push(t)}else if(Array.isArray(e.dataItem))e.dataItem.forEach(e=>{const s=null!==T(e,this.fields.recurrenceRule)&&void 0!==T(e,this.fields.recurrenceRule);if(null!==T(e,this.fields.recurrenceId)&&void 0!==T(e,this.fields.recurrenceId)&&s){const s=r.clone(F(e,this.fields,this.dataItems)),o=T(e,this.fields.originalStart),n=T(s,this.fields.recurrenceExceptions)||[];O(s,this.fields.recurrenceExceptions,[...n,o]),O(e,this.fields.recurrenceRule,null),i.push(s),t.push(e)}else i.push(e)});else{const s=null!==T(e.dataItem,this.fields.recurrenceRule)&&void 0!==T(e.dataItem,this.fields.recurrenceRule);if(null!==T(e.dataItem,this.fields.recurrenceId)&&void 0!==T(e.dataItem,this.fields.recurrenceId)&&s){const s=r.clone(F(e.dataItem,this.fields,this.dataItems)),o=T(e.dataItem,this.fields.originalStart),n=T(s,this.fields.recurrenceExceptions)||[];O(s,this.fields.recurrenceExceptions,[...n,o]),O(e.dataItem,this.fields.recurrenceRule,null),i.push(s),t.push(e.dataItem)}else i.push(e.dataItem)}this.handleDataChange({updated:i,created:t})},handleRemove(e){const t=[],i=[];if(e.series){const t=r.clone(F(e.dataItem,this.fields,this.dataItems)),s=r.clone(e.dataItem);O(s,this.fields.originalStart,T(t,this.fields.originalStart)),O(s,this.fields.recurrenceId,T(t,this.fields.recurrenceId)),O(s,this.fields.recurrenceRule,T(t,this.fields.recurrenceRule)),O(s,this.fields.recurrenceExceptions,T(t,this.fields.recurrenceExceptions)),i.push(s)}else if(null===T(e.dataItem,this.fields.recurrenceRule)||void 0===T(e.dataItem,this.fields.recurrenceRule))i.push(e.dataItem);else{const i=r.clone(F(e.dataItem,this.fields,this.dataItems)),s=T(e.dataItem,this.fields.originalStart),o=T(i,this.fields.recurrenceExceptions)||[];O(i,this.fields.recurrenceExceptions,[...o,s]),O(e.dataItem,this.fields.recurrenceRule,null),t.push(i)}this.handleDataChange({updated:t,deleted:i})},handleDataAction(e){switch(e.type){case Ji.create:this.handleCreate(e);break;case Ji.update:this.handleUpdate(e);break;case Ji.remove:this.handleRemove(e)}},handleActiveViewNameChange(e,t){void 0===this.$props.view&&this.updatePassedState(e),this.$emit("viewchange",{viewName:e,...t,target:this.ks.scheduler.$el})},setToolbarRef(e){const t=(null==e?void 0:e.$el)||null;t!==this.toolbarElement&&(this.toolbarObserver&&this.toolbarElement&&this.toolbarObserver.unobserve(this.toolbarElement),this.toolbarElement=t,this.toolbarObserver&&t&&this.toolbarObserver.observe(t))},handleDateChange(e,t){this.setDate(e,{...t,target:this.ks.scheduler.$el})},handleDatePickerChange(e){e.value&&this.setDate(e.value,{...e,target:this.ks.scheduler.$el,nativeEvent:e.event})},handleNextClick(e){e.preventDefault();const t=this.getViewPropValue(this.ks.view,"step",this.ks.activeViewName)||this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName)||1,r=t>27?i.addMonths(this.ks.currentDate,Math.round(t/27)):i.addDays(this.ks.currentDate,t);this.setDate(r,e)},handlePrevClick(e){e.preventDefault();const t=this.getViewPropValue(this.ks.view,"step",this.ks.activeViewName)||this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName)||1,r=t>27?i.addMonths(this.ks.currentDate,-Math.round(t/27)):i.addDays(this.ks.currentDate,-t);this.setDate(r,e)},handleTodayClick(e){e.preventDefault();const t=i.ZonedDate.fromLocalDate(new Date,this.ks.timezone);this.setDate(new Date(t.getTime()),e)},handleShowWorkHoursClick(){this.ks.showWorkHours=!this.ks.showWorkHours},handleFocus(){this.$el&&(this.$el.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},handleBlur(){this.$el&&(this.$el.style.boxShadow="")},handleItemClick(e){this.$emit("itemclick",e)},handleItemDoubleClick(e){this.$emit("itemdoubleclick",e)},handleSlotClick(e){this.$emit("slotclick",e)},handleSlotDoubleClick(e){this.$emit("slotdoubleclick",e)},handleTaskClick(e){this.$emit("taskclick",e)},handleTaskDoubleClick(e){this.$emit("taskdoubleclick",e)},setDate(e,t){void 0===this.$props.date&&(this.ks.currentDate=e,this.updatePassedState()),this.$emit("datechange",{date:e,event:t})},updatePassedState(e){const i=n.provideIntlService(this),r=e||this.ks.activeViewName;this.ks.activeViewName=r,this.ks.view=this.views.find(e=>e.name===r)||this.views[0]||t.createVNode(ho,null,null),this.ks.dateFormat=this.getViewPropValue(this.ks.view,"selectedDateFormat",r)||Co,this.ks.shortDateFormat=this.getViewPropValue(this.ks.view,"selectedShortDateFormat",r)||Eo,this.ks.dateRange=this.getViewComponentByName(r).props.dateRange.default()({intl:i,date:this.ks.currentDate,timezone:this.$props.timezone,numberOfDays:this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName),workWeekStart:this.getViewPropValue(this.ks.view,"workWeekStart",this.ks.activeViewName)||i.firstDay(),workWeekEnd:this.getViewPropValue(this.ks.view,"workWeekEnd",this.ks.activeViewName)||(i.firstDay()+this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName))%6})},calculateMedia(){r.canUseDOM&&window.matchMedia&&(this.media=window.matchMedia("(min-width: 1024px)").matches?"desktop":"mobile")},measureToolbar(){const e=this.toolbarElement;if(!e)return;const t=e.clientWidth;if(!t)return;const i=parseInt(window.getComputedStyle(e).gap||"0",10),r=Array.from(e.children),s=r.reduce((e,t)=>e+t.offsetWidth,0)+(r.length-1)*i,o=this.toolbarLevel;if(s>t&&o<3)return this.toolbarBreakpoints[o]=t,void(this.toolbarLevel=o+1);o>0&&t>this.toolbarBreakpoints[o-1]+20&&(this.toolbarLevel=o-1)}}}),To=t.defineComponent({name:"KendoSchedulerProportionalViewItem",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:()=>({timeout:void 0,display:!0,visible:!1,maxSiblingsPerSlot:0}),mounted(){if(this.element=this.getElement(),!this.ks.scheduler||!this.ks.scheduler.$el)return;r.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const e=this;this.$nextTick(function(){e.position()})},updated(){const e=this;this.$nextTick(function(){e.position()}),this.ks.scheduler&&this.ks.scheduler.$el&&!this.observer&&r.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=r.getDefaultSlots(this);let i;this.intl=n.provideIntlService(this);const s=t.createVNode(Ts,{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&&t.createVNode(t.Fragment,null,[this.$props.tail&&!this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null)]),t.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-up",icon:d.chevronUpIcon},null)]),t.createVNode(Os,{class:"k-event-title"},{default:()=>[this.$props.title]}),!this.$props.isAllDay&&t.createVNode(Os,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-down",icon:d.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.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&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])])]});return i=r.getTemplate.call(this,{h:t.h,template:this.$props.item,defaultRendering:s,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}}),i},methods:{getElement(){return 8===this.$el.nodeType?this.$el.parentElement:3===this.$el.nodeType?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",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 i=0;return t.forEach(e=>{void 0!==e._order&&null!==e._order&&i<e._order&&(i=e._order)}),i+1},getSiblings(e,t,i){const[r,s]=t,o=new Date(Math.min(s.cSlot.end.getTime()-i,Math.max(this.$props.start.getTime(),r.cSlot.start.getTime()))),n=new Date(Math.max(o.getTime()+i,Math.min(this.$props.end.getTime(),s.cSlot.end.getTime())));return e.filter(e=>{const t=Math.max(Math.min(s.cSlot.end.getTime()-i,e.$props.start.getTime()),r.cSlot.start.getTime()),a=Math.min(Math.max(t+i,e.$props.end.getTime()),s.cSlot.end.getTime());return e.$props.id!==this.$props.id&&e.$props.group.index===this.$props.group.index&&e.$props.range.index===this.$props.range.index&&(this.$props.ignoreIsAllDay||e.$props.isAllDay===this.$props.isAllDay)&&L(new Date(t),new Date(a),o,n)&&L(r.cSlot.start,s.cSlot.end,e.$props.start,e.$props.end)})},inSlot(e,t){return e.group.index===t.group.index&&e.range.index===t.range.index&&(void 0===e.range.isAllDay||void 0===t.range.isAllDay||e.range.isAllDay===t.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===t.isAllDay)},position(){var e,t;if(!this.element)return;const i=(this.bv.slots||[]).filter(e=>e&&this.inSlot(e.cSlot,this.$props)).sort((e,t)=>e.cSlot.start.getTime()-t.cSlot.start.getTime()),r=i.filter(e=>L(e.cSlot.start,e.cSlot.end,this.$props.start,this.$props.end));if(!this.element||!r.length)return;const s=$(i),o=C(i),n=$(r),a=C(r);if(!(n&&a&&s&&o))return;if(!L(n.cSlot.start,a.cSlot.end,this.$props.start,this.$props.end))return void(this.display=!1);const l=[],d=S(n.$el),c=(this.$props.vertical?d.height:d.width)/(n.cSlot.end.getTime()-n.cSlot.start.getTime()),h=(this.$props.vertical?12:8)/c,u=(Math.min(this.$props.start.getTime(),a.cSlot.end.getTime()-h)-n.cSlot.start.getTime())*c,p=Math.floor(Math.min(this.$props.end.getTime(),a.cSlot.end.getTime())-Math.max(this.$props.start.getTime(),n.cSlot.start.getTime()))*c;(this.bv.items||[]).forEach(e=>{e&&(e.$props.dragHint||e.$props.resizeHint||l.push(e))});const m=this.getSiblings(l,[s,o],h),g=this.$props.resizeHint||this.$props.dragHint?0:((e,t)=>{const i=new Set;return t.forEach(e=>{void 0!==e._order&&null!==e._order&&i.add(e._order)}),_(Array.from(i))})(0,m);let f=1;this.$props.resizeHint||this.$props.dragHint||(f=this.calculateMostSiblings(this,m),m.forEach(e=>{e._maxSiblingsPerSlot&&f<e._maxSiblingsPerSlot&&(f=e._maxSiblingsPerSlot)}),m.forEach(e=>{void 0!==e._maxSiblingsPerSlot&&null!==e._maxSiblingsPerSlot&&e._maxSiblingsPerSlot<f&&(e._maxSiblingsPerSlot=f)}));let v=0;const y=d;m.forEach(e=>{let t=0;void 0!==e._order&&null!==e._order&&e._order<g&&(t=S(e.getElement()).top+S(e.getElement()).height-y.top-1*g+1),t>v&&(v=t)});y.width=this.$props.vertical?y.width/f-1-20/f:p-1,this.$props.vertical?y.height=p-1:(this.$props.resizeHint||this.$props.dragHint)&&f<=1||(y.height=null!=(t=null==(e=this.$props.itemStyle)?void 0:e.height)?t:12),y.left=this.$props.vertical?y.left+g+1*g*y.width:y.left+(u<0?0:u),y.top=this.$props.vertical?y.top+(u<0?0:u):y.top+v+1*g,this.maxSiblingsPerSlot=f,this._order=g,b(this.element,y),this.visible=!0,this.display=!0},handleResize(){void 0!==this.timeout&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.position()})}}});function Oo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Vo=t.defineComponent({name:"KendoSchedulerNavigation",props:{isRtl:Boolean,onPrevclick:Function,onNextclick:Function,onTodayclick:Function},inject:{ks:{default:null},kendoLocalizationService:{default:null}},render(){r.getDefaultSlots(this),this.localization=n.provideLocalizationService(this);const e=this.localization.toLanguageString(oe,xi[oe]),i=this.localization.toLanguageString(me,xi[me]),s=this.localization.toLanguageString(ge,xi[ge]);return t.createVNode(o.ToolbarItem,null,{default:()=>[t.createVNode(o.ButtonGroup,{class:"k-scheduler-navigation"},{default:()=>[t.createVNode(o.Button,{role:"button",class:"k-nav-today",tabIndex:-1,title:e,"aria-label":e,onClick:this.handleTodayClick},Oo(e)?e:{default:()=>[e]}),t.createVNode(o.Button,{role:"button",tabIndex:-1,class:"k-button-icon k-nav-prev",icon:this.isRtl?"chevron-right":"chevron-left",svgIcon:this.isRtl?d.chevronRightIcon:d.chevronLeftIcon,title:i,"aria-label":i,onClick:this.handlePrevClick},null),t.createVNode(o.Button,{role:"button",tabIndex:-1,class:"k-button-icon k-nav-next",icon:this.isRtl?"chevron-left":"chevron-right",svgIcon:this.isRtl?d.chevronLeftIcon:d.chevronRightIcon,title:s,"aria-label":s,onClick:this.handleNextClick},null)]})]})},methods:{handleTodayClick(e){this.$emit("todayclick",e)},handlePrevClick(e){this.$emit("prevclick",e)},handleNextClick(e){this.$emit("nextclick",e)}}}),xo=t.defineComponent({name:"KendoSchedulerViewSelector",render:()=>t.createVNode(Fi,null,null)});e.AgendaView=Rs,e.BusinessHours=Ai,e.DATA_ACTION=Ji,e.DRAG_ITEM_ACTION=Bs,e.DateHeaderCell=Xs,e.DayView=ho,e.ITEMS_FOCUS_ACTION=Gi,e.ITEMS_SELECT_ACTION=ji,e.MonthView=Io,e.NavigationDatePicker=ie,e.REMOVE_ITEM_ACTION=js,e.RESIZE_ITEM_ACTION=qs,e.RemoveRecurrenceConfirmDialog=Mr,e.SERIES_ACTION=Zs,e.SHOW_OCCURRENCE_DIALOG_ACTION=Ms,e.SHOW_REMOVE_DIALOG_ACTION=Ls,e.SLOTS_FOCUS_ACTION=Hi,e.SLOTS_SELECT_ACTION=Bi,e.Scheduler=No,e.SchedulerActionButtons=or,e.SchedulerDrag=xs,e.SchedulerEditItem=Ys,e.SchedulerEditSlot=qr,e.SchedulerEditTask=Ds,e.SchedulerFooter=te,e.SchedulerForm=Br,e.SchedulerFormEditor=Lr,e.SchedulerHeader=ee,e.SchedulerItem=Ts,e.SchedulerItemContent=Os,e.SchedulerNavigation=Vo,e.SchedulerOccurrenceDialog=gs,e.SchedulerProportionalViewItem=To,e.SchedulerRecurrenceDialog=Fr,e.SchedulerRemoveDialog=vs,e.SchedulerResize=Fs,e.SchedulerSlot=Hr,e.SchedulerTask=ys,e.SchedulerViewItem=Vs,e.SchedulerViewSelector=xo,e.SchedulerViewSlot=_r,e.SchedulerViewTask=ks,e.TimeHeaderCell=Ur,e.TimelineView=to,e.TimezoneDropDownList=Or,e.WeekView=uo,e.WorkWeekView=mo,e.ZonedSplitDateTime=Tr,e.getRecurrenceSummary=Vr});
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@progress/kendo-date-math"),require("@progress/kendo-vue-common"),require("@progress/kendo-data-query"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-intl"),require("@progress/kendo-vue-dateinputs"),require("@progress/kendo-vue-popup"),require("@progress/kendo-svg-icons"),require("@progress/kendo-vue-tooltip"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-form"),require("@progress/kendo-vue-labels"),require("@progress/kendo-vue-dialogs"),require("@progress/kendo-recurrence"),require("@progress/kendo-vue-dropdowns")):"function"==typeof define&&define.amd?define(["exports","vue","@progress/kendo-date-math","@progress/kendo-vue-common","@progress/kendo-data-query","@progress/kendo-vue-buttons","@progress/kendo-vue-intl","@progress/kendo-vue-dateinputs","@progress/kendo-vue-popup","@progress/kendo-svg-icons","@progress/kendo-vue-tooltip","@progress/kendo-vue-inputs","@progress/kendo-vue-form","@progress/kendo-vue-labels","@progress/kendo-vue-dialogs","@progress/kendo-recurrence","@progress/kendo-vue-dropdowns"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVueScheduler={},e.Vue,e.KendoDateMath,e.KendoVueCommon,e.KendoDataQuery,e.KendoVueButtons,e.KendoVueIntl,e.KendoVueDateinputs,e.KendoVuePopup,e.KendoSVGIcons,e.KendoVueTooltip,e.KendoVueInputs,e.KendoVueForm,e.KendoVueLabels,e.KendoVueDialogs,e.KendoRecurrence,e.KendoVueDropdowns)}(this,function(e,t,i,r,s,o,n,a,l,d,c,u,h,p,m,g,v){"use strict";const f=(e,t=0,i=0,r=[])=>{if(e.length<=t)return[r];const s=[];return e[t].data.map(o=>{s.push(...f(e,t+1,i+1,[...r,{...o,field:e[t].field,valueField:e[t].valueField,colorField:e[t].colorField,multiple:e[t].multiple}]))}),s};function y(e,t){const i=[];if(!t||!t.length)return i;if(e&&e.resources&&e.resources.length){const r=e.resources;for(let e=0;e<r.length;e++){const s=t.find(t=>t.name===r[e]);i.push(s)}}return i}const k=(e,t=e.length-1)=>{const i=Math.max(0,t),r=[];e&&e.length||(e=[{}]);const s=(e[i].data||[]).map(t=>({...t,text:t[e[i].textField]}))||[],o=s.length;let n=1;for(let t=0;t<=i;t++)n*=(e[t].data||[]).length||1;for(let e=0;e<n;e++)s[e%o]&&r.push(s[e%o]);return r},S=e=>{if(!e)return{top:0,left:0,width:0,height:0,right:0};return{top:e.offsetTop,left:e.offsetLeft,right:e.offsetParent?e.offsetParent.offsetWidth-(e.offsetLeft+e.offsetWidth):0,width:e.offsetWidth,height:e.offsetHeight}},D=(e,t=!1)=>r.canUseDOM?parseFloat(window.getComputedStyle(e)[t?"paddingLeft":"paddingTop"]||"0")+parseFloat(window.getComputedStyle(e)[t?"paddingRight":"paddingBottom"]||"0"):0,b=(e,t,i=!1)=>{e&&(void 0!==t.top&&(e.style.top=`${t.top}px`),void 0!==t.left&&(e.style.left=`${t.left}px`),void 0!==t.width&&(e.style.width=`${t.width}px`),void 0!==t.height&&!i&&(e.style.height="number"==typeof t.height?`${t.height}px`:t.height),i&&(e.style.minHeight=void 0!==t.height&&t.height>0?`${t.height}px`:""))};var w=(e=>(e[e.add=0]="add",e[e.remove=1]="remove",e))(w||{});const I=new WeakMap,R=()=>{const e=t.ref(!1);return t.onMounted(()=>{e.value=!0}),t=>e.value?(e=>{if(!e||"undefined"==typeof document||!document.body||!document.defaultView)return e;const t=document;let i=I.get(t);i||(i=new Map,I.set(t,i),queueMicrotask(()=>I.delete(t)));const r=i.get(e);if(void 0!==r)return r;const s=t.createElement("span");s.className="k-event",Object.assign(s.style,{position:"fixed",visibility:"hidden",pointerEvents:"none",width:"0",height:"0"}),s.style.setProperty("--kendo-scheduler-event-color",e),t.body.append(s);try{const r=t.defaultView.getComputedStyle(s).backgroundColor;return i.set(e,r),r}finally{s.remove()}})(t):t},$=e=>e[0],C=e=>e[e.length-1],E=(e,t,r)=>{const s=i.ZonedDate.fromLocalDate(e,r),o=t.getTime()>e.getTime()?new Date(t.getTime()-1):t,n=i.ZonedDate.fromLocalDate(o,r);return i.getDate(s).getTime()!==i.getDate(n).getTime()},z=(e,t)=>{var i;return!0===(null==(i=e.range)?void 0:i.isAllDay)&&!e.isAllDay&&"true"===t.dataset.slotAllday},N=(e,t,...i)=>{var r;const[s,o]=i,n=void 0===s?[]:[s],a=t=>{var i,r;e.$emit("dataaction",t,...n),null==(r=(i=e.$props).onDataAction)||r.call(i,t,...n),null==o||o()};null!=(r=e.confirmCustomEvents)&&r.call(e,t,a)||a(t)},T=(e,t)=>{const i=j(e,t.recurrenceId);return null!=i?i:j(e,t.id)},V=(e,t,i)=>e.filter(e=>{const r=j(e,t.recurrenceId);return null!=r&&r===i&&!j(e,t.recurrenceRule)}),O=(e,t)=>{const i=r.clone(e);return L(i,t.recurrenceId,null),L(i,t.recurrenceRule,null),L(i,t.originalStart,null),i},x=e=>{const t=new Set;return e.forEach(e=>{t.add(e.field)}),t.size===e.length};function F(e,t,i,r,s="all day"){const o={skeleton:"yMMMMEEEEdhm"},n={skeleton:"yMMMMEEEEd"},a=t.getFullYear()===i.getFullYear()&&t.getMonth()===i.getMonth()&&t.getDate()===i.getDate();if(r){const r=0===i.getHours()&&0===i.getMinutes()&&0===i.getSeconds()&&i.getTime()-t.getTime()===864e5;return a||r?`${e.formatDate(t,n)} (${s})`:`${e.formatDate(t,n)} to ${e.formatDate(i,n)} (${s})`}return a?`${e.formatDate(t,o)}–${e.formatDate(i,"t")}`:`${e.formatDate(t,o)}-${e.formatDate(i,o)}`}function A(e,t,r,s,o){const n={skeleton:"MMMMd"},a=r>t&&i.getDate(r).getTime()===r.getTime()?i.addDays(r,-1):r,l=i.getDate(t).getTime()===i.getDate(a).getTime(),d=e.formatDate(t,n);if(s)return l?`${d}, ${o}`:`${d} - ${e.formatDate(a,n)}, ${o}`;const c=e.formatDate(t,"t"),u=e.formatDate(r,"t");return l?`${d}, ${c} - ${u}`:`${d}, ${c} - ${e.formatDate(r,n)}, ${u}`}const M=(e,t,i,r=0)=>{if(r===i)return null;let s=null;const o=document.elementFromPoint(e,t);if(!o)return s;if("true"===o.getAttribute("data-slot"))return o;{const n=o.style.pointerEvents;o.style.pointerEvents="none",s=M(e,t,i,r+1),o.style.pointerEvents=n}return s},j=(e,t)=>r.getter(t)(e),L=(e,t,i)=>{if(t)return r.setter(t)(e,i)},B=e=>null!=e;function W(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}const H=(e,t,i)=>{const r=P(e,t)?j(e,t.id):j(e,t.recurrenceId);return i.find(e=>j(e,t.id)===r)},P=(e,t)=>{const i=j(e,t.id),r=j(e,t.recurrenceId),s=j(e,t.recurrenceRule);return!(!i||!s||null!=r)},K=(e,t)=>Math.max(e.getTime(),t.getTime()),_=(e,t)=>Math.min(e.getTime(),t.getTime()),q=(e,t,i,r,s=!1)=>s?K(t,r)-_(e,i)<=t.getTime()-e.getTime()+(r.getTime()-i.getTime()):K(t,r)-_(e,i)<t.getTime()-e.getTime()+(r.getTime()-i.getTime()),U={id:"id",start:"start",startTimezone:"startTimezone",originalStart:"originalStart",end:"end",endTimezone:"endTimezone",isAllDay:"isAllDay",title:"title",description:"description",recurrenceRule:"recurrenceRule",recurrenceId:"recurrenceId",recurrenceExceptions:"recurrenceExceptions",readonly:"readonly"},G=e=>({fields:{...U,...e}}),Z=(e,t,i)=>(t.getHours()<e.getHours()||t.getHours()===e.getHours()&&t.getMinutes()<=e.getMinutes())&&(e.getHours()<i.getHours()||i.getHours()===e.getHours()&&e.getMinutes()<i.getMinutes()),Y=(e,t)=>{const i=y(e,t),r=f(i);return 1===r.length?[{index:0,resources:(t||[]).reduce((e,t)=>[...e,...t.data.map(e=>({...e,field:t.field,valueField:t.valueField,colorField:t.colorField,multiple:t.multiple}))],[])}]:r.map((e,t)=>({index:t,resources:e}))},Q=e=>{let t=0;const i=e.slice();return i.sort((e,t)=>e-t).forEach((e,r)=>{i[r]===r&&(t=r+1)}),t},X=(e,t,i=!1)=>{e.forEach(e=>{e.order=null}),t.forEach(e=>{const t=e.cSlot?e.cSlot:e;t.items.splice(0,t.items.length)});const r=[...e].sort((e,t)=>e.start.getTime()-t.start.getTime());t.forEach(e=>{const t=e.cSlot?e.cSlot:e,s=[];r.forEach(e=>{if((i||e.isAllDay===t.isAllDay)&&e.range.index===t.range.index&&(void 0===e.range.isAllDay||void 0===t.range.isAllDay||e.range.isAllDay===t.range.isAllDay)&&e.group.index===t.group.index&&q(e.start,e.end,t.start,t.end)){if(null!==e.order&&void 0!==e.order)s.includes(e.order)||(s.push(e.order),s.sort((e,t)=>e-t));else{const t=Q(s);e.order=t,s.push(t),s.sort((e,t)=>e-t)}t.items.push(e)}})})},J=(e,t,i=!1)=>{e.forEach(e=>e.slots.splice(0,e.slots.length)),e.forEach(e=>{t.forEach(t=>{const r=t.cSlot?t.cSlot:t;(i||e.isAllDay===r.isAllDay)&&e.range.index===r.range.index&&(void 0===e.range.isAllDay||void 0===r.range.isAllDay||e.range.isAllDay===r.range.isAllDay)&&e.group.index===r.group.index&&q(e.start,e.end,r.start,r.end)&&e.slots.push(t)})})},ee=(e,t,i)=>!(e.uid!==t.uid||void 0!==e.occurrenceId&&e.occurrenceId!==t.occurrenceId||e.group.index!==t.group.index||e.range.index!==t.range.index||!i&&e.isAllDay!==t.isAllDay),te=(e,t)=>{const i=e.filter(e=>null!==e.element);return s.orderBy(i,[{field:"group.index",dir:"asc"},{field:"range.index",dir:"asc"},t?{field:""}:{field:"isAllDay",dir:"desc"},{field:"start",dir:"asc"}])},ie=(e,t)=>e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()&&e.index===t.index&&e.group.index===t.group.index&&e.range.index===t.range.index&&e.isAllDay===t.isAllDay,re=(e,t,i=!1)=>{const r=e,s=te(t,i);return{currentIndex:s.findIndex(e=>ee(e,r,i)),sorted:s}},se=(e,t,i=!1)=>{if(!e||!t)return null;const{currentIndex:r,sorted:s}=re(e,t,i)||{};return s[r]},oe=(e,t,i=!1,r=!1)=>{const{currentIndex:s,sorted:o}=re(e,t,i);return o[s+(r?-1:1)]},ne=(e,t)=>(e.order||0)-(t.order||0);const ae=t.defineComponent({name:"KendoSchedulerHeader",props:{ariaLabel:String},render(){const e=r.getDefaultSlots(this);return t.createVNode(o.Toolbar,{overflow:"none",class:"k-scheduler-toolbar",ariaLabel:this.ariaLabel},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]})}});const le=t.defineComponent({name:"KendoSchedulerFooter",render(){const e=r.getDefaultSlots(this);return t.createVNode(o.Toolbar,{overflow:"none",class:"k-scheduler-footer",style:{boxShadow:"none"}},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]})}}),de=t.defineComponent({name:"KendoNavigationDatePicker",props:{value:[Date,Object],onChange:Function,level:{type:Number,default:0}},inject:{kendoIntlService:{default:null},ks:{default:null}},created(){this.buttonId=r.guid(),this._popupId="popup"+r.guid()},data:()=>({hasMounted:!1,show:!1,focused:!1}),mounted(){this.buttonRef=this.$refs.button,this.hasMounted=!0},updated(){this.show&&this.focused&&this.$refs.calendar&&this.$refs.calendar.focus()},render(){const e=i.ZonedDate.fromLocalDate(this.$props.value||this.ks.currentDate,this.ks.timezone),r=i.getDate(e),s=this.show,c=this.ks.dateRange.end.getTime()-this.ks.dateRange.start.getTime()>27*i.MS_PER_DAY,u=n.provideIntlService(this),h=u.format(this.ks.dateFormat,c?this.ks.currentDate:this.ks.dateRange.zonedStart,c?this.ks.currentDate:this.ks.dateRange.zonedEnd.addDays(-1)),p=u.format(this.ks.shortDateFormat,c?this.ks.currentDate:this.ks.dateRange.zonedStart,c?this.ks.currentDate:this.ks.dateRange.zonedEnd.addDays(-1));return t.createVNode(o.Button,{ref:"button",id:this.buttonId,onFocus:this.onFocus,onBlur:this.onBlur,fillMode:"flat",class:"k-nav-current k-toolbar-button","aria-live":"polite",tabIndex:-1,icon:"calendar",svgIcon:d.calendarIcon,onClick:this.handleClick},{default:()=>[this.$props.level>=2?p:h,t.createVNode(l.Popup,{id:this._popupId,anchor:this.buttonId,show:s},{default:()=>[this.hasMounted&&t.createVNode(a.Calendar,{ref:"calendar",onBlur:this.onCalendarBlur,onChange:this.handleChange,onKeydown:this.calendarKeydown,value:r},null)]})]})},methods:{handleChange(e){const t=i.ZonedDate.fromUTCDate(W(e.value),this.ks.timezone);this.$emit("change",{...e,value:t}),this.hideAndFocusButton()},handleClick(){this.show=!this.show},onFocus(){clearTimeout(this._blurTimeout),this.focused=!0},onBlur(){this.focused=!1},onCalendarBlur(){clearTimeout(this._blurTimeout),this.createBlurTimeout()},createBlurTimeout(){const e=this;this._blurTimeout=setTimeout(()=>{this.focused=!1;const t=document.activeElement&&document.activeElement.closest(`#${e._popupId}`);r.canUseDOM&&document.activeElement!==e.$refs.button.$el&&!t&&(e.show=!1)},200)},calendarKeydown(e){e.keyCode===r.Keys.esc&&this.hideAndFocusButton()},hideAndFocusButton(){this.show=!1,this.$refs.button.focus()}}}),ce="scheduler.allEvents",ue="scheduler.overviewPopoverEdit",he="scheduler.overviewPopoverDelete",pe="scheduler.allDay",me="scheduler.today",ge="scheduler.dropdownlistSelectViewAriaLabel",ve="scheduler.timelineViewTitle",fe="scheduler.weekViewTitle",ye="scheduler.workWeekViewTitle",ke="scheduler.agendaViewTitle",Se="scheduler.dayViewTitle",De="scheduler.monthViewTitle",be="scheduler.deleteTitle",we="scheduler.previousTitle",Ie="scheduler.nextTitle",Re="scheduler.showFullDay",$e="scheduler.showWorkDay",Ce="scheduler.editOccurrence",Ee="scheduler.editSeries",ze="scheduler.editRecurringConfirmation",Ne="scheduler.editRecurringDialogTitle",Te="scheduler.recurrenceCustomEventsDialogTitle",Ve="scheduler.recurrenceCustomEventsConfirmation",Oe="scheduler.recurrenceCustomEventsKeep",xe="scheduler.recurrenceCustomEventsReset",Fe="scheduler.recurrenceCustomEventsCancel",Ae="scheduler.editSave",Me="scheduler.editCancel",je="scheduler.editorDiscardChangesDialogTitle",Le="scheduler.editorDiscardChangesConfirmation",Be="scheduler.editorDiscardChangesDiscard",We="scheduler.editorDiscardChangesCancel",He="scheduler.editorTitle",Pe="scheduler.editorEventTitle",Ke="scheduler.editorEventStart",_e="scheduler.editorEventStartTimeZone",qe="scheduler.editorEventEnd",Ue="scheduler.editorEventEndTimeZone",Ge="scheduler.editorEventAllDay",Ze="scheduler.editorEventDescription",Ye="scheduler.editorEventSeparateTimeZones",Qe="scheduler.editorEventTimeZone",Xe="scheduler.recurrenceEditorRepeat",Je="scheduler.recurrenceEditorDailyInterval",et="scheduler.recurrenceEditorDailyRepeatEvery",tt="scheduler.recurrenceEditorWeeklyInterval",it="scheduler.recurrenceEditorWeeklyRepeatEvery",rt="scheduler.recurrenceEditorWeeklyRepeatOn",st="scheduler.recurrenceEditorMonthlyDay",ot="scheduler.recurrenceEditorMonthlyInterval",nt="scheduler.recurrenceEditorMonthlyRepeatEvery",at="scheduler.recurrenceEditorMonthlyRepeatOn",lt="scheduler.recurrenceEditorYearlyOf",dt="scheduler.recurrenceEditorYearlyRepeatEvery",ct="scheduler.recurrenceEditorYearlyRepeatOn",ut="scheduler.recurrenceEditorYearlyInterval",ht="scheduler.recurrenceEditorFrequenciesDaily",pt="scheduler.recurrenceEditorFrequenciesMonthly",mt="scheduler.recurrenceEditorFrequenciesNever",gt="scheduler.recurrenceEditorFrequenciesWeekly",vt="scheduler.recurrenceEditorFrequenciesYearly",ft="scheduler.recurrenceEditorOffsetPositionsFirst",yt="scheduler.recurrenceEditorOffsetPositionsSecond",kt="scheduler.recurrenceEditorOffsetPositionsThird",St="scheduler.recurrenceEditorOffsetPositionsFourth",Dt="scheduler.recurrenceEditorOffsetPositionsLast",bt="scheduler.recurrenceEditorWeekdaysDay",wt="scheduler.recurrenceEditorWeekdaysWeekday",It="scheduler.recurrenceEditorWeekdaysWeekendday",Rt="scheduler.recurrenceEditorEndAfter",$t="scheduler.recurrenceEditorEndOccurrence",Ct="scheduler.recurrenceEditorEndLabel",Et="scheduler.recurrenceEditorEndNever",zt="scheduler.recurrenceEditorEndOn",Nt="scheduler.editorDelete",Tt="scheduler.deleteConfirmation",Vt="scheduler.deleteRecurringConfirmation",Ot="scheduler.deleteOccurrence",xt="scheduler.deleteSeries",Ft="scheduler.deleteDialogTitle",At="scheduler.deleteSeriesConfirmation",Mt="scheduler.deleteSeriesDialogTitle",jt="scheduler.deleteRecurringDialogTitle",Lt="scheduler.dateTitle",Bt="scheduler.timeTitle",Wt="scheduler.eventTitle",Ht="scheduler.editorValidationRequired",Pt="scheduler.editorValidationStart",Kt="scheduler.editorValidationEnd",_t="scheduler.noEvents",qt="scheduler.popoverEvents",Ut="scheduler.moreEvents",Gt="scheduler.moreEventsCount",Zt="scheduler.newEvent",Yt="scheduler.newEventLabel",Qt="scheduler.editorTitleNew",Xt="scheduler.editorEventTimeZoneReset",Jt="scheduler.editorEventDescriptionPlaceholder",ei="scheduler.editorEventDateRangeSeparator",ti="scheduler.editorEventDateRangeStart",ii="scheduler.editorNewEvent",ri="scheduler.editorEditEvent",si="scheduler.editorRecurrenceMakeRecurring",oi="scheduler.editorRecurrenceEdit",ni="scheduler.editorRecurrenceDialogTitle",ai="scheduler.editorRecurrenceRemove",li="scheduler.removeRecurrenceConfirmation",di="scheduler.removeRecurrenceNo",ci="scheduler.removeRecurrenceYes",ui="scheduler.recurrenceEditorStartsOn",hi="scheduler.recurrenceEditorRepeatsEveryDay",pi="scheduler.recurrenceEditorRepeatsEveryDays",mi="scheduler.recurrenceEditorRepeatsEveryWeek",gi="scheduler.recurrenceEditorRepeatsEveryWeeks",vi="scheduler.recurrenceEditorRepeatsEveryMonth",fi="scheduler.recurrenceEditorRepeatsEveryMonths",yi="scheduler.recurrenceEditorRepeatsEveryYear",ki="scheduler.recurrenceEditorRepeatsEveryYears",Si="scheduler.recurrenceEditorRepeatsAnd",Di="scheduler.recurrenceEditorRepeatsMonthDay",bi="scheduler.recurrenceEditorRepeatsWeekDayPosition",wi="scheduler.recurrenceEditorRepeatsYearlyMonthDay",Ii="scheduler.recurrenceEditorRepeatsYearlyWeekDayPosition",Ri="scheduler.recurrenceEditorRepeatsAfter",$i="scheduler.recurrenceEditorRepeatsUntil",Ci="scheduler.recurrenceEditorEndsAfterOccurrences",Ei="scheduler.recurrenceSummaryDaily",zi="scheduler.recurrenceSummaryWeekly",Ni="scheduler.recurrenceSummaryMonthlyByDay",Ti="scheduler.recurrenceSummaryMonthlyByWeekDay",Vi="scheduler.recurrenceSummaryYearlyByDay",Oi="scheduler.recurrenceSummaryYearlyByWeekDay",xi="scheduler.recurrenceSummaryCount",Fi="scheduler.recurrenceSummaryUntil",Ai="scheduler.resetTimezoneDialogTitle",Mi="scheduler.resetTimezoneConfirmation",ji="scheduler.resetTimezoneNo",Li="scheduler.resetTimezoneYes",Bi="scheduler.editorStartTimeAriaLabel",Wi="scheduler.editorEndTimeAriaLabel",Hi="scheduler.editorTimezoneButton",Pi="scheduler.editorSetTimezoneTitle",Ki="scheduler.editorResetTimezoneTitle",_i="scheduler.editorResetTimezoneAriaLabel",qi="scheduler.editorDateConnectorFrom",Ui="scheduler.editorDateConnectorTo",Gi="scheduler.recurrenceEditorWeeklyRepeatOnDays",Zi="scheduler.recurrenceSummaryOnThe",Yi="scheduler.recurrenceSummaryEnding",Qi="scheduler.toolbarLabel",Xi="scheduler.quickCreateSave",Ji="scheduler.quickCreateMoreOptions",er="scheduler.quickCreateCancel",tr={[Xi]:"Save",[Ji]:"More options",[er]:"Cancel",[Ht]:"Field is required.",[Pt]:"Start time must be before End time.",[Kt]:"End time must be after Start time.",[ce]:"All events",[pe]:"all day",[me]:"Today",[ge]:"Select View",[Se]:"Day",[De]:"Month",[fe]:"Week",[ye]:"Work Week",[ve]:"Timeline",[ke]:"Agenda",[be]:"Delete",[we]:"Previous",[Ie]:"Next",[Re]:"Show full day",[$e]:"Show business hours",[Ce]:"Edit current occurrence",[Ee]:"Edit the series",[ze]:"Do you want to edit only this event occurrence or the whole series?",[Ne]:"Edit Recurring Item",[Te]:"Keep or reset custom events?",[Ve]:"Some events in this series have been edited separately. Choose whether to keep those custom events, or reset them to match the updated series?",[Oe]:"Keep custom events",[xe]:"Reset custom events",[Fe]:"Cancel",[Ae]:"Save",[Me]:"Cancel",[je]:"Discard changes",[Le]:"Are you sure you want to discard the changes?",[Be]:"Discard changes",[We]:"Cancel",[Nt]:"Delete",[He]:"Event",[Pe]:"Title",[Ke]:"Start",[_e]:"Start Time Zone",[qe]:"End",[Ue]:"End Time Zone",[Ge]:"All Day",[Ze]:"Description",[Ye]:"End in different Time Zone",[Qe]:"Specify Time Zone",[Xe]:"Repeats every",[Je]:"day(s)",[et]:"Repeats every",[tt]:"week(s)",[it]:"Repeats every",[rt]:"On",[st]:"Day",[ot]:"month(s)",[nt]:"Repeats every",[at]:"On",[lt]:"of",[dt]:"Repeats every",[ct]:"On",[ut]:"year(s)",[ht]:"Day",[pt]:"Month",[mt]:"Never",[gt]:"Week",[vt]:"Year",[ft]:"First",[yt]:"Second",[kt]:"Third",[St]:"Fourth",[Dt]:"Last",[bt]:"Day",[wt]:"Weekday",[It]:"Weekend Day",[Rt]:"After",[$t]:"occurrence(s)",[Ct]:"Ends",[Et]:"Never",[zt]:"On",[Tt]:"Are you sure you want to delete this event?",[Vt]:"Do you want to delete only this event occurrence or the whole series?",[Ot]:"Delete current occurrence",[xt]:"Delete the series",[Ft]:"Delete Event",[At]:"Are you sure you want to delete this series?",[Mt]:"Delete Series",[jt]:"Delete Recurring Item",[Lt]:"Date",[Bt]:"Time",[Wt]:"Event",[_t]:"no events",[qt]:"Events",[Ut]:"more",[Gt]:"{0} more",[Zt]:"New Event",[Yt]:"Create new event",[Qt]:"New Event",[Xt]:"Reset Time Zone",[Jt]:"Add a description",[ei]:"to",[ti]:"from",[ii]:"New event",[ri]:"Edit event",[si]:"Make recurring",[oi]:"Edit recurrence",[ni]:"Recurrence",[ai]:"Remove recurrence",[li]:"Do you want to remove the recurrence?",[di]:"No",[ci]:"Yes",[ui]:"Starts on",[hi]:"Repeats every {0} day",[pi]:"Repeats every {0} days",[mi]:"Repeats every {0} week",[gi]:"Repeats every {0} weeks",[vi]:"Repeats every {0} month",[fi]:"Repeats every {0} months",[yi]:"Repeats every {0} year",[ki]:"Repeats every {0} years",[Si]:"and",[Di]:"on day {0}",[bi]:"on the {0} {1}",[wi]:"on {0} {1}",[Ii]:"on the {0} {1} of {2}",[Ri]:"after {0} occurrence(s)",[$i]:"until {0}",[Ci]:"{0} occurrence(s)",[Ei]:"Repeats every {0} day(s)",[zi]:"Repeats every {0} week(s) on {1}",[Ni]:"Repeats every {0} month(s) on day {1}",[Ti]:"Repeats every {0} month(s) on the {1} {2}",[Vi]:"Repeats every {0} year(s) on {1} {2}",[Oi]:"Repeats every {0} year(s) on the {1} {2} of {3}",[xi]:", {0} time(s)",[Fi]:", until {0}",[Ai]:"Reset Time Zone",[Mi]:"Do you want to remove the time zone settings?",[ji]:"No",[Li]:"Yes",[Bi]:"Start time",[Wi]:"End time",[Hi]:"Time zone",[Pi]:"Set time zone",[Ki]:"Reset time zone",[_i]:"Reset time zone",[qi]:"from",[Ui]:"to",[Gi]:"Repeat on days",[Zi]:"on the",[Yi]:", ending",[Qi]:"Toolbar",[ue]:"Edit",[he]:"Delete"},ir=t.defineComponent({name:"KendoViewSelectorList",props:{level:{type:Number,default:0}},inject:{kendoLocalizationService:{default:null},ks:{default:null},setActiveViewName:{default:null}},render(){const e=this.ks.views;this.localization=n.provideLocalizationService(this);const i=e.find(e=>e.name===this.ks.activeViewName);if(this.$props.level>=1&&i){const s="scheduler."+i.name+"ViewTitle",n=this.localization.toLanguageString(s,tr[s])||i.name;return t.createVNode(o.DropDownButton,{class:"k-toolbar-menu-button",fillMode:"flat",onItemclick:this.handleItemClick,popupSettings:{popupClass:"k-scheduler-toolbar"},textField:"title",items:e.map(e=>{const t="scheduler."+e.name+"ViewTitle",i=this.localization.toLanguageString(t,tr[t])||e.name;return{...e,selected:e.name===this.ks.activeViewName,title:e.title||i}}),text:i.title||n},{default:()=>[t.createVNode("span",{class:"k-menu-button-arrow k-button-arrow"},[t.createVNode(r.SvgIcon,{icon:d.chevronDownIcon},null)])]})}const s=e.map(e=>{const t="scheduler."+e.name+"ViewTitle",i=this.localization.toLanguageString(t,tr[t])||e.name;return{value:e.name,text:e.title||i}});return t.createVNode(o.SegmentedControl,{class:"k-scheduler-views",items:s,value:this.ks.activeViewName,onChange:this.handleViewChange},null)},methods:{handleViewChange(e){this.setActiveViewName(e)},handleItemClick(e){this.setActiveViewName&&(e.event&&e.event.preventDefault(),this.setActiveViewName(e.item.name))}}});const rr=t.defineComponent({name:"KendoBusinessHours",emits:{click:null},inject:{ks:{default:null},kendoLocalizationService:{default:null}},props:{slotDuration:Number},render(){let e;const i=r.getDefaultSlots(this);return this.localization=n.provideLocalizationService(this),this.slotDuration&&this.slotDuration<1440?i||t.createVNode(o.Button,{tabIndex:-1,class:"k-toolbar-button k-scheduler-fullday",svgIcon:d.clockIcon,onClick:this.handleShowWorkHoursClick},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e=this.localization.toLanguageString(this.ks.showWorkHours?Re:$e,tr[this.ks.showWorkHours?Re:$e]))?e:{default:()=>[e]}):null},methods:{handleShowWorkHoursClick(e){this.$emit("click",e)}}}),sr={name:"@progress/kendo-vue-scheduler",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:1645190650,version:"10.2.0-develop.12",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};let or=function(e){return e.select="ITEMS_SELECT_SELECT",e.selectNext="ITEMS_SELECT_SELECT_NEXT",e.selectPrev="ITEMS_SELECT_SELECT_PREV",e.reset="ITEMS_SELECT_RESET",e.add="ITEMS_SELECT_ADD",e.remove="ITEMS_SELECT_REMOVE",e}({});const nr=function(e,t){switch(e.type){case or.select:if(!e.item)return;this.bv.selectedItems=[e.item];break;case or.selectNext:{if(!e.item||!this.bv.items)return;const i=oe(e.item,this.bv.items,e.ignoreIsAllDay,!1);i&&(t.preventDefault(),this.bv.selectedItems=[i]);break}case or.selectPrev:{if(!e.item||!this.bv.items)return;const i=oe(e.item,this.bv.items,e.ignoreIsAllDay,!0);i&&(t.preventDefault(),this.bv.selectedItems=[i]);break}case or.reset:this.bv.selectedItems=[];break;case or.add:if(!e.item)return;this.bv.selectedItems.some(t=>t===e.item)||(this.bv.selectedItems=[...this.bv.selectedItems,e.item]);break;case or.remove:if(!e.item)return;this.bv.selectedItems=[...this.bv.selectedItems.filter(t=>t!==e.item)]}};let ar=function(e){return e.select="SLOTS_SELECT_SELECT",e.reset="SLOTS_SELECT_RESET",e.add="SLOTS_SELECT_ADD",e}({});const lr=function(e){switch(e.type){case ar.select:if(!e.slot)return;this.bv.selectedSlots=[e.slot];break;case ar.reset:this.bv.selectedSlots=[];break;case ar.add:if(!e.slot)return;this.bv.selectedSlots.some(t=>t===e.slot)||(this.bv.selectedSlots=[...this.bv.selectedSlots,e.slot])}};let dr=function(e){return e.up="SLOT_FOCUS_UP",e.down="SLOT_FOCUS_DOWN",e.left="SLOT_FOCUS_LEFT",e.right="SLOT_FOCUS_RIGHT",e}({});const cr=function(e,t){switch(e.type){case dr.up:{if(!e.slot||!this.bv.slots)return;const i=ur(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}case dr.down:{if(!e.slot||!this.bv.slots)return;const i=mr(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}case dr.left:{if(!e.slot||!this.bv.slots)return;const i=hr(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}case dr.right:{if(!e.slot||!this.bv.slots)return;const i=pr(e.slot,this.bv.slots);i&&i.$el&&(t.preventDefault(),i.$el.focus());break}}},ur=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row-1&&t.cSlot.col===e.$props.col),hr=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row&&t.cSlot.col===e.$props.col-1),pr=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row&&t.cSlot.col===e.$props.col+1),mr=(e,t)=>t.find(t=>null!==t&&null!==e&&t.cSlot.row===e.$props.row+1&&t.cSlot.col===e.$props.col);let gr=function(e){return e.current="ITEMS_FOCUS_CURRENT",e.next="ITEMS_FOCUS_NEXT",e.prev="ITEMS_FOCUS_PREV",e}({});const vr=function(e,t){switch(e.type){case gr.current:{if(!e.item||!this.bv.items)return;const i=se(e.item,this.bv.items,e.ignoreIsAllDay);i&&i.element&&(t.preventDefault(),i.element.focus());break}case gr.next:{if(!e.item||!this.bv.items)return;const i=oe(e.item,this.bv.items,e.ignoreIsAllDay,!1);i&&i.element&&(t.preventDefault(),i.element.focus());break}case gr.prev:{if(!e.item||!this.bv.items)return;const i=oe(e.item,this.bv.items,e.ignoreIsAllDay,!0);i&&i.element&&(t.preventDefault(),i.element.focus());break}}},fr=e=>{const{element:t}=e;(()=>{if(!t)return;let i=[],s=[],o=[];const n=t.querySelectorAll(e.selector);n.forEach(t=>{const n=t.getBoundingClientRect().width,a=e.explicitDepth&&void 0!==e.attribute?t.getAttribute(e.attribute):0,l=D(t,!0),d=((e,t=!1)=>r.canUseDOM?parseFloat(window.getComputedStyle(e)[t?"borderLeftWidth":"borderTopWidth"]||"0")+parseFloat(window.getComputedStyle(e)[t?"borderRightWidth":"borderBottomWidth"]||"0"):0)(t,!0);null!==a&&((!o[a]||d>o[a])&&(o[a]=d),(!s[a]||l>s[a])&&(s[a]=l),(!i[a]||n>i[a])&&(i[a]=n))}),n.forEach(t=>{const r=e.explicitDepth?t.getAttribute(e.attribute):0;null!==r&&(t.style.minWidth=i[r]-s[r]-o[r]+"px")})})()},yr=t.defineComponent({name:"KendoBaseView",inheritAttrs:!1,props:{viewProps:Object,baseSlots:Array,ranges:Array,id:String,isAgendaView:{type:Boolean,default:!1}},provide(){return{bv:this.bv,setItems:this.dispatchItems,setSlots:this.dispatchSlots,dispatchSelectedSlots:this.handleSchedulerSlotsSelectAction,dispatchSelectedItems:this.handleSchedulerItemsSelectAction,dispatchFocusedItems:this.setFocusedItems,dispatchFocusedSlots:this.setFocusedSlots}},data(){return{bv:{viewProps:this.viewProps,ranges:this.ranges,items:[],slots:[],focusedItems:[],focusedSlots:[],selectedItems:[],selectedSlots:[]}}},mounted(){this.syncCells()},watch:{ranges(e){this.bv.ranges=e}},updated(){this.syncCells()},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:["k-scheduler-layout k-scheduler-layout-flex",this.$attrs.class],role:this.$props.isAgendaView?"grid":"none"},[e])},methods:{syncCells(){fr({element:this.$el,selector:".k-group-cell",attribute:"data-depth-index",explicitDepth:!0}),fr({element:this.$el,selector:".k-side-cell",attribute:"data-depth-index",explicitDepth:!1})},handleSchedulerItemsSelectAction(e,t){lr.call(this,{type:ar.reset}),nr.call(this,e,t)},handleSchedulerSlotsSelectAction(e,t){nr.call(this,{type:or.reset},t),lr.call(this,e)},setFocusedItems(e,t){vr.call(this,e,t)},setFocusedSlots(e,t){cr.call(this,e,t)},dispatchItems(e){let t;switch(e.type){case w.add:this.bv.items.push(e.item);break;case w.remove:t=this.bv.items.indexOf(e.item),this.bv.items.splice(t,1)}},dispatchSlots(e){let t;switch(e.type){case w.add:this.bv.slots.push(e.item);break;case w.remove:t=this.bv.slots.indexOf(e.item),this.bv.slots.splice(t,1)}}}}),kr=t.defineComponent({name:"KendoSchedulerResourceIteratorContext",inheritAttrs:!1,props:{noWrap:Boolean,resource:{type:Object,default:function(){return{}}},groupIndex:{type:Number,default:0}},data(){return{ri:{resource:this.resource,groupIndex:this.groupIndex}}},provide(){return{ri:this.ri}},render(){const e=r.getDefaultSlots(this);return e?this.$props.noWrap&&e?e[0]:t.createVNode("div",{class:"k-scheduler-cell k-group-cell"},[e]):null}});var Sr=(e=>(e[e.create=0]="create",e[e.update=1]="update",e[e.remove=2]="remove",e))(Sr||{});const Dr=6e4,br=[{}],wr=new Date(1900,0,1),Ir=new Date(2099,11,31);i.ZonedDate.fromLocalDate(wr),i.ZonedDate.fromLocalDate(Ir);const Rr=/(auto|scroll|overlay)/,$r=(e,i,r)=>{t.watch([e,i],([e,t],i,s)=>{if(!e||!t)return;const o=(e=>{const t=[];let i=e.parentElement;for(;i;){const{overflow:e,overflowX:r,overflowY:s}=getComputedStyle(i);if(Rr.test(`${e}${r}${s}`)&&t.push(i),i.classList.contains("k-scheduler"))break;i=i.parentElement}return t})(t),n=()=>{const e=t.getBoundingClientRect();o.some(i=>((e,t,i)=>{const r=e.getBoundingClientRect();let{top:s,left:o,right:n}=r;const a=e.querySelector(".k-scheduler-head");a&&!a.contains(t)&&(s=Math.max(s,a.getBoundingClientRect().bottom));const l=e.querySelector(".k-sticky-cell");if(l&&!t.closest(".k-sticky-cell")){const e=l.getBoundingClientRect();e.left-r.left<=r.right-e.right?o=Math.max(o,e.right):n=Math.min(n,e.left)}return i.bottom<=s||i.top>=r.bottom||i.right<=o||i.left>=n})(i,t,e))&&r()};o.forEach(e=>e.addEventListener("scroll",n,{passive:!0})),s(()=>o.forEach(e=>e.removeEventListener("scroll",n)))},{immediate:!0,flush:"post"})};function Cr(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Er=t.defineComponent({name:"KendoSchedulerQuickCreateTitleEditor",inheritAttrs:!1,props:{value:[String,Number],valid:{type:Boolean,default:!0},placeholder:String,ariaLabel:String},emits:["change","focus","blur"],setup:(e,{emit:i})=>()=>{var r;return t.createVNode(u.TextBox,{value:null!=(r=e.value)?r:"",valid:e.valid,placeholder:e.placeholder,ariaLabel:e.ariaLabel,inputAttributes:{autocomplete:"off"},onInput:e=>i("change",e),onChange:e=>i("change",e),onFocus:()=>i("focus"),onBlur:()=>i("blur")},null)}}),zr=t.defineComponent({name:"KendoSchedulerQuickCreateForm",props:{dataItem:{type:Object,required:!0},show:Boolean,anchor:Object,validator:Function},emits:{submit:e=>!!e,moreoptions:e=>!!e,cancel:e=>!!e},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},setup(e,{emit:s}){const a=t.getCurrentInstance(),l=t.inject("ks");if(!l)throw new Error("SchedulerQuickCreateForm must be rendered inside a Scheduler.");const u=t.ref(null),m=e=>s("cancel",{value:null,event:e}),g=()=>{var t,i;e.show&&(null==(i=null==(t=u.value)?void 0:t.$el.querySelector("input"))||i.focus())};t.watch(()=>e.show,()=>t.nextTick(g),{immediate:!0,flush:"post"});const v=t.computed(()=>{const e=Math.max(1,Math.round((l.dateRange.end.getTime()-l.dateRange.start.getTime())/i.MS_PER_DAY)),t="horizontal"===l.orientation?Math.max(1,l.groups.length):1;return"timeline"!==l.activeViewName.toLowerCase()&&e*t<=1?{position:"top",collision:{horizontal:"fit",vertical:"flip"},margin:{horizontal:0,vertical:6}}:{position:"right",collision:{horizontal:"flip",vertical:"fit"},margin:{horizontal:6,vertical:0}}});t.watch([()=>e.show,()=>e.anchor],([t],i,r)=>{var s;if(!t||"undefined"==typeof document)return;const o=(null==(s=e.anchor)?void 0:s.ownerDocument)||document,n=e=>{var t;const i=null==(t=u.value)?void 0:t.$el.closest(".k-popover");null!=i&&i.contains(e.target)||m()};o.addEventListener("mousedown",n),r(()=>o.removeEventListener("mousedown",n))},{immediate:!0}),$r(()=>e.show,()=>e.anchor||null,()=>m());return()=>{const i=n.provideIntlService(null==a?void 0:a.proxy),f=n.provideLocalizationService(null==a?void 0:a.proxy),y=e=>f.toLanguageString(e,tr[e]),k=j(e.dataItem,l.fields.start),S=j(e.dataItem,l.fields.end),D=k&&S?A(i,k,S,!!j(e.dataItem,l.fields.isAllDay),y(pe)):"";return t.createVNode(h.Form,{key:null==k?void 0:k.getTime(),initialValues:e.dataItem,validator:e.validator,ignoreModified:!0,onSubmit:(e,t)=>s("submit",{value:e,event:t}),renderForm:i=>{let n,a,f;return t.createVNode(c.Popover,{anchor:e.anchor,show:e.show,position:v.value.position,collision:v.value.collision,margin:v.value.margin,callout:!1,title:y(ii),style:{width:"360px"},autoFocus:!1,animate:{openDuration:1,closeDuration:1},onOpen:g,onKeydown:()=>m()},{default:()=>[t.createVNode(h.FormElement,{ref:u,horizontal:!0,class:"k-scheduler-edit-form"},{default:()=>[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.rightDoubleQuotesIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap",onKeydown:e=>{var t;"Enter"===e.key&&(e.preventDefault(),null==(t=i.onSubmit)||t.call(i,e))}},[t.createVNode(h.Field,{name:l.fields.title,component:Er,ariaLabel:y(Pe),placeholder:y(ii)},null)])]}),t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.clockIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-edit-form-row k-color-subtle"},[D])])]})]}),t.createVNode(c.PopoverActionsBar,null,{default:()=>[t.createVNode(o.Button,{type:"button",fillMode:"flat",themeColor:"primary",onClick:t=>((t,i)=>{const r={...e.dataItem};L(r,l.fields.title,t.valueGetter(l.fields.title)),s("moreoptions",{value:r,event:i})})(i,t)},Cr(n=y(Ji))?n:{default:()=>[n]}),t.createVNode("span",{class:"k-spacer"},null),t.createVNode(o.Button,{type:"button",onClick:e=>m(e)},Cr(a=y(er))?a:{default:()=>[a]}),t.createVNode(o.Button,{type:"button",themeColor:"primary",disabled:!i.allowSubmit,onClick:i.onSubmit},Cr(f=y(Xi))?f:{default:()=>[f]})]})]})}},null)}}});const Nr=t.defineComponent({name:"KendoShowMoreItemsButton",props:{currentSlot:Object,hiddenCount:Number,onClick:Function},inject:{kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),mounted(){var e,t;null==(t=null==(e=this.$refs.button)?void 0:e.$el)||t.addEventListener("dblclick",this.handleDoubleClick)},unmounted(){var e,t;null==(t=null==(e=this.$refs.button)?void 0:e.$el)||t.removeEventListener("dblclick",this.handleDoubleClick)},render(){const e=n.provideLocalizationService(this).toLanguageString(Ut,tr[Ut]),i=void 0!==this.$props.hiddenCount?`${String(this.$props.hiddenCount)} ${e}`:e;return t.createVNode(o.Button,{ref:"button",tabIndex:-1,size:"xs",fillMode:"flat",themeColor:"primary",class:"k-more-events",onClick:this.handleClick,ariaLabel:i},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(i)?i:{default:()=>[i]})},methods:{handleClick(e){if(e.stopPropagation(),!this.onClick)return;const t=this.$refs.button,i=(null==t?void 0:t.$el)||(null==t?void 0:t.element)||null;this.onClick({target:{element:i,slot:this.currentSlot},event:e})},handleDoubleClick(e){e.stopPropagation()}}}),Tr=t.defineComponent({name:"KendoSchedulerActionButtons",props:{editSaveMessage:String,editCancelMessage:String,editDeleteMessage:String,onDelete:Function,onCancel:Function},inject:{kendoForm:{default:{}}},render(){return t.createVNode(m.DialogActionsBar,{class:"k-form-buttons",layout:"end"},{default:()=>[this.onDelete&&t.createVNode(o.Button,{type:"button",fillMode:"flat",themeColor:"primary",svgIcon:d.trashIcon,onClick:this.onDelete},{default:()=>[this.editDeleteMessage]}),t.createVNode(o.Button,{type:"button",onClick:this.handleCancel},{default:()=>[this.editCancelMessage]}),t.createVNode(o.Button,{type:"submit",themeColor:"primary",disabled:!this.kendoForm.allowSubmit,onClick:this.onSubmit},{default:()=>[this.editSaveMessage]})]})},methods:{onSubmit(e){this.kendoForm.onSubmit(e)},handleCancel(e){this.$emit("cancel",e)}}});const Vr=t.defineComponent({name:"KendoRecurrenceFrequencyEditor",emits:{change:null},props:{value:String,dataItems:Array},render(){let e;const{value:i,dataItems:r}=this.$props;return t.createVNode(o.ButtonGroup,{class:"k-scheduler-recurrence-repeat",width:"100%"},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e=r.map(function(e){return t.createVNode(o.Button,{type:"button",key:e.value,selected:e.value===i,onClick:this.handleClick,"data-value":e.value,togglable:!0},{default:()=>[e.text]})},this))?e:{default:()=>[e]})},methods:{handleClick(e){this.$emit("change",e.currentTarget.dataset.value)}}}),Or=e=>e.charAt(0).toUpperCase()+e.slice(1),xr=["first","second","third","fourth","last"],Fr=["never","daily","weekly","monthly","yearly"],Ar=[{day:0,offset:0},{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0},{day:6,offset:0}],Mr=[{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0}],jr=[{day:0,offset:0},{day:6,offset:0}],Lr=e=>{switch(e){case"day":return Ar;case"weekday":return Mr;case"weekend":return jr}},Br=e=>g.parseRule({recurrenceRule:e})||{},Wr=e=>B(e)&&!(e=>(e=>null==e)(e)||e.trim&&0===e.trim().length)(e.freq)?e.freq:"never",Hr=e=>e.dateFormatNames({type:"months",nameType:"wide",standAlone:!0}).map((e,t)=>({text:e,value:t+1})),Pr=e=>{const t=e.firstDay(),i=e.dateFormatNames({type:"days",nameType:"abbreviated"}).map((e,t)=>({text:e,value:t}));return i.slice(t).concat(i.slice(0,t))},Kr=(e,t,i)=>{let r=i.getDay();if(B(t.byWeekDay))switch(t.byWeekDay.length){case 7:r="day";break;case 5:r="weekday";break;case 2:r="weekend";break;case 1:r=t.byWeekDay[0].day}return e.find(e=>r===e.value)||e[0]},_r=(e,t)=>{const i=e.firstDay(),r=e.dateFormatNames({type:"days",nameType:"wide"}).map((e,t)=>({text:e,value:t})),s=r.slice(i).concat(r.slice(0,i));return[{text:t("WeekdaysDay"),value:"day"},{text:t("WeekdaysWeekday"),value:"weekday"},{text:t("WeekdaysWeekendday"),value:"weekend"}].concat(s)},qr=(e,t)=>e.find(e=>e.value===(t.bySetPosition?t.bySetPosition[0]:t.byWeekDay&&t.byWeekDay[0]?t.byWeekDay[0].offset:1))||e[0],Ur=e=>{const t=[1,2,3,4,-1];return xr.map((i,r)=>({text:e("OffsetPositions"+Or(i)),value:t[r]}))},Gr=e=>B(e.count)?"count":B(e.until)?"until":"never",Zr=e=>B(e.byWeekDay)?"weekday":B(e.byMonthDay)?"monthday":void 0,Yr=(e,t)=>e.find(e=>(t.byMonth?t.byMonth[0]:null)===e.value)||e[0],Qr=(e,t)=>B(e.byMonthDay)&&e.byMonthDay.length>0?e.byMonthDay[0]:t.getDate(),Xr=(e,t)=>i.ZonedDate.fromUTCDate(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),23,59,59)),t);function Jr(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const es=t.defineComponent({name:"KendoRecurrenceRepeatOnWeekEditor",emits:{change:null},props:{dataItems:{type:Array,default:function(){return[]}},value:{type:Array,default:function(){return[]}}},render(){let e;const{value:i,dataItems:r}=this.$props;return t.createVNode(o.ButtonGroup,{width:"auto"},Jr(e=r.map(function(e){let r;return t.createVNode(o.Button,{type:"button",key:e.value,"data-key":e.value,selected:i.some(t=>t===e.value),togglable:!0,onClick:this.handleClick},Jr(r=Or(e.text))?r:{default:()=>[r]})},this))?e:{default:()=>[e]})},methods:{handleClick(e){const t=Number(e.currentTarget.dataset.key);this.$emit("change",this.value.some(e=>e===t)?this.value.filter(e=>e!==t):[...this.value,t])}}});function ts(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const is=t.defineComponent({name:"KendoRecurrenceEditor",emits:{change:null},props:{name:String,value:{type:String,default:""},start:Date,timezone:String},inject:{ks:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},computed:{rrule(){return Br(this.$props.value)},frequencies(){return(e=>Fr.map(t=>({value:t,text:e("Frequencies"+Or(t))})))(this.localizeMessage)},frequency(){return Wr(this.rrule)},extendedWeekDays(){return _r(this.intl,this.localizeMessage)},weekDay(){return Kr(this.extendedWeekDays,this.rrule,this.$props.start)},months(){return Hr(this.intl)},month(){return Yr(this.months,this.rrule)},offsets(){return Ur(this.localizeMessage)},offset(){return qr(this.offsets,this.rrule)},endRule(){return Gr(this.rrule)},monthDay(){return Qr(this.rrule,this.$props.start)},until(){return(e=>B(e.until)?i.toLocalDate(e.until):null)(this.rrule)},weekDays(){return Pr(this.intl)},repeatOnRule(){return Zr(this.rrule)}},data(){return{defaultCount:1,defaultUntil:Xr(this.$props.start,this.$props.timezone)}},render(){let e,r,s,o,l,d,c;this.intl=n.provideIntlService(this),this.localization=n.provideLocalizationService(this),this.ks.timezone;const m={display:"flex",alignItems:"center",minHeight:30},g=function(){return[t.createVNode(v.DropDownList,{key:"weekday-offset",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange,style:{width:"auto"}},null),t.createVNode(v.DropDownList,{key:"weekday-value",disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange,textField:"text",dataItemKey:"value",style:{width:"auto"}},null)]},f=function(){return t.createVNode(u.NumericTextBox,{key:"weekday-day",min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:this.rrule&&this.rrule.byMonthDay&&this.rrule.byMonthDay[0],onChange:this.handleMonthDayChange,style:{width:"auto"}},null)},y=function(){return[t.createVNode(v.DropDownList,{key:"monthday-month",disabled:"monthday"!==this.repeatOnRule,value:this.month,dataItems:this.months,textField:"text",dataItemKey:"value",onChange:this.handleMonthChange,style:{width:"auto"}},null),t.createVNode(u.NumericTextBox,{key:"monthday-day",min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:this.monthDay,onChange:this.handleMonthDayChange,style:{width:"auto"}},null)]},k=function(){return[t.createVNode(v.DropDownList,{key:"yearly-weekday-offset",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange,style:{width:"auto"}},null),t.createVNode(v.DropDownList,{key:"yearly-weekday-day",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange,style:{width:"auto"}},null),t.createVNode("span",{key:"yearly-weekday-of-label"},[this.localizeMessage(lt,!0)]),t.createVNode(v.DropDownList,{key:"yearly-weekday-month",textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.month,dataItems:this.months,onChange:this.handleMonthChange,style:{width:"auto"}},null)]},S=function(){let e;return[t.createVNode(u.NumericTextBox,{key:"endrule-after-editor",id:"k-endrule-after",min:1,style:{width:"70px"},value:"count"===this.endRule?this.rrule.count:this.defaultCount,onChange:this.handleCountChange,disabled:"count"!==this.endRule},null),t.createVNode(p.Label,{key:"endrule-after-label",class:"k-radio-label",editorId:"k-endrule-after"},ts(e=this.localizeMessage($t,!0))?e:{default:()=>[e]})]},D=()=>t.createVNode(a.DatePicker,{key:"k-endrule-until-editor",id:"k-endrule-until",disabled:"until"!==this.endRule,min:this.$props.start,value:"until"===this.endRule?this.until:i.toLocalDate(this.defaultUntil),onChange:this.handleUntilChange,style:{width:"auto"}},null);return t.createVNode("div",null,[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},ts(e=this.localization.toLanguageString(Xe,tr[Xe]))?e:{default:()=>[e]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(Vr,{value:this.frequency,dataItems:this.frequencies,onChange:this.handleFrequencyChange},null)])]}),"never"!==this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{editorId:"interval-editor",class:"k-form-label"},ts(r=this.localizeMessage(Or(this.frequency)+"RepeatEvery"))?r:{default:()=>[r]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(u.NumericTextBox,{min:1,step:1,defaultValue:1,value:this.rrule.interval,onChange:this.handleIntervalChange,id:"interval-editor"},null),t.createVNode(p.Label,{editorId:"interval-editor"},ts(s=this.localizeMessage(Or(this.frequency)+"Interval"))?s:{default:()=>[s]})])]}),"weekly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},ts(o=this.localizeMessage(rt,!0))?o:{default:()=>[o]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(es,{dataItems:this.weekDays,value:(this.rrule.byWeekDay||[]).map(({day:e})=>e),onChange:this.handleWeekDaysChange},null)])]}),"monthly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{key:"recurrence-repeat-on-monthly-label",class:"k-form-label"},ts(l=this.localizeMessage(at,!0))?l:{default:()=>[l]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(u.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"monthday",style:m,label:this.localizeMessage(st,!0),content:f.call(this)},{value:"weekday",style:m,label:" ",content:g.call(this)}]},null)])]}),"yearly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},ts(d=this.localizeMessage(ct,!0))?d:{default:()=>[d]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(u.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"monthday",label:" ",style:m,content:y.call(this)},{value:"weekday",label:" ",style:m,content:k.call(this)}]},null)])]}),"never"!==this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},ts(c=this.localizeMessage(Ct,!0))?c:{default:()=>[c]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(u.RadioGroup,{value:this.endRule,onChange:this.handleEndRuleChange,dataItems:[{value:"never",style:m,label:this.localizeMessage(Et,!0)},{value:"count",style:m,label:this.localizeMessage(Rt,!0),content:S.call(this)},{value:"until",style:m,label:this.localizeMessage(zt,!0),content:D.call(this)}]},null)])]})])},methods:{localizeMessage(e,t){const i=t?e:"scheduler.recurrenceEditor"+e;return this.localization.toLanguageString(i,tr[i])},onChangeHandler(e){"never"===e.freq?this.$emit("change",{value:null}):(void 0===e.weekStart&&(e.weekStart=this.intl.firstDay()),this.$emit("change",{value:g.serializeRule(e,this.$props.timezone)}))},handleFrequencyChange(e){const t={};t.freq=e,t.interval=1,"weekly"===e&&(t.byWeekDay=[{day:i.ZonedDate.fromLocalDate(this.$props.start,this.timezone).getDay(),offset:0}]),("monthly"===e||"yearly"===e)&&(t.byMonthDay=[this.$props.start.getDate()]),"yearly"===e&&(t.byMonth=[this.$props.start.getMonth()+1]),this.onChangeHandler(t)},handleIntervalChange(e){const t=e.value;this.onChangeHandler(Object.assign({},this.rrule,{interval:t}))},handleCountChange(e){const t=e.value;this.onChangeHandler(Object.assign({},this.rrule,{count:t})),null!==t&&(this.defaultCount=t)},handleUntilChange(e){const t=e.value;if(!t)return;const i=Xr(t,this.$props.timezone);this.onChangeHandler(Object.assign({},this.rrule,{until:i})),this.defaultUntil=i},handleWeekDaysChange(e){this.onChangeHandler(Object.assign({},this.rrule,{byWeekDay:this.weekDays.filter(t=>e.some(e=>e===t.value)).map(e=>({offset:0,day:e.value}))}))},handleWeekDayChange(e){const t=Object.assign({},this.rrule),i=e.target.value;"string"==typeof i.value?(t.byWeekDay=Lr(i.value),t.bySetPosition=[this.offset.value]):t.byWeekDay=[{day:i.value,offset:this.offset.value}],this.onChangeHandler(t)},handleMonthDayChange(e){this.onChangeHandler(Object.assign({},this.rrule,{byMonthDay:[e.value]}))},handleMonthChange(e){const t=e.value;this.onChangeHandler(Object.assign({},this.rrule,{byMonth:[t.value]}))},handleEndRuleChange(e){const t=e.value,i=Object.assign({},this.rrule);switch(t){case"never":i.until=void 0,i.count=void 0;break;case"count":i.until=void 0,i.count=this.defaultCount;break;case"until":i.until=this.defaultUntil,i.count=void 0}this.onChangeHandler(i)},handleRepeatOnRuleChange(e){const t=Object.assign({},this.rrule);"monthday"===e.value?(t.byWeekDay=void 0,t.bySetPosition=void 0,t.byMonthDay=[this.monthDay]):"weekday"===e.value&&(t.byMonthDay=void 0,"string"==typeof this.weekDay.value?(t.bySetPosition=[this.offset.value],t.byWeekDay=Lr(this.weekDay.value)):t.byWeekDay=[{day:this.weekDay.value,offset:this.offset.value}]),this.onChangeHandler(t)},handleOffsetChange(e){const t=Object.assign({},this.rrule),i=e.value;if(t.byWeekDay)switch(t.byWeekDay.length){case 7:case 5:case 2:t.bySetPosition=[i.value];break;case 1:t.byWeekDay[0].offset=i.value}this.onChangeHandler(t)}}}),rs=t.defineComponent({name:"KendoResourceEditor",setup:()=>({getResourceColor:R()}),emits:{change:null},props:{resource:Object,dataItems:Array,textField:String,valueField:String,colorField:String,multiple:Boolean,validationMessage:String,ariaLabel:String,value:[String,Number,Object],touched:Boolean,modified:Boolean,visited:Boolean,valid:Boolean,name:String},render(){const{colorField:e,textField:i,valueField:r}=this.$props,s=this.getResourceColor,o=Array.isArray(this.$props.value)?this.$props.dataItems.filter(e=>this.$props.value.some(t=>e[this.$props.valueField]===t)):this.$props.dataItems.find(e=>e[this.$props.valueField]===this.$props.value),n=this.$props.multiple?v.MultiSelect:v.DropDownList;return t.createVNode(n,{value:o,onChange:this.handleChange,dataItems:this.$props.dataItems,textField:this.$props.textField,dataItemKey:this.$props.valueField,valid:this.$props.valid,validationMessage:this.$props.validationMessage,ariaLabel:this.$props.ariaLabel,itemRender:function(o,n,a,l){return t.createVNode("li",{class:{"k-item":!0,...a.itemClass},onClick:l.onClick},[e&&t.createVNode("span",{key:1,class:"k-scheduler-mark",style:{backgroundColor:s(a.dataItem[e]),marginRight:B(a.dataItem[r])?"8px":"4px"}},null),a.dataItem[i]])},valueRender:function(o,n,a){return t.createVNode("span",{class:"k-input-inner"},[e&&a.value&&t.createVNode("span",{key:1,class:"k-scheduler-mark",style:{backgroundColor:s(a.value[e]),marginRight:a.value[r]?"8px":"4px"}},null),a.value&&a.value[i]])}},null)},methods:{handleChange(e){const t=e.component.$props.dataItemKey,i=this.$props.multiple?(e.value||[]).map(e=>e[t]):e.value[t];this.$emit("change",{value:i})}}});function ss(e,t){if(!e)return null;if(!t)return e;const r=i.toLocalDate(i.ZonedDate.fromLocalDate(e,t).toUTCDate());return r.setUTCFullYear(e.getFullYear()),r}const os=(e,t)=>e&&t?i.ZonedDate.fromUTCDate(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())),t).toLocalDate():e,ns=e=>Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()),as=(e,t)=>ns(e)===ns(t),ls=e=>e.reduce((e,t)=>!t||e&&e>=t?e:t,void 0),ds={minute:15},cs=t.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:i}){const r=t.inject("ks",null),s=t.inject("kendoForm",null),o=t.ref(null);t.watch(()=>e.value,()=>{o.value=null});const n=e=>{const t=i[e];return t instanceof Date&&Number.isFinite(t.getTime())?t:void 0},a=()=>!!s&&!!r&&i.name===r.fields.end,l=()=>{const e=a()?null==s?void 0:s.valueGetter(r.fields.start):void 0;return e instanceof Date&&Number.isFinite(e.getTime())?e:void 0},d=()=>{const e=l();return e&&ss(e,null==r?void 0:r.timezone)},c=t=>e.isAllDay?ns(t):t.getTime(),u=t.inject("schedulerEndAdjustment",null);return a()&&u&&t.onUnmounted(u(t=>{const i=n("max"),s=ss(t,null==r?void 0:r.timezone);if(!i||!s||c(s)<=c(i))return t;const o=new Date(e.isAllDay?s:i);return o.setFullYear(i.getFullYear(),i.getMonth(),i.getDate()),os(o,null==r?void 0:r.timezone)})),{ks:r,pendingValue:o,boundAttr:n,isInBounds:e=>{const t=l(),i=ss(e,null==r?void 0:r.timezone),s=n("min"),o=n("max");return!(t&&e.getTime()<t.getTime()||s&&c(i)<c(s)||o&&c(i)>c(o))},dateMin:()=>{const e=ls([d(),n("min")]);return e&&(e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()))(e)},timeMin:e=>e?ls([d(),n("min")].filter(t=>t&&as(t,e))):void 0,timeMax:e=>{const t=n("max");return e&&t&&as(t,e)?t:void 0},modelStart:l}},computed:{timezone(){var e;return null==(e=this.ks)?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=t.createVNode(a.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:t.createVNode(t.Fragment,null,[e,this.connectorElement||this.connector&&t.createVNode("span",{class:"k-scheduler-datetime-label"},[this.connector]),t.createVNode(a.TimePicker,{id:this.timeId,value:this.displayValue,min:this.timeMin(this.displayValue),max:this.timeMax(this.displayValue),steps:ds,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 t=e.value;if(!t)return;const i=new Date(t);this.displayValue&&i.setHours(this.displayValue.getHours(),this.displayValue.getMinutes(),this.displayValue.getSeconds()),this.commit(i,e.event)},handleTimeChange(e){const t=e.value;if(!t)return;const i=new Date(this.displayValue||new Date);i.setHours(t.getHours(),t.getMinutes(),0,0),this.commit(i,e.event)},commit(e,t){let i=this.readDateWithTimezone(e,this.timezone);const r=this.modelStart();if(this.isAllDay&&r&&i.getTime()<r.getTime()&&ns(e)===ns(this.readDateAsLocal(r,this.timezone))&&(i=new Date(r.getTime())),this.isInBounds(i))return this.pendingValue=null,void this.$emit("change",{value:i});this.pendingValue="input"===(null==t?void 0:t.type)?e:null},handleBlur(e){var t,i;this.pendingValue=null,null==(i=(t=this.$attrs).onBlur)||i.call(t,e)},handleKeyDown(e){"Enter"===e.key&&this.pendingValue&&(e.preventDefault(),this.pendingValue=null)},readDateAsLocal:ss,readDateWithTimezone:os}}),us=t.defineComponent({name:"KendoTimezoneDropDownList",props:{value:[String,Number,Object],dataItems:Array,validationMessage:String,touched:Boolean,modified:Boolean,visited:Boolean,valid:Boolean,name:String,ariaLabel:String},emits:["change"],data(){return{filteredData:this.$props.dataItems}},watch:{dataItems(e){this.filteredData=e}},render(){return t.createVNode(v.DropDownList,t.mergeProps({popupSettings:{width:"360px"},dataItems:this.filteredData,value:this.value,onChange:this.handleChange,filterable:!0,ariaLabel:this.ariaLabel},{onFilterchange:this.handleFilterChange}),null)},methods:{handleChange(e){this.$emit("change",{value:e.value})},handleFilterChange(e){var t,i;const r=(null==(i=null==(t=e.filter)?void 0:t.value)?void 0:i.toLocaleLowerCase())||"";this.filteredData=(this.$props.dataItems||[]).filter(e=>e.toLocaleLowerCase().includes(r))}}}),hs=new WeakMap,ps=(e,t)=>{const i=hs.get(e);if(!t.value)return null==i||i.disconnect(),void hs.delete(e);const r=()=>{var t;e.title=(null==(t=e.textContent)?void 0:t.trim())||""};if(r(),!i){const t=new MutationObserver(r);t.observe(e,{childList:!0,characterData:!0,subtree:!0}),hs.set(e,t)}},ms={mounted:ps,updated:ps,unmounted(e){var t;null==(t=hs.get(e))||t.disconnect(),hs.delete(e)}},gs=(e,i)=>t.withDirectives(t.h("div",{class:"k-form-hint k-scheduler-recurrence-summary",title:i?void 0:e},[i||e]),[[ms,!!i]]);function vs(e,t,r,s){var o,n,a,l,d,c;if(!e)return"";const u=(e,t)=>{const i=t?e:"scheduler.recurrenceEditor"+e;return s(i,tr[i])},h=Br(e);if(!h.freq||"never"===h.freq)return"";const p=Pr(r),m=_r(r,u),g=Kr(m,h,t),v=Hr(r),f=Yr(v,h),y=Ur(u),k=qr(y,h),S=Qr(h,t),D=Zr(h),b=h.interval||1,w=(e,...t)=>{let i=s(e,tr[e]);return t.forEach((e,t)=>{i=i.replace(`{${t}}`,String(e))}),i};let I="";switch(h.freq){case"daily":I=w(Ei,b);break;case"weekly":{const e=(h.byWeekDay||[]).map(({day:e})=>{var t;return null==(t=p.find(t=>t.value===e))?void 0:t.text}).filter(Boolean),t=e.length>0?e.join(", "):"";I=w(zi,b,t);break}case"monthly":if("weekday"===D&&null!=(o=h.byWeekDay)&&o.length)I=w(Ti,b,k.text.toLowerCase(),g.text.toLowerCase());else{const e=null!=(a=null==(n=h.byMonthDay)?void 0:n[0])?a:S;I=w(Ni,b,e)}break;case"yearly":if("weekday"===D&&null!=(l=h.byWeekDay)&&l.length)I=w(Oi,b,k.text.toLowerCase(),g.text.toLowerCase(),f.text);else{const e=null!=(c=null==(d=h.byMonthDay)?void 0:d[0])?c:S;I=w(Vi,b,f.text,e)}}return h.count?I+=w(xi,h.count):h.until&&(I+=w(Fi,r.formatDate(i.toLocalDate(h.until),"D"))),I}function fs(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const ys=t.defineComponent({name:"KendoSchedulerRecurrenceDialog",props:{value:{type:[String,null],default:null},start:{type:Date,required:!0},timezone:{type:String,default:""},onSave:Function,onCancel:Function,onRemoveRecurrence:Function,recurrenceSummaryTemplate:[Object,Function],recurrenceEditor:[Object,Function]},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),data(){var e;const t=Br(null!=(e=this.value)?e:"");return{rrule:t.freq?t:{freq:"daily",interval:1},defaultCount:1,defaultUntil:Xr(this.start,this.timezone),startsOn:new Date(this.start)}},computed:{frequency(){return Wr(this.rrule)},weekDays(){const e=n.provideIntlService(this);return Pr(e)},extendedWeekDays(){const e=n.provideIntlService(this);return _r(e,this.localizeMessage)},weekDay(){return Kr(this.extendedWeekDays,this.rrule,this.startsOn)},months(){const e=n.provideIntlService(this);return Hr(e)},month(){return Yr(this.months,this.rrule)},offsets(){return Ur(this.localizeMessage)},offset(){return qr(this.offsets,this.rrule)},endRule(){return Gr(this.rrule)},monthDay(){return Qr(this.rrule,this.startsOn)},until(){return this.rrule.until?i.toLocalDate(this.rrule.until):null},repeatOnRule(){return Zr(this.rrule)},isExistingRecurrence(){return!!this.value},frequencyData(){return[{text:this.localizeMessage(ht,!0),value:"daily"},{text:this.localizeMessage(gt,!0),value:"weekly"},{text:this.localizeMessage(pt,!0),value:"monthly"},{text:this.localizeMessage(vt,!0),value:"yearly"}]},endRuleData(){return[{text:this.localizeMessage(Et,!0),value:"never"},{text:this.localizeMessage(Rt,!0),value:"count"},{text:this.localizeMessage(zt,!0),value:"until"}]},frequencyDropDownValue(){return this.frequencyData.find(e=>e.value===this.frequency)||this.frequencyData[0]},endRuleDropDownValue(){return this.endRuleData.find(e=>e.value===this.endRule)||this.endRuleData[0]},narrowWeekDays(){const e=n.provideIntlService(this),t=e.firstDay(),i=e.dateFormatNames({type:"days",nameType:"narrow"}),r=e.dateFormatNames({type:"days",nameType:"wide"}),s=i.map((e,t)=>({narrow:e,wide:r[t],value:t}));return s.slice(t).concat(s.slice(0,t))},selectedWeekDays(){return(this.rrule.byWeekDay||[]).map(({day:e})=>e)},summary(){if(!this.currentRuleString)return"";const e=n.provideIntlService(this),t=n.provideLocalizationService(this);return vs(this.currentRuleString,this.startsOn,e,(e,i)=>t.toLanguageString(e,i))},currentRuleString(){return this.rrule.freq&&"never"!==this.rrule.freq?g.serializeRule(this.rrule,this.timezone):null},parsedCurrentRule(){return this.currentRuleString?g.parseRule({recurrenceRule:this.currentRuleString}):null}},methods:{localizeMessage(e,t){const i=t?e:"scheduler.recurrenceEditor"+e;return n.provideLocalizationService(this).toLanguageString(i,tr[i])},renderRecurrenceSummaryTemplate(){const e=this.recurrenceSummaryTemplate;return e&&this.currentRuleString?t.createVNode(e,{recurrenceRule:this.currentRuleString,text:this.summary||"",parsedRule:this.parsedCurrentRule},null):null},updateRrule(e){this.rrule={...e}},handleFrequencyChange(e){const t={};t.freq=e,t.interval=1,"weekly"===e&&(t.byWeekDay=[{day:i.ZonedDate.fromLocalDate(this.startsOn,this.timezone).getDay(),offset:0}]),("monthly"===e||"yearly"===e)&&(t.byMonthDay=[this.startsOn.getDate()]),"yearly"===e&&(t.byMonth=[this.startsOn.getMonth()+1]),this.updateRrule(t)},handleIntervalChange(e){var t;this.updateRrule({...this.rrule,interval:null!=(t=e.value)?t:1})},handleCountChange(e){const t=e.value,i=null!=t?t:this.defaultCount;this.updateRrule({...this.rrule,count:i}),null!==t&&(this.defaultCount=i)},handleUntilChange(e){if(!e.value)return;const t=Xr(e.value,this.timezone);this.updateRrule({...this.rrule,until:t}),this.defaultUntil=t},handleWeekDaysChange(e){this.updateRrule({...this.rrule,byWeekDay:this.weekDays.filter(t=>e.some(e=>e===t.value)).map(e=>({offset:0,day:e.value}))})},handleWeekDayChange(e){const t={...this.rrule},i=e.value;"string"==typeof i.value?(t.byWeekDay=Lr(i.value),t.bySetPosition=[this.offset.value]):(t.bySetPosition=void 0,t.byWeekDay=[{day:i.value,offset:this.offset.value}]),this.updateRrule(t)},handleMonthDayChange(e){var t;this.updateRrule({...this.rrule,byMonthDay:[null!=(t=e.value)?t:1]})},handleMonthChange(e){this.updateRrule({...this.rrule,byMonth:[e.value.value]})},handleEndRuleDropDownChange(e){const t=e.value.value,i={...this.rrule};switch(t){case"never":i.until=void 0,i.count=void 0;break;case"count":i.until=void 0,i.count=this.defaultCount;break;case"until":i.until=this.defaultUntil,i.count=void 0}this.updateRrule(i)},handleRepeatOnRuleChange(e){const t={...this.rrule};"monthday"===e.value?(t.byWeekDay=void 0,t.bySetPosition=void 0,t.byMonthDay=[this.monthDay]):"weekday"===e.value&&(t.byMonthDay=void 0,"string"==typeof this.weekDay.value?(t.bySetPosition=[this.offset.value],t.byWeekDay=Lr(this.weekDay.value)):t.byWeekDay=[{day:this.weekDay.value,offset:this.offset.value}]),this.updateRrule(t)},handleOffsetChange(e){const t={...this.rrule},i=e.value;if(t.byWeekDay)switch(t.byWeekDay.length){case 7:case 5:case 2:t.bySetPosition=[i.value];break;case 1:t.byWeekDay[0].offset=i.value}this.updateRrule(t)},handleFrequencyDropDownChange(e){const t=e.value.value;this.handleFrequencyChange(t)},handleWeekDayButtonClick(e){const t=this.selectedWeekDays.includes(e)?this.selectedWeekDays.filter(t=>t!==e):[...this.selectedWeekDays,e];this.handleWeekDaysChange(t)},handleStartsOnChange(e){e.value&&(this.startsOn=e.value)},handleSave(){const e=n.provideIntlService(this);"never"!==this.rrule.freq&&this.rrule.freq?(void 0===this.rrule.weekStart&&(this.rrule.weekStart=e.firstDay()),this.$emit("save",g.serializeRule(this.rrule,this.timezone))):this.$emit("save",null)},handleClose(e){this.$emit("cancel")}},render(){let e,r,s,l,d;const c=n.provideLocalizationService(this),g=c.toLanguageString(Ae,tr[Ae]),f=c.toLanguageString(Me,tr[Me]),y=c.toLanguageString(ni,tr[ni]),k=c.toLanguageString(ai,tr[ai]),S=this.renderRecurrenceSummaryTemplate();return t.createVNode(m.Dialog,{title:y,appendTo:"body",width:540,onClose:this.handleClose},{default:()=>[t.createVNode("div",{class:"k-form k-form-horizontal"},[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{editorId:"recurrence-interval",class:"k-form-label"},fs(e=this.localizeMessage(Xe,!0))?e:{default:()=>[e]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-recurrence-fields"},["never"!==this.frequency&&t.createVNode(u.NumericTextBox,{id:"recurrence-interval",min:1,step:1,defaultValue:1,value:this.rrule.interval,onChange:this.handleIntervalChange},null),t.createVNode(v.DropDownList,{dataItems:this.frequencyData,textField:"text",dataItemKey:"value",value:this.frequencyDropDownValue,onChange:this.handleFrequencyDropDownChange},null)])])]}),"weekly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},fs(r=this.localizeMessage(rt,!0))?r:{default:()=>[r]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-weekday-picker",role:"group","aria-label":this.localizeMessage(Gi,!0)},[this.narrowWeekDays.map(e=>t.createVNode(o.Button,{key:e.value,type:"button",themeColor:"primary",fillMode:"flat",rounded:"full",togglable:!0,selected:this.selectedWeekDays.includes(e.value),"aria-label":e.wide,"aria-pressed":this.selectedWeekDays.includes(e.value),onClick:()=>this.handleWeekDayButtonClick(e.value)},{default:()=>[e.narrow]}))])])]}),"monthly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>{var e,i;return[t.createVNode(p.Label,{class:"k-form-label"},fs(s=this.localizeMessage(at,!0))?s:{default:()=>[s]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(u.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"weekday",tabIndex:0,name:"scheduler-recurrence-monthly-weekday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(v.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange},null),t.createVNode(v.DropDownList,{disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange,textField:"text",dataItemKey:"value"},null)])},{value:"monthday",tabIndex:0,name:"scheduler-recurrence-monthly-monthday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(u.NumericTextBox,{min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:null==(i=null==(e=this.rrule)?void 0:e.byMonthDay)?void 0:i[0],onChange:this.handleMonthDayChange,style:{width:"auto"}},null)])}]},null)])]}}),"yearly"===this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},fs(l=this.localizeMessage(ct,!0))?l:{default:()=>[l]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(u.RadioGroup,{value:this.repeatOnRule,onChange:this.handleRepeatOnRuleChange,class:"k-reset",dataItems:[{value:"monthday",tabIndex:0,name:"scheduler-recurrence-yearly-monthday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(v.DropDownList,{disabled:"monthday"!==this.repeatOnRule,value:this.month,dataItems:this.months,textField:"text",dataItemKey:"value",onChange:this.handleMonthChange},null),t.createVNode(u.NumericTextBox,{min:1,max:31,disabled:"monthday"!==this.repeatOnRule,value:this.monthDay,onChange:this.handleMonthDayChange,style:{width:"auto"}},null)])},{value:"weekday",tabIndex:0,name:"scheduler-recurrence-yearly-weekday",label:" ",content:t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(v.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,dataItems:this.offsets,value:this.offset,onChange:this.handleOffsetChange},null),t.createVNode(v.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.weekDay,dataItems:this.extendedWeekDays,onChange:this.handleWeekDayChange},null),t.createVNode("span",{key:"of-row",class:"k-scheduler-edit-form-row"},[t.createVNode("span",null,[this.localizeMessage(lt,!0)]),t.createVNode(v.DropDownList,{textField:"text",dataItemKey:"value",disabled:"weekday"!==this.repeatOnRule,value:this.month,dataItems:this.months,onChange:this.handleMonthChange},null)])])}]},null)])]}),"never"!==this.frequency&&t.createVNode(h.FieldWrapper,null,{default:()=>{var e,r;return[t.createVNode(p.Label,{class:"k-form-label"},fs(d=this.localizeMessage(Ct,!0))?d:{default:()=>[d]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-recurrence-fields"},[t.createVNode(v.DropDownList,{dataItems:this.endRuleData,textField:"text",dataItemKey:"value",value:this.endRuleDropDownValue,onChange:this.handleEndRuleDropDownChange},null),"count"===this.endRule&&t.createVNode(u.NumericTextBox,{min:1,style:{width:"auto"},value:null!=(e=this.rrule.count)?e:this.defaultCount,onChange:this.handleCountChange,format:`0 '${this.localizeMessage($t,!0)}'`},null),"until"===this.endRule&&t.createVNode(a.DatePicker,{min:this.startsOn,value:null!=(r=this.until)?r:i.toLocalDate(this.defaultUntil),onChange:this.handleUntilChange,style:{width:"auto"}},null)])])]}}),(S||this.summary)&&t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode("div",{class:"k-form-field-wrap"},[gs(this.summary,S)])]})]),t.createVNode(m.DialogActionsBar,{layout:"end"},{default:()=>[this.isExistingRecurrence&&this.onRemoveRecurrence&&t.createVNode(o.Button,{fillMode:"flat",themeColor:"primary",onClick:this.onRemoveRecurrence},fs(k)?k:{default:()=>[k]}),t.createVNode(o.Button,{onClick:()=>this.$emit("cancel")},fs(f)?f:{default:()=>[f]}),t.createVNode(o.Button,{themeColor:"primary",onClick:this.handleSave},fs(g)?g:{default:()=>[g]})]})]})}});function ks(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Ss=t.defineComponent({name:"KendoRemoveRecurrenceConfirmDialog",props:{onConfirm:Function,onCancel:Function},inject:{kendoLocalizationService:{default:null}},methods:{handleClose(e){this.$emit("cancel")},handleCancel(){this.$emit("cancel")},handleConfirm(){this.$emit("confirm")}},render(){const e=n.provideLocalizationService(this),i=e.toLanguageString(ai,tr[ai]),r=e.toLanguageString(li,tr[li]),s=e.toLanguageString(di,tr[di]),a=e.toLanguageString(ci,tr[ci]);return t.createVNode(m.Dialog,{title:i,appendTo:"body",width:400,onClose:this.handleClose},{default:()=>[t.createVNode("p",null,[r]),t.createVNode(m.DialogActionsBar,{layout:"end"},{default:()=>[t.createVNode(o.Button,{onClick:this.handleCancel},ks(s)?s:{default:()=>[s]}),t.createVNode(o.Button,{themeColor:"primary",onClick:this.handleConfirm},ks(a)?a:{default:()=>[a]})]})]})}});function Ds(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const bs=t.defineComponent({name:"KendoSchedulerFormEditor",props:{as:[String,Function,Object],id:String,tabIndex:Number,titleEditor:{type:[String,Function,Object],default:function(){return u.TextBox}},startEditor:{type:[String,Function,Object],default:function(){return cs}},startTimezoneEditor:{type:[String,Function,Object],default:function(){return us}},endEditor:{type:[String,Function,Object],default:function(){return cs}},endTimezoneEditor:{type:[String,Function,Object],default:function(){return us}},allDayLabel:{type:[String,Function,Object],default:function(){return"span"}},allDayEditor:{type:[String,Function,Object],default:function(){return u.Switch}},recurrenceEditor:{type:[String,Function,Object],default:function(){return is}},descriptionEditor:{type:[String,Function,Object],default:function(){return u.TextArea}},resourceEditor:{type:[String,Function,Object],default:function(){return rs}},recurrenceButtonTextTemplate:[Object,Function],recurrenceSummaryTemplate:[Object,Function],errors:Object,valid:Boolean,touched:Boolean,visited:Boolean,modified:Boolean,submitted:Boolean,allowSubmit:Boolean,valueGetter:Function},created(){this.requiredValidationMessage=void 0},inject:{ks:{default:null},kendoForm:{default:{}},kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data(){const e=this.kendoForm,t=this.ks;return{showTimezones:!!e.valueGetter(t.fields.startTimezone),showTimezoneResetDialog:!1,showRecurrenceDialog:!1,showRemoveRecurrenceDialog:!1}},setup(){const e=t.inject("ks"),r=t.inject("kendoForm");let s,o=null;t.provide("schedulerEndAdjustment",e=>(s=e,()=>{s===e&&(s=void 0)}));const n=()=>{const t=r.valueGetter(e.fields.start),i=r.valueGetter(e.fields.end);t instanceof Date&&i instanceof Date&&Number.isFinite(t.getTime())&&Number.isFinite(i.getTime())&&i.getTime()>=t.getTime()&&(o={start:new Date(t),end:new Date(i)})};return n(),t.watch([()=>r.valueGetter(e.fields.start),()=>r.valueGetter(e.fields.end)],n,{flush:"post"}),{handleStartChange:()=>{const t=r.valueGetter(e.fields.start);if(!(o&&t instanceof Date&&Number.isFinite(t.getTime())))return;let a=new Date(t.getTime()+o.end.getTime()-o.start.getTime());if(r.valueGetter(e.fields.isAllDay)){const r=ss(o.start,e.timezone),s=ss(t,e.timezone),n=new Date(ss(o.end,e.timezone));n.setDate(n.getDate()+Math.round((ns(s)-ns(r))/i.MS_PER_DAY)),a=os(n,e.timezone)}r.onChange(e.fields.end,{value:s?s(a):a}),n()},updatePreviousRange:n}},computed:{isAllDay(){return!!this.kendoForm.valueGetter(this.ks.fields.isAllDay)},start(){return this.kendoForm.valueGetter(this.ks.fields.start)||new Date},startTimezone(){return this.kendoForm.valueGetter(this.ks.fields.startTimezone)||""},recurrenceRule(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceRule)},recurrenceId(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceId)},isEditingOccurrence(){return void 0!==this.recurrenceId&&null!==this.recurrenceId},showRecurrenceButton(){return!this.isEditingOccurrence},recurrenceButtonText(){const e=n.provideLocalizationService(this),t=this.recurrenceRule?oi:si;return e.toLanguageString(t,tr[t])},recurrenceSummaryText(){if(!this.recurrenceRule)return"";const e=n.provideIntlService(this),t=n.provideLocalizationService(this);return vs(this.recurrenceRule,this.start,e,(e,i)=>t.toLanguageString(e,i))},parsedRecurrenceRule(){return this.recurrenceRule?g.parseRule({recurrenceRule:this.recurrenceRule}):null}},render(){let e,s,a;const l=r.getDefaultSlots(this),c=i.timezoneNames(),u=n.provideLocalizationService(this),g=this.$props.startEditor,v=this.$props.endEditor,f=this.$props.startTimezoneEditor,y=this.$props.endTimezoneEditor,k=this.$props.allDayEditor,S=this.$props.allDayLabel,D=this.$props.descriptionEditor,b=this.$props.resourceEditor,w=this.$props.titleEditor,I=this.startTimezone;this.requiredValidationMessage=u.toLanguageString(Ht,tr[Ht]);const R=u.toLanguageString(Ge,tr[Ge]);return t.createVNode(t.Fragment,null,[t.createVNode(h.FormElement,{horizontal:!0,class:"k-scheduler-edit-form"},{default:()=>[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.rightDoubleQuotesIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(h.Field,{id:"k-scheduler-editor-title",name:this.ks.fields.title,field:this.ks.fields.title,component:w,placeholder:u.toLanguageString(Pe,tr[Pe]),"aria-label":u.toLanguageString(Pe,tr[Pe])},null)])]}),t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.clockIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-datetime-section"},[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.isAllDay,component:k,onLabel:"",offLabel:""},null),t.createVNode(S,null,Ds(R)?R:{default:()=>[R]})]),t.createVNode("div",{class:"k-scheduler-datetime-grid"},[this.isAllDay?t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.start,component:g,onChange:this.handleStartChange,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:u.toLanguageString(Ke,tr[Ke]),timezone:this.ks.timezone},null),t.createVNode("span",{class:"k-scheduler-datetime-label"},[u.toLanguageString(Ui,tr[Ui])]),t.createVNode(h.Field,{name:this.ks.fields.end,component:v,onChange:this.updatePreviousRange,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:u.toLanguageString(qe,tr[qe]),timezone:this.ks.timezone},null)]):t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.start,component:g,onChange:this.handleStartChange,isAllDay:this.isAllDay,connector:u.toLanguageString(qi,tr[qi]),fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:u.toLanguageString(Ke,tr[Ke]),timeAriaLabel:u.toLanguageString(Bi,tr[Bi]),timezone:this.ks.timezone},null)]),!this.showTimezones&&t.createVNode(o.Button,{class:"k-col-span-2",fillMode:"flat",themeColor:"primary",title:u.toLanguageString(Pi,tr[Pi]),onClick:this.handleTimezoneToggle,svgIcon:d.globeIcon},Ds(e=u.toLanguageString(Hi,tr[Hi]))?e:{default:()=>[e]}),this.showTimezones&&t.createVNode(t.Fragment,null,[t.createVNode(h.Field,{name:this.ks.fields.startTimezone,component:f,dataItems:c,value:I,ariaLabel:u.toLanguageString(_e,tr[_e])},null),t.createVNode(o.Button,{title:u.toLanguageString(Ki,tr[Ki]),"aria-label":u.toLanguageString(_i,tr[_i]),onClick:this.handleTimezoneToggle,svgIcon:d.globeIcon,fillMode:"flat",themeColor:"primary"},null)]),t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(h.Field,{name:this.ks.fields.end,component:v,onChange:this.updatePreviousRange,isAllDay:this.isAllDay,connector:u.toLanguageString(Ui,tr[Ui]),fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:u.toLanguageString(qe,tr[qe]),timeAriaLabel:u.toLanguageString(Wi,tr[Wi]),timezone:this.ks.timezone},null)]),this.showTimezones&&t.createVNode(h.Field,{name:this.ks.fields.endTimezone,component:y,dataItems:c,value:this.kendoForm.valueGetter(this.ks.fields.endTimezone)||"",ariaLabel:u.toLanguageString(Ue,tr[Ue])},null)])]),this.showRecurrenceButton&&t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(o.Button,{class:"k-scheduler-recurrence-button",type:"button",fillMode:"flat",themeColor:"primary",svgIcon:d.arrowRotateCwIcon,onClick:this.handleMakeRecurringClick},{default:()=>[this.recurrenceButtonText]}),this.recurrenceRule&&(this.recurrenceSummaryTemplate||this.recurrenceSummaryText)&&gs(this.recurrenceSummaryText,this.renderRecurrenceSummaryTemplate())])])])]}),t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.commentIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(h.Field,{component:D,name:this.ks.fields.description,id:"k-event-description",resizable:"vertical",placeholder:u.toLanguageString(Ze,tr[Ze]),"aria-label":u.toLanguageString(Ze,tr[Ze])},null)])]}),(this.ks.props.resources||[]).map(e=>t.createVNode(h.FieldWrapper,{key:e.field},{default:()=>[e.svgIcon&&t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:e.svgIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(h.Field,{name:e.field,component:b,resource:e,multiple:e.multiple,dataItems:e.data,textField:e.textField,valueField:e.valueField,colorField:e.colorField,ariaLabel:e.name||e.field},null)])]})),l]}),this.showRecurrenceDialog&&t.createVNode(ys,{value:this.recurrenceRule,start:this.start,timezone:this.ks.timezone||"",onSave:this.handleRecurrenceSave,onCancel:this.handleRecurrenceCancel,onRemoveRecurrence:this.handleRemoveRecurrenceClick,recurrenceSummaryTemplate:this.recurrenceSummaryTemplate,recurrenceEditor:this.recurrenceEditor},null),this.showRemoveRecurrenceDialog&&t.createVNode(Ss,{onConfirm:this.handleRemoveRecurrenceConfirm,onCancel:this.handleRemoveRecurrenceCancel},null),this.showTimezoneResetDialog&&t.createVNode(m.Dialog,{title:u.toLanguageString(Ai,tr[Ai]),onClose:this.handleTimezoneResetClose},{default:()=>[u.toLanguageString(Mi,tr[Mi]),t.createVNode(m.DialogActionsBar,null,{default:()=>[t.createVNode(o.Button,{onClick:this.handleTimezoneResetClose},Ds(s=u.toLanguageString(ji,tr[ji]))?s:{default:()=>[s]}),t.createVNode(o.Button,{themeColor:"primary",onClick:this.handleTimezoneResetConfirm},Ds(a=u.toLanguageString(Li,tr[Li]))?a:{default:()=>[a]})]})]})])},methods:{renderRecurrenceSummaryTemplate(){const e=this.recurrenceSummaryTemplate;return e&&this.recurrenceRule?t.createVNode(e,{recurrenceRule:this.recurrenceRule,text:this.recurrenceSummaryText,parsedRule:this.parsedRecurrenceRule},null):null},handleTimezoneToggle(e){e.preventDefault(),this.showTimezones?this.showTimezoneResetDialog=!0:(this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!0)},handleTimezoneResetConfirm(){this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!1,this.showTimezoneResetDialog=!1},handleTimezoneResetClose(){this.showTimezoneResetDialog=!1},handleMakeRecurringClick(){this.showRecurrenceDialog=!0},handleRecurrenceSave(e){this.updateFormField(this.ks.fields.recurrenceRule,e),this.showRecurrenceDialog=!1},handleRecurrenceCancel(){this.showRecurrenceDialog=!1},handleRemoveRecurrenceClick(){this.showRemoveRecurrenceDialog=!0},handleRemoveRecurrenceConfirm(){this.updateFormField(this.ks.fields.recurrenceRule,null),this.updateFormField(this.ks.fields.recurrenceExceptions,null),this.showRemoveRecurrenceDialog=!1,this.showRecurrenceDialog=!1},handleRemoveRecurrenceCancel(){this.showRemoveRecurrenceDialog=!1},updateFormField(e,t){this.kendoForm.onChange(e,{value:t}),this.$emit("change",e,{value:t})},requiredValidator(e){return e?void 0:this.requiredValidationMessage},startTimezoneValidator(e,t){return this.showTimezones?this.requiredValidator(t(this.ks.fields.startTimezone)):void 0},endTimezoneValidator(e,t){return this.showTimezones?this.requiredValidator(t(this.ks.fields.endTimezone))||this.requiredValidator(t(this.ks.fields.startTimezone)):void 0}},watch:{startTimezone(e,t){this.showTimezones&&e&&e!==t&&this.updateFormField(this.ks.fields.endTimezone,e)}}}),ws="ksCustomEventsCancel",Is=()=>{const e=t.inject("ks"),i=t.shallowRef(null);let s=null;const o=()=>{i.value=null,s=null},n=e=>{const t=i.value;o(),t&&t.complete({...t.action,resetExceptions:e})},a=()=>{const e=s;o(),t.nextTick(()=>{null!=e&&e.isConnected&&e.focus({preventScroll:!0})})};return t.watch([()=>e.currentDate,()=>e.activeViewName],o),t.onScopeDispose(o),{showCustomEventsDialog:t.computed(()=>null!==i.value),confirmCustomEvents:(t,o)=>!(!t.series||"boolean"==typeof t.resetExceptions||t.type!==Sr.update&&t.type!==Sr.remove||!(Array.isArray(t.dataItem)?t.dataItem:[t.dataItem]).some(t=>{const i=T(t,e.fields),r=e.dataItems.find(t=>j(t,e.fields.id)===i),s=r&&j(r,e.fields.recurrenceExceptions);return Array.isArray(s)&&s.length>0||V(e.dataItems,e.fields,i).length>0}))&&(i.value||(s=document.activeElement instanceof HTMLElement?document.activeElement:null,i.value={action:{...t,dataItem:Array.isArray(t.dataItem)?t.dataItem.map(e=>r.clone(e)):r.clone(t.dataItem)},complete:o}),!0),handleCustomEventsKeep:()=>n(!1),handleCustomEventsReset:()=>n(!0),handleCustomEventsCancel:a,cancelCustomEventsOnBack:()=>!!i.value&&(a(),!0),clearCustomEvents:o}};function Rs(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const $s="__kendoSchedulerEditor";let Cs;const Es=(e,t)=>{if(Object.is(e,t))return!0;if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&Object.is(e.getTime(),t.getTime());if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,i)=>Es(e,t[i]));if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const i=e,r=t,s=Object.keys(i),o=Object.keys(r);return s.length===o.length&&s.every(e=>o.includes(e)&&Es(i[e],r[e]))},zs=t.defineComponent({name:"KendoSchedulerForm",inheritAttrs:!1,emits:{cancel:null,close:null,submit:null},props:{dataItem:Object,onDelete:Function},inject:{ks:{default:null},kendoLocalizationService:{default:null},ksValidator:{default:null},ksModifyInitialFormValues:{default:null}},created(){this.dialogId=r.guid()},data:()=>({media:"desktop"}),mounted(){this.startDiscardGuard(this.handleCancel),this.calculateMedia(),this.focusTimeout=setTimeout(()=>{const e=document.getElementById(this.dialogId);e&&!this.showDiscardDialog&&e.focus()},10)},beforeUnmount(){clearTimeout(this.focusTimeout)},setup(){const e=t.inject("kendoLocalizationService",{}),i=t.inject(ws,null),s=t.ref(null),o=t.ref(!1);let n,a,l,d,c,u,h=null,p=!1,m=!1;const g=()=>null!==s.value&&!Es(s.value.form.values,n),v=e=>"object"==typeof e&&null!==e&&$s in e&&e[$s]===l,f=()=>{const e="object"==typeof d&&null!==d?d:{};window.history.pushState({...e,[$s]:l},"",c),p=!0};return t.onBeforeUnmount(()=>{m=!0,r.canUseDOM&&u&&(window.removeEventListener("popstate",u,!0),p&&v(window.history.state)&&(Cs=new Promise(e=>{window.addEventListener("popstate",t=>{window.location.href===c&&Es(t.state,d)&&t.stopImmediatePropagation(),Cs=void 0,e()},{capture:!0,once:!0}),window.history.back()})),p=!1)}),{kendoLocalizationService:e,formRef:s,showDiscardDialog:o,startDiscardGuard:e=>{if(n=r.clone(s.value.form.values),!r.canUseDOM)return;const t=()=>{m||(l=r.guid(),d=window.history.state,c=window.location.href,f(),u=t=>{if(p&&!v(t.state)){if(t.stopImmediatePropagation(),p=!1,null!=i&&i())return void f();g()&&f(),e(t)}},window.addEventListener("popstate",u,!0))};Cs?Cs.then(t):t()},requestCancel:e=>{g()?o.value||(h=document.activeElement instanceof HTMLElement?document.activeElement:null,a=e,o.value=!0):e()},cancelDiscard:()=>{o.value=!1,a=void 0;const e=h;t.nextTick(()=>{null!=e&&e.isConnected&&e.focus({preventScroll:!0})})},discardChanges:()=>{const e=a;a=void 0,o.value=!1,null==e||e()}}},render(){var e;let i,s;const a=this,l=n.provideLocalizationService(this);this.requiredValidationMessage=l.toLanguageString(Ht,tr[Ht]),this.endValidationMessage=l.toLanguageString(Kt,tr[Kt]);const d=l.toLanguageString(Ae,tr[Ae]),c=l.toLanguageString(Me,tr[Me]),u=l.toLanguageString(Nt,tr[Nt]),p=!(null==(e=this.$props.dataItem)||!e[this.ks.fields.id]),g=p?l.toLanguageString(ri,tr[ri]):l.toLanguageString(ii,tr[ii]);this.startValidationMessage=l.toLanguageString(Pt,tr[Pt]);const v=t.createVNode(bs,null,{default:()=>[t.createVNode(Tr,{editSaveMessage:d,editCancelMessage:c,editDeleteMessage:p?u:void 0,onCancel:this.handleCancel,onDelete:p&&this.onDelete?this.handleDelete:void 0},null)]}),f=r.getTemplate.call(this,{h:t.h,template:this.ks.form,defaultRendering:v,additionalProps:{dataItem:this.dataItem,editSaveMessage:d,editCancelMessage:c},additionalListeners:{cancel:this.handleCancel}}),y={title:g,appendTo:"body",width:"desktop"===this.media?650:"85%",wrapperId:this.dialogId,...this.ks.dialogProps},k={ignoreModified:!0,initialValues:a.ksModifyInitialFormValues(a.$props.dataItem),validator:a.formValidator,...this.ks.formProps},S=this.showDiscardDialog&&t.createVNode(m.Dialog,{title:l.toLanguageString(je,tr[je]),className:"k-scheduler-discard-dialog",appendTo:"body",width:"desktop"===this.media?400:"85%",onClose:e=>{e.event.stopPropagation(),this.cancelDiscard()}},{default:()=>[t.createVNode("p",null,[l.toLanguageString(Le,tr[Le])]),t.createVNode(m.DialogActionsBar,null,{default:()=>[t.createVNode(o.Button,{type:"button",onClick:this.cancelDiscard},Rs(i=l.toLanguageString(We,tr[We]))?i:{default:()=>[i]}),t.createVNode(o.Button,{type:"button",themeColor:"primary",onClick:this.discardChanges},Rs(s=l.toLanguageString(Be,tr[Be]))?s:{default:()=>[s]})]})]});return t.h(t.Fragment,null,[t.h(m.Dialog,{...this.$attrs,class:["k-scheduler-edit-dialog",this.$attrs.class],...y,onClose:this.handleClose},function(){return[t.h(h.Form,{onSubmit:a.handleSubmit,...k,ref:"formRef"},function(){return[f]})]}),S])},methods:{calculateMedia(){r.canUseDOM&&window.matchMedia&&(this.media=window.matchMedia("(min-width: 600px)").matches?"desktop":"mobile")},handleCancel(e){this.requestCancel(()=>this.$emit("cancel",{value:null,event:e,target:this.form}))},handleClose(e){this.requestCancel(()=>{var t;null!=(t=this.ks.dialogProps)&&t.onClose?this.ks.dialogProps.onClose(e):this.$emit("close",{value:null,event:e.event,target:this.form})})},handleDelete(){var e;null==(e=this.onDelete)||e.call(this,this.$props.dataItem)},handleSubmit(e,t){this.$emit("submit",{value:e,event:t,target:this.form})},startAfterEndValidator(e,t){return e&&t(this.ks.fields.end)&&e.getTime()>t(this.ks.fields.end).getTime()?this.startValidationMessage:void 0},endAfterStartValidator(e,t){return e&&t(this.ks.fields.start)&&e.getTime()<t(this.ks.fields.start).getTime()?this.endValidationMessage:void 0},requiredValidator(e){return e?void 0:this.requiredValidationMessage},formValidator(e,t){const i={};i[this.ks.fields.start]=[this.requiredValidator(t(this.ks.fields.start)),this.startAfterEndValidator(t(this.ks.fields.start),t)].filter(Boolean).reduce((e,t)=>e||t,""),i[this.ks.fields.end]=[this.requiredValidator(t(this.ks.fields.start)),this.endAfterStartValidator(t(this.ks.fields.start),t)].filter(Boolean).reduce((e,t)=>e||t,"");const r=this.ksValidator(t);return{...i,...r}}}}),Ns={skeleton:"dd"},Ts=t.defineComponent({name:"KendoSchedulerSlot",inheritAttrs:!1,emits:{focus:null,blur:null,click:null,showmoreitems:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,doubleclick:null,keydown:null,keypress:null,keyup:null,cancel:null,close:null,formsubmit:null},props:{refTo:[Function,Object],role:String,items:Array,row:Number,group:Object,range:Object,className:String,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,tabIndex:{type:Number,default:void 0},col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,isAllDay:Boolean,navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,formItem:Object,slotStyle:Object,viewSlot:Object},computed:{cSlot(){const e=this.ksSlots.cSlots;return e?e[this.index]?e[this.index]:e.length?e[0]:{}:{}},currentTabIndex(){return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:this.$props.selected?0:-1},slotClass(){return{"k-scheduler-cell k-slot-cell":!0,"k-nonwork-hour":!this.$props.isWorkHour||!this.$props.isWorkDay,"k-selected":this.$props.selected,[this.$props.className]:this.$props.className}},slotLabel(){return`${F(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay||!1)}`}},inject:{ks:{default:null},kendoIntlService:{default:null},setSlots:{default:null},slotClick:{default:null},slotDoubleClick:{default:null},ksEditFormSubmit:{default:null},ksEditFormCancel:{default:null},ksEditFormClose:{default:null},ksRenderQuickCreateForm:{default:null},ksSlots:{default:{}}},data:()=>({hasMounted:!1}),mounted(){this.hasMounted=!0,this.setSlots({type:w.add,item:this})},unmounted(){this.setSlots({type:w.remove,item:this})},render(){var e;this.intl=n.provideIntlService(this);const i=r.getDefaultSlots(this),s=Object.assign({userSelect:"none"},this.$props.slotStyle,this.$attrs.style);return t.createVNode("div",{id:this.$props.id,style:s,class:this.slotClass,tabindex:this.currentTabIndex,role:this.$props.role,onFocus:this.handleFocus,onBlur:this.handleBlur,onClick:this.handleClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-slot":!0,"data-slot-allday":this.cSlot.isAllDay,"data-slot-start":this.cSlot.start.getTime(),"data-slot-end":this.cSlot.end.getTime(),"data-slot-group":this.cSlot.group.index,"data-slot-range":this.cSlot.range.index,"data-slot-index":this.cSlot.index},[this.navDay&&t.createVNode("span",{class:"k-link k-nav-day"},[this.intl.formatDate(new Date(this.cSlot.end.getTime()-(this.cSlot.end.getTime()-this.cSlot.start.getTime())/2),Ns)]),this.itemsPerSlot<this.cSlot.items.length&&t.createVNode(Nr,{currentSlot:this.cSlot,hiddenCount:this.cSlot.items.length-this.itemsPerSlot,onClick:this.handleShowMoreItemsClick},null),i,null==(e=this.ksRenderQuickCreateForm)?void 0:e.call(this),this.formItem&&t.createVNode(zs,{dataItem:this.formItem,onSubmit:this.handleFormSubmit,onClose:this.handleFormClose,onCancel:this.handleFormCancel},null)])},methods:{handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},handleFocus(e){this.$emit("focus",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleBlur(e){this.$emit("blur",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleClick(e){const t={event:e,target:{props:{...this.cSlot},element:this.$el}};this.$emit("click",t),this.slotClick(t)},handleMouseOver(e){this.$emit("mouseover",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseOut(e){this.$emit("mouseout",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseEnter(e){this.$emit("mouseenter",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleMouseLeave(e){this.$emit("mouseleave",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleDoubleClick(e){if(e.target.closest(".k-more-events"))return;const t={event:e,target:{props:{...this.cSlot},element:this.$el}};this.$emit("doubleclick",t),this.slotDoubleClick(t)},handleKeyDown(e){this.$emit("keydown",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleKeyPress(e){this.$emit("keypress",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleKeyUp(e){this.$emit("keyup",{event:e,target:{props:{...this.cSlot},element:this.$el}})},handleFormClose(e){this.ksEditFormClose(e),this.$emit("close",e)},handleFormSubmit(e){this.ksEditFormSubmit(e),this.$emit("formsubmit",e)},handleFormCancel(e){this.ksEditFormCancel(e),this.$emit("cancel",e)}}}),Vs=(e,t,i)=>{let s=0;const o=e=>8===e.nodeType?e.parentElement:3===e.nodeType?e.nextElementSibling:e,n=t=>{const i=e.$props.slotStyle;i&&Object.prototype.hasOwnProperty.call(i,"minHeight")&&(t.style.minHeight=i.minHeight)};(()=>{if(!e)return;const t=o(e.$el);t&&(n(t),s=t.clientHeight)})(),(()=>{if(!i||!e)return;const t=o(e.$el);if(!t||!e.bv.items.length)return;const a=D(t);let l=0;const d=e.cSlot.items.filter(e=>e.refTo),c=e.$props.itemsPerSlot,u=void 0!==c?d.filter((e,t)=>t<c):d;u.forEach(t=>{const i=e.bv.items.find(e=>e.uid===t.uid);if(!i)return;const{height:r}=S(i.getElement());l+=r});let h=0;if(r.isObject(i)&&i.offsetBottom){const e=t.querySelector(".k-more-events");if(e){const t=parseFloat(window.getComputedStyle(e).bottom)||0;h=e.offsetHeight+t+6}}let p=1*u.length*2+l-(a||0)+(r.isObject(i)&&i.offsetTop?i.offsetTop:0)+h;d.length?p>s-a&&b(t,{height:p},!0):t&&n(t)})()};const Os=t.defineComponent({name:"KendoSchedulerViewSlot",inheritAttrs:!1,emits:{focus:null,click:null,showmoreitems:null,doubleclick:null,keydown:null},props:{role:String,refTo:[Function,Object],className:String,items:Array,row:Number,group:Object,range:Object,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,slotRender:[String,Function,Object],expandable:[Boolean,Object],isAllDay:Boolean,navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,formItem:Object,tabIndex:{type:Number,default:void 0},slotStyle:Object},created(){this.viewSlot=null,this.slot=null},inject:{ks:{default:null},bv:{default:null},ksSlots:{default:{}}},data:()=>({timeout:void 0,expandTimeout:void 0,layoutSignature:""}),computed:{cSlot(){return this.ksSlots.cSlots?this.ksSlots.cSlots[this.index]:{}}},mounted(){const e=this;this.$nextTick(function(){e.layoutSignature=e.getLayoutSignature(),Vs(e,e.ks.scheduler.$el,e.$props.expandable)}),this.ks.scheduler&&this.ks.scheduler.$el&&r.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},updated(){const e=this.getLayoutSignature();if(e!==this.layoutSignature){this.layoutSignature=e;const t=this;void 0!==this.expandTimeout&&window.cancelAnimationFrame(this.expandTimeout),this.expandTimeout=window.requestAnimationFrame(()=>{Vs(t,t.ks.scheduler.$el,t.$props.expandable)})}},render(){const e=r.getDefaultSlots(this),{refTo:i,items:s,row:o,group:n,range:a,isWorkDay:l,isWorkHour:d,col:c,index:u,start:h,end:p,zonedStart:m,zonedEnd:g,navDay:v,itemsPerSlot:f,editable:y,className:k}=this.$props;let S;const D=t.createVNode(Ts,{role:this.role,tabIndex:this.tabIndex,isAllDay:this.isAllDay,items:s,row:o,group:n,range:a,isWorkDay:l,isWorkHour:d,col:c,index:u,start:h,end:p,zonedStart:m,zonedEnd:g,navDay:v,itemsPerSlot:f,editable:y,formItem:this.formItem,onShowmoreitems:this.handleShowMoreItemsClick,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onFocus:this.handleFocus,selected:this.selected,slotStyle:this.$props.slotStyle,className:k},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]});return S=r.getTemplate.call(this,{h:t.h,template:this.$props.slotRender,defaultRendering:D,defaultSlots:e,additionalProps:this.cSlot,additionalListeners:{click:this.handleClick,showmoreitems:this.handleShowMoreItemsClick}}),S},methods:{getLayoutSignature(){var e;return JSON.stringify({items:null==(e=this.cSlot.items)?void 0:e.map(e=>({uid:e.uid,order:e.order})),itemsPerSlot:this.$props.itemsPerSlot,expandable:this.$props.expandable,slotStyle:this.$props.slotStyle})},handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},handleClick(e){this.$emit("click",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleFocus(e){this.$emit("focus",e)},handleResize(){const e=this;void 0!==this.timeout&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{Vs(e,e.ks.scheduler.$el,e.$props.expandable)})}}}),xs=(e=200)=>{let i=null;const r=()=>{null!==i&&(clearTimeout(i),i=null)};return t.onScopeDispose(r),{schedule:t=>{r(),i=setTimeout(()=>{i=null,t()},e)},cancel:r}},Fs="ksPopoverCoordinator",As=()=>{let e=null;return{activate(t){const i=e;e=t,i&&i!==t&&i()},release(t){e===t&&(e=null)}}},Ms=(e,i)=>{const r=t.inject(Fs,null);r&&(t.watch(e,e=>{e?r.activate(i):r.release(i)},{flush:"sync"}),t.onScopeDispose(()=>r.release(i)))},js=e=>{const t=void 0!==e?e:{}.editable||!1,i=!0===t||void 0!==t&&!1!==t&&!0===t.edit,r=!0===t||void 0!==t&&!1!==t&&!0===t.resize,s=!0===t||void 0!==t&&!1!==t&&!0===t.remove,o=!0===t||void 0!==t&&!1!==t&&!0===t.drag;return{add:!0===t||void 0!==t&&!1!==t&&!0===t.add,edit:i,drag:o,remove:s,resize:r,select:!0===t||void 0!==t&&!1!==t&&!0===t.select}};const Ls=t.defineComponent({name:"KendoSchedulerEditSlot",inheritAttrs:!1,emits:["dataaction","showmoreitems","focus","click","doubleclick","formitemchange","quickcreateformitemchange"],props:{role:String,tabIndex:{type:Number,default:void 0},className:String,form:Object,formItem:Object,quickCreateForm:[String,Function,Object],quickCreateFormItem:Object,refTo:[Function,Object],items:Array,row:Number,group:Object,range:Object,isWorkDay:{type:Boolean,default:!0},isWorkHour:{type:Boolean,default:!0},selected:Boolean,col:Number,index:Number,start:Date,end:Date,zonedStart:Object,zonedEnd:Object,isAllDay:Boolean,expandable:[Boolean,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],navDay:Boolean,editable:[Object,Boolean],itemsPerSlot:Number,onDataAction:Function},created(){this.slot=null,this.editableSlot=null},mounted(){const e=this;this.$nextTick(function(){Vs(e,e.ks.scheduler.$el,e.$props.expandable)})},updated(){const e=this;this.$nextTick(function(){Vs(e,e.ks.scheduler.$el,e.$props.expandable)})},provide(){return{ksEditFormSubmit:this.handleEditFormSubmit,ksEditFormCancel:this.handleEditFormCancel,ksEditFormClose:this.handleEditFormClose,ksRenderQuickCreateForm:this.renderQuickCreateForm}},inject:{bv:{default:null},ks:{default:null},dispatchSelectedItems:{default:null},dispatchFocusedItems:{default:null},dispatchFocusedSlots:{default:null},dispatchSelectedSlots:{default:null},ksSlots:{default:{}}},setup(e,{emit:i}){const r=t.inject("ks",null),s=t.inject("ksQuickCreate",()=>!0),o=t.shallowRef(null),n=t.shallowRef(null),a=xs(),l=t.computed(()=>"agenda"!==(null==r?void 0:r.activeViewName.toLowerCase())&&s()),d=t.computed(()=>void 0!==e.quickCreateFormItem?e.quickCreateFormItem:o.value),c=(e,t)=>{o.value=e,i("quickcreateformitemchange",{value:e,event:t})},u=e=>{a.cancel(),d.value&&c(null,e)};return Ms(()=>!!d.value,u),t.watch([()=>null==r?void 0:r.currentDate,()=>null==r?void 0:r.activeViewName],()=>u()),{quickCreateAnchor:n,quickCreateEnabled:l,quickCreateFormItem:d,deferredQuickCreate:a,setQuickCreateFormItem:c,closeQuickCreate:u,quickCreateFormTemplate:t.inject("ksQuickCreateForm",()=>{})}},data:()=>({currentFormItem:null}),computed:{cSlot(){return this.ksSlots.cSlots?this.ksSlots.cSlots[this.index]:{}},currentTabIndex(){const e=this.bv.slots.length&&ie(this.bv.slots[0].cSlot,this.cSlot);return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:0===this.bv.selectedSlots.length&&e&&0===this.cSlot.items.length?0:void 0},computedEditable(){return js(this.$props.editable)},compFormItem(){return void 0!==this.formItem?this.formItem:this.currentFormItem}},render(){const e=r.getDefaultSlots(this),{role:i,viewSlot:s,form:o,formItem:n,items:a,row:l,group:d,range:c,isWorkDay:u,isWorkHour:h,col:p,index:m,start:g,end:v,zonedStart:f,zonedEnd:y,navDay:k,itemsPerSlot:S,className:D}=this.$props,b=this.bv.selectedSlots.some(e=>ie(e.cSlot,this.cSlot));let w;const I=t.createVNode(Os,{role:i,className:D,slotRender:this.$props.slotRender,isAllDay:this.isAllDay,expandable:this.expandable,editable:this.editable,items:a,row:l,group:d,range:c,isWorkDay:u,isWorkHour:h,col:p,index:m,start:g,end:v,zonedStart:f,zonedEnd:y,selected:b,navDay:k,itemsPerSlot:S,tabIndex:this.currentTabIndex,formItem:this.compFormItem,onFocus:this.handleFocus,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onShowmoreitems:this.handleShowMoreItemsClick},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]});return w=r.getTemplate.call(this,{h:t.h,template:this.$props.viewSlot,defaultRendering:I,defaultSlots:e,additionalProps:{...this.cSlot,isAllDay:this.cSlot.isAllDay,expandable:this.expandable,editable:this.editable,items:a,row:this.cSlot.row,group:this.cSlot.group,range:this.cSlot.range,isWorkDay:u,isWorkHour:h,col:this.cSlot.col,index:m,start:this.cSlot.start,end:this.cSlot.end,zonedStart:f,zonedEnd:y,selected:b,navDay:k,itemsPerSlot:S,tabIndex:this.currentTabIndex},additionalListeners:{focus:this.handleFocus,click:this.handleClick,doubleclick:this.handleDoubleClick,keydown:this.handleKeyDown,showmoreitems:this.handleShowMoreItemsClick}}),w},methods:{renderQuickCreateForm(){if(!this.quickCreateFormItem)return null;const e=this.$props.quickCreateForm?r.templateRendering.call(this,this.$props.quickCreateForm,{}):this.quickCreateFormTemplate();return r.getTemplate.call(this,{h:t.h,template:e,defaultRendering:t.createVNode(zr,{show:!0,anchor:this.quickCreateAnchor,dataItem:this.quickCreateFormItem,onSubmit:this.handleQuickCreateSubmit,onMoreoptions:this.handleQuickCreateMoreOptions,onCancel:this.handleQuickCreateCancel},null),additionalListeners:{submit:this.handleQuickCreateSubmit,moreoptions:this.handleQuickCreateMoreOptions,cancel:this.handleQuickCreateCancel}})},restoreSlotFocus(){var e;null==(e=this.quickCreateAnchor)||e.focus({preventScroll:!0})},handleQuickCreateSubmit(e){N(this,{type:Sr.create,series:!1,dataItem:e.value},e.event),this.setQuickCreateFormItem(null,e.event),this.restoreSlotFocus()},handleQuickCreateMoreOptions(e){this.setFormItem(e.value,e.event),this.setQuickCreateFormItem(null,e.event)},handleQuickCreateCancel(e){this.setQuickCreateFormItem(null,e.event),this.restoreSlotFocus()},handleShowMoreItemsClick(e){this.$emit("showmoreitems",e)},createDataItemFromSlot(){const e={};if(L(e,this.ks.fields.start,new Date(this.cSlot.start.getTime())),L(e,this.ks.fields.end,new Date(this.cSlot.end.getTime())),L(e,this.ks.fields.isAllDay,this.cSlot.isAllDay),this.cSlot.group.resources.length)for(let t=0;t<this.cSlot.group.resources.length;t++){const i=this.cSlot.group.resources[t];if(x(this.cSlot.group.resources)){const r=j(this.cSlot.group.resources[t],i.valueField);L(e,i.field,i.multiple?[r]:r)}else L(e,i.field,i.multiple?[]:void 0)}return e},handleFocus(e){this.computedEditable.select&&this.dispatchSelectedSlots({type:ar.select,slot:this},e.event),this.$emit("focus",e)},handleClick(e){if(this.computedEditable.add&&this.quickCreateEnabled){const t=e.target.element;this.deferredQuickCreate.schedule(()=>{this.quickCreateAnchor=t,this.setQuickCreateFormItem(this.createDataItemFromSlot(),e.event)})}this.$emit("click",e)},handleDoubleClick(e){if(this.closeQuickCreate(e.event),this.computedEditable.add){const t=this.createDataItemFromSlot();this.setFormItem(t,e)}this.$emit("doubleclick",e)},handleKeyDown(e){let t,i,s;switch(e.event.keyCode){case r.Keys.left:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:dr.left,slot:this},e.event);break;case r.Keys.right:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:dr.right,slot:this},e.event);break;case r.Keys.up:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:dr.up,slot:this},e.event);break;case r.Keys.down:if(!this.bv.slots)return;e.event.preventDefault(),this.dispatchFocusedSlots({type:dr.down,slot:this},e.event);break;case r.Keys.enter:if(!this.bv.slots||!this.computedEditable.add)return;e.event.preventDefault(),s=this.createDataItemFromSlot(),this.quickCreateEnabled?(this.quickCreateAnchor=e.target.element,this.setQuickCreateFormItem(s,e.event)):this.setFormItem(s);break;case r.Keys.tab:i=function(e){return e.props.items.find(e=>0===e.order)||e.props.items[0]}(e.target),t=i?se(i,this.bv.items,!1):te(this.bv.items,this.ignoreIsAllDay)[0],this.dispatchFocusedItems({type:gr.current,item:t},e.event),this.dispatchSelectedItems({type:or.select,item:t},e)}t&&e.event.preventDefault()},handleEditFormSubmit(e){N(this,{type:Sr.create,series:!1,dataItem:e.value},e),this.setFormItem(null,e.event)},handleEditFormCancel(e){this.setFormItem(null,e.event)},handleEditFormClose(e){this.setFormItem(null,e)},handleFormItemChange(e,t){this.setFormItem&&this.setFormItem(e,t)},setFormItem(e,t){this.currentFormItem=e,this.$emit("formitemchange",t)}}}),Bs=t.defineComponent({name:"KendoTimeHeaderCell",props:{as:[String,Function,Object],format:{type:[String,Object],default:"t"},date:[Date,Object],start:[Date,Object],end:[Date,Object]},inject:{kendoIntlService:{default:null}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=n.provideIntlService(this).formatDate(this.$props.date,this.$props.format),i=r.getTemplate.call(this,{h:t.h,template:this.$props.as,defaultRendering:e,additionalProps:{default:e,date:this.$props.date,format:this.$props.format}});return t.createVNode("div",{class:"k-scheduler-cell k-heading-cell"},[i])}}),Ws=t.defineComponent({name:"KendoDayViewRowContent",props:{contentSlot:Object,isMaster:Boolean,isLast:Boolean,timeHeaderCell:[String,Function,Object]},render(){const{contentSlot:e}=this.$props;return this.$props.isMaster?t.createVNode(Bs,{as:this.$props.timeHeaderCell,date:e.zonedStart,start:e.zonedStart,end:e.zonedEnd,class:r.classNames("k-side-cell",{"k-major-cell":!this.$props.isLast})},null):t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-side-cell"},null)}}),Hs=t.defineComponent({name:"KendoCurrentTimeMarker",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null,this.observer=null,this.line=null},data:()=>({show:!1}),mounted(){this.line=this.$el,this.$nextTick(()=>{this.position()}),this.ks.scheduler&&this.ks.scheduler.$el&&window&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),r.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){clearInterval(this.interval),this.observer&&this.observer.disconnect()},render(){return t.createVNode("div",{class:"k-current-time",style:{transform:this.$props.vertical?"translateX(-50%)":"translateY(-50%)",[this.$props.vertical?"width":"height"]:"1px",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const e=this.$props.groupIndex,t=this.bv.slots.filter(t=>(null==e||t.cSlot.group.index===e)&&(this.$props.vertical?q(new Date,new Date,t.cSlot.start,t.cSlot.end,!0):Z(new Date,t.cSlot.start,t.cSlot.end))&&!t.isAllDay);if(t&&t.length&&this.line){const e=$(t);if(!e)return;const r=this.$props.vertical?(e=>{let t=0;return e.forEach(e=>{if(e){const i=S(e.$el);t+=i.height}}),t})(t):(e=>{let t=0;return e.forEach(e=>{if(e){const i=S(e.$el);t+=i.width}}),t})(t),s=S(e.$el),o=S(this.arrowRef),n=(this.$props.vertical?s.width:s.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),a=(Date.now()-((e,t)=>{const r=i.cloneDate(e);return r.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),r})(new Date,e.cSlot.start).getTime())*n,l="rtl"===this.$props.dir,d=this.$props.vertical?s.top:s.top+a-o.height/2,c=l?"right":"left",u=this.$props.vertical?s[c]+a-o.width/2:s[c];this.line.style[c]=`${u}px`,this.line.style.top=`${d}px`,this.line.style[this.$props.vertical?"height":"width"]=r-1+"px",this.show=!0}else this.show=!1}}}),Ps=t.defineComponent({name:"KendoCurrentTimeMarkerArrow",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null},data:()=>({show:!1}),mounted(){this.arrowRef=this.$el,this.position(),this.ks.scheduler&&this.ks.scheduler.$el&&window&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),r.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){clearInterval(this.interval),this.observer&&this.observer.disconnect()},render(){return t.createVNode("div",{class:r.classNames("k-current-time",{"k-current-time-arrow-right":!this.$props.vertical&&"rtl"!==this.$props.dir,"k-current-time-arrow-left":!this.$props.vertical&&"rtl"===this.$props.dir,"k-current-time-arrow-down":this.$props.vertical}),style:{transform:this.$props.vertical?"rtl"===this.$props.dir?"translateX(50%)":"translateX(-50%)":"translateY(-50%)",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const e=this.$props.groupIndex,t=this.bv.slots.filter(t=>(null==e||t.cSlot.group.index===e)&&(this.$props.vertical?q(new Date,new Date,t.cSlot.start,t.cSlot.end,!0):Z(new Date,t.cSlot.start,t.cSlot.end))&&!t.isAllDay);if(t&&t.length&&this.$el){const e=$(t);if(!e)return;const r=S(e.$el),s=S(this.arrowRef),o=(this.$props.vertical?r.width:r.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),n=(Date.now()-((e,t)=>{const r=i.cloneDate(e);return r.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),r})(new Date,e.cSlot.start).getTime())*o,a="rtl"===this.$props.dir,l=this.$props.vertical?r.top:r.top+n-s.height/2,d=a?"right":"left",c=this.$props.vertical?r[d]+n-s.width/2:r[d];this.$props.vertical?this.arrowRef.style[d]=`${c}px`:this.arrowRef.style.top=`${l}px`,this.show=!0}else this.show=!1}}}),Ks=t.defineComponent({name:"KendoDayViewVerticalSlotsRow",emits:["dataaction"],props:{currentTimeMarker:{type:Boolean,default:!0},slotRender:[String,Function,Object],viewSlot:[String,Function,Object],editable:[Object,Boolean],groupIndex:Number,root:Object,rootIndex:Number,filtered:Array,slotDivisions:{type:Number,default:2},timeSlots:Array,timeRanges:Array,numberOfDays:Number,workDayStart:Date,workDayEnd:Date,workWeekStart:Number,workWeekEnd:Number,onDataAction:Function},inject:{ks:{default:null},ri:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.timeSlots,t=this.root,i=this.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,i,this.timeRanges,t)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.timeSlots,t=this.root,i=this.groupIndex;return this.calculateRanges(e,i,this.timeRanges,t)}},render(){var e;const i=this.$props.editSlot||(null==(e=this.ks)?void 0:e.editSlot)||Ls,r=this.groupIndex,s=this,{root:o,rootIndex:n,slotDivisions:a,filtered:l,workDayStart:d,workDayEnd:c,numberOfDays:u,workWeekStart:h,workWeekEnd:p,viewSlot:m,renderSlot:g,form:v,editable:f}=this.$props;return t.createVNode("div",{class:"k-scheduler-row",key:o.index},[t.createVNode(Ws,{contentSlot:o,isMaster:n%a===0,isLast:(n+1)%a===0,timeHeaderCell:this.$props.timeHeaderCell},null),this.currentCellSlots.map(function(e,o){return t.createVNode(i,{slotRender:g,viewSlot:m,form:v,onDataaction:s.handleDataAction,index:o,row:l.length*(r||0)+n+1*(r||0)+1,col:e.range.index,editable:f,isWorkHour:Z(e.zonedStart,d,c),isWorkDay:0<=e.zonedStart.getDay()+(u-h)&&(e.zonedStart.getDay()+(u-h))%u<=p+(u-h)},null)},!0),this.$props.currentTimeMarker&&q($(this.timeRanges).start,C(this.timeRanges).end,new Date,new Date,!0)&&[t.createVNode(Ps,{groupIndex:r},null),t.createVNode(Hs,{groupIndex:r},null)]])},methods:{handleDataAction(e){N(this,e)},calculateRanges:(e,t,i,r)=>i.map(function(i,s){return e.filter(e=>e.index===r.index&&e.group.index===t&&e.range.index===s)}).flat()}}),_s=t.defineComponent({name:"KendoMonthViewBody",emits:["dataaction","showmoreitems"],props:{editable:[Object,Boolean],groupIndex:Number,rangeIndex:Number,itemsPerSlot:Number,monthSlots:Array,ranges:Array,slotRender:[String,Function,Object],viewSlot:[String,Function,Object],onDataAction:Function,onShowmoreitems:Function},inject:{ri:{default:{}},ks:{default:null},setActiveDate:{default:null},setActiveViewName:{default:null},setSlots:{default:null},kendoIntlService:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return{ksSlots:{cSlots:this.monthSlots.filter(t=>t.group.index===e&&t.range.index===this.rangeIndex)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return this.monthSlots.filter(t=>t.group.index===e&&t.range.index===this.rangeIndex)}},render(){var e;this.intl=n.provideIntlService(this);const i=this.$props.editSlot||(null==(e=this.ks)?void 0:e.editSlot)||Ls,s=this,o=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return t.createVNode("div",{class:"k-scheduler-row",key:this.rangeIndex},[this.currentCellSlots.map(function(e,n,a){return t.createVNode(i,{className:r.classNames({"k-other-month":this.isOtherMonth(e,this.ks.currentDate)}),slotRender:this.$props.slotRender,viewSlot:s.$props.viewSlot,form:s.$props.form,index:n,navDay:!0,itemsPerSlot:s.itemsPerSlot,expandable:{offsetTop:30,offsetBottom:s.itemsPerSlot<e.items.length?15:0},onDataaction:s.handleDataAction,col:"horizontal"===s.ks.orientation?a.length*(o||0)+n:n,row:"horizontal"===s.ks.orientation?s.rangeIndex:s.ranges.length*(o||0)+s.rangeIndex,editable:s.$props.editable,onShowmoreitems:t=>s.handleShowMoreItemsClick(t,e)},null)},this)])},methods:{handleShowMoreItemsClick(e,t){this.$emit("showmoreitems",{event:e,slot:t})},handleDataAction(e){N(this,e)},isOtherMonth:(e,t)=>e.start.getMonth()<t.getMonth()||e.start.getMonth()>t.getMonth()}}),qs=t.defineComponent({name:"KendoTimelineViewBody",emits:["dataaction"],props:{currentTimeMarker:{type:Boolean,default:!0},groupIndex:Number,timelineSlots:Array,ranges:Array,workDayStart:Date,workDayEnd:Date,editable:[Object,Boolean],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],onDataAction:Function},inject:{ri:{default:null},ks:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.timelineSlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.ranges)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.timelineSlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return this.calculateRanges(e,t,this.ranges)}},render(){var e;const i=(null==(e=this.ks)?void 0:e.editSlot)||Ls,r=this,s=this.ks.orientation,o=this.ranges,n=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex,a=this.$props.editable;return t.createVNode("div",{class:"k-scheduler-row"},[this.currentCellSlots.map(function(e,l,d){return t.createVNode(i,{slotRender:r.$props.slotRender,viewSlot:r.$props.viewSlot,index:l,form:r.$props.form,onDataaction:r.handleDataAction,isWorkHour:Z(e.zonedStart,r.workDayStart,r.workDayEnd),col:"horizontal"===s?e.range.index*d.length+l+d.length*o.length*(n||0):e.range.index*d.length+l,row:"horizontal"===s?0:n||0,expandable:!0,editable:a},null)},this),this.$props.currentTimeMarker&&q($(o).start,C(o).end,new Date,new Date,!0)&&t.createVNode(Hs,{groupIndex:n,vertical:!0},null)])},methods:{handleDataAction(e){N(this,e)},calculateRanges:(e,t,i)=>i.map((i,r)=>e.filter(e=>e.group.index===t&&e.range.index===r)).flat()}});function Us(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Gs=t.defineComponent({name:"KendoVerticalResourceIterator",emits:["dataaction"],props:{more:Object,group:Object,resources:Array,nested:Boolean,wrapGroup:Boolean,cellContent:Object,emptyCell:Boolean,role:String,onDataAction:Function,editable:[Boolean,Object]},render(){const e=this,i=r.getDefaultSlots(this),{nested:s,wrapGroup:o,more:n}=this.$props,a=this.$props.cellContent||Zs,l=y(this.$props.group,this.$props.resources),d=function(e,i){return n?n.timelineSlots?t.createVNode(qs,{slotRender:n.slotRender,viewSlot:n.viewSlot,groupIndex:i,ranges:n.ranges,workDayStart:n.workDayStart,workDayEnd:n.workDayEnd,timelineSlots:n.timelineSlots,onDataaction:this.handleDataAction,editable:n.editable},null):n.monthSlots?n.ranges.map(function(e,r){return t.createVNode(_s,{slotRender:n.slotRender,viewSlot:n.viewSlot,ranges:n.ranges,groupIndex:i,monthSlots:n.monthSlots,rangeIndex:r,itemsPerSlot:n.itemsPerSlot,onDataaction:this.handleDataAction,onShowmoreitems:n.onShowmoreitems,editable:n.editable},null)},this):n.timeSlots.filter(e=>e.group.index===i&&0===e.range.index).map(function(e,r,s){return t.createVNode(Ks,{slotRender:n.slotRender,viewSlot:n.viewSlot,groupIndex:i,onDataaction:this.handleDataAction,root:e,rootIndex:r,filtered:s,timeRanges:n.timeRanges,timeSlots:n.timeSlots,workDayStart:n.workDayStart,workDayEnd:n.workDayEnd,numberOfDays:n.numberOfDays,workWeekStart:n.workWeekStart,workWeekEnd:n.workWeekEnd,editable:n.editable,currentTimeMarker:n.currentTimeMarker},null)},this):null},c=function(i,s=!0){const{children:o}=i,n=i.resources.length>0;if(i.depth===i.resources.length||!n){let s;return[t.createVNode(kr,{noWrap:!0,resource:i.resources[i.depth],groupIndex:n?i.groupIndex:0},Us(s=r.getDefaultSlots(e))?s:{default:()=>[s]}),d.call(this,i.resources[i.depth],n?i.groupIndex:0)]}const a=i.resources[i.depth].data.length;return i.resources[i.depth].data.map(function(e,r){return t.createVNode("div",{key:r,class:"k-scheduler-row"},[s&&t.createVNode("div",{class:"k-scheduler-cell k-group-cell k-heading-cell","data-depth-index":i.depth},[e.text]),t.createVNode("div",{class:"k-scheduler-cell k-group-content k-resource-row","data-depth-index":i.depth,"data-resource-index":a*i.groupIndex+r},[c.call(this,{resources:i.resources,children:o,cellContent:i.cellContent,groupIndex:a*i.groupIndex+r,depth:i.depth+1},s)])])},this)},u=function(e){const{children:i}=e,r=e.resources.length?e.resources[e.depth].data.length:0;return e.resources[e.depth]?e.resources[e.depth].data.map(function(s,o){return t.createVNode("div",{key:o,class:"k-scheduler-row"},[t.createVNode("div",{class:"k-scheduler-cell k-resource-cell k-resource-row k-heading-cell","data-depth-index":e.depth,"data-resource-index":r*e.groupIndex+o},[s.text]),e.depth+1!==l.length&&t.createVNode("div",{class:"k-scheduler-cell k-resource-content"},[u.call(this,{resources:l,children:i,cellContent:e.cellContent,groupIndex:r*e.groupIndex+o,depth:e.depth+1})])])},this):null},h=function(e,i,r,s){const o=i.length>0;return t.createVNode(kr,{noWrap:!0,resource:i[r],groupIndex:o?r:void 0},{default:()=>[t.createVNode("div",{class:"k-scheduler-cell k-group-content",role:s},[e])]})},p=function(e){return e.map(function(e,i){return t.createVNode("div",{key:i,class:"k-scheduler-cell k-group-cell k-heading-cell","data-depth-index":i},null)},this)};return t.createVNode("div",{class:"k-scheduler-group",role:this.role},[s?o?t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode("div",{class:"k-sticky-cell"},[u.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0})]),t.createVNode("div",{class:"k-scheduler-cell k-group-content"},[c.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0},!1)])]):c.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0},!0):o?t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode("div",{class:"k-sticky-cell"},[function(e){return t.createVNode("div",{class:"k-scheduler-row",role:e.role},[t.createVNode("div",{class:"k-scheduler-row"},[e.resources.map(function(e,i){return t.createVNode("div",{key:i,class:"k-scheduler-cell k-resource-cell k-heading-cell","data-depth-index":i},null)},this)])])}.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0})]),t.createVNode("div",{class:"k-scheduler-cell k-group-content"},[i])]):function(e){const{children:i}=e;return t.createVNode("div",{class:"k-scheduler-row",role:e.role},[p.call(this,e.resources),this.emptyCell&&t.createVNode("div",{class:"k-scheduler-cell k-side-cell"},null),h.call(this,i,e.resources,e.groupIndex,e.role)])}.call(this,{resources:l,children:i,cellContent:a,depth:0,groupIndex:0,role:this.role})])},methods:{handleDataAction(e){N(this,e)}}}),Zs=null,Ys=(e,{step:t,timezone:r})=>{const s=[],o=i.ZonedDate.fromLocalDate(e.start,r),n=i.ZonedDate.fromLocalDate(e.end,r);for(let e=o.clone(),i=0;e.getTime()<n.getTime();i++,e=e.addTime(t)){const r=e.clone(),o=r.clone().addTime(t),n=new Date(r.getTime()),a={index:i,end:new Date(o.getTime()),start:n,zonedStart:r,zonedEnd:o};s.push(a)}return s},Qs=(e,{dateRange:t,fields:i,timezone:r})=>e.map(Xs(i)).reduce(Js(t,r,i),[]).filter(e=>!P(e.dataItem,i)),Xs=e=>t=>({uid:r.getter(e.id||"id")(t),start:r.getter(e.start||"start")(t),startTimezone:r.getter(e.startTimezone||"startTimezone")(t),originalStart:r.getter(e.originalStart||"originalStart")(t),end:r.getter(e.end||"end")(t),endTimezone:r.getter(e.endTimezone||"endTimezone")(t),isAllDay:r.getter(e.isAllDay||"isAllDay")(t),title:r.getter(e.title||"title")(t),description:r.getter(e.description||"description")(t),occurrenceId:r.getter("occurrenceId")(t),recurrenceRule:r.getter(e.recurrenceRule||"recurrenceRule")(t),recurrenceExceptions:r.getter(e.recurrenceExceptions||"recurrenceExceptions")(t),recurrenceId:r.getter(e.recurrenceId||"recurrenceId")(t),readonly:r.getter(e.readonly||"readonly")(t),dataItem:r.clone(t)}),Js=(e,t,i)=>(r,s)=>[...r,...s.recurrenceRule&&(null===s.recurrenceId||void 0===s.recurrenceId)&&P(s.dataItem,i)?[...eo(s,{dateRange:e,timezone:t,fields:i})]:[s]],eo=(e,{dateRange:t,timezone:s,fields:o})=>{const n=e.recurrenceRule,a=g.parseRule({recurrenceRule:n});if(!a||!Number.isSafeInteger(a.interval)||a.interval<1)return[];a.start||(a.start=i.ZonedDate.fromLocalDate(e.start,s)),a.end||(a.end=i.ZonedDate.fromLocalDate(e.end,s));const l=e.recurrenceExceptions;l&&(a.exceptionDates=l.map(e=>i.ZonedDate.fromLocalDate(e,s)));const d=a.end.getTime()-a.start.getTime(),c=i.ZonedDate.fromLocalDate(new Date(t.zonedStart.toLocalDate().getTime()-d),s),u=t.zonedEnd,h=g.expand(a,{rangeStart:c,rangeEnd:u});return h.events.length?h.events.map((t,i)=>{const s=r.clone(e),n=r.clone(e.dataItem);return s.recurrenceId=s.uid,L(n,o.recurrenceId,e.uid),s.originalStart=t.start.toLocalDate(),L(n,o.originalStart,t.start.toLocalDate()),s.start=t.start.toLocalDate(),L(n,o.start,t.start.toLocalDate()),s.end=t.end.toLocalDate(),L(n,o.end,t.end.toLocalDate()),s.occurrenceId=String(i),L(n,"occurrenceId",String(i)),s.dataItem=n,s}):[]},to=(e,{timezone:t,ignoreIsAllDay:r=!1},{groups:o,ranges:n})=>{const a=[];return s.orderBy(e,[{field:"start",dir:"asc"},{field:"end",dir:"desc"},{field:"isAllDay",dir:"desc"},{field:"title",dir:"asc"},{field:"uid",dir:"asc"}]).forEach(e=>{o.forEach(s=>{const l=1===o.length?io(e,s):s;so(e,l)&&n.forEach(s=>{var o;if(no(e,s,t,r)){const r={},n={},d=s.end<e.end,c=e.start<s.start,u=i.ZonedDate.fromLocalDate(e.start,t),h=i.ZonedDate.fromLocalDate(e.end,t),p={...e,refTo:n,itemRef:r,head:d,tail:c,order:null,zonedStart:u,zonedEnd:h,group:l,range:s,slots:[],isRecurring:!!e.recurrenceRule,isException:!e.recurrenceRule&&null!==e.recurrenceId&&void 0!==e.recurrenceId,isAllDay:!!e.isAllDay,readonly:null!=(o=e.readonly)?o:void 0};a.push(p)}})})}),a},io=(e,t)=>({index:0,resources:t.resources.filter(t=>ro(e,t))}),ro=(e,t)=>t.multiple?(e.dataItem[t.field]||[]).some(e=>t[t.valueField]===e):e.dataItem[t.field]===t[t.valueField],so=(e,t)=>!t.resources.some(t=>t.multiple?!e.dataItem[t.field].some(e=>t[t.valueField]===e):e.dataItem[t.field]!==t[t.valueField]),oo=(e,t,r)=>{if(t.getTime()===r.getTime())return!0;const s=e.range.zonedStart.toUTCDate(),o=e.range.zonedStart.toUTCDate();s.setUTCHours(t.getHours(),t.getMinutes(),0,0),o.setUTCHours(r.getHours(),r.getMinutes(),0,0);const n=e.range.zonedStart.timezone;return q(i.ZonedDate.fromUTCDate(s,n),i.ZonedDate.fromUTCDate(o,n),e.start,e.end)},no=(e,t,i,r=!1)=>!!q(t.start,t.end,e.start,e.end)&&(!(!r&&void 0!==t.isAllDay&&!!e.isAllDay!=!!t.isAllDay)||t.isAllDay&&E(e.start,e.end,i)),ao=t.defineComponent({name:"KendoAgendaViewHead",props:{monthSlots:Array,dateHeaderCell:[String,Function,Object]},inject:{ri:{default:null},kendoLocalizationService:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1}},render(){const e=n.provideLocalizationService(this),i="function"==typeof this.ksMobile&&this.ksMobile()?"k-scheduler-row k-mobile-header":"k-scheduler-row";return t.createVNode("div",{class:i,role:"row",key:this.ri.groupIndex},[t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-datecolumn",role:"columnheader"},[e.toLanguageString(Lt,tr[Lt])]),t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-timecolumn",role:"columnheader"},[e.toLanguageString(Bt,tr[Bt])]),t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell k-scheduler-eventcolumn",role:"columnheader"},[e.toLanguageString(Wt,tr[Wt])])])}});function lo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const co=t.defineComponent({name:"KendoSchedulerOccurrenceDialog",props:{dataItem:Object,isRemove:Boolean,onClose:Function,onOccurrenceclick:Function,onSeriesclick:Function},inject:{kendoLocalizationService:{default:null}},created(){this.dialogId=r.guid()},mounted(){setTimeout(()=>{const e=document.getElementById(this.dialogId);e&&e.focus()},10)},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const{isRemove:e}=this.$props,i=n.provideLocalizationService(this),r=e=>i.toLanguageString(e,tr[e]),s=r(Ce),a=r(Ee),l=r(ze),d=r(Ne),c=r(Ot),u=r(xt),h=r(jt),p=r(Vt),g=e?h:d,v=e?p:l,f=e?c:s,y=e?u:a;return t.createVNode(m.Dialog,{title:g,appendTo:"body",wrapperId:this.dialogId,onClose:this.handleClose},{default:()=>[v,t.createVNode(m.DialogActionsBar,null,{default:()=>[t.createVNode(o.Button,{onClick:this.handleOccurrenceClick},lo(f)?f:{default:()=>[f]}),t.createVNode(o.Button,{onClick:this.handleSeriesClick},lo(y)?y:{default:()=>[y]})]})]})},methods:{handleClose({event:e}){var t;null==(t=this.onClose)||t.call(this,{event:e,value:null,target:{props:this.$props}})},handleSeriesClick(e){var t;null==(t=this.onSeriesclick)||t.call(this,{event:e,value:null,target:{props:this.$props}})},handleOccurrenceClick(e){var t;null==(t=this.onOccurrenceclick)||t.call(this,{event:e,value:null,target:{props:this.$props}})}}});function uo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const ho=t.defineComponent({name:"KendoSchedulerRemoveDialog",props:{dataItem:Object,onClose:Function,onCancel:Function,onConfirm:Function,isSeries:Boolean},inject:{kendoLocalizationService:{default:null}},created(){this.dialogId=r.guid()},mounted(){setTimeout(()=>{const e=document.getElementById(this.dialogId);e&&e.focus()},10)},setup:()=>({kendoLocalizationService:t.inject("kendoLocalizationService",{})}),render(){const e=n.provideLocalizationService(this),i=e.toLanguageString(Me,tr[Me]),r=e.toLanguageString(Nt,tr[Nt]),s=this.isSeries?e.toLanguageString(At,tr[At]):e.toLanguageString(Tt,tr[Tt]),a=this.isSeries?e.toLanguageString(Mt,tr[Mt]):e.toLanguageString(Ft,tr[Ft]);return t.createVNode(m.Dialog,{title:a,appendTo:"body",wrapperId:this.dialogId,onClose:this.handleClose},{default:()=>[s,t.createVNode(m.DialogActionsBar,null,{default:()=>[t.createVNode(o.Button,{onClick:this.handleCancel},uo(i)?i:{default:()=>[i]}),t.createVNode(o.Button,{onClick:this.handleConfirm},uo(r)?r:{default:()=>[r]})]})]})},methods:{handleClose({event:e}){this.$emit("close",{event:e})},handleCancel(e){this.$emit("cancel",{event:e,value:null})},handleConfirm(e){this.$emit("confirm",{event:e,value:null})}}}),po=t.defineComponent({name:"KendoSchedulerTask",setup:()=>({getResourceColor:R()}),props:{refTo:[Function,Object],id:String,tabIndex:Number,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,removeItem:Object,editable:[Object,Boolean],readonly:Boolean,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},isSeries:{type:Boolean,default:void 0},onRemoveclick:Function},inject:{kendoLocalizationService:{default:null},taskClick:{default:null},taskDoubleClick:{default:null},ksCancel:{default:null},ksSeriesClick:{default:null},ksOccurrenceClick:{default:null},ksRemoveConfirm:{default:null}},created(){this.task=null},render(){const e=r.getDefaultSlots(this),i=js(this.$props.editable),s=this.$props.readonly?{remove:!1,select:i.select}:i,o=n.provideLocalizationService(this).toLanguageString(be,tr[be]),a=this.$props.group.resources.find(e=>!(!e.colorField||""===e[e.colorField]||void 0===e[e.colorField])),l=this.getResourceColor(a&&a.colorField&&a[a.colorField]);return t.createVNode("div",{id:this.$props.id,class:"k-task",tabindex:this.$props.tabIndex||void 0,onClick:this.handleClick,onDblclick:this.handleDoubleClick},[l&&t.createVNode("span",{class:"k-scheduler-mark",style:{color:l,backgroundColor:l}},null),this.$props.isRecurring&&t.createVNode(r.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null),this.$props.isException&&t.createVNode(r.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null),t.createVNode("span",{class:"k-scheduler-task-text"},[this.$props.title]),e,s.remove&&t.createVNode("a",{class:"k-link k-event-delete",title:o,"aria-label":o,onClick:this.handleRemoveClick},[t.createVNode(r.Icon,{name:"x",icon:d.xIcon},null)]),this.showOccurrenceDialog&&t.createVNode(co,{dataItem:this.removeItem,isRemove:null!==this.removeItem,onClose:this.ksCancel,onOccurrenceclick:this.ksOccurrenceClick,onSeriesclick:this.ksSeriesClick},null),this.showRemoveDialog&&t.createVNode(ho,{dataItem:this.removeItem,isSeries:this.isSeries,onClose:this.ksCancel,onCancel:this.ksCancel,onConfirm:this.ksRemoveConfirm},null)])},methods:{handleRemoveClick(e){this.$emit("removeclick",{event:e,target:this.task})},handleClick(e){const t={event:e,target:{props:{...this.$props},element:this.$el}};this.$emit("click",t),this.taskClick(t)},handleDoubleClick(e){const t={event:e,target:{props:{...this.$props},element:this.$el}};this.$emit("doubleclick",t),this.taskDoubleClick(t)}}});const mo=t.defineComponent({name:"KendoSchedulerViewTask",emits:["removeclick"],props:{itemRef:[Function,Object],id:String,tabIndex:Number,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,removeItem:Object,task:[String,Function,Object],editable:[Object,Boolean],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},isSeries:{type:Boolean,default:void 0},onRemoveclick:Function},render(){const e=r.getDefaultSlots(this);let i;const s=t.createVNode(po,{id:this.$props.id,tabIndex:this.$props.tabIndex,head:this.$props.head,tail:this.$props.tail,order:this.$props.order,zonedStart:this.$props.zonedStart,zonedEnd:this.$props.zonedEnd,slots:this.$props.slots,group:this.$props.group,range:this.$props.range,isException:this.$props.isException,isRecurring:this.$props.isRecurring,isAllDay:this.$props.isAllDay,uid:this.$props.uid,start:this.$props.start,end:this.$props.end,originalStart:this.$props.originalStart,startTimezone:this.$props.startTimezone,endTimezone:this.$props.endTimezone,title:this.$props.title,description:this.$props.description,occurrenceId:this.$props.occurrenceId,recurrenceExceptions:this.$props.recurrenceExceptions,recurrenceRule:this.$props.recurrenceRule,recurrenceId:this.$props.recurrenceId,dataItem:this.$props.dataItem,removeItem:this.removeItem,editable:this.$props.editable,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,isSeries:this.isSeries,onRemoveclick:this.handleRemoveClick},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]});return i=r.getTemplate.call(this,{h:t.h,template:this.$props.task,defaultRendering:s,defaultSlots:e,additionalListeners:{removeclick:this.handleRemoveClick}}),i},methods:{handleRemoveClick(e){this.$emit("removeclick",e)}}});function go(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const vo=t.defineComponent({name:"KendoKeepResetCustomEventsDialog",emits:["keep","reset","cancel"],props:{onKeep:Function,onReset:Function,onCancel:Function},setup(e,{emit:i}){const r=t.inject("kendoLocalizationService",null),s=e=>{e.event.stopPropagation(),i("cancel")};return()=>{let e,a,l;const d=n.provideLocalizationService({kendoLocalizationService:r});return t.createVNode(m.Dialog,{title:d.toLanguageString(Te,tr[Te]),className:"k-scheduler-custom-events-dialog",appendTo:"body",width:510,onClose:s},{default:()=>[t.createVNode("p",null,[d.toLanguageString(Ve,tr[Ve])]),t.createVNode(m.DialogActionsBar,{layout:"start"},{default:()=>[t.createVNode(o.Button,{type:"button",fillMode:"flat",onClick:()=>i("cancel")},go(e=d.toLanguageString(Fe,tr[Fe]))?e:{default:()=>[e]}),t.createVNode("span",{class:"k-spacer"},null),t.createVNode(o.Button,{type:"button",onClick:()=>i("reset")},go(a=d.toLanguageString(xe,tr[xe]))?a:{default:()=>[a]}),t.createVNode(o.Button,{type:"button",themeColor:"primary",onClick:()=>i("keep")},go(l=d.toLanguageString(Oe,tr[Oe]))?l:{default:()=>[l]})]})]})}}});function fo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const yo=t.defineComponent({name:"KendoSchedulerEditTask",emits:["dataaction","showremovedialogchange","showoccurrencedialogchange","removeitemchange"],props:{onDataAction:Function,viewTask:[String,Function,Object],removeDialog:[String,Function,Object],removeItem:[String,Function,Object],occurrenceDialog:[String,Function,Object],task:[String,Function,Object],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},series:{type:Boolean,default:void 0},refTo:[Function,Object],id:String,tabIndex:Number,editable:[Object,Boolean],head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object},created(){},inject:{bv:{default:null},ks:{default:null},taskDoubleClick:{default:null}},setup:()=>Is(),provide(){return{et:this.et,taskDoubleClick:this.handleTaskDoubleClick,removeTask:this.handleRemoveItemChange,removeDialog:this.handleRemoveDialogChange,occurrenceDialog:this.handleOccurrenceDialogChange,ksCancel:this.handleCancel,ksSeriesClick:this.handleSeriesClick,ksOccurrenceClick:this.handleOccurrenceClick,ksRemoveConfirm:this.handleRemoveConfirm,[ws]:this.cancelCustomEventsOnBack}},data:()=>({et:{removeItem:null,showRemoveDialog:!1,showOccurrenceDialog:!1},currentSeries:null,currentFormItem:null,currentRemoveItem:null,currentShowRemoveDialog:null,currentShowOccurrenceDialog:null}),computed:{compSeries(){return void 0!==this.series?this.series:this.currentSeries},compRemoveItem(){return void 0!==this.removeItem?this.removeItem:this.currentRemoveItem},compShowRemoveDialog(){return void 0!==this.showRemoveDialog?this.showRemoveDialog:this.currentShowRemoveDialog},compShowOccurrenceDialog(){return void 0!==this.showOccurrenceDialog?this.showOccurrenceDialog:this.currentShowOccurrenceDialog},compFormItem(){return this.currentFormItem},currentEditable(){return js(this.$props.editable)}},render(){const e=r.getDefaultSlots(this);return t.createVNode(t.Fragment,null,[t.createVNode(mo,{id:this.$props.id,tabIndex:this.$props.tabIndex,head:this.$props.head,tail:this.$props.tail,order:this.$props.order,zonedStart:this.$props.zonedStart,zonedEnd:this.$props.zonedEnd,slots:this.$props.slots,group:this.$props.group,range:this.$props.range,isException:this.$props.isException,isRecurring:this.$props.isRecurring,isAllDay:this.$props.isAllDay,uid:this.$props.uid,start:this.$props.start,end:this.$props.end,originalStart:this.$props.originalStart,startTimezone:this.$props.startTimezone,endTimezone:this.$props.endTimezone,title:this.$props.title,description:this.$props.description,occurrenceId:this.$props.occurrenceId,recurrenceExceptions:this.$props.recurrenceExceptions,recurrenceRule:this.$props.recurrenceRule,recurrenceId:this.$props.recurrenceId,dataItem:this.$props.dataItem,task:this.$props.task,editable:this.$props.editable,onRemoveclick:this.handleRemoveClick},fo(e)?e:{default:()=>[e]}),this.compFormItem&&!this.compShowOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(zs,{dataItem:this.compFormItem,onSubmit:this.handleFormSubmit,onClose:this.handleCancel,onCancel:this.handleCancel,onDelete:this.currentEditable.remove?this.handleFormDelete:void 0},null),this.compShowOccurrenceDialog&&this.compFormItem&&this.currentEditable.edit&&t.createVNode(co,{dataItem:this.compFormItem,isRemove:!1,onClose:this.handleCancel,onOccurrenceclick:this.handleOccurrenceClick,onSeriesclick:this.handleSeriesClick},null),this.showCustomEventsDialog&&t.createVNode(vo,{onKeep:this.handleCustomEventsKeep,onReset:this.handleCustomEventsReset,onCancel:this.handleCustomEventsCancel},null)])},methods:{setRemoveItem(e,t){this.currentRemoveItem=e,this.$emit("removeitemchange",{item:e,event:t})},setShowRemoveDialog(e,t){this.currentShowRemoveDialog=e,this.$emit("showremovedialogchange",{show:e,event:t})},setShowOccurrenceDialog(e,t){this.currentShowOccurrenceDialog=e,this.$emit("showoccurrencedialogchange",{show:e,event:t})},handleTaskDoubleClick(e){this.currentEditable.edit?(this.currentFormItem=this.$props.dataItem,this.$props.isRecurring&&this.setShowOccurrenceDialog(!0,e),this.taskDoubleClick&&this.taskDoubleClick(e)):this.taskDoubleClick&&this.taskDoubleClick(e)},handleFormSubmit(e){const t=e.value;N(this,{type:Sr.update,series:!0===this.compSeries,dataItem:t},void 0,()=>{this.currentFormItem=null,this.currentSeries=null})},handleFormDelete(e){N(this,{type:Sr.remove,series:!0===this.compSeries,dataItem:e},void 0,()=>{this.currentFormItem=null,this.currentSeries=null})},handleRemoveClick(e){this.currentEditable.remove&&(this.setRemoveItem(this.$props.dataItem,e),this.$props.isRecurring?this.setShowOccurrenceDialog(!0,e):this.setShowRemoveDialog(!0,e))},handleCancel(e){this.clearCustomEvents(),this.currentSeries=null,this.currentFormItem=null,this.setRemoveItem(null,e),this.setShowRemoveDialog(!1,e),this.setShowOccurrenceDialog(!1,e)},handleRemoveConfirm(e){this.compRemoveItem&&N(this,{type:Sr.remove,series:this.compSeries,dataItem:this.compRemoveItem}),this.setRemoveItem(null,e),this.setShowRemoveDialog(!1,e)},handleRemoveItemChange(e,t){this.setRemoveItem&&this.setRemoveItem(e,t)},handleRemoveDialogChange(e,t){this.setShowRemoveDialog&&this.setShowRemoveDialog(e,t)},handleOccurrenceDialogChange(e,t){this.setShowOccurrenceDialog&&this.setShowOccurrenceDialog(e,t)},handleOccurrenceClick(e){this.compRemoveItem?(this.currentSeries=!1,this.setRemoveItem(this.$props.dataItem,e),this.setShowRemoveDialog(!0,e)):this.compFormItem&&(this.currentSeries=!1,this.currentFormItem=this.$props.dataItem),this.setShowOccurrenceDialog(!1,e)},handleSeriesClick(e){if(this.compRemoveItem){this.currentSeries=!0;const t=H(this.compRemoveItem,this.ks.fields,this.ks.dataItems);this.setRemoveItem(t,e),this.setShowRemoveDialog(!0,e)}else this.compFormItem&&(this.currentSeries=!0,this.currentFormItem=r.clone(H(this.$props.dataItem,this.ks.fields,this.ks.dataItems)));this.setShowOccurrenceDialog(!1,e)}}}),ko=t.defineComponent({name:"KendoAgendaViewBody",emits:["dataaction"],props:{items:Array,rangeIndex:Number,itemsPerSlot:Number,agendaSlots:Array,task:[String,Function,Object],editable:[Object,Boolean],onDataAction:Function},inject:{ri:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1},kendoIntlService:{default:null},kendoLocalizationService:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){return{hasMounted:!1,ksSlots:{cSlots:this.agendaSlots.filter(e=>e.group.index===(this.ri.groupIndex||0))}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){return this.agendaSlots.filter(e=>e.group.index===(this.ri.groupIndex||0))}},mounted(){this.hasMounted=!0},render(){var e;this.intl=n.provideIntlService(this);const i=this.$props.editSlot||(null==(e=this.ks)?void 0:e.editSlot)||Ls,s=this.$props.editTask||yo,o=n.provideLocalizationService(this),a="function"==typeof this.ksMobile&&this.ksMobile();return t.createVNode(t.Fragment,null,[this.currentCellSlots.map(function(e,n,l){return t.createVNode("div",{class:"k-scheduler-row k-scheduler-content",role:"row",key:`${this.ri.groupIndex}:${n}`},[t.createVNode(i,{index:n,editable:this.$props.editable,row:l.length*(this.ri.groupIndex||0)+n,col:0,viewSlot:this.$props.viewSlot,onDataaction:this.handleDataAction,className:"k-scheduler-datecolumn k-group-cell",role:"rowheader"},{default:()=>[a?t.createVNode("div",{class:"k-scheduler-datecolumn-wrap"},[t.createVNode("span",{class:"k-mobile-scheduler-agendadate"},[t.createVNode("span",{class:"k-mobile-scheduler-agendaday"},[this.intl.formatDate(e.zonedStart,"dd")]),t.createTextVNode(" "),t.createVNode("span",{class:"k-mobile-scheduler-agendamonth"},[this.intl.formatDate(e.zonedStart,"MMMM")])]),t.createVNode("span",{class:"k-mobile-scheduler-agendaweekday"},[this.intl.formatDate(e.zonedStart,"EEEE")])]):t.createVNode("div",null,[t.createVNode("strong",{class:"k-scheduler-agendaday"},[this.intl.formatDate(e.zonedStart,"dd")]),t.createVNode("em",{class:"k-scheduler-agendaweek"},[this.intl.formatDate(e.zonedStart,"EEEE")]),t.createVNode("span",{class:"k-scheduler-agendadate"},[this.intl.formatDate(e.zonedStart,"y")])])]}),t.createVNode("div",{class:"k-scheduler-cell k-group-content",role:"gridcell"},[this.hasMounted&&e.items.length?e.items.map(function(e,i){return t.createVNode("div",{class:"k-scheduler-row",key:i},[t.createVNode("div",{class:"k-scheduler-cell k-scheduler-timecolumn"},[t.createVNode("div",null,[e.tail&&t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null),e.isAllDay?o.toLanguageString(pe,tr[pe]):So(this.intl,e),e.head&&t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])]),t.createVNode("div",{class:"k-scheduler-cell"},[t.createVNode(s,{key:`${n}:${i}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,onDataaction:this.handleDataAction,task:this.$props.task,viewTask:this.$props.viewTask,editable:this.$props.editable},null)])])},this):t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-group-cell"},[o.toLanguageString(_t,tr[_t])])])])},this)])},methods:{handleDataAction(e){N(this,e)}}}),So=(e,t)=>{let i="{0:t}-{1:t}";return t.head?i="{0:t}":t.tail&&(i="{1:t}"),e.format(i,t.zonedStart,t.zonedEnd)},Do=(e,{step:t},{groups:r,ranges:s})=>{const o=[];return r.forEach(e=>{s.forEach(r=>{const s=r.zonedStart,n=r.zonedEnd,a=n.timezoneOffset-s.timezoneOffset;for(let l=s.clone(),d=0,c=a<0?a*Dr*-1:0;l.getTime()<n.getTime();){const s={},n=l.clone(),a=l.addTime(t),u=(a.timezoneOffset-n.timezoneOffset)*Dr,h=t<Math.abs(u);c&&h&&(c-=t,l=l.addTime(-t));const p=new Date(n.getTime()),m={refTo:s,index:d,end:new Date(a.getTime()),start:p,zonedStart:n,zonedEnd:a,range:r,group:e,items:[],isAllDay:i.MS_PER_DAY<=t};o.push(m),d++,l=l.addTime(t)}})}),o},bo=t.defineComponent({name:"KendoAgendaView",emits:["dataaction"],props:{onDataAction:Function,name:{type:String,default:"agenda"},dateRange:{type:[Function,Object],default:function(){return wo}},selectedDateFormat:{type:String,default:"{0:M} - {1:M}"},selectedShortDateFormat:{type:String,default:"{0:m} - {1:m}"},slotDuration:{type:Number,default:1440},slotDivisions:{type:Number,default:1},step:{type:Number,default:7},numberOfDays:{type:Number,default:7},task:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{ks:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},created(){this.intl=n.provideIntlService(this)},mounted(){fr({element:this.$el,selector:".k-scheduler-datecolumn",explicitDepth:!1}),setTimeout(()=>fr({element:this.$el,selector:".k-scheduler-timecolumn",explicitDepth:!1}))},updated(){fr({element:this.$el,selector:".k-scheduler-datecolumn",explicitDepth:!1}),setTimeout(()=>fr({element:this.$el,selector:".k-scheduler-timecolumn",explicitDepth:!1}))},computed:{ranges(){return Ys(this.ks.dateRange,{step:i.MS_PER_DAY,timezone:this.ks.timezone})},agendaSlots(){return Do(this.ks.dateRange,{step:i.MS_PER_DAY},{groups:this.ks.groups,ranges:this.ranges})},occurrences(){return Qs(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=to(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges});return J(e,this.agendaSlots,!0),X(e,this.agendaSlots,!0),e}},render(){this.$props.editTask,this.$props.editSlot,n.provideIntlService(this),n.provideLocalizationService(this);const e=this.agendaSlots;return t.createVNode(yr,{id:this.$props.id,class:"k-scheduler-agendaview",viewProps:{...this.$props},baseSlots:this.items,ranges:this.ranges,isAgendaView:!0},{default:()=>[t.createVNode("div",{class:"k-scheduler-head",role:"rowgroup"},[t.createVNode(Gs,{resources:this.ks.props.resources,group:this.ks.props.group,role:"presentation"},{default:()=>[t.createVNode(ao,null,null)]})]),t.createVNode("div",{class:"k-scheduler-body",role:"rowgroup"},[t.createVNode(Gs,{resources:this.ks.props.resources,group:this.ks.props.group,nested:!0,role:"presentation"},{default:()=>[t.createVNode(ko,{items:this.items,agendaSlots:e,task:this.$props.task,editable:this.$props.editable,onDataaction:this.handleDataAction},null)]})])]})},methods:{handleDataAction(e){N(this,e)}}}),wo=({intl:e,date:t,numberOfDays:r=1,timezone:s})=>{const o=i.ZonedDate.fromLocalDate(t,s),n=(e=>i.getDate(e))(7===r?i.firstDayInWeek(o,e.firstDay()):o),a=((e,t)=>i.getDate(i.addDays(e,t||1)))(n,r),l=i.ZonedDate.fromUTCDate(W(n),s),d=i.ZonedDate.fromUTCDate(W(a),s);return{start:new Date(l.getTime()),end:new Date(d.getTime()),zonedStart:l,zonedEnd:d}};const Io=t.defineComponent({name:"KendoHorizontalResourceIterator",props:{group:Object,resources:Array,nested:Boolean,rowContent:[String,Function,Object],childRowContent:[String,Function,Object],rowContentProps:{type:Object,default:function(){return{}}}},render(){const e=this,{nested:i,rowContentProps:s}=this.$props,o=this.$props.rowContent||Ro,n=this.$props.childRowContent||o,a=y(this.$props.group,this.$props.resources),l=r.getDefaultSlots(this),d=function(i){const s=k(i.resources,i.resources.length-1),o=i.childRowContent,n=i.resources.length>0;return t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode(o,{timeHeaderCell:i.rowContentProps.timeHeaderCell,isMaster:i.rowContentProps.isMaster,isLast:i.rowContentProps.isLast,contentSlot:i.rowContentProps.contentSlot,resources:i.resources},null),(s.length?s:br).map(function(i,s){let o;return t.createVNode(kr,{key:s,resource:i,groupIndex:n?s:0},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(o=r.getDefaultSlots(e))?o:{default:()=>[o]})},this)])},c=function(e){const{children:r}=e;if(e.groupIndex===e.resources.length)return d.call(this,{resources:e.resources,rowContent:e.rowContent,children:r,nested:e.nested,groupIndex:e.groupIndex,rowContentProps:e.rowContentProps,childRowContent:e.childRowContent});const s=k(e.resources,e.groupIndex),u=e.rowContent;return[e.nested?t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode(u,{resources:e.resources,groupIndex:e.groupIndex,timeHeaderCell:e.rowContentProps.timeHeaderCell,isMaster:e.rowContentProps.isMaster,isLast:e.rowContentProps.isLast,contentSlot:e.rowContentProps.contentSlot},null),s.map((e,i)=>t.createVNode("div",{key:i,class:"k-scheduler-cell k-heading-cell"},[e.text]))]):[t.createVNode(u,{resources:e.resources,groupIndex:e.groupIndex,timeHeaderCell:e.rowContentProps.timeHeaderCell,isMaster:e.rowContentProps.isMaster,isLast:e.rowContentProps.isLast,contentSlot:e.rowContentProps.contentSlot},null),s.map(function(e,i){return t.createVNode("div",{key:i,class:"k-scheduler-cell k-heading-cell"},[e.text])},this)],c.call(this,{resources:a,children:l,nested:i,rowContent:o,rowContentProps:e.rowContentProps,childRowContent:n,groupIndex:e.groupIndex+1})]};return t.createVNode("div",{class:"k-scheduler-group k-group-horizontal"},[i?c.call(this,{resources:a,children:l,nested:i,groupIndex:0,rowContent:o,rowContentProps:s,childRowContent:n}):d.call(this,{resources:a,children:l,rowContent:o,nested:!!i,groupIndex:0,rowContentProps:s,childRowContent:n})])}}),Ro=e=>e.children,$o=t.defineComponent({name:"KendoTimelineViewRowContent",props:{},render:()=>t.createVNode("div",{class:"k-sticky-cell"},[t.createVNode("div",{class:"k-scheduler-cell k-side-cell"},null)])}),Co=t.defineComponent({name:"KendoTimelineViewAllEventsRowContent",props:{},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this);return t.createVNode("div",{class:"k-sticky-cell"},[t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-side-cell k-scheduler-times-all-day","data-range-index":0},[e.toLanguageString(ce,tr[ce])])])}}),Eo=t.defineComponent({name:"KendoSchedulerItem",inheritAttrs:!1,emits:{focus:null,blur:null,mousedown:null,mouseup:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,click:null,doubleclick:null,removeclick:null,keydown:null,keypress:null,keyup:null,press:null,drag:null,release:null,resizepress:null,resizestartdrag:null,resizeenddrag:null,resizerelease:null,cancel:null,close:null,formsubmit:null},props:{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,maxSiblingsPerSlot:Number,itemTitle:String,formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,ignoreIsAllDay:Boolean,item:[String,Function,Object],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0}},inject:{ks:{default:null},bv:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null},setItems:{default:null},itemClick:{default:null},itemDoubleClick:{default:null},ksMobile:{default:null},ksEventOverview:{default:null},ksCancel:{default:null},ksFormSubmit:{default:null},ksOccurrenceClick:{default:null},ksSeriesClick:{default:null},ksRemoveConfirm:{default:null},ksRemoveDialogCancel:{default:null},ksDeleteItem:{default:null},ksFormDelete:{default:null},ksIsSeries:{default:null}},computed:{currentEditable(){const e=js(this.$props.editable);return this.$props.readonly?{add:!1,edit:!1,drag:!1,resize:!1,remove:!1,select:e.select}:e},resource(){return this.$props.group.resources.find(e=>!(!e.colorField||""===e[e.colorField]||void 0===e[e.colorField]))},color(){return this.resource&&this.resource.colorField&&this.resource[this.resource.colorField]},currentTabIndex(){return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:this.$props.selected?0:-1},itemClassName(){var e;return{"k-event":!this.$props.resizeHint,"k-event-all-day":!this.$props.resizeHint&&!0===(null==(e=this.$props.range)?void 0:e.isAllDay),"k-selected":this.$props.dragHint||this.$props.selected&&this.currentEditable.select&&!this.$props.dragItem,"k-readonly":!this.$props.resizeHint&&!!this.$props.readonly,"k-event-drag-hint":!!this.$props.dragItem&&!this.$props.dragHint,"k-scheduler-marquee":this.$props.resizeHint,"k-marquee":this.$props.resizeHint,"k-first":this.$props.resizeHint&&!this.$props.tail,"k-last":this.$props.resizeHint&&!this.$props.head,[this.$props.className]:this.$props.className}},eventLabel(){return`${F(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay)}, ${this.$props.title}`},resizeHandleStyle(){var e;return this.$props.selected&&this.currentEditable.select&&null!=(e=this.ksMobile)&&e.call(this)?{visibility:"visible"}:void 0},computedStyle(){var e;return{cursor:"pointer",userSelect:"none",...this.color?{[this.$props.resizeHint?"--kendo-marquee-color":"--kendo-scheduler-event-color"]:this.color}:void 0,touchAction:"none",...this.$props.itemStyle,containerType:this.$props.resizeHint?void 0:"auto"===(null==(e=this.$props.itemStyle)?void 0:e.height)?"normal":"size"}}},created(){this.setItems({type:w.add,item:this})},mounted(){this.element||(this.element=this.$refs.draggable&&this.$refs.draggable.element)},unmounted(){this.setItems({type:w.remove,item:this})},render(){const e=r.getDefaultSlots(this);this.intl=n.provideIntlService(this);const i=r.getTemplate.call(this,{h:t.h,template:this.bv.viewProps.resizeHint,additionalProps:{dataItem:this.dataItem,color:this.color,itemClassName:this.itemClassName}});return t.createVNode(r.Draggable,{onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,ref:"draggable"},{default:()=>{var s;return[t.createVNode("div",{id:this.$props.id,style:this.computedStyle,tabindex:this.currentTabIndex,class:this.itemClassName,role:"button","aria-label":this.eventLabel,"aria-disabled":!!this.$props.readonly||void 0,onFocusin:this.handleFocus,onBlur:this.handleBlur,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-group-index":this.$props.group.index,"data-range-index":this.$props.range.index},[this.formItem&&!this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(zs,{dataItem:this.formItem,onSubmit:this.handleFormSubmit,onClose:this.handleFormClose,onCancel:this.handleFormCancel,onDelete:this.currentEditable.remove?this.handleEditDialogDelete:void 0},null),this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(co,{dataItem:this.formItem||this.dragItem||this.resizeItem||this.removeItem,isRemove:!!this.removeItem,onClose:this.ksCancel,onOccurrenceclick:this.ksOccurrenceClick,onSeriesclick:this.ksSeriesClick},null),this.showRemoveDialog&&this.removeItem&&this.currentEditable.remove&&t.createVNode(ho,{dataItem:this.removeItem,isSeries:null==(s=this.ksIsSeries)?void 0:s.call(this),onClose:this.ksRemoveDialogCancel,onCancel:this.ksRemoveDialogCancel,onConfirm:this.ksRemoveConfirm},null),e,this.currentEditable.resize&&this.$props.vertical&&[t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-n",style:this.resizeHandleStyle},null)]}),t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-s",style:this.resizeHandleStyle},null)]})],this.currentEditable.resize&&!this.$props.vertical&&[t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-w",style:this.resizeHandleStyle},null)]}),t.createVNode(r.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-e",style:this.resizeHandleStyle},null)]})],this.$props.resizeHint?this.bv.viewProps.resizeHint?i:[t.createVNode("div",{key:"color",class:"k-marquee-color"},null),t.createVNode("div",{key:"text",class:"k-marquee-text"},[!this.$props.tail&&t.createVNode("div",{class:"k-label-top"},[this.intl.formatDate(this.$props.zonedStart,this.$props.format)]),!this.$props.head&&t.createVNode("div",{class:"k-label-bottom"},[this.intl.formatDate(this.$props.zonedEnd,this.$props.format)])])]:null])]}})},methods:{getElement(){return 8===this.$el.nodeType?this.$el.parentElement:3===this.$el.nodeType?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",{event:e,target:{props:{...this.$props},element:this.element}})},handleBlur(e){this.$emit("blur",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseDown(e){this.$emit("mousedown",{event:e,target:{props:{...this.$props},element:this.element}})},handleClick(e){var t,i;const r={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("click",r),this.itemClick(r),null!=(t=this.ksMobile)&&t.call(this)&&this.$props.selected&&(null==(i=this.ksEventOverview)||!i.call(this))&&this.handleDoubleClick(e)},handleMouseUp(e){this.$emit("mouseup",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOver(e){this.$emit("mouseover",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOut(e){this.$emit("mouseout",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseEnter(e){this.$emit("mouseenter",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseLeave(e){this.$emit("mouseleave",{event:e,target:{props:{...this.$props},element:this.element}})},handleDoubleClick(e){if(this.$props.readonly)return;const t={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("doubleclick",t),this.itemDoubleClick(t)},handleRemoveClick(e){this.$emit("removeclick",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyDown(e){this.$emit("keydown",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyPress(e){this.$emit("keypress",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyUp(e){this.$emit("keyup",{event:e,target:{props:{...this.$props},element:this.element}})},handlePress(e){this.currentEditable.drag&&this.$emit("press",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleDrag(e){this.currentEditable.drag&&this.$emit("drag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleRelease(e){this.currentEditable.drag&&this.$emit("release",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizePress(e){this.$emit("resizepress",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeStartDrag(e){this.$emit("resizestartdrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeEndDrag(e){this.$emit("resizeenddrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeRelease(e){this.$emit("resizerelease",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleFormClose(e){this.ksCancel(e),this.$emit("close",e)},handleFormSubmit(e){this.ksFormSubmit(e),this.$emit("formsubmit",e)},handleFormCancel(e){this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogSave(e){const t={value:e,event:null,target:this};this.ksFormSubmit(t),this.$emit("formsubmit",t)},handleEditDialogCancel(){const e={value:null,event:null,target:this};this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogDelete(e){this.ksFormDelete&&this.ksFormDelete(e)}}}),zo=t.defineComponent({name:"KendoSchedulerItemContent",props:{title:String},render(){const e=r.getDefaultSlots(this);return t.createVNode("div",{class:"k-event-template"},[this.title,e])}}),No=t.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)},inAllDayArea(){var e;return!0===(null==(e=this.$props.range)?void 0:e.isAllDay)}},data:()=>({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;r.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&&r.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=r.getDefaultSlots(this);this.intl=n.provideIntlService(this);const i=this.inAllDayArea;let s;const o=t.createVNode(Eo,{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&&t.createVNode(t.Fragment,null,[this.$props.tail&&!this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null)]),t.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-up",icon:d.chevronUpIcon},null)]),i&&!this.$props.isAllDay&&!this.$props.tail&&t.createVNode("span",{class:"k-event-all-day-time"},[this.intl.toString(this.$props.zonedStart,"t")]),t.createVNode(zo,{class:"k-event-title"},{default:()=>[this.$props.title]}),i&&!this.$props.isAllDay&&!this.$props.head&&t.createVNode("span",{class:"k-event-all-day-time"},[this.intl.toString(this.$props.zonedEnd,"t")]),!i&&!this.$props.isAllDay&&t.createVNode(zo,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-down",icon:d.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.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&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])])]});return s=r.getTemplate.call(this,{h:t.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}}),s},methods:{getElement(){return 8===this.$el.nodeType?this.$el.parentElement:3===this.$el.nodeType?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 i=1;return e.forEach(e=>{const r=t.filter(t=>this.inSlot(e.cSlot,t.$props));r.length>i&&(i=r.length)}),i},getSiblingsInAllSlots(e,t){return e.map(e=>t.filter(t=>this.inSlot(e.cSlot,t.$props)))},inSlot(e,t){return q(e.start,e.end,t.start,t.end)&&e.group.index===t.group.index&&e.range.index===t.range.index&&(void 0===e.range.isAllDay||void 0===t.range.isAllDay||e.range.isAllDay===t.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===t.isAllDay)},align(){if(!this.element)return;const e=(this.bv.slots||[]).filter(e=>e&&this.inSlot(e.cSlot,this.$props));if(0===e.length)return void(this.display=!1);const t=e.sort(function(e,t){return!e.cSlot.start||!t.cSlot.start||e.cSlot.start.getTime()-t.cSlot.start.getTime()}),i=this.inAllDayArea&&this.ks.isRtl?C(t):$(t);if(!i)return;const r=S(i.$el),s=i.$el;if(s&&!this.$props.vertical){const e=s.querySelector(".k-nav-day");let t=0;if(e)t=e.offsetTop+parseFloat(window.getComputedStyle(e).lineHeight||"0");else if(s.firstElementChild){const e=window.getComputedStyle(s),i=parseFloat(e.paddingTop||"0"),r=parseFloat(e.lineHeight||"0");r>0&&(t=i+r)}r.top+=t,(this.$props.dragHint||this.$props.resizeHint)&&(r.height-=t)}b(this.element,r)},position(){var e,t;if(!this.element)return;const i=(this.bv.slots||[]).filter(e=>e&&this.inSlot(e.cSlot,this.$props)),r=[],s=[],o=[];(this.bv.items||[]).forEach(e=>{e&&(e.$props.dragHint?s.push(e):e.$props.resizeHint?o.push(e):r.push(e))});const n=this.$props.dragHint||this.$props.resizeHint?((e,t,i,r=!1)=>{let s;return i.forEach(i=>{const o=[];t.sort((e,t)=>e.$props.start.getTime()-t.$props.start.getTime()).forEach(t=>{if((r||t.$props.isAllDay===i.cSlot.isAllDay)&&t.$props.range.index===i.cSlot.range.index&&t.$props.group.index===i.cSlot.group.index&&q(t.$props.start,t.$props.end,i.cSlot.start,i.cSlot.end)){const i=Q(o);t===e&&void 0===s&&(s=i),o.splice(i,0,i)}})}),s})(this,this.$props.dragHint?s:o,i,this.$props.ignoreIsAllDay):this.$props.order||0;let a=this.$props.dragHint||this.$props.resizeHint?this.calculateMostSiblings(i,this.$props.dragHint?s:o):this.calculateMostSiblings(i,r);const l=this.getSiblingsInAllSlots(i,r);let d=0;const c=S(this.element),u=null==(e=this.$props.itemStyle)?void 0:e.height,h="number"==typeof u?u:parseFloat(u),p=!(this.$props.vertical||null!=u&&Number.isNaN(h));if(l.forEach(e=>{let t=0;e.sort(function(e,t){return e.$props.order-t.$props.order}).forEach(e=>{if(q(e.$props.start,e.$props.end,this.$props.start,this.$props.end)&&!(this.$props.dragHint||this.$props.resizeHint)&&e.$props.maxSiblingsPerSlot&&e.$props.maxSiblingsPerSlot>a&&e.getElement()!==this.element&&(a=e.$props.maxSiblingsPerSlot),!p){const i=S(e.getElement());null!==e.$props.order&&e.$props.order<n&&(t=(i.top||c.top)+i.height-c.top-1*n+1)}}),t>d&&(d=t)}),p&&(d=n*((Number.isNaN(h)?25:h)+1)),0===i.length)return void(this.display=!1);const m=(null==(t=this.$props.itemStyle)?void 0:t.height)||25,g=this.inAllDayArea?1:0;c.width=this.$props.vertical?c.width/a-1-20/a:c.width*i.length-1-g,this.$props.vertical?c.height=c.height*i.length-1:(this.$props.resizeHint||this.$props.dragHint)&&a<=1||(c.height=m),c.left=this.$props.vertical?c.left+n*c.width+1*n:c.left,c.top=this.$props.vertical?c.top:c.top+d+1*n,this.maxSiblingsPerSlot=a,this._order=n,b(this.element,c),this.visible=!0,this.display=!0},handleResize(){void 0!==this.timeout&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.align(),this.position()})}}}),To=t.defineComponent({name:"KendoSchedulerDrag",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,dataItem:Object,vertical:Boolean,viewItem:[String,Function,Object],item:{type:Object,default:function(){return Eo}}},inject:{ks:{default:null},bv:{default:null}},computed:{occurrences(){return Qs([this.$props.dataItem],{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=this.$props.ignoreIsAllDay?this.bv.ranges.filter(e=>!1!==e.isAllDay):this.bv.ranges;return to(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:e})}},render(){const e=(this.bv.slots||[]).map(e=>e);J(this.items,e,this.$props.ignoreIsAllDay);const i=this.items;return i.length?i.map(function(e,i){return t.createVNode(No,{key:i,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,dragHint:!0,vertical:this.$props.vertical,ignoreIsAllDay:this.$props.ignoreIsAllDay},null)},this):null}}),Vo=t.defineComponent({name:"KendoSchedulerResize",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,dataItem:Object,format:String,vertical:Boolean,viewItem:[String,Function,Object],item:{type:Object,default:function(){return Eo}}},inject:{ks:{default:null},bv:{default:null}},computed:{occurrences(){return Qs([this.$props.dataItem],{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=this.$props.ignoreIsAllDay?this.bv.ranges.filter(e=>!1!==e.isAllDay):this.bv.ranges;return to(this.occurrences,{timezone:this.ks.timezone,ignoreIsAllDay:this.$props.ignoreIsAllDay},{groups:this.ks.groups,ranges:e})}},render(){const e=(this.bv.slots||[]).map(e=>e);J(this.items,e,this.$props.ignoreIsAllDay);const i=this.items;return i.length?i.map(function(e,i){return t.createVNode(No,{key:i,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,format:this.format,resizeHint:!0,vertical:this.$props.vertical,ignoreIsAllDay:this.$props.ignoreIsAllDay},null)},this):null}});let Oo=function(e){return e.set="FORM_ITEM_SET",e.setMaster="FORM_ITEM_SET_MASTER",e.reset="FORM_ITEM_RESET",e.complete="FORM_ITEM_COMPLETE",e}({}),xo=function(e){return e.set="SHOW_OCCURRENCE_DIALOG_SET",e.open="SHOW_OCCURRENCE_DIALOG_OPEN",e.close="SHOW_OCCURRENCE_DIALOG_CLOSE",e.reset="SHOW_OCCURRENCE_DIALOG_RESET",e.toggle="SHOW_OCCURRENCE_DIALOG_TOGGLE",e}({});let Fo=function(e){return e.set="REMOVE_ITEM_SET",e.reset="REMOVE_ITEM_RESET",e.complete="REMOVE_ITEM_COMPLETE",e}({}),Ao=function(e){return e.set="SHOW_REMOVE_DIALOG_SET",e.open="SHOW_REMOVE_DIALOG_OPEN",e.close="SHOW_REMOVE_DIALOG_CLOSE",e.reset="SHOW_REMOVE_DIALOG_RESET",e.toggle="SHOW_REMOVE_DIALOG_TOGGLE",e}({});let Mo=function(e){return e.set="DRAG_ITEM_SET",e.start="DRAG_ITEM_START",e.drag="DRAG_ITEM_DRAG",e.complete="DRAG_ITEM_COMPLETE",e.completeOccurrence="DRAG_ITEM_COMPLETE_OCCURRENCE",e.completeSeries="DRAG_ITEM_COMPLETE_SERIES",e.reset="DRAG_ITEM_RESET",e.dragSelected="DRAG_ITEM_DRAG_SELECTED",e}({}),jo=0,Lo=0,Bo=0,Wo=0,Ho=null,Po=!1;const Ko=(e,t)=>W(i.ZonedDate.fromLocalDate(new Date(e),t)).getTime(),_o=(e,t)=>i.ZonedDate.fromUTCDate(new Date(Ko(e,t)-Lo),t).toLocalDate(),qo=function(e){const t=r.clone(this.dataItem);switch(e.type){case Mo.set:this.currentDragItem=e.payload;break;case Mo.reset:this.currentDragItem=null;break;case Mo.dragSelected:{if(Math.abs(Bo-e.payload.x)<10&&Math.abs(Wo-e.payload.y)<10)return;const i=M(e.payload.x,e.payload.y,7);if(!i||i===Ho)return;const s=i.getAttribute("data-slot-start"),o="true"===i.getAttribute("data-slot-allday");if(!this.ignoreIsAllDay&&o!==this.isAllDay||Po&&!o)return;const n=new Date(j(t,this.ks.fields.start)),a=(z(this,i)?_o(Number(s),this.ks.timezone):new Date(Number(s))).getTime()-n.getTime(),l=this.bv.selectedItems.map(e=>{if(!e)return null;const t=r.clone(e.$props.dataItem),i=new Date(e.$props.start.getTime()+a),s=new Date(e.$props.end.getTime()+a);return L(t,this.ks.fields.start,i),L(t,this.ks.fields.end,s),t}).filter(Boolean);Ho=i,this.currentDragItem=[...l];break}case Mo.start:{const i=e.payload.x,r=e.payload.y;Bo=i,Wo=r;const s=M(i,r,7);if(!s)return;const o=s.getAttribute("data-slot-start"),n=j(t,this.ks.fields.start);if(null===o)return;Po="true"===s.getAttribute("data-slot-allday"),jo=Number(o)-new Date(n).getTime(),z(this,s)&&(Lo=Ko(Number(o),this.ks.timezone)-Ko(new Date(n).getTime(),this.ks.timezone));break}case Mo.drag:{if(Math.abs(Bo-e.payload.x)<10&&Math.abs(Wo-e.payload.y)<10)return;const i=M(e.payload.x,e.payload.y,7);if(!i||i===Ho)return;const r=i.getAttribute("data-slot-start"),s=i.getAttribute("data-slot-group"),o="true"===i.getAttribute("data-slot-allday");if(!this.ignoreIsAllDay&&o!==this.isAllDay||Po&&!o)return;const n=new Date(j(t,this.ks.fields.start)),a=new Date(j(t,this.ks.fields.end)).getTime()-n.getTime(),l=z(this,i)?_o(Number(r),this.ks.timezone):new Date(Number(r)-Number(jo)),d=new Date(l.getTime()+a),c=this.ks.groups.find(e=>e.index===Number(s));L(t,this.ks.fields.start,l),L(t,this.ks.fields.end,d),c&&this.ks.groups.length>1&&c.resources.forEach(e=>{e.multiple||L(t,e.field,e[e.valueField])}),Ho=i,t&&(this.currentDragItem=t);break}case Mo.complete:{const e=this.compDragItem;this.currentDragItem=null,e&&N(this,{type:Sr.update,series:!1,dataItem:e});break}case Mo.completeOccurrence:{const e=Array.isArray(this.compDragItem)?this.compDragItem.slice():r.clone(this.compDragItem),t=this.compDragItem;this.currentDragItem=null,t&&N(this,{type:Sr.update,series:!1,dataItem:e});break}case Mo.completeSeries:{let e;if(Array.isArray(this.compDragItem))e=this.compDragItem.map(e=>{const t=r.clone(e);return L(t,this.ks.fields.start,j(e,this.ks.fields.start)),L(t,this.ks.fields.end,j(e,this.ks.fields.end)),t});else{const t=r.clone(this.compDragItem);L(t,this.ks.fields.start,j(this.compDragItem,this.ks.fields.start)),L(t,this.ks.fields.end,j(this.compDragItem,this.ks.fields.end)),e=t}this.currentDragItem=null,e&&N(this,{type:Sr.update,series:!0,dataItem:e});break}default:this.currentDragItem=this.compDragItem}this.$emit("dragitemchange",this.currentDragItem)};let Uo=function(e){return e.set="RESIZE_ITEM_SET",e.start="RESIZE_ITEM_START",e.startDrag="RESIZE_ITEM_START_DRAG",e.startDragSelected="RESIZE_ITEM_START_DRAG_SELECTED",e.endDrag="RESIZE_ITEM_END_DRAG",e.endDragSelected="RESIZE_ITEM_END_DRAG_SELECTED",e.complete="RESIZE_ITEM_COMPLETE",e.completeOccurrence="RESIZE_ITEM_COMPLETE_OCCURRENCE",e.completeSeries="RESIZE_ITEM_COMPLETE_SERIES",e.reset="RESIZE_ITEM_RESET",e}({});const Go=(e,t,r)=>{const s=new Date(Number(t.getAttribute("data-slot-start")));if(!z(e,t))return s;const o=e.ks.timezone,n=i.ZonedDate.fromLocalDate(s,o),a=i.ZonedDate.fromLocalDate(r,o),l=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds());return i.ZonedDate.fromUTCDate(new Date(l),o).toLocalDate()};let Zo=null;const Yo=function(e,t){let i=this.compResizeItem;switch(e.type){case Uo.set:i=e.payload;break;case Uo.reset:i=null;break;case Uo.start:{t.stopPropagation(),t.preventDefault();const s=e.payload.x,o=e.payload.y,n=M(s,o,7);if(!n||n===Zo)return;const a=r.clone(this.dataItem),l=Go(this,n,j(a,this.ks.fields.start));if(l>=j(a,this.ks.fields.end))return;L(a,this.ks.fields.start,l),Zo=n,i=a;break}case Uo.startDragSelected:{t.stopPropagation(),t.preventDefault();const s=e.payload.x,o=e.payload.y,n=r.clone(this.dataItem),a=M(s,o,7);if(!a||a===Zo)return;const l=new Date(j(n,this.ks.fields.start)),d=Go(this,a,l).getTime()-l.getTime();let c=!1;const u=this.bv.selectedItems.map(e=>{if(!e)return null;const t=r.clone(e.$props.dataItem),i=new Date(e.$props.start.getTime()+d);if(!(i>=j(t,this.ks.fields.end)))return L(t,this.ks.fields.start,i),t;c=!0}).filter(Boolean);c||(i=[...u]);break}case Uo.startDrag:{const t=e.payload.x,s=e.payload.y,o=M(t,s,7);if(!o||o===Zo)return;const n=r.clone(this.dataItem),a=Go(this,o,j(n,this.ks.fields.start));if(a>=n.end)return;L(n,this.ks.fields.start,a),Zo=o,i=n;break}case Uo.endDrag:{const t=e.payload.x,s=e.payload.y,o=M(t,s,7);if(!o||o===Zo)return;const n=o.getAttribute("data-slot-end"),a=new Date(Number(n)),l=r.clone(this.dataItem);if(a<=l.start)return;L(l,this.ks.fields.end,a),Zo=o,i=l;break}case Uo.endDragSelected:{t.stopPropagation(),t.preventDefault();const s=e.payload.x,o=e.payload.y,n=r.clone(this.dataItem),a=M(s,o,7);if(!a||a===Zo)return;const l=a.getAttribute(z(this,a)?"data-slot-end":"data-slot-start"),d=new Date(j(n,this.ks.fields.end)),c=new Date(Number(l)).getTime()-d.getTime();let u;const h=this.bv.selectedItems.map(e=>{if(!e)return null;const t=r.clone(e.$props.dataItem),i=new Date(e.$props.end.getTime()+c);if(!(i<=j(t,this.ks.fields.start)))return L(t,this.ks.fields.end,i),t;u=!0}).filter(Boolean);u||(i=[...h]);break}case Uo.complete:case Uo.completeOccurrence:i=null,this.compResizeItem&&N(this,{type:Sr.update,series:!1,dataItem:this.compResizeItem});break;case Uo.completeSeries:{let e;if(i=null,Array.isArray(this.compResizeItem))e=this.compResizeItem.map(e=>{const t=r.clone(e);return L(t,this.ks.fields.start,j(e,this.ks.fields.start)),L(t,this.ks.fields.end,j(e,this.ks.fields.end)),t});else{const t=r.clone(this.compResizeItem);L(t,this.ks.fields.start,j(this.compResizeItem,this.ks.fields.start)),L(t,this.ks.fields.end,j(this.compResizeItem,this.ks.fields.end)),e=t}e&&N(this,{type:Sr.update,series:!0,dataItem:e});break}default:i=null}this.currentResizeItem=i,this.$emit("resizeitemchange",i)};let Qo=function(e){return e.reset="SERIES_RESET",e.set="SERIES_SET",e.toggle="SERIES_TOGGLE",e}({});function Xo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Jo={horizontal:6,vertical:0},en=t.defineComponent({name:"KendoSchedulerEventOverviewPopover",props:{show:Boolean,anchor:Object,dataItem:{type:Object,required:!0},fields:{type:Object,required:!0},isRecurring:Boolean,canEdit:Boolean,canRemove:Boolean},emits:{close:()=>!0,edit:e=>void 0===e||"boolean"==typeof e,delete:e=>void 0===e||"boolean"==typeof e},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},setup(e,{emit:i}){const s=t.getCurrentInstance(),a=t.ref(null),l=()=>i("close"),u=()=>{var e,t;return null==(t=null==(e=a.value)?void 0:e.$el)?void 0:t.closest(".k-popover")};t.watch(()=>e.show,(t,i,r)=>{if(!t||"undefined"==typeof document)return;const s=t=>{var i;const r=t.target,s=u(),o=Array.from((null==s?void 0:s.querySelectorAll("[aria-controls]"))||[]).some(e=>{var t;const i=e.getAttribute("aria-controls");return!!i&&(null==(t=document.getElementById(i))?void 0:t.contains(r))});(null==s||!s.contains(r))&&(null==(i=e.anchor)||!i.contains(r))&&!o&&l()};document.addEventListener("mousedown",s),r(()=>document.removeEventListener("mousedown",s))},{immediate:!0}),$r(()=>e.show,()=>e.anchor,l);const m=()=>{if(e.show&&(e.canEdit||e.canRemove)){const e=u(),t=(null==e?void 0:e.querySelector(".k-popover-actions .k-button-primary"))||(null==e?void 0:e.querySelector(".k-popover-actions .k-button"));null==t||t.focus()}};return t.watch(()=>[e.show,e.canEdit,e.canRemove],()=>t.nextTick(m),{immediate:!0,flush:"post"}),()=>{let u,g;const v=n.provideIntlService(null==s?void 0:s.proxy),f=n.provideLocalizationService(null==s?void 0:s.proxy),y=e=>f.toLanguageString(e,tr[e]),k=j(e.dataItem,e.fields.start),S=j(e.dataItem,e.fields.end),D=j(e.dataItem,e.fields.description),b=k&&S?A(v,k,S,!!j(e.dataItem,e.fields.isAllDay),y(pe)):"",w=[{text:y(Ce),scope:"occurrence"},{text:y(Ee),scope:"series"}],I=[{text:y(Ot),scope:"occurrence"},{text:y(xt),scope:"series"}];return t.createVNode(c.Popover,{anchor:e.anchor,show:e.show,position:"right",collision:{horizontal:"fit",vertical:"fit"},margin:Jo,callout:!1,title:j(e.dataItem,e.fields.title)||y(Wt),style:{width:"360px"},autoFocus:!1,animate:{openDuration:1,closeDuration:1},onOpen:m,onKeydown:l},{default:()=>[t.createVNode(h.FormElement,{ref:a,horizontal:!0,class:"k-scheduler-edit-form"},{default:()=>[t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.clockIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-edit-form-row k-color-subtle"},[b])])]}),D?t.createVNode(h.FieldWrapper,null,{default:()=>[t.createVNode(p.Label,{class:"k-form-label"},{default:()=>[t.createVNode(r.SvgIcon,{icon:d.commentIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[D])])]}):null]}),e.canEdit||e.canRemove?t.createVNode(c.PopoverActionsBar,{alignment:"end"},{default:()=>[e.canRemove?e.isRecurring?t.createVNode(o.DropDownButton,{text:y(he),items:I,textField:"text",onItemclick:e=>i("delete","series"===e.item.scope)},null):t.createVNode(o.Button,{type:"button",onClick:()=>i("delete")},Xo(u=y(he))?u:{default:()=>[u]}):null,e.canEdit?e.isRecurring?t.createVNode(o.DropDownButton,{text:y(ue),themeColor:"primary",items:w,textField:"text",onItemclick:e=>i("edit","series"===e.item.scope)},null):t.createVNode(o.Button,{type:"button",themeColor:"primary",onClick:()=>i("edit")},Xo(g=y(ue))?g:{default:()=>[g]}):null]}):null]})}}}),tn=t.defineComponent({name:"KendoSchedulerEditItem",inheritAttrs:!1,emits:["dataaction","serieschange","removeitemchange","showoccurrencedialogchange","showremovedialogchange","formitemchange","dragitemchange","resizeitemchange","focus","mousedown","mouseup","click","doubleclick","removeclick","press","drag","release","resizepress","resizestartdrag","resizeenddrag","resizerelease","formsubmit","cancel","occurrenceclick","seriesclick","keydown","keyup","removeconfirm"],props:{tabIndex:{type:Number,default:void 0},item:[String,Function,Object],viewItem:[String,Function,Object],drag:[String,Function,Object],resize:[String,Function,Object],form:[String,Function,Object],removeDialog:[String,Function,Object],occurrenceDialog:[String,Function,Object],formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},series:{type:Boolean,default:void 0},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,className:String,itemStyle:Object,editable:[Object,Boolean],readonly:Boolean,selected:Boolean,vertical:Boolean,dragHint:Boolean,resizeHint:Boolean,format:String,ignoreIsAllDay:Boolean,itemRef:Object,onRemoveclick:Function,onDataAction:Function,onFormItemChange:Function,onDragitemchange:Function,onResizeitemchange:Function},inject:{bv:{default:null},ks:{default:null},dispatchFocusedItems:{default:null},dispatchFocusedSlots:{default:null},dispatchSelectedItems:{default:null}},setup(e){const i=Is(),r=t.inject("ks",null),s=t.inject("ksEventOverview",null),o=t.shallowRef(null),n=t.shallowRef(null),a=xs(),l=()=>{o.value=null};return t.watch([()=>null==r?void 0:r.currentDate,()=>null==r?void 0:r.activeViewName],()=>{a.cancel(),l()}),Ms(()=>!!o.value,l),{...i,overviewItem:o,overviewAnchor:n,deferredOverview:a,dismissOverview:l,openOverview:(t,i=e.dataItem)=>{n.value=t.target.element,o.value=i},overviewEnabled:()=>!1!==(null==s?void 0:s())}},provide(){return{ei:this.ei,ksCancel:this.handleCancel,ksFormSubmit:this.handleFormSubmit,ksOccurrenceClick:this.handleOccurrenceClick,ksSeriesClick:this.handleSeriesClick,ksRemoveConfirm:this.handleRemoveConfirm,ksRemoveDialogCancel:this.handleRemoveDialogCancel,ksDeleteItem:this.handleDeleteItem,ksFormDelete:this.handleFormDelete,ksIsSeries:()=>!0===this.compSeries,[ws]:this.cancelCustomEventsOnBack}},data(){return{ei:{props:this.$props,form:this.$props.formItem,drag:this.drag,resize:this.resize,remove:this.remove,showRemoveDialog:this.showRemoveDialog,showOccurrenceDialog:this.showOccurrenceDialog},currentFormItem:null,currentSelected:null,currentSeries:null,currentRemoveItem:null,currentDragItem:null,currentResizeItem:null,currentShowRemoveDialog:null,currentShowOccurrenceDialog:null}},computed:{currentTabIndex(){const e=this.bv.items.length&&this.bv.items[0].dataItem.id===this.dataItem.id;return void 0!==this.$props.tabIndex?null===this.$props.tabIndex?void 0:this.$props.tabIndex:0===this.bv.selectedItems.length&&e?0:void 0},compSelected(){return void 0!==this.selected?this.selected:this.currentSelected},compSeries(){return void 0!==this.series?this.series:this.currentSeries},compFormItem(){return void 0!==this.formItem?this.formItem:this.currentFormItem},compRemoveItem(){return void 0!==this.removeItem?this.removeItem:this.currentRemoveItem},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem},compShowRemoveDialog(){return void 0!==this.showRemoveDialog?this.showRemoveDialog:this.currentShowRemoveDialog},compShowOccurrenceDialog(){return void 0!==this.showOccurrenceDialog?this.showOccurrenceDialog:this.currentShowOccurrenceDialog},actionsReducerMap(){return{[Qo.set]:this.dispatchSeries,[Qo.toggle]:this.dispatchSeries,[Qo.reset]:this.dispatchSeries,[or.select]:this.dispatchItemSelection,[or.add]:this.dispatchItemSelection,[or.remove]:this.dispatchItemSelection,[or.reset]:this.dispatchItemSelection,[or.selectNext]:this.dispatchItemSelection,[or.selectPrev]:this.dispatchItemSelection,[Oo.set]:this.dispatchFormItem,[Oo.setMaster]:this.dispatchFormItem,[Oo.reset]:this.dispatchFormItem,[Oo.complete]:this.dispatchFormItem,[Fo.set]:this.dispatchRemoveItem,[Fo.reset]:this.dispatchRemoveItem,[Fo.complete]:this.dispatchRemoveItem,[xo.close]:this.dispatchShowOccurrenceDialog,[xo.open]:this.dispatchShowOccurrenceDialog,[xo.set]:this.dispatchShowOccurrenceDialog,[xo.toggle]:this.dispatchShowOccurrenceDialog,[xo.reset]:this.dispatchShowOccurrenceDialog,[Ao.close]:this.dispatchShowRemoveDialog,[Ao.open]:this.dispatchShowRemoveDialog,[Ao.set]:this.dispatchShowRemoveDialog,[Ao.toggle]:this.dispatchShowRemoveDialog,[Ao.reset]:this.dispatchShowRemoveDialog,[Mo.start]:this.dispatchDragItem,[Mo.drag]:this.dispatchDragItem,[Mo.complete]:this.dispatchDragItem,[Mo.completeOccurrence]:this.dispatchDragItem,[Mo.completeSeries]:this.dispatchDragItem,[Mo.set]:this.dispatchDragItem,[Mo.reset]:this.dispatchDragItem,[Mo.dragSelected]:this.dispatchDragItem,[Uo.start]:this.dispatchResizeItem,[Uo.startDrag]:this.dispatchResizeItem,[Uo.startDragSelected]:this.dispatchResizeItem,[Uo.endDrag]:this.dispatchResizeItem,[Uo.endDragSelected]:this.dispatchResizeItem,[Uo.complete]:this.dispatchResizeItem,[Uo.completeOccurrence]:this.dispatchResizeItem,[Uo.completeSeries]:this.dispatchResizeItem,[Uo.set]:this.dispatchResizeItem,[Uo.reset]:this.dispatchResizeItem,[gr.next]:this.dispatchViewItemsFocus,[gr.prev]:this.dispatchViewItemsFocus,[dr.left]:this.dispatchViewSlotsFocus,[dr.right]:this.dispatchViewSlotsFocus,[dr.up]:this.dispatchViewSlotsFocus,[dr.down]:this.dispatchViewSlotsFocus,null:()=>{}}}},render(){const e=r.getDefaultSlots(this),i=this.$props.drag||To,s=this.$props.resize||Vo,o=!(!this.bv.selectedItems||!this.bv.selectedItems.some(e=>ee(e,this,this.ignoreIsAllDay)));let n;const a=t.createVNode(No,{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,className:this.className,itemStyle:this.itemStyle,editable:this.editable,readonly:this.readonly,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,showOccurrenceDialog:this.compShowOccurrenceDialog,showRemoveDialog:this.compShowRemoveDialog,formItem:this.compFormItem,dragItem:this.compDragItem,resizeItem:this.compResizeItem,removeItem:this.compRemoveItem,itemRef:this.item,selected:o,tabIndex:this.currentTabIndex,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},null);n=r.getTemplate.call(this,{h:t.h,template:this.$props.viewItem,defaultRendering:a,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}});const l=this.overviewItem&&js(this.$props.editable);return t.createVNode(t.Fragment,null,[n,this.showCustomEventsDialog&&t.createVNode(vo,{onKeep:this.handleCustomEventsKeep,onReset:this.handleCustomEventsReset,onCancel:this.handleCustomEventsCancel},null),l?t.createVNode(en,{show:!0,anchor:this.overviewAnchor,dataItem:this.overviewItem,fields:this.ks.fields,isRecurring:!!this.$props.isRecurring,canEdit:l.edit&&!this.$props.readonly,canRemove:l.remove&&!this.$props.readonly,onClose:this.handleOverviewClose,onEdit:this.handleOverviewEdit,onDelete:this.handleOverviewDelete},null):null,this.compDragItem&&this.$props.editable.drag&&(Array.isArray(this.compDragItem)?this.compDragItem.map((e,r)=>t.createVNode(i,{key:r,dataItem:e,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null)):t.createVNode(i,{dataItem:this.compDragItem,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null)),this.compResizeItem&&this.$props.editable.resize&&(Array.isArray(this.compResizeItem)?this.compResizeItem.map((e,i)=>t.createVNode(s,{key:i,dataItem:e,format:this.format,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null)):t.createVNode(s,{dataItem:this.compResizeItem,format:this.format,ignoreIsAllDay:this.ignoreIsAllDay,vertical:this.vertical,viewItem:this.$props.viewItem,item:this.$props.item},null))])},methods:{handleOverviewClose(){var e;this.dismissOverview(),null==(e=this.overviewAnchor)||e.focus({preventScroll:!0})},handleOverviewEdit(e){this.dismissOverview(),void 0!==e&&this.dispatchSeries({type:Qo.set,payload:e}),this.dispatchFormItem({type:e?Oo.setMaster:Oo.set,payload:this.$props.dataItem})},handleOverviewDelete(e){this.dismissOverview(),void 0!==e&&this.dispatchSeries({type:Qo.set,payload:e}),this.dispatchRemoveItem({type:Fo.set,payload:this.$props.dataItem}),this.dispatchShowRemoveDialog({type:Ao.open})},dispatchSeries(e,t){const i=((e,t)=>{switch(t.type){case Qo.reset:return null;case Qo.set:return t.payload;case Qo.toggle:return!e;default:return e}})(this.compSeries,e);this.currentSeries=i,this.$emit("serieschange",i)},dispatchItemSelection(e,t){this.dispatchSelectedItems(e,t)},dispatchRemoveItem(e,t){let i;switch(e.type){case Fo.set:i=e.payload;break;case Fo.reset:i=null;break;case Fo.complete:this.compRemoveItem&&N(this,{type:Sr.remove,series:this.compSeries,dataItem:this.compRemoveItem}),i=null;break;default:i=this.compRemoveItem}this.currentRemoveItem=i,this.$emit("removeitemchange",i)},dispatchShowOccurrenceDialog(e,t){const i=((e,t)=>{switch(t.type){case xo.reset:return!1;case xo.set:return t.payload;case xo.open:return!0;case xo.close:return!1;case xo.toggle:return!e;default:return e}})(this.compShowOccurrenceDialog,e);this.currentShowOccurrenceDialog=i,this.$emit("showoccurrencedialogchange",i)},dispatchShowRemoveDialog(e,t){const i=((e,t)=>{switch(t.type){case Ao.reset:return!1;case Ao.set:return t.payload;case Ao.open:return!0;case Ao.close:return!1;case Ao.toggle:return!e;default:return e}})(this.compShowRemoveDialog,e);this.currentShowRemoveDialog=i,this.$emit("showremovedialogchange",i)},dispatchDragItem(e,t){qo.call(this,e)},dispatchResizeItem(e,t){Yo.call(this,e,t)},dispatchViewSlotsFocus(e,t){this.dispatchFocusedSlots(e,t)},dispatchViewItemsFocus(e,t){this.dispatchFocusedItems(e,t)},dispatchFormItem(e,t){let i;switch(e.type){case Oo.set:i=e.payload;break;case Oo.reset:i=null;break;case Oo.setMaster:i=r.clone(H(e.payload,this.ks.fields,this.ks.dataItems));break;case Oo.complete:if(this.compFormItem)return void N(this,{type:Sr.update,series:this.compSeries,dataItem:e.payload},void 0,()=>{this.currentFormItem=null,this.$emit("formitemchange",null)});break;default:i=this.compFormItem}this.currentFormItem=i,this.$emit("formitemchange",i)},handleFocus(e){if(this.onFocusAction){const t=this.onFocusAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("focus",e)},handleMouseDown(e){if(this.onMouseDownAction){const t=this.onMouseDownAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("mousedown",e)},handleMouseUp(e){if(this.onMouseUpAction){const t=this.onMouseUpAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("mouseup",e)},handleClick(e){if(this.onClickAction){const t=this.onClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this},e)):this.actionsReducerMap[t.type]({...t,item:this}))}if(this.$emit("click",e),this.overviewEnabled()){const t=this.$props.dataItem;this.deferredOverview.schedule(()=>this.openOverview(e,t))}},handleDoubleClick(e){if(this.deferredOverview.cancel(),this.dismissOverview(),this.onDoubleClickAction){const t=this.onDoubleClickAction(e,this.$props),i=this;t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&i.actionsReducerMap[t.type]({...t,item:i.dataItem},e)):i.actionsReducerMap[t.type]({...t,item:i.dataItem}))}this.$emit("doubleclick",e)},handleRemoveClick(e){if(this.onRemoveClickAction){const t=this.onRemoveClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem}))}this.$emit("removeclick",e)},handlePress(e){if(this.onPressAction){const t=this.onPressAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("press",e)},handleDrag(e){if(this.onDragAction){const t=this.onDragAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("drag",e)},handleRelease(e){if(this.onReleaseAction){const t=this.onReleaseAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("release",e)},handleResizePress(e){if(this.onResizePressAction){const t=this.onResizePressAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizepress",e)},handleResizeStartDrag(e){if(this.onResizeStartDragAction){const t=this.onResizeStartDragAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){if(this.onResizeEndDragAction){const t=this.onResizeEndDragAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizeenddrag",e)},handleResizeRelease(e){if(this.onResizeReleaseAction){const t=this.onResizeReleaseAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.dragEvent.originalEvent))}this.$emit("resizerelease",e)},handleFormSubmit(e){if(this.onFormSubmitAction){const t=this.onFormSubmitAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("formsubmit",e)},handleCancel(e){if(this.clearCustomEvents(),this.onCancelAction){const t=this.onCancelAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("cancel",e)},handleOccurrenceClick(e){if(this.onOccurrenceClickAction){const t=this.onOccurrenceClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("occurrenceclick",e)},handleSeriesClick(e){if(this.onSeriesClickAction){const t=this.onSeriesClickAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e))}this.$emit("seriesclick",e)},handleKeyDown(e){if(this.overviewEnabled()&&("Enter"===e.event.key||e.event.keyCode===r.Keys.enter))return e.event.preventDefault(),this.openOverview(e),void this.$emit("keydown",e);if(this.onKeyDownAction){const t=this.onKeyDownAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this},e.event)):this.actionsReducerMap[t.type]({...t,item:this},e.event))}this.$emit("keydown",e)},handleKeyUp(e){if(this.onKeyUpAction){const t=this.onKeyUpAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event))}this.$emit("keyup",e)},handleRemoveConfirm(e){if(this.onRemoveConfirmAction){const t=this.onRemoveConfirmAction(e,this.$props);t&&(Array.isArray(t)?t.filter(Boolean).map(t=>t&&this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event)):this.actionsReducerMap[t.type]({...t,item:this.dataItem},e.event))}this.$emit("removeconfirm",e)},handleDeleteItem(e){N(this,{type:Sr.remove,series:this.compSeries,dataItem:e})},handleFormDelete(e){this.dispatchRemoveItem({type:Fo.set,payload:e},null),this.dispatchShowRemoveDialog({type:Ao.open},null)},handleRemoveDialogCancel(e){this.compFormItem?(this.dispatchRemoveItem({type:Fo.reset},null),this.dispatchShowRemoveDialog({type:Ao.close},null)):this.handleCancel(e)},onClickAction(e,t){return[{type:e.event.metaKey||e.event.ctrlKey?!this.compSelected||this.compDragItem||this.compResizeItem?or.add:or.remove:or.select}]},onDoubleClickAction:(e,t)=>t.editable?[{type:Oo.set,payload:t.dataItem},t.isRecurring&&{type:xo.open}].filter(Boolean):[],onRemoveClickAction:(e,t)=>t.editable?[{type:Fo.set,payload:t.dataItem},t.isRecurring?{type:xo.open}:{type:Ao.open}]:[],onPressAction:(e,t)=>t.editable?{type:Mo.start,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onDragAction:(e,t)=>t.editable?{type:e.dragEvent.originalEvent.metaKey||e.dragEvent.originalEvent.ctrlKey?Mo.dragSelected:Mo.drag,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onReleaseAction(e,t){return t.editable&&this.compDragItem?t.isRecurring&&!t.isException&&null===this.compSeries?{type:xo.open}:{type:t.isRecurring?this.compSeries?Mo.completeSeries:Mo.completeOccurrence:Mo.complete,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[]},onResizePressAction:(e,t)=>t.editable?{type:Uo.start,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onResizeStartDragAction:(e,t)=>t.editable?{type:e.dragEvent.originalEvent.metaKey||e.dragEvent.originalEvent.ctrlKey?Uo.startDragSelected:Uo.startDrag,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onResizeEndDragAction:(e,t)=>t.editable?{type:e.dragEvent.originalEvent.metaKey||e.dragEvent.originalEvent.ctrlKey?Uo.endDragSelected:Uo.endDrag,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[],onResizeReleaseAction(e,t){return t.editable&&this.compResizeItem?t.isRecurring&&!t.isException&&null===this.compSeries?{type:xo.open}:{type:t.isRecurring?this.compSeries?Uo.completeSeries:Uo.completeOccurrence:Uo.complete,payload:{x:e.dragEvent.clientX,y:e.dragEvent.clientY}}:[]},onOccurrenceClickAction(e,t){return this.compDragItem?[{type:Mo.completeOccurrence},{type:xo.close}]:this.compResizeItem?[{type:Uo.completeOccurrence},{type:xo.close}]:this.compFormItem?[{type:Qo.set,payload:!1},{type:Oo.set,payload:t.dataItem},{type:xo.close}]:this.compRemoveItem?[{type:Qo.set,payload:!1},{type:Fo.set,payload:t.dataItem},{type:Ao.open},{type:xo.close}]:void 0},onSeriesClickAction(e,t){return this.compDragItem?[{type:Mo.completeSeries},{type:xo.close}]:this.compResizeItem?[{type:Uo.completeSeries},{type:xo.close}]:this.compFormItem?[{type:Qo.set,payload:!0},{type:Oo.setMaster,payload:t.dataItem},{type:xo.close}]:this.compRemoveItem?[{type:Qo.set,payload:!0},{type:Fo.set,payload:t.dataItem},{type:Ao.open},{type:xo.close}]:void 0},onKeyDownAction(e,t){let i;switch(e.event.keyCode){case r.Keys.enter:return[{type:Oo.set,payload:t.dataItem},t.isRecurring&&{type:xo.open}];case r.Keys.tab:return[{type:e.event.shiftKey?gr.prev:gr.next,ignoreIsAllDay:t.ignoreIsAllDay},{type:e.event.shiftKey?or.selectPrev:or.selectNext,ignoreIsAllDay:t.ignoreIsAllDay}];case r.Keys.up:return i=this.bv.slots.find(e=>ie(e.cSlot,t.slots[0])),[!(!t.slots.length||!i)&&{type:dr.up,slot:i}];case r.Keys.right:return i=this.bv.slots.find(e=>ie(e.cSlot,t.slots[0])),[!(!t.slots.length||!i)&&{type:dr.right,slot:i}];case r.Keys.down:return i=this.bv.slots.find(e=>ie(e.cSlot,t.slots[t.slots.length-1])),[!(!t.slots.length||!i)&&{type:dr.down,slot:i}];case r.Keys.left:return i=this.bv.slots.find(e=>ie(e.cSlot.cSlot,t.slots[0])),[!(!t.slots.length||!i)&&{type:dr.left,slot:i}];case r.Keys.delete:case r.Keys.backspace:return[{type:Fo.set,payload:t.dataItem},t.isRecurring?{type:xo.open}:{type:Ao.open}];default:return}},onFormSubmitAction:e=>({type:Oo.complete,payload:e.value}),onRemoveConfirmAction:()=>[{type:Fo.complete},{type:xo.close}],onCancelAction:()=>[{type:Qo.reset},{type:Fo.reset},{type:Oo.reset},{type:Mo.reset},{type:Uo.reset},{type:Ao.reset},{type:xo.reset}]}}),rn=t.defineComponent({name:"KendoDateHeaderCell",props:{as:[String,Function,Object],format:{type:[String,Object],default:"d"},date:[Date,Object],start:Date,end:Date},inject:{kendoIntlService:{default:null}},setup:()=>({kendoIntlService:t.inject("kendoIntlService",{})}),render(){const e=n.provideIntlService(this),i=this.$props.format||"d",s=!this.$props.as&&"object"==typeof i&&"skeleton"in i&&"string"==typeof i.skeleton&&i.skeleton.includes("E")&&i.skeleton.includes("d"),o=s?null:e.formatDate(this.$props.date,i),a=r.getTemplate.call(this,{h:t.h,template:this.$props.as,defaultRendering:o,additionalProps:{default:o,date:this.$props.date,format:this.$props.format}});return t.createVNode("div",{class:"k-scheduler-cell k-heading-cell"},[s?t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"k-scheduler-date-day"},[e.formatDate(this.$props.date,"EEE")]),t.createVNode("span",{class:"k-link k-nav-day","aria-label":e.formatDate(this.$props.date,{skeleton:"Ed"})},[e.formatDate(this.$props.date,{skeleton:"d"})])]):t.createVNode("span",{class:"k-link k-nav-day"},[a])])}});function sn(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const on=t.defineComponent({name:"KendoMultiDayTimelineView",emits:["dataaction"],props:{name:{type:String,default:"multi-day-timeline"},title:{type:String,default:"Multi Day Timeline"},currentTimeMarker:{type:Boolean,default:!0},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},showWorkHours:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return nn}},selectedDateFormat:{type:String,default:"{0:M}"},selectedShortDateFormat:{type:String,default:"{0:m}"},step:{type:Number,default:1},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"00:00"},workDayStart:{type:String,default:"8:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},defaultShowWorkHours:{type:Boolean,default:!0},columnWidth:{type:Number,default:100},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},onDataAction:Function},data:()=>({hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0,rowSyncTimeout:void 0,rowSyncObserver:null}),inject:{ks:{default:null},kendoIntlService:{default:null}},computed:{viewStart(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayStart),t=this.intl.parseDate(this.$props.startTime);return this.showWorkHours?e:t},viewEnd(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayEnd),t=this.intl.parseDate(this.$props.endTime);return this.showWorkHours?e:t},ranges(){return Ys(this.ks.dateRange,{step:i.MS_PER_DAY,timezone:this.ks.timezone})},timelineSlots(){return Do(this.ks.dateRange,{step:this.slotDuration/this.slotDivisions*i.MS_PER_MINUTE},{groups:this.ks.groups,ranges:this.ranges}).filter(e=>Z(e.zonedStart,this.viewStart,this.viewEnd)||this.viewStart.getTime()===this.viewEnd.getTime())},occurrences(){return Qs(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=to(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges}).filter(e=>oo(e,this.viewStart,this.viewEnd));return J(e,this.timelineSlots,!0),X(e,this.timelineSlots,!0),e},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem}},mounted(){this.timeRef=null,this.bodyRef=null,this.hasMounted=!0,fr({element:this.$el,selector:".k-resource-cell",attribute:"data-depth-index",explicitDepth:!0}),this.scheduleRowSync(),this.observeSlotChanges()},unmounted(){void 0!==this.rowSyncTimeout&&window.cancelAnimationFrame(this.rowSyncTimeout),this.rowSyncObserver&&(this.rowSyncObserver.disconnect(),this.rowSyncObserver=null)},updated(){fr({element:this.$el,selector:".k-resource-cell",attribute:"data-depth-index",explicitDepth:!0}),this.scheduleRowSync()},render(){const e=n.provideIntlService(this),i=this.$props.slotDuration,r=e.parseDate(this.$props.workDayStart),s=e.parseDate(this.$props.workDayEnd),o=[...this.items],a=[...this.timelineSlots],l=("horizontal"===this.ks.orientation?a.length:a.length/this.ks.groups.length)*(this.$props.columnWidth+1),d=[t.createVNode("div",{class:"k-scheduler-row"},[this.ranges.map(function(e,i){return t.createVNode(rn,{as:this.$props.dateHeaderCell,key:i,date:e.zonedStart,start:e.start,end:e.end,format:"m"},null)},this)]),t.createVNode("div",{class:"k-scheduler-row",ref:"timeRef"},[this.ranges.map(function(e,r){return a.filter(e=>0===e.group.index&&e.range.index===r).map(function(e){return e.zonedStart.getMinutes()%i===0?t.createVNode(Bs,{key:e.index,as:this.$props.timeHeaderCell,format:"t",date:e.zonedStart,start:e.zonedStart,end:e.zonedEnd},null):null},this)},this)])];return t.createVNode(yr,{id:this.$props.id,class:"k-scheduler-timelineview",viewProps:{...this.$props},baseSlots:a,ranges:this.ranges},{default:()=>[t.createVNode("div",{class:"k-scheduler-head",style:{width:l+"px"}},["horizontal"===this.ks.orientation?t.createVNode(Io,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:$o},sn(d)?d:{default:()=>[d]}):t.createVNode(Gs,{wrapGroup:!0,group:this.ks.props.group,resources:this.ks.props.resources,editable:this.$props.editable},sn(d)?d:{default:()=>[d]})]),t.createVNode("div",{class:"k-scheduler-body",style:{width:l+"px"},ref:"bodyRef"},["horizontal"===this.ks.orientation?t.createVNode(Io,{group:this.ks.props.group,resources:this.ks.props.resources,rowContent:Co},{default:()=>[t.createVNode(qs,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,ranges:this.ranges,workDayStart:r,workDayEnd:s,timelineSlots:a,onDataaction:this.handleDataAction},null)]}):t.createVNode(Gs,{nested:!0,wrapGroup:!0,group:this.ks.props.group,resources:this.ks.props.resources,onDataaction:this.handleDataAction,more:{ranges:this.ranges,workDayStart:r,workDayEnd:s,timelineSlots:a,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,editable:this.$props.editable,currentTimeMarker:this.$props.currentTimeMarker}},null),this.hasMounted&&o.sort(ne).map(function(e){return t.createVNode(tn,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,uid:e.uid,start:e.start,end:e.end,originalStart:e.originalStart,startTimezone:e.startTimezone,endTimezone:e.endTimezone,isAllDay:e.isAllDay,title:e.title,description:e.description,occurrenceId:e.occurrenceId,recurrenceExceptions:e.recurrenceExceptions,recurrenceRule:e.recurrenceRule,recurrenceId:e.recurrenceId,dataItem:e.dataItem,itemRef:e.itemRef,head:e.head,tail:e.tail,order:e.order,zonedStart:e.zonedStart,zonedEnd:e.zonedEnd,slots:e.slots,group:e.group,range:e.range,isException:e.isException,isRecurring:e.isRecurring,readonly:e.readonly,format:"t",form:this.$props.form,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,onDataaction:this.handleDataAction,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,ignoreIsAllDay:!0,vertical:!1},null)},this)])]})},methods:{scheduleRowSync(){void 0!==this.rowSyncTimeout&&window.cancelAnimationFrame(this.rowSyncTimeout),this.rowSyncTimeout=window.requestAnimationFrame(()=>{this.rowSyncTimeout=window.requestAnimationFrame(()=>{this.runRowSync()})})},runRowSync(){const e=this.$el?this.$el.closest(".k-scheduler-layout"):null;e&&(e=>{const{element:t}=e;(()=>{if(!t)return;let i=[[]];Array.from(t.querySelectorAll(e.selector)).filter(t=>!t.classList.contains((e=>e.slice(1,e.length))(e.applyTo))).forEach(t=>{const r=t.clientHeight,s=t.getAttribute(e.horizontalAttribute),o=t.getAttribute(e.verticalAttribute);null===s||null===o||(i[s]||(i[s]=[]),(!i[s][o]||r>i[s][o])&&(i[s][o]=r-1))}),Array.from(t.querySelectorAll(e.applyTo)).forEach(t=>{const r=t.getAttribute(e.horizontalAttribute),s=t.getAttribute(e.verticalAttribute);if(null===r||null===s)return;const o=D(t),n=i[r][s]-o;b(t,{height:n},!0)})})()})({element:e,selector:".k-resource-row",horizontalAttribute:"data-depth-index",verticalAttribute:"data-resource-index",applyTo:".k-resource-cell"})},observeSlotChanges(){const e=this.$el?this.$el.querySelector(".k-scheduler-body"):null;e&&(this.rowSyncObserver=new MutationObserver(e=>{e.some(e=>e.target instanceof HTMLElement&&e.target.classList.contains("k-slot-cell"))&&this.scheduleRowSync()}),this.rowSyncObserver.observe(e,{attributes:!0,attributeFilter:["style"],subtree:!0}))},handleDataAction(e){N(this,e)},handleDragItemChange(e){this.currentDragItem=e},handleResizeItemChange(e){this.currentResizeItem=e}}}),nn=({date:e,numberOfDays:t=1,timezone:r})=>{const s=i.ZonedDate.fromLocalDate(e,r),o=i.getDate(s),n=i.addDays(o,t),a=i.ZonedDate.fromUTCDate(W(o),r),l=i.ZonedDate.fromUTCDate(W(n),r);return{start:new Date(a.getTime()),end:new Date(l.getTime()),zonedStart:a,zonedEnd:l}},an=t.defineComponent({name:"KendoTimelineView",emits:{dataaction:null},props:{onDataAction:Function,name:{type:String,default:"timeline"},title:{type:String,default:"Multi Day Timeline"},currentTimeMarker:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return on.props.dateRange.default()}},showWorkHours:{type:Boolean,default:!0},selectedDateFormat:{type:String,default:"{0:M}"},selectedShortDateFormat:{type:String,default:"{0:m}"},step:{type:Number,default:1},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"00:00"},workDayStart:{type:String,default:"8:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},defaultShowWorkHours:{type:Boolean,default:!0},columnWidth:{type:Number,default:100},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:[Object,Boolean]},render(){return t.createVNode(on,{name:this.$props.name,dragItem:this.$props.dragItem,resizeItem:this.$props.resizeItem,dateRange:this.$props.dateRange,step:this.$props.step,numberOfDays:this.$props.numberOfDays,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,columnWidth:this.$props.columnWidth,title:this.$props.title,currentTimeMarker:this.$props.currentTimeMarker,startTime:this.$props.startTime,endTime:this.$props.endTime,workDayStart:this.$props.workDayStart,workDayEnd:this.$props.workDayEnd,workWeekStart:this.$props.workWeekStart,workWeekEnd:this.$props.workWeekEnd,timeHeaderCell:this.$props.timeHeaderCell,dateHeaderCell:this.$props.dateHeaderCell,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){N(this,e)}}}),ln=t.defineComponent({name:"KendoDayViewGroupRowContent",props:{rangeIndex:Number},render(){return t.createVNode("div",{class:"k-scheduler-cell k-side-cell","data-range-index":this.$props.rangeIndex},null)}}),dn=t.defineComponent({name:"KendoDayViewAllDayRowContent",props:{groupIndex:Number},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this);return t.createVNode("div",{class:"k-scheduler-cell k-heading-cell k-side-cell k-scheduler-times-all-day"},[e.toLanguageString(pe,tr[pe])])}}),cn=t.defineComponent({name:"KendoDayViewMiddleRow",emits:["dataaction"],props:{editable:[Object,Boolean],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],timeRanges:Array,timeSlots:Array,slotDivisions:{type:Number,default:2},rootIndex:{type:Number},root:Object,numberOfDays:Number,workDayStart:Date,workDayEnd:Date,workWeekStart:Number,workWeekEnd:Number,onDataAction:Function},inject:{ks:{default:null},ri:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.timeSlots,t=this.ri.groupIndex,i=this.root;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.timeRanges,i)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.timeSlots,t=this.ri.groupIndex,i=this.root;return this.calculateRanges(e,t,this.timeRanges,i)}},render(){var e;const i=this.$props.editSlot||(null==(e=this.ks)?void 0:e.editSlot)||Ls,s=this,o=s.numberOfDays+s.workWeekStart;return t.createVNode("div",{class:r.classNames("k-scheduler-row",{"k-middle-row":(this.rootIndex+1)%this.slotDivisions!==0})},[this.currentCellSlots.map(function(e,r){return t.createVNode(i,{index:r,onDataaction:this.handleDataAction,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,form:this.$props.form,row:this.rootIndex+1,col:this.timeRanges.length*(this.ri.groupIndex||0)+e.range.index,isWorkHour:Z(e.zonedStart,s.workDayStart,s.workDayEnd),isWorkDay:0<=e.zonedStart.getDay()+(s.numberOfDays-o)&&(e.zonedStart.getDay()+(s.numberOfDays-o))%s.numberOfDays<=s.workWeekEnd+(s.numberOfDays-o),editable:s.$props.editable},null)},s)])},methods:{handleDataAction(e){N(this,e)},calculateRanges:(e,t,i,r)=>i.map(function(i,s){return e.filter(e=>e.index===r.index&&e.range.index===s&&e.group.index===t)}).flat()}}),un=t.defineComponent({name:"KendoDayViewVerticalRow",emits:["dataaction"],props:{editable:[Object,Boolean],dayRanges:Array,daySlots:Array,timeSlots:Array,onDataAction:Function},inject:{ks:{default:null},ri:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.daySlots,t=this.ri.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.dayRanges)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.daySlots,t=this.ri.groupIndex;return this.calculateRanges(e,t,this.dayRanges)}},render(){var e;const i=this.$props.editSlot||(null==(e=this.ks)?void 0:e.editSlot)||Ls,r=this.ri.groupIndex,{timeSlots:s}=this.$props;return t.createVNode("div",{class:"k-scheduler-row"},[t.createVNode(dn,{groupIndex:r},null),this.currentCellSlots.map(function(e,o){const n=s.filter(e=>e.group.index===r&&0===e.range.index).length;return t.createVNode(i,{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,form:this.$props.form,index:o,onDataaction:this.handleDataAction,className:"k-scheduler-alldays-slot",row:n*(r||0)+1*(r||0),col:o,expandable:!0,editable:this.$props.editable},null)},this)])},methods:{handleDataAction(e){N(this,e)},calculateRanges:(e,t,i)=>i.map(function(i,r){return e.filter(e=>e.group.index===t&&e.range.index===r)}).flat()}}),hn=t.defineComponent({name:"KendoDayViewHead",props:{timeRanges:Array,dateHeaderCell:[String,Function,Object]},inject:{ri:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1}},render(){const e="function"==typeof this.ksMobile&&this.ksMobile()?"k-scheduler-row k-mobile-header k-mobile-horizontal-header":"k-scheduler-row";return t.createVNode("div",{class:e,key:this.ri.groupIndex},[this.timeRanges.map(function(e,r){return t.createVNode(rn,{as:this.$props.dateHeaderCell,key:r,date:i.ZonedDate.fromLocalDate(new Date(e.zonedEnd.getTime()-(e.zonedEnd.getTime()-e.zonedStart.getTime())/2),this.ks.timezone),start:e.start,end:e.end,format:{skeleton:"MEd"}},null)},this)])}}),pn=t.defineComponent({name:"KendoDayViewAllDaySlots",emits:["dataaction"],props:{slotRender:[String,Function,Object],viewSlot:[String,Function,Object],dayRanges:Array,daySlots:Array,numberOfDays:Number,workWeekStart:Number,workWeekEnd:Number,editable:{type:[Boolean,Object],default:!1},onDataAction:Function},inject:{ri:{default:null},ks:{default:null},setSlots:{default:null}},provide(){return{ksSlots:this.ksSlots}},data(){const e=this.daySlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return{ksSlots:{cSlots:this.calculateRanges(e,t,this.dayRanges)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){const e=this.daySlots,t=void 0!==this.groupIndex?this.groupIndex:this.ri.groupIndex;return this.calculateRanges(e,t,this.dayRanges)}},render(){var e;const i=(null==(e=this.ks)?void 0:e.editSlot)||Ls,{numberOfDays:r,workWeekStart:s,workWeekEnd:o}=this.$props,n=this.ri.groupIndex;return t.createVNode("div",{key:n,class:"k-scheduler-row"},[this.currentCellSlots.map(function(e,a,l){return t.createVNode(i,{index:a,onDataaction:this.handleDataAction,form:this.$props.form,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,row:0,col:"horizontal"===this.ks.orientation?l.length*(n||0)+a:a,isWorkDay:0<=e.zonedStart.getDay()+(r-s)&&(e.zonedStart.getDay()+(r-s))%r<=o+(r-s),expandable:!0,editable:this.$props.editable},null)},this)])},methods:{handleDataAction(e){N(this,e)},calculateRanges:(e,t,i)=>i.map(function(i,r){return e.filter(e=>e.group.index===t&&e.range.index===r)}).flat()}}),mn=t.defineComponent({name:"KendoMultiDayView",emits:["dataaction"],props:{name:{type:String,default:"multi-day"},title:{type:String,default:"Multi Day"},currentTimeMarker:{type:Boolean,default:!0},dateRange:{type:[Function,Object],default:function(){return gn}},numberOfDays:{type:Number,default:1},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},step:{type:Number,default:1},slotDivisions:{type:Number,default:2},slotDuration:{type:Number,default:60},showWorkHours:{type:Boolean,default:!0},selectedDateFormat:{type:String,default:"{0:D} - {1:D}"},selectedShortDateFormat:{type:String,default:"{0:d} - {1:d}"},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},format:{type:String,default:"t"},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},onDataAction:Function},inject:{kendoIntlService:{default:null},ks:{default:null}},computed:{viewStart(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayStart),t=this.intl.parseDate(this.$props.startTime);return(void 0!==this.ks.showWorkHours?this.ks.showWorkHours:this.showWorkHours)?e:t},viewEnd(){this.intl=n.provideIntlService(this);const e=this.intl.parseDate(this.$props.workDayEnd),t=this.intl.parseDate(this.$props.endTime);return(void 0!==this.ks.showWorkHours?this.ks.showWorkHours:this.showWorkHours)?e:t},dayRanges(){return Ys(this.ks.dateRange,{step:i.MS_PER_DAY*this.numberOfDays,timezone:this.ks.timezone}).map(e=>({...e,isAllDay:!0}))},timeRanges(){return Ys(this.ks.dateRange,{step:i.MS_PER_DAY,timezone:this.ks.timezone}).map(e=>({...e,isAllDay:!1}))},daySlots(){return Do(this.ks.dateRange,{step:i.MS_PER_DAY},{groups:this.ks.groups,ranges:this.dayRanges})},timeSlots(){const e=this;return Do(this.ks.dateRange,{step:this.slotDuration*Dr/this.slotDivisions},{groups:this.ks.groups,ranges:this.timeRanges}).filter(t=>e.viewEnd.getTime()===e.viewStart.getTime()||Z(t.zonedStart,e.viewStart,e.viewEnd))},occurrences(){return Qs(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},occurrenceLanes(){const e={day:[],time:[]};return this.occurrences.forEach(t=>{(t.isAllDay||E(t.start,t.end,this.ks.timezone)?e.day:e.time).push(t)}),e},dayOccurrences(){return this.occurrenceLanes.day},timeOccurrences(){return this.occurrenceLanes.time},dayItems(){const e=to(this.dayOccurrences,{timezone:this.ks.timezone,ignoreIsAllDay:!0},{groups:this.ks.groups,ranges:this.dayRanges});return J(e,this.daySlots,!0),X(e,this.daySlots,!0),e},timeItems(){const e=to(this.timeOccurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.timeRanges}).filter(e=>oo(e,this.viewStart,this.viewEnd));return J(e,this.timeSlots,!1),X(e,this.timeSlots,!1),e},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem}},data:()=>({hasMounted:!1,currentDragItem:void 0,currentResizeItem:void 0}),mounted(){this.hasMounted=!0},created(){this.intl=n.provideIntlService(this)},beforeUpdate(){this.intl=n.provideIntlService(this)},render(){this.intl=n.provideIntlService(this);const e=this.$props.editItem||tn;this.$props.editSlot,this.$props.showWorkHours;const i=this.$props.numberOfDays,r=this.$props.slotDivisions;this.$props.slotDuration;const s=this.$props.workWeekStart,o=this.$props.workWeekEnd,a=this.intl.parseDate(this.$props.workDayStart),l=this.intl.parseDate(this.$props.workDayEnd),d=this.dayItems,c=this.timeItems,u=this.daySlots,h=this.timeSlots,p="workweek"===this.ks.view.name||"week"===this.ks.view.name;return t.createVNode(yr,{id:this.$props.id,viewProps:{...this.$props},class:p?"k-scheduler-weekview":"k-scheduler-dayview",ranges:[...this.dayRanges,...this.timeRanges],baseSlots:[...u,...h]},{default:()=>[t.createVNode("div",{class:"k-scheduler-head"},["horizontal"===this.ks.orientation?[t.createVNode(Io,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:ln,childRowContent:ln},{default:()=>[t.createVNode(hn,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]}),t.createVNode(Io,{group:this.ks.props.group,resources:this.ks.props.resources,rowContent:dn,childRowContent:dn},{default:()=>[t.createVNode(pn,{editable:this.$props.editable,dayRanges:this.dayRanges,daySlots:u,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,numberOfDays:i,workWeekStart:s,workWeekEnd:o,onDataaction:this.handleDataAction},null)]}),this.hasMounted&&d.map(function(i){return t.createVNode(e,{key:i.isRecurring?`${i.uid}:${i.group.index}:${i.range.index}:${i.originalStart}`:`${i.uid}:${i.group.index}:${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,form:this.$props.form,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,ignoreIsAllDay:!0,vertical:!1},null)},this)]:t.createVNode(Gs,{group:this.ks.props.group,resources:this.ks.props.resources,emptyCell:!0,editable:this.$props.editable},{default:()=>[t.createVNode(hn,{timeRanges:this.timeRanges,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),t.createVNode("div",{class:"k-scheduler-body"},["horizontal"===this.ks.orientation?[h.filter(e=>0===e.group.index&&0===e.range.index).map(function(e,n){return t.createVNode(Io,{key:e.index,nested:!1,group:this.ks.props.group,resources:this.ks.props.resources,rowContent:Ws,rowContentProps:{timeHeaderCell:this.$props.timeHeaderCell,isMaster:n%r===0,isLast:(n+1)%r===0,contentSlot:e}},{default:()=>[t.createVNode(cn,{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,timeRanges:this.timeRanges,timeSlots:h,slotDivisions:r,rootIndex:n,root:e,numberOfDays:i,workDayStart:a,workDayEnd:l,workWeekStart:s,workWeekEnd:o,onDataaction:this.handleDataAction,editable:this.$props.editable},null)]})},this),this.$props.currentTimeMarker&&q($(this.timeRanges).start,C(this.timeRanges).end,new Date,new Date,!0)&&[t.createVNode(Ps,null,null),t.createVNode(Hs,null,null)]]:[t.createVNode(Gs,{nested:!0,group:this.ks.props.group,resources:this.ks.props.resources,onDataaction:this.handleDataAction,more:{timeRanges:this.timeRanges,timeSlots:h,workDayStart:a,workDayEnd:l,numberOfDays:i,workWeekStart:s,workWeekEnd:o,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,editable:this.$props.editable,currentTimeMarker:this.$props.currentTimeMarker}},{default:()=>[t.createVNode(un,{onDataaction:this.handleDataAction,daySlots:u,timeSlots:h,dayRanges:this.dayRanges,editable:this.$props.editable},null)]}),this.hasMounted&&d.map(function(i){return t.createVNode(e,{key:i.isRecurring?`${i.uid}:${i.group.index} : ${i.range.index} : ${i.originalStart}`:`${i.uid}:${i.group.index} : ${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,ignoreIsAllDay:!0,vertical:!1},null)},this)],this.hasMounted&&c.map(function(i){return t.createVNode(e,{key:i.isRecurring?`${i.uid}:${i.group.index}:${i.range.index}:${i.originalStart}`:`${i.uid}:${i.group.index}:${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,format:"t",onDataaction:this.handleDataAction,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,viewItem:this.$props.viewItem,item:this.$props.item,form:this.$props.form,editable:this.$props.editable,vertical:!0},null)},this)])]})},methods:{handleDataAction(e){N(this,e)},handleDragItemChange(e){this.currentDragItem=e},handleResizeItemChange(e){this.currentResizeItem=e}}}),gn=({date:e,numberOfDays:t=1,timezone:r})=>{const s=i.ZonedDate.fromLocalDate(e,r),o=i.getDate(s),n=i.addDays(o,t),a=i.ZonedDate.fromUTCDate(W(o),r),l=i.ZonedDate.fromUTCDate(W(n),r);return{start:new Date(a.getTime()),end:new Date(l.getTime()),zonedStart:a,zonedEnd:l}},vn=t.defineComponent({name:"KendoDayView",emits:{dataaction:null},props:{onDataAction:Function,name:{type:String,default:"day"},title:String,dateRange:{type:[Function,Object],default:function(){return mn.props.dateRange.default()}},showWorkHours:{type:Boolean,default:!0},step:{type:Number,default:1},numberOfDays:{type:Number,default:1},slotDuration:{type:Number,default:60},slotDivisions:{type:Number,default:2},selectedDateFormat:{type:String,default:"{0:M}"},selectedShortDateFormat:{type:String,default:"{0:m}"},currentTimeMarker:{type:Boolean,default:!0},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},format:String},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this).toLanguageString(Se,tr[Se]);return t.createVNode(mn,{name:this.$props.name,dateRange:this.$props.dateRange,step:this.$props.step,numberOfDays:this.$props.numberOfDays,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,title:e,currentTimeMarker:this.$props.currentTimeMarker,startTime:this.$props.startTime,endTime:this.$props.endTime,workDayStart:this.$props.workDayStart,workDayEnd:this.$props.workDayEnd,workWeekStart:this.$props.workWeekStart,workWeekEnd:this.$props.workWeekEnd,defaultShowWorkHours:this.$props.defaultShowWorkHours,timeHeaderCell:this.$props.timeHeaderCell,dateHeaderCell:this.$props.dateHeaderCell,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){N(this,e)}}}),fn=t.defineComponent({name:"KendoWeekView",emits:{dataaction:null},props:{onDataAction:Function,name:{type:String,default:"week"},slotDuration:{type:Number,default:60},slotDivisions:{type:Number,default:2},numberOfDays:{type:Number,default:7},dateRange:{type:[Function,Object],default:function(){return yn}},title:String,selectedDateFormat:{type:String,default:"{0:M} - {1:M}"},selectedShortDateFormat:{type:String,default:"{0:m} - {1:m}"},showWorkHours:{type:Boolean,default:!0},currentTimeMarker:{type:Boolean,default:!0},startTime:{type:String,default:"00:00"},endTime:{type:String,default:"23:59"},workDayStart:{type:String,default:"08:00"},workDayEnd:{type:String,default:"17:00"},workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},defaultShowWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1},format:String},inject:{kendoLocalizationService:{default:null}},render(){const e=n.provideLocalizationService(this).toLanguageString(fe,tr[fe]);return t.createVNode(mn,{name:this.$props.name,dateRange:this.$props.dateRange,numberOfDays:this.$props.numberOfDays,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,title:e,step:7,currentTimeMarker:this.$props.currentTimeMarker,startTime:this.$props.startTime,endTime:this.$props.endTime,workDayStart:this.$props.workDayStart,workDayEnd:this.$props.workDayEnd,workWeekStart:this.$props.workWeekStart,workWeekEnd:this.$props.workWeekEnd,defaultShowWorkHours:this.$props.defaultShowWorkHours,dateHeaderCell:this.$props.dateHeaderCell,timeHeaderCell:this.$props.timeHeaderCell,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){N(this,e)}}}),yn=({intl:e,date:t,timezone:r})=>{const s=i.ZonedDate.fromLocalDate(t,r),o=(e=>i.getDate(e))(i.firstDayInWeek(s,e.firstDay())),n=((e,t)=>i.getDate(i.addDays(e,t)))(o,7),a=i.ZonedDate.fromUTCDate(W(o),r),l=i.ZonedDate.fromUTCDate(W(n),r);return{start:new Date(a.getTime()),end:new Date(l.getTime()),zonedStart:a,zonedEnd:l}},kn=t.defineComponent({name:"KendoWorkWeekView",emits:{dataaction:null},props:{onDataAction:Function,name:{type:String,default:"work-week"},slotDuration:{type:Number,default:60},slotDivisions:{type:Number,default:2},numberOfDays:{type:Number,default:7},dateRange:{type:[Function,Object],default:function(){return Sn}},title:String,workWeekStart:{type:Number,default:i.Day.Monday},workWeekEnd:{type:Number,default:i.Day.Friday},selectedDateFormat:{type:String,default:"{0:M} - {1:M}"},selectedShortDateFormat:{type:String,default:"{0:m} - {1:m}"},showWorkHours:{type:Boolean,default:!0},dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{kendoLocalizationService:{default:null},ks:{default:null}},render(){const e=n.provideLocalizationService(this).toLanguageString(ye,tr[ye]),r=this.ks.dateRange,s=Math.round((r.end.getTime()-r.start.getTime())/i.MS_PER_DAY);return t.createVNode(mn,{name:this.$props.name,dateRange:this.$props.dateRange,numberOfDays:s,slotDuration:this.$props.slotDuration,slotDivisions:this.$props.slotDivisions,selectedDateFormat:this.$props.selectedDateFormat,selectedShortDateFormat:this.$props.selectedShortDateFormat,showWorkHours:this.$props.showWorkHours,title:e,step:7,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,resizeHint:this.$props.resizeHint,item:this.$props.item,viewItem:this.$props.viewItem,editable:this.$props.editable,dateHeaderCell:this.$props.dateHeaderCell,timeHeaderCell:this.$props.timeHeaderCell,onDataaction:this.handleDataAction},null)},methods:{handleDataAction(e){N(this,e)}}}),Sn=({intl:e,date:t,timezone:r,...s})=>{const o=i.ZonedDate.fromLocalDate(t,r),n=void 0!==s.workWeekStart?s.workWeekStart:i.Day.Monday,a=void 0!==s.workWeekEnd?s.workWeekEnd:i.Day.Friday,l=a<n?7+a-n+1:a-n+1,d=i.getDate(((e,t=i.Day.Sunday)=>{let r=e.clone();for(;r.getDay()!==t;)r=r.addDays(-1);return r})(o,n)),c=i.addDays(d,l),u=i.ZonedDate.fromUTCDate(W(d),r),h=i.ZonedDate.fromUTCDate(W(c),r);return{start:new Date(u.getTime()),end:new Date(h.getTime()),zonedStart:u,zonedEnd:h}},Dn=t.defineComponent({name:"KendoMonthViewHead",props:{monthSlots:Array,dateHeaderCell:[String,Function,Object]},inject:{ri:{default:null},ks:{default:null},ksMobile:{default:()=>()=>!1}},provide(){return{ksSlots:this.ksSlots}},data(){return{ksSlots:{cSlots:this.monthSlots.filter(e=>e.group.index===this.ri.groupIndex&&0===e.range.index)}}},watch:{currentCellSlots(e){this.ksSlots.cSlots=e}},computed:{currentCellSlots(){return this.monthSlots.filter(e=>e.group.index===this.ri.groupIndex&&0===e.range.index)}},render(){const e="function"==typeof this.ksMobile&&this.ksMobile()?"k-scheduler-row k-mobile-header":"k-scheduler-row";return t.createVNode("div",{class:e,key:this.ri.groupIndex},[this.currentCellSlots.map(function(e,r){return t.createVNode(rn,{as:this.$props.dateHeaderCell,key:r,"data-dayslot-index":r,date:i.ZonedDate.fromLocalDate(new Date(e.zonedEnd.getTime()-(e.zonedEnd.getTime()-e.zonedStart.getTime())/2),this.ks.timezone),start:e.start,end:e.end,format:{skeleton:"EEEE"}},null)},this)])}}),bn={skeleton:"MMM"},wn={skeleton:"dd"},In=t.defineComponent({name:"KendoSchedulerMoreEventsPopover",props:{show:{type:Boolean,default:!1},anchor:{type:Object,default:null},slot:{type:Object,default:null},items:{type:Array,default:()=>[]},itemsPerSlot:{type:Number,default:2}},emits:["dayclick","itemdoubleclick","close"],inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},setup(e,{emit:i}){const r=t=>{const r=t.target,s=document.querySelector(".k-scheduler-popover");s&&!s.contains(r)&&e.anchor&&!e.anchor.contains(r)&&i("close")};return t.watch(()=>e.show,e=>{e?document.addEventListener("mousedown",r,!0):document.removeEventListener("mousedown",r,!0)},{immediate:!0}),t.onUnmounted(()=>{document.removeEventListener("mousedown",r,!0)}),{}},render(){const e=n.provideIntlService(this),i=n.provideLocalizationService(this);if(!this.$props.show||!this.$props.slot)return null;const r=this.$props.slot,s=this.$props.itemsPerSlot,o=r.items?r.items.filter((e,t)=>t>=s):[],a=new Date(r.zonedEnd.getTime()-(r.zonedEnd.getTime()-r.zonedStart.getTime())/2),l=e.formatDate(a,bn),d=e.formatDate(a,wn),u=i.toLanguageString(_t,tr[_t]),h=i.toLanguageString(qt,tr[qt]),p=t.createVNode("div",{class:"k-popover-header"},[t.createVNode("div",{class:"k-month"},[l]),t.createVNode("div",{class:"k-link k-day",onClick:e=>{e.preventDefault(),this.$emit("dayclick",r)}},[d])]);return t.createVNode(c.Popover,{anchor:this.$props.anchor,show:this.$props.show,popoverClass:"k-scheduler-popover",position:"right",callout:!1,collision:{horizontal:"flip",vertical:"flip"},animate:!1,onKeydown:()=>{this.$emit("close")}},{default:()=>[p,t.createVNode("div",{class:"k-scheduler-more-events-content",style:{minWidth:"220px"}},[o.length>0?t.createVNode("div",{class:"k-popover-events",role:"list","aria-label":h},[o.map((i,r)=>{var s,o;const n=null==(o=null==(s=i.group)?void 0:s.resources)?void 0:o.find(e=>!(!e.colorField||""===e[e.colorField]||void 0===e[e.colorField])),a=(null==n?void 0:n.colorField)&&n[n.colorField],l=a?{"--kendo-scheduler-event-color":a}:void 0;return t.createVNode("div",{key:i.uid||r,class:"k-popover-event k-event",role:"listitem",style:l,onDblclick:e=>{e.stopPropagation(),this.$emit("itemdoubleclick",i)}},[t.createVNode("div",{class:"k-event-title"},[i.title||""]),t.createVNode("span",{class:"k-event-time"},[e.formatDate(i.zonedStart,"t")])])})]):t.createVNode("span",{class:"k-no-data"},[u])])]})}}),Rn=(e,t)=>{for(const i of e){const e=i[t];e&&e.querySelectorAll(":scope > .k-slot-cell").forEach(e=>{e.style.removeProperty("height")})}},$n=(e,t)=>{let i=0;for(const r of e){const e=r[t];e&&(i=Math.max(i,e.offsetHeight))}return i},Cn=(e,t,i)=>{let r=!1;for(const s of e){const e=s[t];e&&e.querySelectorAll(":scope > .k-slot-cell").forEach(e=>{e.offsetHeight!==i&&(r=!0),e.style.height=`${i}px`})}return r},En=e=>{const t=(e=>{if(!e)return null;const t=e.querySelectorAll(":scope > .k-scheduler-group > .k-scheduler-row > .k-group-cell");return t.length<2?null:Array.from(t).map(e=>Array.from(e.querySelectorAll(":scope > .k-scheduler-row")))})(e);if(!t)return(e=>{if(!e)return!1;let t=!1;return e.querySelectorAll(".k-slot-cell").forEach(e=>{e.style.height&&(e.style.removeProperty("height"),t=!0)}),t})(e);let i=!1;const r=t.reduce((e,t)=>Math.max(e,t.length),0);for(let e=0;e<r;e++){Rn(t,e);const r=$n(t,e);Cn(t,e,r)&&(i=!0)}return i},zn=t.defineComponent({name:"KendoMonthView",emits:["dataaction"],props:{onDataAction:Function,itemsPerSlot:{type:Number,default:2},name:{type:String,default:"month"},dateRange:{type:[Function,Object],default:function(){return Nn}},slotDuration:{type:Number,default:1440},slotDivisions:{type:Number,default:1},numberOfDays:{type:Number,default:31},dragItem:{type:Object,default:function(){}},resizeItem:{type:Object,default:function(){}},title:String,selectedDateFormat:{type:String,default:"{0:Y}"},selectedShortDateFormat:{type:String,default:"{0:y}"},dateHeaderCell:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],resizeHint:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],editable:{type:[Boolean,Object],default:!1}},inject:{ks:{default:{}},setActiveDate:{default:null},setActiveViewName:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null}},setup(e){const i=t.shallowRef(null),r=t.shallowRef(null),s=t.ref(!1);return{popoverEditItem:i,popoverFormItem:r,popoverShowOccurrenceDialog:s,handlePopoverItemDoubleClick:t=>!(!js(e.editable).edit||t.readonly)&&(i.value=t,r.value=t.dataItem,s.value=!!t.isRecurring,!0),handlePopoverFormItemChange:e=>{r.value=e,e||(i.value=null)},handlePopoverShowOccurrenceDialogChange:e=>{s.value=e}}},created(){this.intl=n.provideIntlService(this)},mounted(){this.hasMounted=!0,this.queueSyncGroupRows()},unmounted(){this.hasMounted=!1,void 0!==this.rowSyncFrame&&window.cancelAnimationFrame(this.rowSyncFrame)},data:()=>({hasMounted:!1,rowSyncFrame:void 0,rowSyncQueued:!1,currentDragItem:void 0,currentResizeItem:void 0,popoverShow:!1,popoverAnchor:null,popoverSlot:null}),watch:{rowSyncKey(){this.hasMounted&&this.queueSyncGroupRows()},compDragItem(){this.hasMounted&&this.queueSyncGroupRows()},compResizeItem(){this.hasMounted&&this.queueSyncGroupRows()}},computed:{ranges(){return Ys(this.ks.dateRange,{step:7*i.MS_PER_DAY,timezone:this.ks.timezone})},monthSlots(){return Do(this.ks.dateRange,{step:i.MS_PER_DAY},{groups:this.ks.groups,ranges:this.ranges})},occurrences(){return Qs(this.ks.dataItems,{dateRange:this.ks.dateRange,fields:this.ks.fields,timezone:this.ks.timezone})},items(){const e=to(this.occurrences,{timezone:this.ks.timezone},{groups:this.ks.groups,ranges:this.ranges});return J(e,this.monthSlots,!0),X(e,this.monthSlots,!0),e},rowSyncKey(){return[this.itemsPerSlot,this.monthSlots.map(e=>`${e.group.index}:${e.range.index}:${e.items.length}`).join("|")].join("::")},compDragItem(){return void 0!==this.dragItem?this.dragItem:this.currentDragItem},compResizeItem(){return void 0!==this.resizeItem?this.resizeItem:this.currentResizeItem}},render(){this.localization=n.provideLocalizationService(this),this.localization.toLanguageString(De,tr[De]);const e=this.$props.editItem||tn;this.$props.editSlot;const i=this.items,r=this.monthSlots;this.intl=n.provideIntlService(this);const s=this.$props.itemsPerSlot,o="horizontal"===this.ks.orientation?this.ranges.map(function(e,i){return t.createVNode(Io,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[t.createVNode(_s,{editable:this.$props.editable,slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:r,rangeIndex:i,itemsPerSlot:s,onDataaction:this.handleDataAction,onShowmoreitems:this.handleShowMoreItemsClick},null)]})},this):t.createVNode(Gs,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group,onDataaction:this.handleDataAction,more:{slotRender:this.$props.slotRender,viewSlot:this.$props.viewSlot,monthSlots:r,ranges:this.ranges,itemsPerSlot:s,editable:this.$props.editable,onShowmoreitems:this.handleShowMoreItemsClick}},null);return t.createVNode(yr,{viewProps:{...this.$props},baseSlots:r,ranges:this.ranges,class:"k-scheduler-monthview"},{default:()=>[t.createVNode("div",{class:"k-scheduler-head"},["horizontal"===this.ks.orientation?t.createVNode(Io,{nested:!0,resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[t.createVNode(Dn,{monthSlots:r,dateHeaderCell:this.$props.dateHeaderCell},null)]}):t.createVNode(Gs,{resources:this.ks.props.resources,group:this.ks.props.group},{default:()=>[t.createVNode(Dn,{monthSlots:r,dateHeaderCell:this.$props.dateHeaderCell},null)]})]),t.createVNode("div",{class:"k-scheduler-body",ref:"body"},[o,this.hasMounted&&i.filter(e=>null===e.order||e.order<s).sort(ne).map(function(i){return t.createVNode(e,{item:this.$props.item,viewItem:this.$props.viewItem,form:this.$props.form,key:i.isRecurring?`${i.uid}:${i.group.index}:${i.range.index}:${i.originalStart}`:`${i.uid}:${i.group.index}:${i.range.index}`,uid:i.uid,start:i.start,end:i.end,originalStart:i.originalStart,startTimezone:i.startTimezone,endTimezone:i.endTimezone,isAllDay:i.isAllDay,title:i.title,description:i.description,occurrenceId:i.occurrenceId,recurrenceExceptions:i.recurrenceExceptions,recurrenceRule:i.recurrenceRule,recurrenceId:i.recurrenceId,dataItem:i.dataItem,itemRef:i.itemRef,head:i.head,tail:i.tail,order:i.order,zonedStart:i.zonedStart,zonedEnd:i.zonedEnd,slots:i.slots,group:i.group,range:i.range,isException:i.isException,isRecurring:i.isRecurring,readonly:i.readonly,onDragitemchange:this.handleDragItemChange,onResizeitemchange:this.handleResizeItemChange,onDataaction:this.handleDataAction,vertical:!1,editable:this.$props.editable,ignoreIsAllDay:!0},null)},this)]),t.createVNode(In,{show:this.popoverShow,anchor:this.popoverAnchor,slot:this.popoverSlot,items:i,itemsPerSlot:s,onDayclick:this.handlePopoverDayClick,onItemdoubleclick:e=>{this.handlePopoverItemDoubleClick(e)&&this.handlePopoverClose()},onClose:this.handlePopoverClose},null),this.popoverEditItem&&t.createVNode(e,t.mergeProps(this.popoverEditItem,{item:this.$props.item,viewItem:this.$props.viewItem,form:this.$props.form,formItem:this.popoverFormItem,showOccurrenceDialog:this.popoverShowOccurrenceDialog,itemStyle:{display:"none"},tabIndex:-1,editable:this.$props.editable,vertical:!1,ignoreIsAllDay:!0,onFormitemchange:this.handlePopoverFormItemChange,onShowoccurrencedialogchange:this.handlePopoverShowOccurrenceDialogChange,onDataaction:this.handleDataAction}),null)]})},methods:{queueSyncGroupRows(){this.rowSyncQueued||(this.rowSyncQueued=!0,this.$nextTick(()=>{this.rowSyncQueued=!1,this.$refs.body&&this.syncGroupRows()}))},syncGroupRows(){void 0!==this.rowSyncFrame&&window.cancelAnimationFrame(this.rowSyncFrame),this.rowSyncFrame=window.requestAnimationFrame(()=>{this.hasMounted&&this.$refs.body?(En(this.$refs.body),this.rowSyncFrame=void 0):this.rowSyncFrame=void 0})},handleShowMoreItemsClick({event:e,slot:t}){var i;const r=(null==(i=e.target)?void 0:i.element)||null;if(this.popoverShow&&this.popoverAnchor===r)return this.popoverShow=!1,this.popoverAnchor=null,void(this.popoverSlot=null);this.popoverShow=!0,this.popoverAnchor=r,this.popoverSlot=t||null},handlePopoverClose(){this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null},handlePopoverDayClick(e){const t=this.ks.views.find(e=>"day"===e.name);!this.setActiveViewName||!t||!t.name||(this.popoverShow=!1,this.popoverAnchor=null,this.popoverSlot=null,this.$nextTick(()=>{this.setActiveViewName(t.name),this.setActiveDate(e.start)}))},handleDataAction(e){N(this,e)},handleDragItemChange(e){this.currentDragItem=e},handleResizeItemChange(e){this.currentResizeItem=e}}}),Nn=({intl:e,date:t,timezone:r})=>{const s=i.firstDayInWeek(i.firstDayOfMonth(i.getDate(t)),e.firstDay()),o=i.addDays(i.firstDayInWeek(i.lastDayOfMonth(i.getDate(t)),e.firstDay()),7),n=i.ZonedDate.fromUTCDate(W(s),r),a=i.ZonedDate.fromUTCDate(W(o),r);return{start:new Date(n.getTime()),end:new Date(a.getTime()),zonedStart:n,zonedEnd:a}};function Tn(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const Vn="{0:D}",On="{0:d}",xn=(e,t)=>{const i=Math.round(t/864e5),r=g.parseRule({recurrenceRule:e});if(i%7==0||"weekly"!==(null==r?void 0:r.freq)||!r.byWeekDay)return e;const s=g.serializeRule({...r,byWeekDay:r.byWeekDay.map(e=>({...e,day:(e.day+i+7)%7}))});return e.toUpperCase().includes("WKST=")?s:s.replace(";WKST=SU","")},Fn=t.defineComponent({name:"KendoScheduler",emits:["datechange","viewchange","datachange","itemclick","itemdoubleclick","slotclick","slotdoubleclick","taskclick","taskdoubleclick"],props:{dataItems:{type:Array,default:function(){return[]}},views:{type:Array,default:function(){return[]}},view:String,defaultView:String,date:Date,rtl:Boolean,height:{type:[Number,String],default:600},timezone:String,group:Object,resources:[Object,Array],modelFields:Object,tabIndex:{type:Number,default:-1},eventOverview:{type:Boolean,default:!0},quickCreate:{type:Boolean,default:!0},editable:{type:[Boolean,Object],default:!1},defaultDate:{type:Date,default:function(){return new Date}},validator:{type:Function,default:()=>({})},modifyInitialFormValues:{type:Function,default:e=>e},header:[String,Function,Object],footer:[String,Function,Object],slotRender:[String,Function,Object],viewSlot:[String,Function,Object],item:[String,Function,Object],viewItem:[String,Function,Object],task:[String,Function,Object],form:[String,Function,Object],quickCreateForm:[String,Function,Object],resizeHint:[String,Function,Object],editItem:[String,Function,Object],viewTask:[String,Function,Object],editTask:[String,Function,Object],editSlot:[String,Function,Object],className:String,dialogProps:Object,formProps:Object,dateHeaderCell:[String,Function,Object],timeHeaderCell:[String,Function,Object],adaptive:{type:Boolean,default:!0}},computed:{isRtl(){return void 0!==this.$props.rtl?this.$props.rtl:this.currentRtl},isMobile(){return this.$props.adaptive&&"mobile"===this.media},canAdd(){return"object"==typeof this.$props.editable?this.$props.editable.add:!!this.$props.editable},wrapperClassName(){return{"k-rtl":this.isRtl,"k-scheduler":!0,[this.$props.className]:!!this.$props.className}},fields(){return G(this.$props.modelFields).fields}},mounted(){this.currentRtl=r.isRtl(this.$el),this.calculateMedia(),this.$props.adaptive&&r.canUseDOM&&window.ResizeObserver&&(this.resizeObserver=new window.ResizeObserver(this.calculateMedia),this.resizeObserver.observe(this.$el)),r.canUseDOM&&window.ResizeObserver&&(this.toolbarObserver=new window.ResizeObserver(this.measureToolbar),this.toolbarElement&&(this.toolbarObserver.observe(this.toolbarElement),this.measureToolbar()))},unmounted(){this.resizeObserver&&this.resizeObserver.disconnect(),this.toolbarObserver&&this.toolbarObserver.disconnect()},provide(){return{ks:this.ks,ksMobile:()=>this.isMobile,ksEventOverview:()=>this.$props.eventOverview,ksQuickCreate:()=>this.$props.quickCreate,ksQuickCreateForm:()=>r.templateRendering.call(this,t.toRaw(this.$props.quickCreateForm),{}),[Fs]:As(),setActiveViewName:this.handleActiveViewNameChange,setActiveDate:this.handleDateChange,itemDoubleClick:this.handleItemDoubleClick,itemClick:this.handleItemClick,slotDoubleClick:this.handleSlotDoubleClick,slotClick:this.handleSlotClick,taskDoubleClick:this.handleTaskDoubleClick,taskClick:this.handleTaskClick,ksValidator:this.validator,ksModifyInitialFormValues:this.modifyInitialFormValues}},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},data(){const e=n.provideIntlService(this),i=this.$props.date||this.$props.defaultDate,r=this.$props.view||this.$props.defaultView||this.views[0]&&this.views[0].name||"day",s=this.views.find(e=>e.name===r)||this.views[0]||t.createVNode(vn,null,null),o=this.getViewPropValue(s,"selectedDateFormat",r)||Vn,a=this.getViewPropValue(s,"selectedShortDateFormat",r)||On,l=this.getViewComponentByName(r).props.dateRange.default()({intl:e,date:i,timezone:this.$props.timezone,numberOfDays:this.getViewPropValue(s,"numberOfDays",r),workWeekStart:this.getViewPropValue(s,"workWeekStart",r)||e.firstDay(),workWeekEnd:this.getViewPropValue(s,"workWeekEnd",r)||(e.firstDay()+this.getViewPropValue(s,"numberOfDays",r))%6});return{media:"desktop",toolbarLevel:0,toolbarBreakpoints:[1/0,1/0,1/0],newEventDialogItem:null,ks:{activeViewName:r,currentDate:i,showWorkHours:void 0===s.showWorkHours||s.showWorkHours,timezone:this.$props.timezone,isRtl:this.$props.rtl,props:{...this.$props},views:this.views,view:s,fields:G(this.$props.modelFields).fields,groups:Y(this.$props.group,this.$props.resources),dateRange:l,orientation:this.$props.group&&this.$props.group.orientation?this.$props.group.orientation:"horizontal",dateFormat:o,shortDateFormat:a,scheduler:this,dataItems:this.dataItems}}},watch:{isRtl(e){this.ks.isRtl=e},view(e){this.updatePassedState(e)},date(e){this.ks.currentDate=e,this.updatePassedState()},timezone(e){this.ks.timezone=e,this.updatePassedState()},dataItems(e){this.ks.dataItems=e}},render(){r.validatePackage(sr),this.showLicenseWatermark=r.shouldShowValidationUI(sr),this.licenseMessage=r.getLicenseMessage(sr);const e=this.views.find(e=>e.name===this.ks.activeViewName)||this.views[0]||t.createVNode(vn,null,null),i=this.getViewPropValue(this.ks.view,"slotDuration",this.ks.activeViewName),s=r.templateRendering.call(this,e.header||this.$props.header,r.getListeners.call(this)),a=r.templateRendering.call(this,e.footer||this.$props.footer,r.getListeners.call(this)),l=r.templateRendering.call(this,e.slot||this.$props.slotRender,{}),c=r.templateRendering.call(this,e.viewSlot||this.$props.viewSlot,{}),u=r.templateRendering.call(this,e.item||this.$props.item,{}),h=r.templateRendering.call(this,e.viewItem||this.$props.viewItem,{}),p=r.templateRendering.call(this,e.task||this.$props.task,{}),m=e.editSlot||this.$props.editSlot,g=e.form||this.$props.form||zs,v=r.templateRendering.call(this,e.dateHeaderCell||this.$props.dateHeaderCell,{}),f=r.templateRendering.call(this,e.timeHeaderCell||this.$props.timeHeaderCell,{}),y=r.templateRendering.call(this,e.resizeHint||this.$props.resizeHint,{});this.ks.form=r.templateRendering.call(this,e.form||this.$props.form,{}),this.ks.editSlot=m&&"object"==typeof m?t.markRaw(t.toRaw(m)):m,this.ks.dialogProps=e.dialogProps||this.$props.dialogProps,this.ks.formProps=e.formProps||this.$props.formProps;const k=js(void 0!==e.editable?e.editable:this.$props.editable),S=this.getViewComponentByName(this.ks.activeViewName||e.name),D={...this.$props,...this.ks.view,showWorkHours:this.ks.showWorkHours,dataItems:void 0,views:void 0,defaultDate:void 0,dateRange:this.ks.dateRange,slotRender:l,viewSlot:c,item:u,viewItem:h,task:p,dateHeaderCell:v,timeHeaderCell:f,resizeHint:y,editable:k},b=n.provideLocalizationService(this),w=b.toLanguageString(me,tr[me]),I=b.toLanguageString(we,tr[we]),R=b.toLanguageString(Ie,tr[Ie]),$=b.toLanguageString(Zt,tr[Zt]),C=b.toLanguageString(Yt,tr[Yt]),E=b.toLanguageString(Qi,tr[Qi]),z=this.toolbarLevel,N=t.createVNode(ae,{ref:this.setToolbarRef,ariaLabel:E},{default:()=>[this.canAdd&&t.createVNode(o.Button,{class:"k-toolbar-button",themeColor:"primary",svgIcon:d.plusIcon,"aria-label":C,tabIndex:-1,onClick:this.handleNewEventClick},{default:()=>[z<2&&$]}),z<2&&t.createVNode(o.Button,{class:"k-toolbar-button",fillMode:"flat",tabIndex:-1,title:w,onClick:this.handleTodayClick},Tn(w)?w:{default:()=>[w]}),z<3&&t.createVNode(o.ButtonGroup,{class:"k-button-group-flat k-toolbar-button-group"},{default:()=>[t.createVNode(o.Button,{fillMode:"flat",tabIndex:-1,svgIcon:this.isRtl?d.chevronRightIcon:d.chevronLeftIcon,"aria-label":I,title:I,onClick:this.handlePrevClick},null),t.createVNode(o.Button,{fillMode:"flat",tabIndex:-1,svgIcon:this.isRtl?d.chevronLeftIcon:d.chevronRightIcon,"aria-label":R,title:R,onClick:this.handleNextClick},null)]}),t.createVNode(de,{value:this.ks.currentDate,onChange:this.handleDatePickerChange,level:z},null),t.createVNode(o.ToolbarSpacer,null,null),1===z&&t.createVNode("span",{class:"k-separator"},null),t.createVNode(ir,{level:z},null)]}),T=r.getTemplate.call(this,{h:t.h,template:s,defaultRendering:N,additionalProps:{currentDate:this.ks.currentDate},additionalListeners:{prevclick:this.handlePrevClick,nextclick:this.handleNextClick,todayclick:this.handleTodayClick,datepickerchange:this.handleDatePickerChange}}),V=t.createVNode(le,{"aria-label":E},{default:()=>[this.isMobile&&t.createVNode(o.Button,{class:"k-scheduler-today",tabIndex:-1,onClick:this.handleTodayClick},Tn(w)?w:{default:()=>[w]}),this.isMobile&&t.createVNode(o.ToolbarSpacer,null,null),t.createVNode(rr,{slotDuration:i,onClick:this.handleShowWorkHoursClick},null)]}),O=r.getTemplate.call(this,{h:t.h,template:a,defaultRendering:V,additionalProps:{slotDuration:i},additionalListeners:{showworkhoursclick:this.handleShowWorkHoursClick}}),x=this.showLicenseWatermark?t.createVNode(r.WatermarkOverlay,{message:this.licenseMessage},null):null;return t.createVNode("div",{id:this.$props.id,style:{height:this.$props.height+"px"},class:this.wrapperClassName,tabindex:this.$props.tabIndex,dir:this.isRtl&&"rtl",role:this.$props.role||"application","aria-label":this.$props.ariaLabel,"aria-labelledby":this.$props.ariaLabelledby,onFocusin:this.handleFocus,onFocusout:this.handleBlur},[T,t.h(S,{key:`${this.ks.view.name}-${this.ks.showWorkHours}`,onDataAction:this.handleDataAction,...D}),!["agenda","month"].includes(this.ks.activeViewName)&&O,x,this.newEventDialogItem&&t.createVNode(g,{dataItem:this.newEventDialogItem,onSubmit:this.handleNewEventFormSubmit,onCancel:this.handleNewEventFormCancel,onClose:this.handleNewEventFormCancel},null)])},methods:{getViewComponentByName(e){switch(e.toLowerCase()){case"week":return fn;case"workweek":return kn;case"agenda":return bo;case"timeline":return an;case"month":return zn;default:return vn}},getViewPropValue(e,t,i){const r=this.getViewComponentByName(i).props[t];return e[t]||(r?r.default:void 0)},handleDataChange({created:e=[],updated:t=[],deleted:i=[]}){const r={created:e,updated:t,deleted:i};this.$emit("datachange",r)},handleNewEventClick(e){e.preventDefault();const t=new Date,i=this.getViewPropValue(this.ks.view,"slotDuration",this.ks.activeViewName)||30,r=60*i*1e3,s=t.getMinutes(),o=Math.ceil(s/i)*i;let n=new Date(t);n.setHours(t.getHours()+Math.floor(o/60),o%60,0,0);const a=this.$props.dataItems||[],l=this.fields,d=(e,t)=>a.some(i=>{const r=j(i,l.start),s=j(i,l.end);return!(!r||!s)&&(r.getTime()<t.getTime()&&s.getTime()>e.getTime())});let c=new Date(n.getTime()+r);for(let e=0;e<48&&d(n,c);e++)n=new Date(n.getTime()+r),c=new Date(n.getTime()+r);const u={};L(u,l.start,n),L(u,l.end,c),L(u,l.isAllDay,!1),L(u,l.title,""),L(u,l.description,""),this.newEventDialogItem=u},handleNewEventFormSubmit(e){this.handleDataChange({created:[e.value]}),this.newEventDialogItem=null},handleNewEventFormCancel(){this.newEventDialogItem=null},handleCreate(e){const t=[e.dataItem];this.handleDataChange({created:t})},handleUpdate(e){const t=[],i=[],s=[];if(e.series)if(Array.isArray(e.dataItem)){const t=e.dataItem[0];if(null!==j(t,this.fields.recurrenceId)&&void 0!==j(t,this.fields.recurrenceId)){const e=r.clone(H(t,this.fields,this.dataItems)),s=new Date(j(t,this.fields.originalStart)).getTime(),o=new Date(j(t,this.fields.start)).getTime(),n=new Date(j(t,this.fields.end)).getTime(),a=o-s,l=n-o,d=new Date(j(e,this.fields.start)).getTime();L(e,this.fields.start,new Date(d+a)),L(e,this.fields.end,new Date(d+a+l));const c=j(e,this.fields.recurrenceExceptions)||[];if(c.length>0&&0!==a){const t=c.map(e=>new Date(new Date(e).getTime()+a));L(e,this.fields.recurrenceExceptions,t)}L(e,this.fields.recurrenceRule,xn(j(e,this.fields.recurrenceRule),a)),i.push(e)}else e.dataItem.forEach(e=>{const t=r.clone(H(e,this.fields,this.dataItems)),s=r.clone(e);L(s,this.fields.originalStart,j(t,this.fields.originalStart)),L(s,this.fields.recurrenceId,j(t,this.fields.recurrenceId));const o=j(t,this.fields.recurrenceExceptions)||[],n=new Date(j(t,this.fields.start)).getTime(),a=new Date(j(s,this.fields.start)).getTime()-n;if(o.length>0&&0!==a){const e=o.map(e=>new Date(new Date(e).getTime()+a));L(s,this.fields.recurrenceExceptions,e)}else L(s,this.fields.recurrenceExceptions,o);i.push(s)})}else if(null!==j(e.dataItem,this.fields.recurrenceId)&&void 0!==j(e.dataItem,this.fields.recurrenceId)){const t=r.clone(H(e.dataItem,this.fields,this.dataItems)),s=new Date(j(e.dataItem,this.fields.originalStart)).getTime(),o=new Date(j(e.dataItem,this.fields.start)).getTime(),n=new Date(j(e.dataItem,this.fields.end)).getTime(),a=o-s,l=n-o,d=new Date(j(t,this.fields.start)).getTime();L(t,this.fields.start,new Date(d+a)),L(t,this.fields.end,new Date(d+a+l));const c=j(t,this.fields.recurrenceExceptions)||[];if(c.length>0&&0!==a){const e=c.map(e=>new Date(new Date(e).getTime()+a));L(t,this.fields.recurrenceExceptions,e)}L(t,this.fields.recurrenceRule,xn(j(t,this.fields.recurrenceRule),a)),i.push(t)}else{const t=r.clone(e.dataItem);if(j(t,this.fields.recurrenceRule)){const i=r.clone(H(e.dataItem,this.fields,this.dataItems));L(t,this.fields.originalStart,j(i,this.fields.originalStart)),L(t,this.fields.recurrenceId,j(i,this.fields.recurrenceId));const s=j(i,this.fields.recurrenceExceptions)||[],o=new Date(j(i,this.fields.start)).getTime(),n=new Date(j(t,this.fields.start)).getTime()-o;if(s.length>0&&0!==n){const e=s.map(e=>new Date(new Date(e).getTime()+n));L(t,this.fields.recurrenceExceptions,e)}else L(t,this.fields.recurrenceExceptions,s)}else L(t,this.fields.recurrenceExceptions,null);i.push(t)}else if(Array.isArray(e.dataItem))e.dataItem.forEach(e=>{const s=null!==j(e,this.fields.recurrenceRule)&&void 0!==j(e,this.fields.recurrenceRule);if(null!==j(e,this.fields.recurrenceId)&&void 0!==j(e,this.fields.recurrenceId)&&s){const s=r.clone(H(e,this.fields,this.dataItems)),o=j(e,this.fields.originalStart),n=j(s,this.fields.recurrenceExceptions)||[];L(s,this.fields.recurrenceExceptions,[...n,o]),L(e,this.fields.recurrenceRule,null),i.push(s),t.push(e)}else i.push(e)});else{const s=null!==j(e.dataItem,this.fields.recurrenceRule)&&void 0!==j(e.dataItem,this.fields.recurrenceRule);if(null!==j(e.dataItem,this.fields.recurrenceId)&&void 0!==j(e.dataItem,this.fields.recurrenceId)&&s){const s=r.clone(H(e.dataItem,this.fields,this.dataItems)),o=j(e.dataItem,this.fields.originalStart),n=j(s,this.fields.recurrenceExceptions)||[];L(s,this.fields.recurrenceExceptions,[...n,o]),L(e.dataItem,this.fields.recurrenceRule,null),i.push(s),t.push(e.dataItem)}else i.push(e.dataItem)}if(e.series){const t=Array.isArray(e.dataItem)?e.dataItem:[e.dataItem],o=new Set(t.map(e=>T(e,this.fields))),n=new Set(t.filter(e=>!j(e,this.fields.recurrenceRule)&&(null===j(e,this.fields.recurrenceId)||void 0===j(e,this.fields.recurrenceId))).map(e=>j(e,this.fields.id)));o.forEach(t=>{if(null==t)return;const o=V(this.dataItems,this.fields,t);e.resetExceptions?s.push(...o.map(e=>r.clone(e))):n.has(t)&&i.push(...o.map(e=>O(e,this.fields))),(n.has(t)||e.resetExceptions)&&i.forEach(e=>{j(e,this.fields.id)===t&&L(e,this.fields.recurrenceExceptions,null)})})}this.handleDataChange({updated:i,created:t,deleted:s})},handleRemove(e){const t=[],i=[];if(e.series){const s=r.clone(H(e.dataItem,this.fields,this.dataItems)),o=r.clone(s);L(o,this.fields.originalStart,j(s,this.fields.originalStart)),L(o,this.fields.recurrenceId,j(s,this.fields.recurrenceId)),L(o,this.fields.recurrenceRule,j(s,this.fields.recurrenceRule)),L(o,this.fields.recurrenceExceptions,j(s,this.fields.recurrenceExceptions)),i.push(o);const n=V(this.dataItems,this.fields,j(s,this.fields.id));e.resetExceptions?i.push(...n.map(e=>r.clone(e))):t.push(...n.map(e=>O(e,this.fields)))}else if(null===j(e.dataItem,this.fields.recurrenceRule)||void 0===j(e.dataItem,this.fields.recurrenceRule))i.push(e.dataItem);else{const i=r.clone(H(e.dataItem,this.fields,this.dataItems)),s=j(e.dataItem,this.fields.originalStart),o=j(i,this.fields.recurrenceExceptions)||[];L(i,this.fields.recurrenceExceptions,[...o,s]),L(e.dataItem,this.fields.recurrenceRule,null),t.push(i)}this.handleDataChange({updated:t,deleted:i})},handleDataAction(e){switch(e.type){case Sr.create:this.handleCreate(e);break;case Sr.update:this.handleUpdate(e);break;case Sr.remove:this.handleRemove(e)}},handleActiveViewNameChange(e,t){void 0===this.$props.view&&this.updatePassedState(e),this.$emit("viewchange",{viewName:e,...t,target:this.ks.scheduler.$el})},setToolbarRef(e){const t=(null==e?void 0:e.$el)||null;t!==this.toolbarElement&&(this.toolbarObserver&&this.toolbarElement&&this.toolbarObserver.unobserve(this.toolbarElement),this.toolbarElement=t,this.toolbarObserver&&t&&this.toolbarObserver.observe(t))},handleDateChange(e,t){this.setDate(e,{...t,target:this.ks.scheduler.$el})},handleDatePickerChange(e){e.value&&this.setDate(e.value,{...e,target:this.ks.scheduler.$el,nativeEvent:e.event})},handleNextClick(e){e.preventDefault();const t=this.getViewPropValue(this.ks.view,"step",this.ks.activeViewName)||this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName)||1,r=t>27?i.addMonths(this.ks.currentDate,Math.round(t/27)):i.addDays(this.ks.currentDate,t);this.setDate(r,e)},handlePrevClick(e){e.preventDefault();const t=this.getViewPropValue(this.ks.view,"step",this.ks.activeViewName)||this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName)||1,r=t>27?i.addMonths(this.ks.currentDate,-Math.round(t/27)):i.addDays(this.ks.currentDate,-t);this.setDate(r,e)},handleTodayClick(e){e.preventDefault();const t=i.ZonedDate.fromLocalDate(new Date,this.ks.timezone);this.setDate(new Date(t.getTime()),e)},handleShowWorkHoursClick(){this.ks.showWorkHours=!this.ks.showWorkHours},handleFocus(){this.$el&&(this.$el.style.boxShadow="0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12)")},handleBlur(){this.$el&&(this.$el.style.boxShadow="")},handleItemClick(e){this.$emit("itemclick",e)},handleItemDoubleClick(e){this.$emit("itemdoubleclick",e)},handleSlotClick(e){this.$emit("slotclick",e)},handleSlotDoubleClick(e){this.$emit("slotdoubleclick",e)},handleTaskClick(e){this.$emit("taskclick",e)},handleTaskDoubleClick(e){this.$emit("taskdoubleclick",e)},setDate(e,t){void 0===this.$props.date&&(this.ks.currentDate=e,this.updatePassedState()),this.$emit("datechange",{date:e,event:t})},updatePassedState(e){const i=n.provideIntlService(this),r=e||this.ks.activeViewName;this.ks.activeViewName=r,this.ks.view=this.views.find(e=>e.name===r)||this.views[0]||t.createVNode(vn,null,null),this.ks.dateFormat=this.getViewPropValue(this.ks.view,"selectedDateFormat",r)||Vn,this.ks.shortDateFormat=this.getViewPropValue(this.ks.view,"selectedShortDateFormat",r)||On,this.ks.dateRange=this.getViewComponentByName(r).props.dateRange.default()({intl:i,date:this.ks.currentDate,timezone:this.$props.timezone,numberOfDays:this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName),workWeekStart:this.getViewPropValue(this.ks.view,"workWeekStart",this.ks.activeViewName)||i.firstDay(),workWeekEnd:this.getViewPropValue(this.ks.view,"workWeekEnd",this.ks.activeViewName)||(i.firstDay()+this.getViewPropValue(this.ks.view,"numberOfDays",this.ks.activeViewName))%6})},calculateMedia(){r.canUseDOM&&window.matchMedia&&(this.media=window.matchMedia("(min-width: 1024px)").matches?"desktop":"mobile")},measureToolbar(){const e=this.toolbarElement;if(!e)return;const t=e.clientWidth;if(!t)return;const i=parseInt(window.getComputedStyle(e).gap||"0",10),r=Array.from(e.children),s=r.reduce((e,t)=>e+t.offsetWidth,0)+(r.length-1)*i,o=this.toolbarLevel;if(s>t&&o<3)return this.toolbarBreakpoints[o]=t,void(this.toolbarLevel=o+1);o>0&&t>this.toolbarBreakpoints[o-1]+20&&(this.toolbarLevel=o-1)}}});const An=t.defineComponent({name:"KendoSchedulerProportionalViewItem",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)},inAllDayArea(){var e;return!0===(null==(e=this.$props.range)?void 0:e.isAllDay)}},data:()=>({timeout:void 0,display:!0,visible:!1,maxSiblingsPerSlot:0}),mounted(){var e;if(this.inAllDayArea||(this.element=this.getElement(),null==(e=this.ks.scheduler)||!e.$el))return;r.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const t=this;this.$nextTick(function(){t.position()})},updated(){var e;if(this.inAllDayArea)return;const t=this;this.$nextTick(function(){t.position()}),null!=(e=this.ks.scheduler)&&e.$el&&!this.observer&&r.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=r.getDefaultSlots(this);if(this.intl=n.provideIntlService(this),this.inAllDayArea)return t.createVNode(No,this.$props,function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}(e)?e:{default:()=>[e]});let i;const s=t.createVNode(Eo,{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&&t.createVNode(t.Fragment,null,[this.$props.tail&&!this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null)]),t.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-up",icon:d.chevronUpIcon},null)]),t.createVNode(zo,{class:"k-event-title"},{default:()=>[this.$props.title]}),!this.$props.isAllDay&&t.createVNode(zo,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:"chevron-down",icon:d.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(r.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&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(r.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])])]});return i=r.getTemplate.call(this,{h:t.h,template:this.$props.item,defaultRendering:s,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}}),i},methods:{getElement(){return 8===this.$el.nodeType?this.$el.parentElement:3===this.$el.nodeType?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",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 i=0;return t.forEach(e=>{void 0!==e._order&&null!==e._order&&i<e._order&&(i=e._order)}),i+1},getSiblings(e,t,i){const[r,s]=t,o=new Date(Math.min(s.cSlot.end.getTime()-i,Math.max(this.$props.start.getTime(),r.cSlot.start.getTime()))),n=new Date(Math.max(o.getTime()+i,Math.min(this.$props.end.getTime(),s.cSlot.end.getTime())));return e.filter(e=>{const t=Math.max(Math.min(s.cSlot.end.getTime()-i,e.$props.start.getTime()),r.cSlot.start.getTime()),a=Math.min(Math.max(t+i,e.$props.end.getTime()),s.cSlot.end.getTime());return e.$props.id!==this.$props.id&&e.$props.group.index===this.$props.group.index&&e.$props.range.index===this.$props.range.index&&(this.$props.ignoreIsAllDay||e.$props.isAllDay===this.$props.isAllDay)&&q(new Date(t),new Date(a),o,n)&&q(r.cSlot.start,s.cSlot.end,e.$props.start,e.$props.end)})},inSlot(e,t){return e.group.index===t.group.index&&e.range.index===t.range.index&&(void 0===e.range.isAllDay||void 0===t.range.isAllDay||e.range.isAllDay===t.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===t.isAllDay)},position(){var e,t;if(!this.element)return;const i=(this.bv.slots||[]).filter(e=>e&&this.inSlot(e.cSlot,this.$props)).sort((e,t)=>e.cSlot.start.getTime()-t.cSlot.start.getTime()),r=i.filter(e=>q(e.cSlot.start,e.cSlot.end,this.$props.start,this.$props.end));if(!this.element||!r.length)return;const s=$(i),o=C(i),n=$(r),a=C(r);if(!(n&&a&&s&&o))return;if(!q(n.cSlot.start,a.cSlot.end,this.$props.start,this.$props.end))return void(this.display=!1);const l=[],d=S(n.$el),c=(this.$props.vertical?d.height:d.width)/(n.cSlot.end.getTime()-n.cSlot.start.getTime()),u=(this.$props.vertical?12:8)/c,h=(Math.min(this.$props.start.getTime(),a.cSlot.end.getTime()-u)-n.cSlot.start.getTime())*c,p=Math.floor(Math.min(this.$props.end.getTime(),a.cSlot.end.getTime())-Math.max(this.$props.start.getTime(),n.cSlot.start.getTime()))*c;(this.bv.items||[]).forEach(e=>{e&&(e.$props.dragHint||e.$props.resizeHint||l.push(e))});const m=this.getSiblings(l,[s,o],u),g=this.$props.resizeHint||this.$props.dragHint?0:((e,t)=>{const i=new Set;return t.forEach(e=>{void 0!==e._order&&null!==e._order&&i.add(e._order)}),Q(Array.from(i))})(0,m);let v=1;this.$props.resizeHint||this.$props.dragHint||(v=this.calculateMostSiblings(this,m),m.forEach(e=>{e._maxSiblingsPerSlot&&v<e._maxSiblingsPerSlot&&(v=e._maxSiblingsPerSlot)}),m.forEach(e=>{void 0!==e._maxSiblingsPerSlot&&null!==e._maxSiblingsPerSlot&&e._maxSiblingsPerSlot<v&&(e._maxSiblingsPerSlot=v)}));let f=0;const y=d;m.forEach(e=>{let t=0;void 0!==e._order&&null!==e._order&&e._order<g&&(t=S(e.getElement()).top+S(e.getElement()).height-y.top-1*g+1),t>f&&(f=t)});y.width=this.$props.vertical?y.width/v-1-20/v:p-1,this.$props.vertical?y.height=p-1:(this.$props.resizeHint||this.$props.dragHint)&&v<=1||(y.height=null!=(t=null==(e=this.$props.itemStyle)?void 0:e.height)?t:12),y.left=this.$props.vertical?y.left+g+1*g*y.width:y.left+(h<0?0:h),y.top=this.$props.vertical?y.top+(h<0?0:h):y.top+f+1*g,this.maxSiblingsPerSlot=v,this._order=g,b(this.element,y),this.visible=!0,this.display=!0},handleResize(){void 0!==this.timeout&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.position()})}}});function Mn(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!t.isVNode(e)}const jn=t.defineComponent({name:"KendoSchedulerNavigation",props:{isRtl:Boolean,onPrevclick:Function,onNextclick:Function,onTodayclick:Function},inject:{ks:{default:null},kendoLocalizationService:{default:null}},render(){r.getDefaultSlots(this),this.localization=n.provideLocalizationService(this);const e=this.localization.toLanguageString(me,tr[me]),i=this.localization.toLanguageString(we,tr[we]),s=this.localization.toLanguageString(Ie,tr[Ie]);return t.createVNode(o.ToolbarItem,null,{default:()=>[t.createVNode(o.ButtonGroup,{class:"k-scheduler-navigation"},{default:()=>[t.createVNode(o.Button,{role:"button",class:"k-nav-today",tabIndex:-1,title:e,"aria-label":e,onClick:this.handleTodayClick},Mn(e)?e:{default:()=>[e]}),t.createVNode(o.Button,{role:"button",tabIndex:-1,class:"k-button-icon k-nav-prev",icon:this.isRtl?"chevron-right":"chevron-left",svgIcon:this.isRtl?d.chevronRightIcon:d.chevronLeftIcon,title:i,"aria-label":i,onClick:this.handlePrevClick},null),t.createVNode(o.Button,{role:"button",tabIndex:-1,class:"k-button-icon k-nav-next",icon:this.isRtl?"chevron-left":"chevron-right",svgIcon:this.isRtl?d.chevronLeftIcon:d.chevronRightIcon,title:s,"aria-label":s,onClick:this.handleNextClick},null)]})]})},methods:{handleTodayClick(e){this.$emit("todayclick",e)},handlePrevClick(e){this.$emit("prevclick",e)},handleNextClick(e){this.$emit("nextclick",e)}}}),Ln=t.defineComponent({name:"KendoSchedulerViewSelector",render:()=>t.createVNode(ir,null,null)});e.AgendaView=bo,e.BusinessHours=rr,e.DATA_ACTION=Sr,e.DRAG_ITEM_ACTION=Mo,e.DateHeaderCell=rn,e.DayView=vn,e.ITEMS_FOCUS_ACTION=gr,e.ITEMS_SELECT_ACTION=or,e.KeepResetCustomEventsDialog=vo,e.MonthView=zn,e.NavigationDatePicker=de,e.REMOVE_ITEM_ACTION=Fo,e.RESIZE_ITEM_ACTION=Uo,e.RemoveRecurrenceConfirmDialog=Ss,e.SERIES_ACTION=Qo,e.SHOW_OCCURRENCE_DIALOG_ACTION=xo,e.SHOW_REMOVE_DIALOG_ACTION=Ao,e.SLOTS_FOCUS_ACTION=dr,e.SLOTS_SELECT_ACTION=ar,e.Scheduler=Fn,e.SchedulerActionButtons=Tr,e.SchedulerDrag=To,e.SchedulerEditItem=tn,e.SchedulerEditSlot=Ls,e.SchedulerEditTask=yo,e.SchedulerFooter=le,e.SchedulerForm=zs,e.SchedulerFormEditor=bs,e.SchedulerHeader=ae,e.SchedulerItem=Eo,e.SchedulerItemContent=zo,e.SchedulerNavigation=jn,e.SchedulerOccurrenceDialog=co,e.SchedulerProportionalViewItem=An,e.SchedulerQuickCreateForm=zr,e.SchedulerRecurrenceDialog=ys,e.SchedulerRemoveDialog=ho,e.SchedulerResize=Vo,e.SchedulerSlot=Ts,e.SchedulerTask=po,e.SchedulerViewItem=No,e.SchedulerViewSelector=Ln,e.SchedulerViewSlot=Os,e.SchedulerViewTask=mo,e.TimeHeaderCell=Bs,e.TimelineView=an,e.TimezoneDropDownList=us,e.WeekView=fn,e.WorkWeekView=kn,e.ZonedSplitDateTime=cs,e.getRecurrenceSummary=vs,e.schedulerQuickCreateFormDefaultProps={}});