@progress/kendo-react-scheduler 9.2.0-develop.7 → 9.2.0-develop.9

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.
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ne=require("react"),re=require("./SchedulerItem.js"),b=require("../utils/index.js"),S=require("../views/common/utils.js"),h=require("../constants/index.js"),ie=require("@progress/kendo-react-intl"),N=require("./SchedulerItemContent.js"),E=require("@progress/kendo-react-common"),y=require("@progress/kendo-svg-icons"),ce=require("../hooks/useRowSync.js"),le=require("../hooks/useEditable.js"),j=require("../context/SchedulerViewContext.js"),se=require("../context/SchedulerContext.js");function oe(e){const g=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const f in e)if(f!=="default"){const R=Object.getOwnPropertyDescriptor(e,f);Object.defineProperty(g,f,R.get?R:{enumerable:!0,get:()=>e[f]})}}return g.default=e,Object.freeze(g)}const n=oe(ne),ue=1,F=n.forwardRef((e,g)=>{const{item:f,_ref:R,itemRef:L,...G}=e,v=n.useRef(),c=n.useRef(null),A=n.useRef(null),q=n.useRef(null),K=le.useEditable(e.editable);n.useImperativeHandle(A,()=>({props:e,element:c.current&&c.current.element})),n.useImperativeHandle(g,()=>A.current),n.useImperativeHandle(R,()=>c.current),n.useImperativeHandle(L,()=>c.current);const J=f||$.item,D=ie.useInternationalization(),[Q]=j.useSchedulerViewItemsContext(),[P]=j.useSchedulerViewSlotsContext(),I=se.useSchedulerElementContext(),[U,H]=n.useState(!0),[X,Y]=n.useState(!1),m=n.useRef(null),T=n.useRef(0),C=E.useDir(I),k=n.useMemo(()=>e.isAllDay?D.toString(e.zonedStart,"t"):D.format("{0:t} - {1:t}",e.zonedStart,e.zonedEnd),[D,e.isAllDay,e.zonedEnd,e.zonedStart]),V=n.useMemo(()=>`(${k}): ${e.title}`,[k,e.title]),W=(r,t)=>{let l=1;return r.forEach(o=>{const a=t.filter(d=>w(o.current.props,d.props));a.length>l&&(l=a.length)}),l},Z=(r,t)=>r.map(o=>t.filter(a=>w(o.current.props,a.props))),w=(r,t)=>b.intersects(r.start,r.end,t.start,t.end)&&r.group.index===t.group.index&&r.range.index===t.range.index&&(e.ignoreIsAllDay||r.isAllDay===t.isAllDay),x=()=>{const r=(P||[]).filter(o=>o.current&&w(o.current.props,e));if(r.length===0){H(!1);return}const t=b.first(r);if(!t.current||!c.current)return;const l=S.getRect(t.current.element);S.setRect(c.current.element,l)},z=()=>{const r=c.current&&c.current.element;if(!r)return;const t=(P||[]).filter(s=>s.current&&w(s.current.props,e)),l=[],o=[],a=[];(Q||[]).forEach(s=>{s.current&&(s.current.props.dragHint?o.push(s.current):s.current.props.resizeHint?a.push(s.current):l.push(s.current))}),m.current=e.dragHint||e.resizeHint?b.calculateOrder(c.current,e.dragHint?o:a,t,e.ignoreIsAllDay):e.order||0;let d=e.dragHint||e.resizeHint?W(t,e.dragHint?o:a):W(t,l);const ee=Z(t,l);let O=0;const i=S.getRect(r);if(ee.forEach(s=>{let _=0;s.forEach(u=>{b.intersects(u.props.start,u.props.end,e.start,e.end)&&!(e.dragHint||e.resizeHint)&&u._maxSiblingsPerSlot&&u._maxSiblingsPerSlot>d&&u.element!==r&&(d=u._maxSiblingsPerSlot);const M=S.getRect(u.element);u.props.order!==null&&u.props.order<m.current&&(_=M.top+M.height-i.top-h.BORDER_WIDTH*m.current+ue)}),_>O&&(O=_)}),t.length===0){H(!1);return}const te=K.add?20:0;i.width=e.vertical?i.width/d-h.BORDER_WIDTH-te/d:i.width*t.length-h.BORDER_WIDTH,i.height=e.vertical?i.height*t.length-h.BORDER_WIDTH:(e.resizeHint||e.dragHint)&&d<=1?i.height:e.style&&e.style.height?e.style.height:25,i.left=e.vertical?i.left+m.current*i.width+h.BORDER_WIDTH*m.current:i.left,i.top=e.vertical?i.top:i.top+O+h.BORDER_WIDTH*m.current,T.current=d,S.setRect(r,i),Y(!0),H(!0)},B=n.useCallback(r=>{const t=r&&r[0],l=q.current;v.current!==void 0&&window.cancelAnimationFrame(v.current),l&&t&&(l.width!==t.contentRect.width||l.height!==t.contentRect.height)&&(v.current=window.requestAnimationFrame(()=>{x(),z()})),q.current={width:t.contentRect.width,height:t.contentRect.height}},[x,z]);n.useEffect(x),n.useEffect(z);const p=c.current&&c.current.element?c.current.element.closest(".k-scheduler-layout"):null;return ce.useRowSync({element:p,selector:".k-resource-row",horizontalAttribute:"data-depth-index",verticalAttribute:"data-resource-index",applyTo:".k-resource-cell",syncHeight:e.isLast}),n.useEffect(()=>{if(!I.current)return;const r=window.ResizeObserver,t=r&&new r(B);return t&&t.observe(I.current),()=>{t&&t.disconnect()}},[B,I]),n.createElement(J,{...G,_ref:c,_maxSiblingsPerSlot:T,_order:m,itemRef:c,style:{visibility:X?void 0:"hidden",display:U?void 0:"none",...e.style}},!e.resizeHint&&n.createElement("span",{className:"k-event-actions"},e.tail&&n.createElement(E.IconWrap,{name:C==="rtl"?"caret-alt-right":"caret-alt-left",icon:C==="rtl"?y.caretAltRightIcon:y.caretAltLeftIcon}),e.isRecurring&&!e.isException&&n.createElement(E.IconWrap,{name:"arrow-rotate-cw",icon:y.arrowRotateCwIcon}),!e.isRecurring&&e.isException&&n.createElement(E.IconWrap,{name:"arrows-no-repeat",icon:y.arrowsNoRepeatIcon})),!e.resizeHint&&n.createElement("div",{title:V},!e.isAllDay&&n.createElement(N.SchedulerItemContent,{className:"k-event-time"},V),n.createElement(N.SchedulerItemContent,null,e.title)))}),$={item:re.SchedulerItem};F.displayName="KendoReactSchedulerViewItem";exports.SchedulerViewItem=F;exports.schedulerViewItemDefaultProps=$;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ne=require("react"),re=require("./SchedulerItem.js"),I=require("../utils/index.js"),_=require("../views/common/utils.js"),h=require("../constants/index.js"),ie=require("@progress/kendo-react-intl"),M=require("./SchedulerItemContent.js"),w=require("@progress/kendo-react-common"),b=require("@progress/kendo-svg-icons"),ce=require("../hooks/useRowSync.js"),le=require("../hooks/useEditable.js"),N=require("../context/SchedulerViewContext.js"),se=require("../context/SchedulerContext.js");function oe(e){const f=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const d in e)if(d!=="default"){const S=Object.getOwnPropertyDescriptor(e,d);Object.defineProperty(f,d,S.get?S:{enumerable:!0,get:()=>e[d]})}}return f.default=e,Object.freeze(f)}const t=oe(ne),ae=1,j=t.forwardRef((e,f)=>{const{item:d,_ref:S,itemRef:$,...L}=e,E=t.useRef(),c=t.useRef(null),A=t.useRef(null),q=t.useRef(null),G=le.useEditable(e.editable);t.useImperativeHandle(A,()=>({props:e,element:c.current&&c.current.element})),t.useImperativeHandle(f,()=>A.current),t.useImperativeHandle(S,()=>c.current),t.useImperativeHandle($,()=>c.current);const K=d||F.item,y=ie.useInternationalization(),[J]=N.useSchedulerViewItemsContext(),[Q]=N.useSchedulerViewSlotsContext(),R=se.useSchedulerElementContext(),[U,v]=t.useState(!0),[X,Y]=t.useState(!1),u=t.useRef(e.order),P=t.useRef(0),T=w.useDir(R),C=t.useMemo(()=>e.isAllDay?y.toString(e.zonedStart,"t"):y.format("{0:t} - {1:t}",e.zonedStart,e.zonedEnd),[y,e.isAllDay,e.zonedEnd,e.zonedStart]),k=t.useMemo(()=>`(${C}): ${e.title}`,[C,e.title]),V=(n,r)=>{let l=1;return n.forEach(i=>{const a=r.filter(g=>D(i.current.props,g.props));a.length>l&&(l=a.length)}),l},Z=(n,r)=>n.map(i=>r.filter(a=>D(i.current.props,a.props))),D=(n,r)=>I.intersects(n.start,n.end,r.start,r.end)&&n.group.index===r.group.index&&n.range.index===r.range.index&&(e.ignoreIsAllDay||n.isAllDay===r.isAllDay),H=()=>{const n=(Q||[]).filter(s=>s.current&&D(s.current.props,e)),r=c.current&&c.current.element,l=I.first(n);if(n.length===0){v(!1);return}if(!l.current||!r)return;const i=_.getRect(l.current.element),a=[],g=[],x=[];(J||[]).forEach(s=>{s.current&&(s.current.props.dragHint?g.push(s.current):s.current.props.resizeHint?x.push(s.current):a.push(s.current))}),u.current=e.dragHint||e.resizeHint?I.calculateOrder(c.current,e.dragHint?g:x,n,e.ignoreIsAllDay):e.order||0;let m=e.dragHint||e.resizeHint?V(n,e.dragHint?g:x):V(n,a);const ee=Z(n,a);let z=0;if(ee.forEach(s=>{let O=0;s.forEach(o=>{I.intersects(o.props.start,o.props.end,e.start,e.end)&&!(e.dragHint||e.resizeHint)&&o._maxSiblingsPerSlot&&o._maxSiblingsPerSlot>m&&o.element!==r&&(m=o._maxSiblingsPerSlot);const B=_.getRect(o.element);o.props.order!==null&&o.props.order<u.current&&(O=B.top+B.height-i.top-h.BORDER_WIDTH*u.current+ae)}),O>z&&(z=O)}),n.length===0){v(!1);return}const te=G.add?20:0;i.width=e.vertical?i.width/m-h.BORDER_WIDTH-te/m:i.width*n.length-h.BORDER_WIDTH,i.height=e.vertical?i.height*n.length-h.BORDER_WIDTH:(e.resizeHint||e.dragHint)&&m<=1?i.height:e.style&&e.style.height?e.style.height:25,i.left=e.vertical?i.left+u.current*i.width+h.BORDER_WIDTH*u.current:i.left,i.top=e.vertical?i.top:i.top+z+h.BORDER_WIDTH*u.current,P.current=m,_.setRect(r,i),Y(!0),v(!0)},W=t.useCallback(n=>{const r=n&&n[0],l=q.current;E.current!==void 0&&window.cancelAnimationFrame(E.current),l&&r&&(l.width!==r.contentRect.width||l.height!==r.contentRect.height)&&(E.current=window.requestAnimationFrame(()=>{H()})),q.current={width:r.contentRect.width,height:r.contentRect.height}},[H]);t.useEffect(H);const p=c.current&&c.current.element?c.current.element.closest(".k-scheduler-layout"):null;return ce.useRowSync({element:p,selector:".k-resource-row",horizontalAttribute:"data-depth-index",verticalAttribute:"data-resource-index",applyTo:".k-resource-cell",syncHeight:e.isLast}),t.useEffect(()=>{if(!R.current)return;const n=window.ResizeObserver,r=n&&new n(W);return r&&r.observe(R.current),()=>{r&&r.disconnect()}},[W,R]),t.createElement(K,{...L,_ref:c,_maxSiblingsPerSlot:P,_order:u,itemRef:c,style:{visibility:X?void 0:"hidden",display:U?void 0:"none",...e.style}},!e.resizeHint&&t.createElement("span",{className:"k-event-actions"},e.tail&&t.createElement(w.IconWrap,{name:T==="rtl"?"caret-alt-right":"caret-alt-left",icon:T==="rtl"?b.caretAltRightIcon:b.caretAltLeftIcon}),e.isRecurring&&!e.isException&&t.createElement(w.IconWrap,{name:"arrow-rotate-cw",icon:b.arrowRotateCwIcon}),!e.isRecurring&&e.isException&&t.createElement(w.IconWrap,{name:"arrows-no-repeat",icon:b.arrowsNoRepeatIcon})),!e.resizeHint&&t.createElement("div",{title:k},!e.isAllDay&&t.createElement(M.SchedulerItemContent,{className:"k-event-time"},k),t.createElement(M.SchedulerItemContent,null,e.title)))}),F={item:re.SchedulerItem};j.displayName="KendoReactSchedulerViewItem";exports.SchedulerViewItem=j;exports.schedulerViewItemDefaultProps=F;
@@ -6,124 +6,116 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as n from "react";
10
- import { SchedulerItem as p } from "./SchedulerItem.mjs";
11
- import { first as ee, calculateOrder as te, intersects as V } from "../utils/index.mjs";
12
- import { getRect as y, setRect as N } from "../views/common/utils.mjs";
13
- import { BORDER_WIDTH as f } from "../constants/index.mjs";
9
+ import * as t from "react";
10
+ import { SchedulerItem as Z } from "./SchedulerItem.mjs";
11
+ import { first as p, calculateOrder as ee, intersects as k } from "../utils/index.mjs";
12
+ import { getRect as T, setRect as te } from "../views/common/utils.mjs";
13
+ import { BORDER_WIDTH as d } from "../constants/index.mjs";
14
14
  import { useInternationalization as ne } from "@progress/kendo-react-intl";
15
- import { SchedulerItemContent as F } from "./SchedulerItemContent.mjs";
16
- import { useDir as re, IconWrap as H } from "@progress/kendo-react-common";
17
- import { caretAltRightIcon as ie, caretAltLeftIcon as ce, arrowRotateCwIcon as le, arrowsNoRepeatIcon as se } from "@progress/kendo-svg-icons";
15
+ import { SchedulerItemContent as V } from "./SchedulerItemContent.mjs";
16
+ import { useDir as re, IconWrap as y } from "@progress/kendo-react-common";
17
+ import { caretAltRightIcon as ie, caretAltLeftIcon as le, arrowRotateCwIcon as ce, arrowsNoRepeatIcon as se } from "@progress/kendo-svg-icons";
18
18
  import { useRowSync as oe } from "../hooks/useRowSync.mjs";
19
19
  import { useEditable as ae } from "../hooks/useEditable.mjs";
20
20
  import { useSchedulerViewItemsContext as ue, useSchedulerViewSlotsContext as me } from "../context/SchedulerViewContext.mjs";
21
21
  import { useSchedulerElementContext as de } from "../context/SchedulerContext.mjs";
22
- const fe = 1, he = n.forwardRef(
23
- (e, M) => {
24
- const { item: L, _ref: W, itemRef: $, ...q } = e, S = n.useRef(), c = n.useRef(null), z = n.useRef(null), x = n.useRef(null), B = ae(e.editable);
25
- n.useImperativeHandle(z, () => ({ props: e, element: c.current && c.current.element })), n.useImperativeHandle(M, () => z.current), n.useImperativeHandle(W, () => c.current), n.useImperativeHandle($, () => c.current);
26
- const G = L || ge.item, w = ne(), [K] = ue(), [A] = me(), h = de(), [j, I] = n.useState(!0), [J, Q] = n.useState(!1), d = n.useRef(null), D = n.useRef(0), P = re(h), _ = n.useMemo(
27
- () => e.isAllDay ? w.toString(e.zonedStart, "t") : w.format("{0:t} - {1:t}", e.zonedStart, e.zonedEnd),
28
- [w, e.isAllDay, e.zonedEnd, e.zonedStart]
29
- ), C = n.useMemo(() => `(${_}): ${e.title}`, [_, e.title]), O = (r, t) => {
30
- let l = 1;
31
- return r.forEach((o) => {
32
- const u = t.filter((m) => g(o.current.props, m.props));
33
- u.length > l && (l = u.length);
34
- }), l;
35
- }, U = (r, t) => r.map((o) => t.filter((u) => g(o.current.props, u.props))), g = (r, t) => V(r.start, r.end, t.start, t.end) && r.group.index === t.group.index && r.range.index === t.range.index && (e.ignoreIsAllDay || r.isAllDay === t.isAllDay), R = () => {
36
- const r = (A || []).filter((o) => o.current && g(o.current.props, e));
37
- if (r.length === 0) {
38
- I(!1);
22
+ const fe = 1, he = t.forwardRef(
23
+ (e, N) => {
24
+ const { item: F, _ref: M, itemRef: L, ...W } = e, g = t.useRef(), l = t.useRef(null), H = t.useRef(null), z = t.useRef(null), $ = ae(e.editable);
25
+ t.useImperativeHandle(H, () => ({ props: e, element: l.current && l.current.element })), t.useImperativeHandle(N, () => H.current), t.useImperativeHandle(M, () => l.current), t.useImperativeHandle(L, () => l.current);
26
+ const q = F || ge.item, S = ne(), [B] = ue(), [G] = me(), h = de(), [K, w] = t.useState(!0), [j, J] = t.useState(!1), u = t.useRef(e.order), x = t.useRef(0), A = re(h), D = t.useMemo(
27
+ () => e.isAllDay ? S.toString(e.zonedStart, "t") : S.format("{0:t} - {1:t}", e.zonedStart, e.zonedEnd),
28
+ [S, e.isAllDay, e.zonedEnd, e.zonedStart]
29
+ ), P = t.useMemo(() => `(${D}): ${e.title}`, [D, e.title]), _ = (n, r) => {
30
+ let c = 1;
31
+ return n.forEach((i) => {
32
+ const a = r.filter((f) => I(i.current.props, f.props));
33
+ a.length > c && (c = a.length);
34
+ }), c;
35
+ }, Q = (n, r) => n.map((i) => r.filter((a) => I(i.current.props, a.props))), I = (n, r) => k(n.start, n.end, r.start, r.end) && n.group.index === r.group.index && n.range.index === r.range.index && (e.ignoreIsAllDay || n.isAllDay === r.isAllDay), R = () => {
36
+ const n = (G || []).filter((s) => s.current && I(s.current.props, e)), r = l.current && l.current.element, c = p(n);
37
+ if (n.length === 0) {
38
+ w(!1);
39
39
  return;
40
40
  }
41
- const t = ee(r);
42
- if (!t.current || !c.current)
41
+ if (!c.current || !r)
43
42
  return;
44
- const l = y(t.current.element);
45
- N(c.current.element, l);
46
- }, E = () => {
47
- const r = c.current && c.current.element;
48
- if (!r)
49
- return;
50
- const t = (A || []).filter((s) => s.current && g(s.current.props, e)), l = [], o = [], u = [];
51
- (K || []).forEach((s) => {
52
- s.current && (s.current.props.dragHint ? o.push(s.current) : s.current.props.resizeHint ? u.push(s.current) : l.push(s.current));
53
- }), d.current = e.dragHint || e.resizeHint ? te(
54
- c.current,
55
- e.dragHint ? o : u,
56
- t,
43
+ const i = T(c.current.element), a = [], f = [], b = [];
44
+ (B || []).forEach((s) => {
45
+ s.current && (s.current.props.dragHint ? f.push(s.current) : s.current.props.resizeHint ? b.push(s.current) : a.push(s.current));
46
+ }), u.current = e.dragHint || e.resizeHint ? ee(
47
+ l.current,
48
+ e.dragHint ? f : b,
49
+ n,
57
50
  e.ignoreIsAllDay
58
51
  ) : e.order || 0;
59
- let m = e.dragHint || e.resizeHint ? O(t, e.dragHint ? o : u) : O(t, l);
60
- const Y = U(t, l);
61
- let b = 0;
62
- const i = y(r);
63
- if (Y.forEach((s) => {
64
- let v = 0;
65
- s.forEach((a) => {
66
- V(a.props.start, a.props.end, e.start, e.end) && !(e.dragHint || e.resizeHint) && a._maxSiblingsPerSlot && a._maxSiblingsPerSlot > m && a.element !== r && (m = a._maxSiblingsPerSlot);
67
- const T = y(a.element);
68
- a.props.order !== null && a.props.order < d.current && (v = T.top + T.height - i.top - f * d.current + fe);
69
- }), v > b && (b = v);
70
- }), t.length === 0) {
71
- I(!1);
52
+ let m = e.dragHint || e.resizeHint ? _(n, e.dragHint ? f : b) : _(n, a);
53
+ const X = Q(n, a);
54
+ let v = 0;
55
+ if (X.forEach((s) => {
56
+ let E = 0;
57
+ s.forEach((o) => {
58
+ k(o.props.start, o.props.end, e.start, e.end) && !(e.dragHint || e.resizeHint) && o._maxSiblingsPerSlot && o._maxSiblingsPerSlot > m && o.element !== r && (m = o._maxSiblingsPerSlot);
59
+ const O = T(o.element);
60
+ o.props.order !== null && o.props.order < u.current && (E = O.top + O.height - i.top - d * u.current + fe);
61
+ }), E > v && (v = E);
62
+ }), n.length === 0) {
63
+ w(!1);
72
64
  return;
73
65
  }
74
- const Z = B.add ? 20 : 0;
75
- i.width = e.vertical ? i.width / m - f - Z / m : i.width * t.length - f, i.height = e.vertical ? i.height * t.length - f : (e.resizeHint || e.dragHint) && m <= 1 ? i.height : e.style && e.style.height ? e.style.height : 25, i.left = e.vertical ? i.left + d.current * i.width + f * d.current : i.left, i.top = e.vertical ? i.top : i.top + b + f * d.current, D.current = m, N(r, i), Q(!0), I(!0);
76
- }, k = n.useCallback(
77
- (r) => {
78
- const t = r && r[0], l = x.current;
79
- S.current !== void 0 && window.cancelAnimationFrame(S.current), l && t && (l.width !== t.contentRect.width || l.height !== t.contentRect.height) && (S.current = window.requestAnimationFrame(() => {
80
- R(), E();
81
- })), x.current = { width: t.contentRect.width, height: t.contentRect.height };
66
+ const Y = $.add ? 20 : 0;
67
+ i.width = e.vertical ? i.width / m - d - Y / m : i.width * n.length - d, i.height = e.vertical ? i.height * n.length - d : (e.resizeHint || e.dragHint) && m <= 1 ? i.height : e.style && e.style.height ? e.style.height : 25, i.left = e.vertical ? i.left + u.current * i.width + d * u.current : i.left, i.top = e.vertical ? i.top : i.top + v + d * u.current, x.current = m, te(r, i), J(!0), w(!0);
68
+ }, C = t.useCallback(
69
+ (n) => {
70
+ const r = n && n[0], c = z.current;
71
+ g.current !== void 0 && window.cancelAnimationFrame(g.current), c && r && (c.width !== r.contentRect.width || c.height !== r.contentRect.height) && (g.current = window.requestAnimationFrame(() => {
72
+ R();
73
+ })), z.current = { width: r.contentRect.width, height: r.contentRect.height };
82
74
  },
83
- [R, E]
75
+ [R]
84
76
  );
85
- n.useEffect(R), n.useEffect(E);
86
- const X = c.current && c.current.element ? c.current.element.closest(".k-scheduler-layout") : null;
77
+ t.useEffect(R);
78
+ const U = l.current && l.current.element ? l.current.element.closest(".k-scheduler-layout") : null;
87
79
  return oe({
88
- element: X,
80
+ element: U,
89
81
  selector: ".k-resource-row",
90
82
  horizontalAttribute: "data-depth-index",
91
83
  verticalAttribute: "data-resource-index",
92
84
  applyTo: ".k-resource-cell",
93
85
  syncHeight: e.isLast
94
- }), n.useEffect(() => {
86
+ }), t.useEffect(() => {
95
87
  if (!h.current)
96
88
  return;
97
- const r = window.ResizeObserver, t = r && new r(k);
98
- return t && t.observe(h.current), () => {
99
- t && t.disconnect();
89
+ const n = window.ResizeObserver, r = n && new n(C);
90
+ return r && r.observe(h.current), () => {
91
+ r && r.disconnect();
100
92
  };
101
- }, [k, h]), /* @__PURE__ */ n.createElement(
102
- G,
93
+ }, [C, h]), /* @__PURE__ */ t.createElement(
94
+ q,
103
95
  {
104
- ...q,
105
- _ref: c,
106
- _maxSiblingsPerSlot: D,
107
- _order: d,
108
- itemRef: c,
96
+ ...W,
97
+ _ref: l,
98
+ _maxSiblingsPerSlot: x,
99
+ _order: u,
100
+ itemRef: l,
109
101
  style: {
110
- visibility: J ? void 0 : "hidden",
111
- display: j ? void 0 : "none",
102
+ visibility: j ? void 0 : "hidden",
103
+ display: K ? void 0 : "none",
112
104
  ...e.style
113
105
  }
114
106
  },
115
- !e.resizeHint && /* @__PURE__ */ n.createElement("span", { className: "k-event-actions" }, e.tail && /* @__PURE__ */ n.createElement(
116
- H,
107
+ !e.resizeHint && /* @__PURE__ */ t.createElement("span", { className: "k-event-actions" }, e.tail && /* @__PURE__ */ t.createElement(
108
+ y,
117
109
  {
118
- name: P === "rtl" ? "caret-alt-right" : "caret-alt-left",
119
- icon: P === "rtl" ? ie : ce
110
+ name: A === "rtl" ? "caret-alt-right" : "caret-alt-left",
111
+ icon: A === "rtl" ? ie : le
120
112
  }
121
- ), e.isRecurring && !e.isException && /* @__PURE__ */ n.createElement(H, { name: "arrow-rotate-cw", icon: le }), !e.isRecurring && e.isException && /* @__PURE__ */ n.createElement(H, { name: "arrows-no-repeat", icon: se })),
122
- !e.resizeHint && /* @__PURE__ */ n.createElement("div", { title: C }, !e.isAllDay && /* @__PURE__ */ n.createElement(F, { className: "k-event-time" }, C), /* @__PURE__ */ n.createElement(F, null, e.title))
113
+ ), e.isRecurring && !e.isException && /* @__PURE__ */ t.createElement(y, { name: "arrow-rotate-cw", icon: ce }), !e.isRecurring && e.isException && /* @__PURE__ */ t.createElement(y, { name: "arrows-no-repeat", icon: se })),
114
+ !e.resizeHint && /* @__PURE__ */ t.createElement("div", { title: P }, !e.isAllDay && /* @__PURE__ */ t.createElement(V, { className: "k-event-time" }, P), /* @__PURE__ */ t.createElement(V, null, e.title))
123
115
  );
124
116
  }
125
117
  ), ge = {
126
- item: p
118
+ item: Z
127
119
  };
128
120
  he.displayName = "KendoReactSchedulerViewItem";
129
121
  export {
@@ -10,7 +10,7 @@ const e = {
10
10
  name: "@progress/kendo-react-scheduler",
11
11
  productName: "KendoReact",
12
12
  productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
13
- publishDate: 1736851817,
13
+ publishDate: 1737042755,
14
14
  version: "",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui"
16
16
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-scheduler",
3
- "version": "9.2.0-develop.7",
3
+ "version": "9.2.0-develop.9",
4
4
  "description": "React Scheduler brings the functionality of Outlook's Calendar to a single UI component. KendoReact Scheduler package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -26,15 +26,15 @@
26
26
  "@progress/kendo-date-math": "^1.4.1",
27
27
  "@progress/kendo-drawing": "^1.21.2",
28
28
  "@progress/kendo-licensing": "^1.3.4",
29
- "@progress/kendo-react-buttons": "9.2.0-develop.7",
30
- "@progress/kendo-react-common": "9.2.0-develop.7",
31
- "@progress/kendo-react-dateinputs": "9.2.0-develop.7",
32
- "@progress/kendo-react-dialogs": "9.2.0-develop.7",
33
- "@progress/kendo-react-dropdowns": "9.2.0-develop.7",
34
- "@progress/kendo-react-form": "9.2.0-develop.7",
35
- "@progress/kendo-react-inputs": "9.2.0-develop.7",
36
- "@progress/kendo-react-intl": "9.2.0-develop.7",
37
- "@progress/kendo-react-popup": "9.2.0-develop.7",
29
+ "@progress/kendo-react-buttons": "9.2.0-develop.9",
30
+ "@progress/kendo-react-common": "9.2.0-develop.9",
31
+ "@progress/kendo-react-dateinputs": "9.2.0-develop.9",
32
+ "@progress/kendo-react-dialogs": "9.2.0-develop.9",
33
+ "@progress/kendo-react-dropdowns": "9.2.0-develop.9",
34
+ "@progress/kendo-react-form": "9.2.0-develop.9",
35
+ "@progress/kendo-react-inputs": "9.2.0-develop.9",
36
+ "@progress/kendo-react-intl": "9.2.0-develop.9",
37
+ "@progress/kendo-react-popup": "9.2.0-develop.9",
38
38
  "@progress/kendo-svg-icons": "^4.0.0",
39
39
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
40
40
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("react"),y=require("@progress/kendo-date-math"),S=require("../constants/index.js");function D(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const o in n)if(o!=="default"){const c=Object.getOwnPropertyDescriptor(n,o);Object.defineProperty(e,o,c.get?c:{enumerable:!0,get:()=>n[o]})}}return e.default=n,Object.freeze(e)}const R=D(M),P=(n,{step:e},{groups:o,ranges:c})=>{const a=[];return o.forEach(T=>{c.forEach(i=>{const f=i.zonedStart,d=i.zonedEnd,l=d.timezoneOffset-f.timezoneOffset;for(let t=f.clone(),u=0,m=l<0?l*S.MS_PER_MINUTE*-1:0;t.getTime()<d.getTime();u++,t=t.addTime(e)){const _=R.createRef(),r=t.clone(),s=t.addTime(e),g=(s.timezoneOffset-r.timezoneOffset)*S.MS_PER_MINUTE,E=e<=Math.abs(g);m&&E&&(m-=e,t=t.addTime(-e));const O=new Date(r.getTime()),b=new Date(s.getTime()),z={_ref:_,index:u,end:b,start:O,zonedStart:r,zonedEnd:s,range:i,group:T,items:[],isAllDay:y.MS_PER_DAY<=e};a.push(z)}})}),a};exports.toSlots=P;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("react"),y=require("@progress/kendo-date-math"),S=require("../constants/index.js");function D(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const o in n)if(o!=="default"){const c=Object.getOwnPropertyDescriptor(n,o);Object.defineProperty(e,o,c.get?c:{enumerable:!0,get:()=>n[o]})}}return e.default=n,Object.freeze(e)}const R=D(M),P=(n,{step:e},{groups:o,ranges:c})=>{const a=[];return o.forEach(T=>{c.forEach(i=>{const f=i.zonedStart,d=i.zonedEnd,l=d.timezoneOffset-f.timezoneOffset;for(let t=f.clone(),u=0,m=l<0?l*S.MS_PER_MINUTE*-1:0;t.getTime()<d.getTime();){const _=R.createRef(),r=t.clone(),s=t.addTime(e),g=(s.timezoneOffset-r.timezoneOffset)*S.MS_PER_MINUTE,E=e<=Math.abs(g);m&&E&&(m-=e,t=t.addTime(-e));const O=new Date(r.getTime()),b=new Date(s.getTime()),z={_ref:_,index:u,end:b,start:O,zonedStart:r,zonedEnd:s,range:i,group:T,items:[],isAllDay:y.MS_PER_DAY<=e};a.push(z),t=t.addTime(e),u++}})}),a};exports.toSlots=P;
@@ -14,7 +14,7 @@ const v = (M, { step: t }, { groups: l, ranges: z }) => {
14
14
  return l.forEach((E) => {
15
15
  z.forEach((o) => {
16
16
  const s = o.zonedStart, f = o.zonedEnd, r = f.timezoneOffset - s.timezoneOffset;
17
- for (let e = s.clone(), a = 0, d = r < 0 ? r * m * -1 : 0; e.getTime() < f.getTime(); a++, e = e.addTime(t)) {
17
+ for (let e = s.clone(), a = 0, d = r < 0 ? r * m * -1 : 0; e.getTime() < f.getTime(); ) {
18
18
  const T = w.createRef(), n = e.clone(), c = e.addTime(t), S = (c.timezoneOffset - n.timezoneOffset) * m, _ = t <= Math.abs(S);
19
19
  d && _ && (d -= t, e = e.addTime(-t));
20
20
  const R = new Date(n.getTime()), h = new Date(c.getTime()), u = {
@@ -29,7 +29,7 @@ const v = (M, { step: t }, { groups: l, ranges: z }) => {
29
29
  items: [],
30
30
  isAllDay: D <= t
31
31
  };
32
- i.push(u);
32
+ i.push(u), e = e.addTime(t), a++;
33
33
  }
34
34
  });
35
35
  }), i;
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const me=require("react"),c=require("prop-types"),y=require("@progress/kendo-date-math"),ue=require("../../components/BaseView.js"),L=require("../common/HorizontalResourceIterator.js"),Q=require("./DayViewGroupRowContent.js"),p=require("../common/VerticalResourceIterator.js"),j=require("./DayViewAllDayRowContent.js"),ee=require("./DayViewRowContent.js"),te=require("@progress/kendo-react-common"),o=require("../../utils/index.js"),de=require("@progress/kendo-react-intl"),De=require("../../constants/index.js"),ge=require("../../slots/SchedulerEditSlot.js"),we=require("../../items/SchedulerEditItem.js"),W=require("../../context/SchedulerContext.js"),_=require("../../context/SchedulerResourceIteratorContext.js"),ae=require("../../components/CurrentTimeMarket.js"),ye=require("../../components/DateHeaderCell.js"),ne=require("../../services/rangeService.js"),re=require("../../services/slotsService.js"),ke=require("../../services/occurrenceService.js"),oe=require("../../services/itemsService.js");function Se(t){const g=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const k=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(g,n,k.get?k:{enumerable:!0,get:()=>t[n]})}}return g.default=t,Object.freeze(g)}const a=Se(me),H=0,O=1,Te=a.createElement("div",{className:"k-scheduler-cell k-side-cell"}),G=t=>{const{group:g,timezone:n,resources:k}=W.useSchedulerPropsContext(),h=de.useInternationalization(),q=t.editItem||we.SchedulerEditItem,M=t.editSlot||ge.SchedulerEditSlot,v=t.showWorkHours,d=t.numberOfDays||w.numberOfDays,E=t.slotDivisions||w.slotDivisions,U=t.slotDuration||w.slotDuration,b=t.workWeekStart||w.workWeekStart,F=t.workWeekEnd||w.workWeekEnd,Y=t.currentTimeMarker===!1?!1:w.currentTimeMarker,V=h.parseDate(t.workDayStart||t.isWorkDayStart||w.isWorkDayStart),N=h.parseDate(t.workDayEnd||t.isWorkDayEnd||w.isWorkDayEnd),Z=h.parseDate(t.startTime||w.startTime),B=h.parseDate(t.endTime||w.endTime),[K]=W.useSchedulerDataContext(),f=W.useSchedulerGroupsContext(),P=W.useSchedulerOrientationContext(),X=W.useSchedulerFieldsContext(),l=W.useSchedulerDateRangeContext(),R=a.useMemo(()=>v?V:Z,[v,V,Z]),C=a.useMemo(()=>v?N:B,[v,N,B]),x=a.useMemo(()=>ne.toRanges(l,{step:y.MS_PER_DAY*d,timezone:n}).map(e=>({...e,isAllDay:!0})),[l.start.getTime(),l.end.getTime(),d]),m=a.useMemo(()=>ne.toRanges(l,{step:y.MS_PER_DAY,timezone:n}).map(e=>({...e,isAllDay:!1})),[l.start.getTime(),l.end.getTime(),n]),$=a.useMemo(()=>re.toSlots(l,{step:y.MS_PER_DAY},{groups:f,ranges:x}),[l.start.getTime(),l.end.getTime(),n,x,f]),S=a.useMemo(()=>re.toSlots(l,{step:U*De.MS_PER_MINUTE/E},{groups:f,ranges:m}).filter(e=>C.getTime()===R.getTime()||o.isInTimeRange(e.zonedStart,R,C)),[l.start.getTime(),l.end.getTime(),U,E,R.getTime(),C.getTime(),f,m]),z=a.useMemo(()=>ke.toOccurrences(K,{dateRange:l,fields:X,timezone:n}),[K,l.start.getTime(),l.end.getTime(),X,n]),ie=a.useMemo(()=>z.filter(e=>e.isAllDay),[z]),se=a.useMemo(()=>z.filter(e=>!e.isAllDay),[z]),A=a.useMemo(()=>oe.toItems(ie,{timezone:n},{groups:f,ranges:x}),[z,n,f,x]),I=a.useMemo(()=>oe.toItems(se,{timezone:n},{groups:f,ranges:m}).filter(e=>R.getTime()===C.getTime()||o.isInTimeRange(e.zonedStart,R,C)||o.isInTimeRange(e.zonedEnd,R,C)||o.isInTimeRange(new Date(e.zonedEnd.getTime()-(e.zonedEnd.getTime()-e.zonedStart.getTime())/2),R,C)),[z,n,f,m,R.getTime(),C.getTime()]);a.useMemo(()=>o.mapItemsToSlots(A,$,!1),[A,$]),a.useMemo(()=>o.mapSlotsToItems(A,$,!1),[A,$]),a.useMemo(()=>o.mapItemsToSlots(I,S,!1),[I,S]),a.useMemo(()=>o.mapSlotsToItems(I,S,!1),[I,S]);const J=a.createElement(_.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:e})=>a.createElement("div",{className:"k-scheduler-row",key:e},m.map((r,D)=>a.createElement(ye.DateHeaderCell,{as:t.dateHeaderCell,key:D,date:y.ZonedDate.fromLocalDate(new Date(r.zonedEnd.getTime()-(r.zonedEnd.getTime()-r.zonedStart.getTime())/2),n),start:r.start,end:r.end,format:{skeleton:"MEd"}})))),le=a.createElement(_.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:e})=>a.createElement("div",{key:e,className:"k-scheduler-row"},x.map((r,D)=>$.filter(u=>u.group.index===e&&u.range.index===D).map((u,i,s)=>a.createElement(M,{...u,onDataAction:t.onDataAction,form:t.form,slot:t.slot,viewSlot:t.viewSlot,key:`${u.start.getTime()}:${u.group.index}`,row:0,col:P==="horizontal"?s.length*(e||0)+i:i,isWorkDay:0<=u.zonedStart.getDay()+(d-b)&&(u.zonedStart.getDay()+(d-b))%d<=F+(d-b),expandable:!0}))))),ce=a.useMemo(()=>te.classNames(t.name==="week"?"k-scheduler-weekview":"k-scheduler-dayview",t.className),[t.className]);return a.createElement(ue.BaseView,{id:t.id,props:t,style:t.style,className:ce,ranges:[...x,...m],slots:[...$,...S]},a.createElement("div",{className:"k-scheduler-head"},P==="horizontal"?a.createElement(a.Fragment,null,a.createElement(L.HorizontalResourceIterator,{nested:!0,group:g,resources:k,rowContent:Q.DayViewGroupRowContent,childRowContent:Q.DayViewGroupRowContent},J),a.createElement(L.HorizontalResourceIterator,{group:g,resources:k,rowContent:j.DayViewAllDayRowContent,childRowContent:j.DayViewAllDayRowContent},le),A.map(e=>a.createElement(q,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,...e,form:t.form,onDataAction:t.onDataAction,item:t.item,viewItem:t.viewItem,editable:t.editable,vertical:!1}))):a.createElement(p.VerticalResourceIterator,{group:g,resources:k,cellContent:Te},J)),a.createElement("div",{className:"k-scheduler-body"},P==="horizontal"?a.createElement(a.Fragment,null,S.filter(e=>e.group.index===H&&e.range.index===H).map((e,r)=>a.createElement(a.Fragment,{key:e.index},a.createElement(L.HorizontalResourceIterator,{nested:!1,group:g,resources:k,rowContent:ee.DayViewRowContent,rowContentProps:{timeHeaderCell:t.timeHeaderCell,isMaster:r%E===0,isLast:(r+1)%E===0,slot:e}},a.createElement(_.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:D})=>a.createElement("div",{className:te.classNames("k-scheduler-row",{"k-middle-row":(r+1)%E!==0})},m.map((u,i)=>S.filter(s=>s.index===e.index&&s.range.index===i&&s.group.index===D).map(s=>a.createElement(M,{key:`${s.start.getTime()}:${s.group.index}`,...s,onDataAction:t.onDataAction,slot:t.slot,viewSlot:t.viewSlot,form:t.form,row:r+O,col:m.length*(D||0)+i,isWorkHour:o.isInTimeRange(s.zonedStart,V,N),isWorkDay:o.isInDaysRange(s.zonedEnd.getDay(),b,F),editable:t.editable})))))))),Y!==!1&&o.intersects(o.first(m).start,o.last(m).end,new Date,new Date,!0)&&a.createElement(ae.CurrentTimeMarker,null)):a.createElement(a.Fragment,null,a.createElement(p.VerticalResourceIterator,{nested:!0,group:g,resources:k},a.createElement(_.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:e})=>a.createElement(a.Fragment,{key:e},a.createElement("div",{className:"k-scheduler-row"},a.createElement(j.DayViewAllDayRowContent,{groupIndex:e},x.map((r,D)=>{const u=S.filter(i=>i.group.index===e&&i.range.index===H).length;return $.filter(i=>i.group.index===e&&i.range.index===D).map((i,s)=>a.createElement(M,{slot:t.slot,viewSlot:t.viewSlot,form:t.form,...i,onDataAction:t.onDataAction,key:`${i.start.getTime()}:${i.group.index}`,className:"k-scheduler-alldays-slot",row:u*(e||0)+(e||0)*O,col:s,expandable:!0}))}))),S.filter(r=>r.group.index===e&&r.range.index===H).map((r,D,u)=>a.createElement("div",{className:"k-scheduler-row",key:r.index},a.createElement(ee.DayViewRowContent,{slot:r,isMaster:D%E===0,isLast:(D+1)%E===0,timeHeaderCell:t.timeHeaderCell},m.map((i,s)=>S.filter(T=>T.index===r.index&&T.group.index===e&&T.range.index===s).map(T=>a.createElement(M,{slot:t.slot,viewSlot:t.viewSlot,form:t.form,onDataAction:t.onDataAction,...T,key:`${T.start.getTime()}:${T.group.index}`,row:u.length*(e||0)+D+(e||0)*O+O,col:s,editable:t.editable,isWorkHour:o.isInTimeRange(T.zonedStart,V,N),isWorkDay:0<=T.zonedStart.getDay()+(d-b)&&(T.zonedStart.getDay()+(d-b))%d<=F+(d-b)})))))),Y!==!1&&o.intersects(o.first(m).start,o.last(m).end,new Date,new Date,!0)&&a.createElement(ae.CurrentTimeMarker,{groupIndex:e})))),A.map(e=>a.createElement(q,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,...e,onDataAction:t.onDataAction,viewItem:t.viewItem,item:t.item,form:t.form,editable:t.editable,vertical:!1}))),I.map(e=>a.createElement(q,{key:e.isRecurring?`${e.uid}:${e.group.index}:${e.range.index}:${e.originalStart}`:`${e.uid}:${e.group.index}:${e.range.index}`,...e,format:"t",onDataAction:t.onDataAction,viewItem:t.viewItem,item:t.item,form:t.form,editable:t.editable,vertical:!0}))))},Ee=({date:t,numberOfDays:g=1,timezone:n})=>{const k=y.ZonedDate.fromLocalDate(t,n),h=y.getDate(k),q=y.addDays(h,g),M=y.ZonedDate.fromUTCDate(o.toUTCDateTime(h),n),v=y.ZonedDate.fromUTCDate(o.toUTCDateTime(q),n),d=new Date(M.getTime()),E=new Date(v.getTime());return{start:d,end:E,zonedStart:M,zonedEnd:v}},w={name:"multi-day",title:"Multi Day",currentTimeMarker:!0,dateRange:Ee,selectedDateFormat:"{0:D} - {1:D}",selectedShortDateFormat:"{0:d} - {1:d}",numberOfDays:1,startTime:"00:00",endTime:"23:59",isWorkDayStart:"08:00",isWorkDayEnd:"17:00",workWeekStart:y.Day.Monday,workWeekEnd:y.Day.Friday,slotDivisions:2,slotDuration:60,showCurrentTime:!0,defaultShowWorkHours:!0};G.propTypes={currentTimeMarker:c.bool,name:c.string,numberOfDays:c.number,startTime:c.string,endTime:c.string,workDayStart:c.string,workDayEnd:c.string,workWeekStart:c.number,workWeekEnd:c.any,slotDivisions:c.number,slotDuration:c.number,showWorkHours:c.bool,selectedDateFormat:c.string,selectedShortDateFormat:c.string};G.displayName="KendoReactSchedulerMultiDayView";exports.MultiDayView=G;exports.multiDayViewDefaultProps=w;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const he=require("react"),u=require("prop-types"),S=require("@progress/kendo-date-math"),ve=require("../../components/BaseView.js"),L=require("../common/HorizontalResourceIterator.js"),ce=require("./DayViewGroupRowContent.js"),me=require("../common/VerticalResourceIterator.js"),j=require("./DayViewAllDayRowContent.js"),ue=require("./DayViewRowContent.js"),de=require("@progress/kendo-react-common"),s=require("../../utils/index.js"),Me=require("@progress/kendo-react-intl"),be=require("../../constants/index.js"),xe=require("../../slots/SchedulerEditSlot.js"),$e=require("../../items/SchedulerEditItem.js"),I=require("../../context/SchedulerContext.js"),H=require("../../context/SchedulerResourceIteratorContext.js"),De=require("../../components/CurrentTimeMarket.js"),Ae=require("../../components/DateHeaderCell.js"),ge=require("../../services/rangeService.js"),we=require("../../services/slotsService.js"),ze=require("../../services/occurrenceService.js"),ye=require("../../services/itemsService.js");function We(e){const g=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const k=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(g,o,k.get?k:{enumerable:!0,get:()=>e[o]})}}return g.default=e,Object.freeze(g)}const a=We(he),O=0,F=1,qe=a.createElement("div",{className:"k-scheduler-cell k-side-cell"}),G=e=>{var Q,p,ee,te,ae,ne,re,oe,ie,se,le;const{group:g,timezone:o,resources:k}=I.useSchedulerPropsContext(),b=Me.useInternationalization(),V=e.editItem||$e.SchedulerEditItem,T=e.editSlot||xe.SchedulerEditSlot,x=e.showWorkHours,d=(Q=e.numberOfDays)!=null?Q:y.numberOfDays,f=(p=e.slotDivisions)!=null?p:y.slotDivisions,U=(ee=e.slotDuration)!=null?ee:y.slotDuration,R=(te=e.workWeekStart)!=null?te:y.workWeekStart,N=(ae=e.workWeekEnd)!=null?ae:y.workWeekEnd,Y=e.currentTimeMarker===!1?!1:y.currentTimeMarker,A=b.parseDate((re=(ne=e.workDayStart)!=null?ne:e.isWorkDayStart)!=null?re:y.isWorkDayStart),z=b.parseDate((ie=(oe=e.workDayEnd)!=null?oe:e.isWorkDayEnd)!=null?ie:y.isWorkDayEnd),Z=b.parseDate((se=e.startTime)!=null?se:y.startTime),B=b.parseDate((le=e.endTime)!=null?le:y.endTime),[K]=I.useSchedulerDataContext(),C=I.useSchedulerGroupsContext(),P=I.useSchedulerOrientationContext(),X=I.useSchedulerFieldsContext(),l=I.useSchedulerDateRangeContext(),h=a.useMemo(()=>x?A:Z,[x,A,Z]),v=a.useMemo(()=>x?z:B,[x,z,B]),$=a.useMemo(()=>ge.toRanges(l,{step:S.MS_PER_DAY*d,timezone:o}).map(t=>({...t,isAllDay:!0})),[l.start.getTime(),l.end.getTime(),d]),c=a.useMemo(()=>ge.toRanges(l,{step:S.MS_PER_DAY,timezone:o}).map(t=>({...t,isAllDay:!1})),[l.start.getTime(),l.end.getTime(),o]),M=a.useMemo(()=>we.toSlots(l,{step:S.MS_PER_DAY},{groups:C,ranges:$}),[l.start.getTime(),l.end.getTime(),o,$,C]),D=a.useMemo(()=>we.toSlots(l,{step:U*be.MS_PER_MINUTE/f},{groups:C,ranges:c}).filter(t=>v.getTime()===h.getTime()||s.isInTimeRange(t.zonedStart,h,v)),[l.start.getTime(),l.end.getTime(),U,f,h.getTime(),v.getTime(),C,c]),W=a.useMemo(()=>ze.toOccurrences(K,{dateRange:l,fields:X,timezone:o}),[K,l.start.getTime(),l.end.getTime(),X,o]),Se=a.useMemo(()=>W.filter(t=>t.isAllDay),[W]),ke=a.useMemo(()=>W.filter(t=>!t.isAllDay),[W]),q=a.useMemo(()=>ye.toItems(Se,{timezone:o},{groups:C,ranges:$}),[W,o,C,$]),_=a.useMemo(()=>ye.toItems(ke,{timezone:o},{groups:C,ranges:c}).filter(t=>h.getTime()===v.getTime()||s.isInTimeRange(t.zonedStart,h,v)||s.isInTimeRange(t.zonedEnd,h,v)||s.isInTimeRange(new Date(t.zonedEnd.getTime()-(t.zonedEnd.getTime()-t.zonedStart.getTime())/2),h,v)),[W,o,C,c,h.getTime(),v.getTime()]);a.useMemo(()=>s.mapItemsToSlots(q,M,!1),[q,M]),a.useMemo(()=>s.mapSlotsToItems(q,M,!1),[q,M]),a.useMemo(()=>s.mapItemsToSlots(_,D,!1),[_,D]),a.useMemo(()=>s.mapSlotsToItems(_,D,!1),[_,D]);const J=a.createElement(H.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:t})=>a.createElement("div",{className:"k-scheduler-row",key:t},c.map((n,i)=>a.createElement(Ae.DateHeaderCell,{as:e.dateHeaderCell,key:i,date:S.ZonedDate.fromLocalDate(new Date(n.zonedEnd.getTime()-(n.zonedEnd.getTime()-n.zonedStart.getTime())/2),o),start:n.start,end:n.end,format:{skeleton:"MEd"}})))),Te=a.createElement(H.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:t})=>a.createElement("div",{key:t,className:"k-scheduler-row"},$.map((n,i)=>M.filter(r=>r.group.index===t&&r.range.index===i).map((r,w,m)=>a.createElement(T,{...r,onDataAction:e.onDataAction,form:e.form,slot:e.slot,viewSlot:e.viewSlot,key:`${r.start.getTime()}:${r.group.index}`,row:0,col:P==="horizontal"?m.length*(t||0)+w:w,isWorkDay:0<=r.zonedStart.getDay()+(d-R)&&(r.zonedStart.getDay()+(d-R))%d<=N+(d-R),expandable:!0}))))),Ee=a.useMemo(()=>de.classNames(e.name==="week"?"k-scheduler-weekview":"k-scheduler-dayview",e.className),[e.name,e.className]),fe=a.useCallback((t,n,i)=>c.map((r,w)=>D.filter(m=>m.index===t.index&&m.range.index===w&&m.group.index===i).map(m=>a.createElement(T,{key:`${m.start.getTime()}:${m.group.index}`,...m,onDataAction:e.onDataAction,slot:e.slot,viewSlot:e.viewSlot,form:e.form,row:n+F,col:c.length*(i||0)+w,isWorkHour:s.isInTimeRange(m.zonedStart,A,z),isWorkDay:s.isInDaysRange(m.zonedEnd.getDay(),R,N),editable:e.editable}))),[c,T,e.editable,e.form,e.onDataAction,e.slot,e.viewSlot,D,z,A,N,R]),Re=a.useCallback((t,n,i)=>M.filter(r=>r.group.index===n&&r.range.index===i).map((r,w)=>a.createElement(T,{slot:e.slot,viewSlot:e.viewSlot,form:e.form,...r,onDataAction:e.onDataAction,key:`${r.start.getTime()}:${r.group.index}`,className:"k-scheduler-alldays-slot",row:t*(n||0)+(n||0)*F,col:w,expandable:!0})),[T,M,e.form,e.onDataAction,e.slot,e.viewSlot]),Ce=a.useCallback((t,n,i,r)=>c.map((w,m)=>D.filter(E=>E.index===t.index&&E.group.index===i&&E.range.index===m).map(E=>a.createElement(T,{slot:e.slot,viewSlot:e.viewSlot,form:e.form,onDataAction:e.onDataAction,...E,key:`${E.start.getTime()}:${E.group.index}`,row:n.length*(i||0)+r+(i||0)*F+F,col:m,editable:e.editable,isWorkHour:s.isInTimeRange(E.zonedStart,A,z),isWorkDay:0<=E.zonedStart.getDay()+(d-R)&&(E.zonedStart.getDay()+(d-R))%d<=N+(d-R)}))),[T,d,e.editable,e.form,e.onDataAction,e.slot,e.viewSlot,c,D,z,A,N,R]);return a.createElement(ve.BaseView,{id:e.id,props:e,style:e.style,className:Ee,ranges:[...$,...c],slots:[...M,...D]},a.createElement("div",{className:"k-scheduler-head"},P==="horizontal"?a.createElement(a.Fragment,null,a.createElement(L.HorizontalResourceIterator,{nested:!0,group:g,resources:k,rowContent:ce.DayViewGroupRowContent,childRowContent:ce.DayViewGroupRowContent},J),a.createElement(L.HorizontalResourceIterator,{group:g,resources:k,rowContent:j.DayViewAllDayRowContent,childRowContent:j.DayViewAllDayRowContent},Te),q.map(t=>a.createElement(V,{key:t.isRecurring?`${t.uid}:${t.group.index}:${t.range.index}:${t.originalStart}`:`${t.uid}:${t.group.index}:${t.range.index}`,...t,form:e.form,onDataAction:e.onDataAction,item:e.item,viewItem:e.viewItem,editable:e.editable,vertical:!1}))):a.createElement(me.VerticalResourceIterator,{group:g,resources:k,cellContent:qe},J)),a.createElement("div",{className:"k-scheduler-body"},P==="horizontal"?a.createElement(a.Fragment,null,D.filter(t=>t.group.index===O&&t.range.index===O).map((t,n)=>a.createElement(a.Fragment,{key:t.index},a.createElement(L.HorizontalResourceIterator,{nested:!1,group:g,resources:k,rowContent:ue.DayViewRowContent,rowContentProps:{timeHeaderCell:e.timeHeaderCell,isMaster:n%f===0,isLast:(n+1)%f===0,slot:t}},a.createElement(H.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:i})=>a.createElement("div",{className:de.classNames("k-scheduler-row",{"k-middle-row":(n+1)%f!==0})},fe(t,n,i)))))),Y!==!1&&s.intersects(s.first(c).start,s.last(c).end,new Date,new Date,!0)&&a.createElement(De.CurrentTimeMarker,null)):a.createElement(a.Fragment,null,a.createElement(me.VerticalResourceIterator,{nested:!0,group:g,resources:k},a.createElement(H.SchedulerResourceIteratorContext.Consumer,null,({groupIndex:t})=>a.createElement(a.Fragment,{key:t},a.createElement("div",{className:"k-scheduler-row"},a.createElement(j.DayViewAllDayRowContent,{groupIndex:t},$.map((n,i)=>{const r=D.filter(w=>w.group.index===t&&w.range.index===O).length;return Re(r,t,i)}))),D.filter(n=>n.group.index===t&&n.range.index===O).map((n,i,r)=>a.createElement("div",{className:"k-scheduler-row",key:n.index},a.createElement(ue.DayViewRowContent,{slot:n,isMaster:i%f===0,isLast:(i+1)%f===0,timeHeaderCell:e.timeHeaderCell},Ce(n,r,t,i)))),Y!==!1&&s.intersects(s.first(c).start,s.last(c).end,new Date,new Date,!0)&&a.createElement(De.CurrentTimeMarker,{groupIndex:t})))),q.map(t=>a.createElement(V,{key:t.isRecurring?`${t.uid}:${t.group.index}:${t.range.index}:${t.originalStart}`:`${t.uid}:${t.group.index}:${t.range.index}`,...t,onDataAction:e.onDataAction,viewItem:e.viewItem,item:e.item,form:e.form,editable:e.editable,vertical:!1}))),_.map(t=>a.createElement(V,{key:t.isRecurring?`${t.uid}:${t.group.index}:${t.range.index}:${t.originalStart}`:`${t.uid}:${t.group.index}:${t.range.index}`,...t,format:"t",onDataAction:e.onDataAction,viewItem:e.viewItem,item:e.item,form:e.form,editable:e.editable,vertical:!0}))))},Ie=({date:e,numberOfDays:g=1,timezone:o})=>{const k=S.ZonedDate.fromLocalDate(e,o),b=S.getDate(k),V=S.addDays(b,g),T=S.ZonedDate.fromUTCDate(s.toUTCDateTime(b),o),x=S.ZonedDate.fromUTCDate(s.toUTCDateTime(V),o),d=new Date(T.getTime()),f=new Date(x.getTime());return{start:d,end:f,zonedStart:T,zonedEnd:x}},y={name:"multi-day",title:"Multi Day",currentTimeMarker:!0,dateRange:Ie,selectedDateFormat:"{0:D} - {1:D}",selectedShortDateFormat:"{0:d} - {1:d}",numberOfDays:1,startTime:"00:00",endTime:"23:59",isWorkDayStart:"08:00",isWorkDayEnd:"17:00",workWeekStart:S.Day.Monday,workWeekEnd:S.Day.Friday,slotDivisions:2,slotDuration:60,showCurrentTime:!0,defaultShowWorkHours:!0};G.propTypes={currentTimeMarker:u.bool,name:u.string,numberOfDays:u.number,startTime:u.string,endTime:u.string,workDayStart:u.string,workDayEnd:u.string,workWeekStart:u.number,workWeekEnd:u.any,slotDivisions:u.number,slotDuration:u.number,showWorkHours:u.bool,selectedDateFormat:u.string,selectedShortDateFormat:u.string};G.displayName="KendoReactSchedulerMultiDayView";exports.MultiDayView=G;exports.multiDayViewDefaultProps=y;