@progress/kendo-react-gantt 9.4.0-develop.24 → 9.4.0-develop.4

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 (85) hide show
  1. package/Gantt.js +1 -1
  2. package/Gantt.mjs +1 -0
  3. package/NOTICE.txt +51 -40
  4. package/cells/FilterCells/GanttBooleanFilter.js +1 -1
  5. package/cells/FilterCells/GanttBooleanFilter.mjs +1 -0
  6. package/cells/FilterCells/GanttDateFilter.js +1 -1
  7. package/cells/FilterCells/GanttDateFilter.mjs +4 -3
  8. package/cells/FilterCells/GanttNumericFilter.js +1 -1
  9. package/cells/FilterCells/GanttNumericFilter.mjs +6 -5
  10. package/cells/FilterCells/GanttTextFilter.js +1 -1
  11. package/cells/FilterCells/GanttTextFilter.mjs +4 -3
  12. package/cells/FilterCells/utils.js +1 -1
  13. package/cells/FilterCells/utils.mjs +4 -3
  14. package/components/BaseView.js +1 -1
  15. package/components/BaseView.mjs +1 -0
  16. package/components/GanttDependency.js +1 -1
  17. package/components/GanttDependency.mjs +10 -9
  18. package/components/GanttTask.js +1 -1
  19. package/components/GanttTask.mjs +1 -0
  20. package/components/GanttTreelist.js +1 -1
  21. package/components/GanttTreelist.mjs +1 -0
  22. package/components/toolbar/AddButton.js +1 -1
  23. package/components/toolbar/AddButton.mjs +8 -7
  24. package/components/toolbar/Toolbar.js +1 -1
  25. package/components/toolbar/Toolbar.mjs +1 -0
  26. package/components/toolbar/view-selector/ViewSelector.js +1 -1
  27. package/components/toolbar/view-selector/ViewSelector.mjs +7 -6
  28. package/components/toolbar/view-selector/ViewSelectorItem.js +1 -1
  29. package/components/toolbar/view-selector/ViewSelectorItem.mjs +5 -4
  30. package/components/toolbar/view-selector/ViewSelectorList.js +1 -1
  31. package/components/toolbar/view-selector/ViewSelectorList.mjs +4 -3
  32. package/constants/index.js +1 -1
  33. package/constants/index.mjs +5 -4
  34. package/context/GanttContext.js +1 -1
  35. package/context/GanttContext.mjs +1 -0
  36. package/context/GanttViewContext.js +1 -1
  37. package/context/GanttViewContext.mjs +1 -0
  38. package/dist/cdn/js/kendo-react-gantt.js +1 -8
  39. package/editors/FormDateTimePicker.js +1 -1
  40. package/editors/FormDateTimePicker.mjs +7 -6
  41. package/editors/FormDropDownList.js +1 -1
  42. package/editors/FormDropDownList.mjs +5 -4
  43. package/editors/FormInput.js +1 -1
  44. package/editors/FormInput.mjs +4 -3
  45. package/editors/FormNumericTextBox.js +1 -1
  46. package/editors/FormNumericTextBox.mjs +7 -6
  47. package/editors/GanttEditor.js +1 -1
  48. package/editors/GanttEditor.mjs +1 -0
  49. package/editors/GanttEditorPredecessors.js +1 -1
  50. package/editors/GanttEditorPredecessors.mjs +1 -0
  51. package/editors/GanttEditorSuccessors.js +1 -1
  52. package/editors/GanttEditorSuccessors.mjs +11 -10
  53. package/editors/GanttForm.js +1 -1
  54. package/editors/GanttForm.mjs +8 -7
  55. package/editors/GanttRemoveDialog.js +1 -1
  56. package/editors/GanttRemoveDialog.mjs +6 -5
  57. package/hooks/useControlledState.js +1 -1
  58. package/hooks/useControlledState.mjs +5 -4
  59. package/hooks/useDictionaryStore.js +1 -1
  60. package/hooks/useDictionaryStore.mjs +3 -2
  61. package/hooks/useGanttTask.js +1 -1
  62. package/hooks/useGanttTask.mjs +10 -9
  63. package/index.js +1 -2
  64. package/index.mjs +15 -15
  65. package/interfaces/DependencyType.js +1 -1
  66. package/interfaces/DependencyType.mjs +1 -0
  67. package/messages/index.js +1 -1
  68. package/messages/index.mjs +1 -0
  69. package/package-metadata.js +1 -1
  70. package/package-metadata.mjs +3 -2
  71. package/package.json +14 -14
  72. package/rows/GanttRow.js +1 -1
  73. package/rows/GanttRow.mjs +4 -3
  74. package/utils/data-operations.js +1 -1
  75. package/utils/data-operations.mjs +37 -36
  76. package/utils/index.js +1 -1
  77. package/utils/index.mjs +31 -30
  78. package/views/GanttDayView.js +1 -1
  79. package/views/GanttDayView.mjs +1 -0
  80. package/views/GanttMonthView.js +1 -1
  81. package/views/GanttMonthView.mjs +7 -6
  82. package/views/GanttWeekView.js +1 -1
  83. package/views/GanttWeekView.mjs +1 -0
  84. package/views/GanttYearView.js +1 -1
  85. package/views/GanttYearView.mjs +8 -7
package/rows/GanttRow.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@progress/kendo-react-treelist"),t=e.TreeListRow;exports.GanttRow=t;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@progress/kendo-react-treelist"),t=e.TreeListRow;exports.GanttRow=t;
package/rows/GanttRow.mjs CHANGED
@@ -5,8 +5,9 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { TreeListRow as o } from "@progress/kendo-react-treelist";
9
- const r = o;
8
+ "use client";
9
+ import { TreeListRow as t } from "@progress/kendo-react-treelist";
10
+ const e = t;
10
11
  export {
11
- r as GanttRow
12
+ e as GanttRow
12
13
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@progress/kendo-react-common"),D=require("./index.js"),N=l=>{const{dependencyData:t,dependencyModelFields:n,defaultDataItem:p,fromId:c,toId:r,type:o}=l,s=t.map(m=>({...m})),h=d.setter(n.fromId),e=d.setter(n.toId),a=d.setter(n.type),g=p?{...p}:{};return h(g,c),e(g,r),a(g,o),s.push(g),s},z=l=>{const{defaultDataItem:t,selectedDataItem:n,direction:p,taskModelFields:c,dataTree:r,slotStart:o,slotEnd:s}=l,h=D.mapTree(r,c.children,I=>({...I})),e=d.setter(c.start),a=d.setter(c.end),g=d.getter(c.start),m=d.getter(c.end),k=d.setter(c.parentId||""),i=t?{...t}:{},u=g(i)&&m(i);if(!n||p==="none")u||(e(i,o),a(i,s)),c.parentId&&k(i,null),h.unshift(i);else{const I=[{task:{[c.children]:h},childrenIndex:0}],x=d.getter(c.id),v=d.getter(c.children),O=d.setter(c.children),R=x(n);for(;I.length>0;){const f=I[I.length-1],w=f.task,y=x(w),T=v(w);if(y&&y===R)break;T&&T.length&&T.length>f.childrenIndex?(I.push({task:T[f.childrenIndex],childrenIndex:0}),f.childrenIndex++):I.pop()}if(I.length>1){const f=I[I.length-1].task,w=I[I.length-2].childrenIndex,T=I[I.length-2].task,P=v(T);switch(p){case"child":{let C=v(f);C||(C=[],O(f,C)),u||(e(i,new Date(g(f).getTime())),a(i,new Date(m(f).getTime()))),C.push(i),k(i,x(f)),S(I.splice(1,I.length-1).map(j=>j.task),c);break}case"above":{g(T)&&m(T)&&!u?(e(i,new Date(g(f).getTime())),a(i,new Date(m(f).getTime()))):(e(i,o),a(i,s)),P.splice(w-1,0,i),k(i,x(T)),S(I.splice(1,I.length-2).map(C=>C.task),c);break}case"below":{g(T)&&m(T)&&!u?(e(i,new Date(g(f).getTime())),a(i,new Date(m(f).getTime()))):(e(i,o),a(i,s)),P.splice(w,0,i),k(i,x(T)),S(I.splice(1,I.length-2).map(C=>C.task),c);break}}}}return h},A=l=>{const{updatedDataItem:t,taskModelFields:n,dataTree:p}=l,c=d.getter(n.id),r=d.getter(n.children),o=c(t);let s;const h=D.mapTree(p,n.children,a=>c(a)===o?(s=a,{...t}):{...a});let e=[{task:{[n.children]:h},childrenIndex:0}];for(;e.length>0;){const a=e[e.length-1],g=a.task,m=c(g),k=r(g);if(m&&m===o)break;k&&k.length&&k.length>a.childrenIndex?(e.push({task:k[a.childrenIndex],childrenIndex:0}),a.childrenIndex++):e.pop()}if(e.length>1){e=e.splice(1,e.length-2);const a=d.getter(n.start),g=d.getter(n.end),m=d.getter(n.percentComplete),k=d.getter(n.parentId||"");if(a(s).getTime()!==a(t).getTime()){b(e.map(u=>u.task),n);const i=a(t).getTime()-a(s).getTime();J(r(t),n,i)}if(g(s).getTime()!==g(t).getTime()&&E(e.map(i=>i.task),n),m(s)!==m(t)&&q(e.map(i=>i.task),n),n.parentId&&k(s)!==k(t)){let i;return e.length?G(e.map(u=>u.task),n,s):i=h.filter(u=>c(u)!==c(t)),H(i||h,n,t)}}return h},B=l=>{const{removedDataItem:t,taskModelFields:n,dataTree:p}=l,c=D.mapTree(p,n.children,e=>({...e}));let r=[{task:{[n.children]:c},childrenIndex:0}];const o=d.getter(n.id),s=d.getter(n.children),h=o(t);for(;r.length>0;){const e=r[r.length-1],a=e.task,g=o(a),m=s(a);if(g&&g===h)break;m&&m.length&&m.length>e.childrenIndex?(r.push({task:m[e.childrenIndex],childrenIndex:0}),e.childrenIndex++):r.pop()}if(r.length>1){const e=r[r.length-2],a=e.task;s(a).splice(e.childrenIndex-1,1),r=r.splice(1,r.length-2),S(r.map(m=>m.task),n)}return c},S=(l,t)=>{b(l,t),E(l,t),q(l,t)},G=(l,t,n)=>{const p=d.getter(t.children),c=d.setter(t.children);for(let r=l.length-1;r>=0;r--){const o=l[r],s=p(o);if(n.parentId===o.id){const h=s.filter(e=>e.parentId===o.id);c(o,h)}}},H=(l,t,n)=>{const p=d.getter(t.children),c=d.setter(t.children);return n.parentId===null?[...l,n]:(l=D.mapTree(l,t.children,r=>{if(r.id===n.parentId){const o=p(r)||[];c(r,[...o,n])}return{...r}}),l)},b=(l,t)=>{if(!l.length)return;const n=d.getter(t.children),p=d.getter(t.start),c=d.setter(t.start);for(let r=l.length-1;r>=0;r--){const o=l[r],s=n(o);if(s&&s.length){const h=s.reduce((e,a)=>Math.min(e,p(a).getTime()),p(s[0]).getTime());c(o,new Date(h))}}},E=(l,t)=>{if(!l.length)return;const n=d.getter(t.children),p=d.getter(t.end),c=d.setter(t.end);for(let r=l.length-1;r>=0;r--){const o=l[r],s=n(o);if(s&&s.length){const h=s.reduce((e,a)=>Math.max(e,p(a).getTime()),p(s[0]).getTime());c(o,new Date(h))}}},q=(l,t)=>{if(!l.length)return;const n=d.getter(t.children),p=d.getter(t.percentComplete),c=d.setter(t.percentComplete),r=({avg:o,n:s},h)=>({avg:((p(h)||0)+s*o)/(s+1),n:s+1});for(let o=l.length-1;o>=0;o--){const s=l[o],h=n(s);if(h&&h.length){const e=h.reduce(r,{avg:0,n:0}).avg;c(s,e)}}},J=(l,t,n)=>{if(!l)return;const p=d.getter(t.children),c=d.getter(t.start),r=d.setter(t.start),o=d.getter(t.end),s=d.setter(t.end),h=l.map(e=>({task:e,childrenIndex:0}));for(;h.length>0;){const e=h[h.length-1],a=e.task,g=p(a);g&&g.length&&g.length>e.childrenIndex?(h.push({task:g[e.childrenIndex],childrenIndex:0}),e.childrenIndex++):(h.pop(),r(a,new Date(c(a).getTime()+n)),s(a,new Date(o(a).getTime()+n)))}};exports.addDependency=N;exports.addTask=z;exports.removeTask=B;exports.updateTask=A;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@progress/kendo-react-common"),D=require("./index.js"),N=l=>{const{dependencyData:t,dependencyModelFields:n,defaultDataItem:p,fromId:c,toId:r,type:o}=l,s=t.map(m=>({...m})),h=d.setter(n.fromId),e=d.setter(n.toId),a=d.setter(n.type),g=p?{...p}:{};return h(g,c),e(g,r),a(g,o),s.push(g),s},z=l=>{const{defaultDataItem:t,selectedDataItem:n,direction:p,taskModelFields:c,dataTree:r,slotStart:o,slotEnd:s}=l,h=D.mapTree(r,c.children,I=>({...I})),e=d.setter(c.start),a=d.setter(c.end),g=d.getter(c.start),m=d.getter(c.end),k=d.setter(c.parentId||""),i=t?{...t}:{},u=g(i)&&m(i);if(!n||p==="none")u||(e(i,o),a(i,s)),c.parentId&&k(i,null),h.unshift(i);else{const I=[{task:{[c.children]:h},childrenIndex:0}],x=d.getter(c.id),v=d.getter(c.children),O=d.setter(c.children),R=x(n);for(;I.length>0;){const f=I[I.length-1],w=f.task,y=x(w),T=v(w);if(y&&y===R)break;T&&T.length&&T.length>f.childrenIndex?(I.push({task:T[f.childrenIndex],childrenIndex:0}),f.childrenIndex++):I.pop()}if(I.length>1){const f=I[I.length-1].task,w=I[I.length-2].childrenIndex,T=I[I.length-2].task,P=v(T);switch(p){case"child":{let C=v(f);C||(C=[],O(f,C)),u||(e(i,new Date(g(f).getTime())),a(i,new Date(m(f).getTime()))),C.push(i),k(i,x(f)),S(I.splice(1,I.length-1).map(j=>j.task),c);break}case"above":{g(T)&&m(T)&&!u?(e(i,new Date(g(f).getTime())),a(i,new Date(m(f).getTime()))):(e(i,o),a(i,s)),P.splice(w-1,0,i),k(i,x(T)),S(I.splice(1,I.length-2).map(C=>C.task),c);break}case"below":{g(T)&&m(T)&&!u?(e(i,new Date(g(f).getTime())),a(i,new Date(m(f).getTime()))):(e(i,o),a(i,s)),P.splice(w,0,i),k(i,x(T)),S(I.splice(1,I.length-2).map(C=>C.task),c);break}}}}return h},A=l=>{const{updatedDataItem:t,taskModelFields:n,dataTree:p}=l,c=d.getter(n.id),r=d.getter(n.children),o=c(t);let s;const h=D.mapTree(p,n.children,a=>c(a)===o?(s=a,{...t}):{...a});let e=[{task:{[n.children]:h},childrenIndex:0}];for(;e.length>0;){const a=e[e.length-1],g=a.task,m=c(g),k=r(g);if(m&&m===o)break;k&&k.length&&k.length>a.childrenIndex?(e.push({task:k[a.childrenIndex],childrenIndex:0}),a.childrenIndex++):e.pop()}if(e.length>1){e=e.splice(1,e.length-2);const a=d.getter(n.start),g=d.getter(n.end),m=d.getter(n.percentComplete),k=d.getter(n.parentId||"");if(a(s).getTime()!==a(t).getTime()){b(e.map(u=>u.task),n);const i=a(t).getTime()-a(s).getTime();J(r(t),n,i)}if(g(s).getTime()!==g(t).getTime()&&E(e.map(i=>i.task),n),m(s)!==m(t)&&q(e.map(i=>i.task),n),n.parentId&&k(s)!==k(t)){let i;return e.length?G(e.map(u=>u.task),n,s):i=h.filter(u=>c(u)!==c(t)),H(i||h,n,t)}}return h},B=l=>{const{removedDataItem:t,taskModelFields:n,dataTree:p}=l,c=D.mapTree(p,n.children,e=>({...e}));let r=[{task:{[n.children]:c},childrenIndex:0}];const o=d.getter(n.id),s=d.getter(n.children),h=o(t);for(;r.length>0;){const e=r[r.length-1],a=e.task,g=o(a),m=s(a);if(g&&g===h)break;m&&m.length&&m.length>e.childrenIndex?(r.push({task:m[e.childrenIndex],childrenIndex:0}),e.childrenIndex++):r.pop()}if(r.length>1){const e=r[r.length-2],a=e.task;s(a).splice(e.childrenIndex-1,1),r=r.splice(1,r.length-2),S(r.map(m=>m.task),n)}return c},S=(l,t)=>{b(l,t),E(l,t),q(l,t)},G=(l,t,n)=>{const p=d.getter(t.children),c=d.setter(t.children);for(let r=l.length-1;r>=0;r--){const o=l[r],s=p(o);if(n.parentId===o.id){const h=s.filter(e=>e.parentId===o.id);c(o,h)}}},H=(l,t,n)=>{const p=d.getter(t.children),c=d.setter(t.children);return n.parentId===null?[...l,n]:(l=D.mapTree(l,t.children,r=>{if(r.id===n.parentId){const o=p(r)||[];c(r,[...o,n])}return{...r}}),l)},b=(l,t)=>{if(!l.length)return;const n=d.getter(t.children),p=d.getter(t.start),c=d.setter(t.start);for(let r=l.length-1;r>=0;r--){const o=l[r],s=n(o);if(s&&s.length){const h=s.reduce((e,a)=>Math.min(e,p(a).getTime()),p(s[0]).getTime());c(o,new Date(h))}}},E=(l,t)=>{if(!l.length)return;const n=d.getter(t.children),p=d.getter(t.end),c=d.setter(t.end);for(let r=l.length-1;r>=0;r--){const o=l[r],s=n(o);if(s&&s.length){const h=s.reduce((e,a)=>Math.max(e,p(a).getTime()),p(s[0]).getTime());c(o,new Date(h))}}},q=(l,t)=>{if(!l.length)return;const n=d.getter(t.children),p=d.getter(t.percentComplete),c=d.setter(t.percentComplete),r=({avg:o,n:s},h)=>({avg:((p(h)||0)+s*o)/(s+1),n:s+1});for(let o=l.length-1;o>=0;o--){const s=l[o],h=n(s);if(h&&h.length){const e=h.reduce(r,{avg:0,n:0}).avg;c(s,e)}}},J=(l,t,n)=>{if(!l)return;const p=d.getter(t.children),c=d.getter(t.start),r=d.setter(t.start),o=d.getter(t.end),s=d.setter(t.end),h=l.map(e=>({task:e,childrenIndex:0}));for(;h.length>0;){const e=h[h.length-1],a=e.task,g=p(a);g&&g.length&&g.length>e.childrenIndex?(h.push({task:g[e.childrenIndex],childrenIndex:0}),e.childrenIndex++):(h.pop(),r(a,new Date(c(a).getTime()+n)),s(a,new Date(o(a).getTime()+n)))}};exports.addDependency=N;exports.addTask=z;exports.removeTask=B;exports.updateTask=A;
@@ -5,19 +5,20 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import { setter as k, getter as p } from "@progress/kendo-react-common";
9
10
  import { mapTree as v } from "./index.mjs";
10
11
  const J = (l) => {
11
- const { dependencyData: t, dependencyModelFields: n, defaultDataItem: g, fromId: s, toId: r, type: d } = l, c = t.map((m) => ({ ...m })), i = k(n.fromId), e = k(n.toId), a = k(n.type), h = g ? { ...g } : {};
12
- return i(h, s), e(h, r), a(h, d), c.push(h), c;
12
+ const { dependencyData: t, dependencyModelFields: n, defaultDataItem: g, fromId: s, toId: r, type: d } = l, c = t.map((m) => ({ ...m })), o = k(n.fromId), e = k(n.toId), a = k(n.type), h = g ? { ...g } : {};
13
+ return o(h, s), e(h, r), a(h, d), c.push(h), c;
13
14
  }, K = (l) => {
14
- const { defaultDataItem: t, selectedDataItem: n, direction: g, taskModelFields: s, dataTree: r, slotStart: d, slotEnd: c } = l, i = v(r, s.children, (I) => ({ ...I })), e = k(s.start), a = k(s.end), h = p(s.start), m = p(s.end), T = k(s.parentId || ""), o = t ? { ...t } : {}, C = h(o) && m(o);
15
+ const { defaultDataItem: t, selectedDataItem: n, direction: g, taskModelFields: s, dataTree: r, slotStart: d, slotEnd: c } = l, o = v(r, s.children, (I) => ({ ...I })), e = k(s.start), a = k(s.end), h = p(s.start), m = p(s.end), T = k(s.parentId || ""), i = t ? { ...t } : {}, C = h(i) && m(i);
15
16
  if (!n || g === "none")
16
- C || (e(o, d), a(o, c)), s.parentId && T(o, null), i.unshift(o);
17
+ C || (e(i, d), a(i, c)), s.parentId && T(i, null), o.unshift(i);
17
18
  else {
18
19
  const I = [
19
20
  {
20
- task: { [s.children]: i },
21
+ task: { [s.children]: o },
21
22
  childrenIndex: 0
22
23
  }
23
24
  ], w = p(s.id), y = p(s.children), R = k(s.children), j = w(n);
@@ -35,21 +36,21 @@ const J = (l) => {
35
36
  switch (g) {
36
37
  case "child": {
37
38
  let x = y(f);
38
- x || (x = [], R(f, x)), C || (e(o, new Date(h(f).getTime())), a(o, new Date(m(f).getTime()))), x.push(o), T(o, w(f)), D(
39
+ x || (x = [], R(f, x)), C || (e(i, new Date(h(f).getTime())), a(i, new Date(m(f).getTime()))), x.push(i), T(i, w(f)), D(
39
40
  I.splice(1, I.length - 1).map((q) => q.task),
40
41
  s
41
42
  );
42
43
  break;
43
44
  }
44
45
  case "above": {
45
- h(u) && m(u) && !C ? (e(o, new Date(h(f).getTime())), a(o, new Date(m(f).getTime()))) : (e(o, d), a(o, c)), E.splice(S - 1, 0, o), T(o, w(u)), D(
46
+ h(u) && m(u) && !C ? (e(i, new Date(h(f).getTime())), a(i, new Date(m(f).getTime()))) : (e(i, d), a(i, c)), E.splice(S - 1, 0, i), T(i, w(u)), D(
46
47
  I.splice(1, I.length - 2).map((x) => x.task),
47
48
  s
48
49
  );
49
50
  break;
50
51
  }
51
52
  case "below": {
52
- h(u) && m(u) && !C ? (e(o, new Date(h(f).getTime())), a(o, new Date(m(f).getTime()))) : (e(o, d), a(o, c)), E.splice(S, 0, o), T(o, w(u)), D(
53
+ h(u) && m(u) && !C ? (e(i, new Date(h(f).getTime())), a(i, new Date(m(f).getTime()))) : (e(i, d), a(i, c)), E.splice(S, 0, i), T(i, w(u)), D(
53
54
  I.splice(1, I.length - 2).map((x) => x.task),
54
55
  s
55
56
  );
@@ -58,14 +59,14 @@ const J = (l) => {
58
59
  }
59
60
  }
60
61
  }
61
- return i;
62
+ return o;
62
63
  }, L = (l) => {
63
64
  const { updatedDataItem: t, taskModelFields: n, dataTree: g } = l, s = p(n.id), r = p(n.children), d = s(t);
64
65
  let c;
65
- const i = v(g, n.children, (a) => s(a) === d ? (c = a, { ...t }) : { ...a });
66
+ const o = v(g, n.children, (a) => s(a) === d ? (c = a, { ...t }) : { ...a });
66
67
  let e = [
67
68
  {
68
- task: { [n.children]: i },
69
+ task: { [n.children]: o },
69
70
  childrenIndex: 0
70
71
  }
71
72
  ];
@@ -86,25 +87,25 @@ const J = (l) => {
86
87
  e.map((C) => C.task),
87
88
  n
88
89
  );
89
- const o = a(t).getTime() - a(c).getTime();
90
- B(r(t), n, o);
90
+ const i = a(t).getTime() - a(c).getTime();
91
+ B(r(t), n, i);
91
92
  }
92
93
  if (h(c).getTime() !== h(t).getTime() && N(
93
- e.map((o) => o.task),
94
+ e.map((i) => i.task),
94
95
  n
95
96
  ), m(c) !== m(t) && O(
96
- e.map((o) => o.task),
97
+ e.map((i) => i.task),
97
98
  n
98
99
  ), n.parentId && T(c) !== T(t)) {
99
- let o;
100
+ let i;
100
101
  return e.length ? z(
101
102
  e.map((C) => C.task),
102
103
  n,
103
104
  c
104
- ) : o = i.filter((C) => s(C) !== s(t)), A(o || i, n, t);
105
+ ) : i = o.filter((C) => s(C) !== s(t)), A(i || o, n, t);
105
106
  }
106
107
  }
107
- return i;
108
+ return o;
108
109
  }, Q = (l) => {
109
110
  const { removedDataItem: t, taskModelFields: n, dataTree: g } = l, s = v(g, n.children, (e) => ({ ...e }));
110
111
  let r = [
@@ -113,10 +114,10 @@ const J = (l) => {
113
114
  childrenIndex: 0
114
115
  }
115
116
  ];
116
- const d = p(n.id), c = p(n.children), i = d(t);
117
+ const d = p(n.id), c = p(n.children), o = d(t);
117
118
  for (; r.length > 0; ) {
118
119
  const e = r[r.length - 1], a = e.task, h = d(a), m = c(a);
119
- if (h && h === i)
120
+ if (h && h === o)
120
121
  break;
121
122
  m && m.length && m.length > e.childrenIndex ? (r.push({
122
123
  task: m[e.childrenIndex],
@@ -138,8 +139,8 @@ const J = (l) => {
138
139
  for (let r = l.length - 1; r >= 0; r--) {
139
140
  const d = l[r], c = g(d);
140
141
  if (n.parentId === d.id) {
141
- const i = c.filter((e) => e.parentId === d.id);
142
- s(d, i);
142
+ const o = c.filter((e) => e.parentId === d.id);
143
+ s(d, o);
143
144
  }
144
145
  }
145
146
  }, A = (l, t, n) => {
@@ -158,11 +159,11 @@ const J = (l) => {
158
159
  for (let r = l.length - 1; r >= 0; r--) {
159
160
  const d = l[r], c = n(d);
160
161
  if (c && c.length) {
161
- const i = c.reduce(
162
+ const o = c.reduce(
162
163
  (e, a) => Math.min(e, g(a).getTime()),
163
164
  g(c[0]).getTime()
164
165
  );
165
- s(d, new Date(i));
166
+ s(d, new Date(o));
166
167
  }
167
168
  }
168
169
  }, N = (l, t) => {
@@ -172,37 +173,37 @@ const J = (l) => {
172
173
  for (let r = l.length - 1; r >= 0; r--) {
173
174
  const d = l[r], c = n(d);
174
175
  if (c && c.length) {
175
- const i = c.reduce(
176
+ const o = c.reduce(
176
177
  (e, a) => Math.max(e, g(a).getTime()),
177
178
  g(c[0]).getTime()
178
179
  );
179
- s(d, new Date(i));
180
+ s(d, new Date(o));
180
181
  }
181
182
  }
182
183
  }, O = (l, t) => {
183
184
  if (!l.length)
184
185
  return;
185
- const n = p(t.children), g = p(t.percentComplete), s = k(t.percentComplete), r = ({ avg: d, n: c }, i) => ({
186
- avg: ((g(i) || 0) + c * d) / (c + 1),
186
+ const n = p(t.children), g = p(t.percentComplete), s = k(t.percentComplete), r = ({ avg: d, n: c }, o) => ({
187
+ avg: ((g(o) || 0) + c * d) / (c + 1),
187
188
  n: c + 1
188
189
  });
189
190
  for (let d = l.length - 1; d >= 0; d--) {
190
- const c = l[d], i = n(c);
191
- if (i && i.length) {
192
- const e = i.reduce(r, { avg: 0, n: 0 }).avg;
191
+ const c = l[d], o = n(c);
192
+ if (o && o.length) {
193
+ const e = o.reduce(r, { avg: 0, n: 0 }).avg;
193
194
  s(c, e);
194
195
  }
195
196
  }
196
197
  }, B = (l, t, n) => {
197
198
  if (!l)
198
199
  return;
199
- const g = p(t.children), s = p(t.start), r = k(t.start), d = p(t.end), c = k(t.end), i = l.map((e) => ({ task: e, childrenIndex: 0 }));
200
- for (; i.length > 0; ) {
201
- const e = i[i.length - 1], a = e.task, h = g(a);
202
- h && h.length && h.length > e.childrenIndex ? (i.push({
200
+ const g = p(t.children), s = p(t.start), r = k(t.start), d = p(t.end), c = k(t.end), o = l.map((e) => ({ task: e, childrenIndex: 0 }));
201
+ for (; o.length > 0; ) {
202
+ const e = o[o.length - 1], a = e.task, h = g(a);
203
+ h && h.length && h.length > e.childrenIndex ? (o.push({
203
204
  task: h[e.childrenIndex],
204
205
  childrenIndex: 0
205
- }), e.childrenIndex++) : (i.pop(), r(a, new Date(s(a).getTime() + n)), c(a, new Date(d(a).getTime() + n)));
206
+ }), e.childrenIndex++) : (o.pop(), r(a, new Date(s(a).getTime() + n)), c(a, new Date(d(a).getTime() + n)));
206
207
  }
207
208
  };
208
209
  export {
package/utils/index.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),c=require("@progress/kendo-date-math"),k=require("@progress/kendo-react-common"),f=require("@progress/kendo-react-data-tools"),L=require("@progress/kendo-react-treelist"),u=require("../constants/index.js");function C(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const T=C(O),I=f.orderBy,Y=f.filterBy,F=k.mapTree,H=k.extendDataItem,Z=L.createDataTree,P=e=>({fields:{...u.DEFAULT_TASK_MODEL_FIELDS,...e}}),U=e=>({fields:{...u.DEFAULT_DEPENDENCY_MODEL_FIELDS,...e}}),B=e=>c.getDate(e),_=(e,t)=>c.getDate(c.addDays(e,t||1)),q=(e,t,n,o)=>n<t&&e<=o;function M(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}const D=4,S=10,j=(e,t,n,o)=>{const r=[];let s=0,a=0;const d=S,l=Math.floor(n/2),E=e.top<t.top,i=()=>r.push({left:a,top:s});if(o===0||o===3){const g=o===3?"start":"end";s=e.top,a=e[g],i(),a=Math[g==="start"?"min":"max"](e[g],t[g]),a=g==="start"?a-d:a+d,i(),s=t.top,i(),a=g==="start"?t[g]-D:t[g]+D,i(),h(s,a,r,g!=="start")}else{const g=o===2?"start":"end",m=o===2?"end":"start",p=o===2?e[g]-S*2>=t[m]:e[g]+S*2<=t[m];s=e.top,a=e[g],i(),a=g==="start"?a-d:a+d,i(),p||(s=E?s+l:s-l,i(),a=g==="start"?t[m]+d:t[m]-d,i()),s=t.top,i(),a=m==="start"?t[m]-D:t[m]+D,i(),h(s,a,r,m!=="start")}return r},h=(e,t,n,o)=>o?w(e,t,n):z(e,t,n),w=(e,t,n)=>{n.push({top:e-D/2,left:t}),n.push({top:e,left:t-D+1}),n.push({top:e+D/2,left:t}),n.push({top:e,left:t})},z=(e,t,n)=>{n.push({top:e+D/2,left:t}),n.push({top:e,left:t+D-1}),n.push({top:e-D/2,left:t}),n.push({top:e,left:t})},v=e=>{if(e.workWeekStart===void 0||e.workWeekEnd===void 0)return[];const t=[];let n=e.workWeekStart;for(t.push(n);e.workWeekEnd!==n;)n>6?n-=7:n++,t.push(n);return t},A=(e,t)=>{const n=e.getDay();return t.indexOf(n)>-1},y=(e,{step:t,timezone:n})=>{const o=[],r=c.ZonedDate.fromLocalDate(e.start,n),s=c.ZonedDate.fromLocalDate(e.end,n);let a=r.clone();for(;a.getTime()<s.getTime();){const d=a.clone(),l=d.clone().addTime(t),E=new Date(d.getTime()),g={end:new Date(l.getTime()),start:E,zonedStart:d,zonedEnd:l};o.push(g),a=a.addTime(t)}return o},W=(e,{timezone:t},n)=>{const o=[],r=c.ZonedDate.fromLocalDate(e.start,t),s=c.ZonedDate.fromLocalDate(e.end,t);for(let a=r.clone();a.getTime()<s.getTime();){const d=a.clone(),l=_(c.firstDayInWeek(c.getDate(d),n.firstDay()),u.DAYS_IN_WEEK_COUNT),E=c.ZonedDate.fromUTCDate(M(l),t),i=E.getTime()>s.getTime()?s.clone():E;a=i.clone();const g=new Date(d.getTime()),p={end:new Date(i.getTime()),start:g,zonedStart:d,zonedEnd:i};o.push(p)}return o},b=(e,{timezone:t})=>{const n=[],o=c.ZonedDate.fromLocalDate(e.start,t),r=c.ZonedDate.fromLocalDate(e.end,t);for(let s=o.clone();s.getTime()<r.getTime();){const a=s.clone(),d=c.ZonedDate.fromLocalDate(c.addMonths(new Date(a.getTime()),1),t);s=d.clone();const l=new Date(a.getTime()),i={end:new Date(d.getTime()),start:l,zonedStart:a,zonedEnd:d};n.push(i)}return n},R=(e,{timezone:t})=>{const n=[],o=c.ZonedDate.fromLocalDate(e.start,t),r=c.ZonedDate.fromLocalDate(e.end,t);for(let s=o.clone();s.getTime()<r.getTime();){const a=s.clone(),d=c.ZonedDate.fromLocalDate(c.addMonths(new Date(a.getTime()),12),t);s=d.clone();const l=new Date(a.getTime()),i={end:new Date(d.getTime()),start:l,zonedStart:a,zonedEnd:d};n.push(i)}return n},K=(e,t,n)=>{const o=n.parseDate(t.workDayStart).getHours(),r=n.parseDate(t.workDayEnd).getHours();return y(e,{step:c.MS_PER_MINUTE*t.slotDuration,timezone:t.timezone}).map(a=>{const d=a.zonedStart.getHours();return{range:a,isWork:d>=o&&d<r,span:1,text:n.formatDate(a.zonedStart,u.HOUR_DATE_FORMAT),type:"time"}})},$=(e,t,n)=>y(e,{step:c.MS_PER_DAY,timezone:t.timezone}).map(r=>({range:r,isWork:A(r.start,t.workDays),span:1,text:n.formatDate(r.zonedStart,u.DAY_DATE_FORMAT),type:"day"})),G=(e,t,n)=>W(e,{timezone:t.timezone},n).map(r=>{const s=Math.round((r.zonedEnd.getTime()-r.zonedStart.getTime())/c.MS_PER_DAY);return{range:r,isWork:!1,span:s,text:`${n.formatDate(r.zonedStart,u.DAY_DATE_FORMAT)} - ${n.formatDate(r.zonedEnd,u.DAY_DATE_FORMAT)}`,type:"week"}}),J=(e,t,n)=>b(e,{timezone:t.timezone}).map(r=>{const s=Math.round((r.zonedEnd.getTime()-r.zonedStart.getTime())/c.MS_PER_DAY);return{range:r,isWork:!1,span:s,text:n.formatDate(r.zonedStart,u.MONTH_DATE_FORMAT),type:"month"}}),Q=(e,t,n)=>R(e,{timezone:t.timezone}).map(r=>{const s=Math.round((r.zonedEnd.getTime()-r.zonedStart.getTime())/c.MS_PER_DAY);return{range:r,isWork:!1,span:s,text:n.formatDate(r.zonedStart,u.YEAR_DATE_FORMAT),type:"year"}}),V=(e,t,n)=>{const o=n;return T.createElement("table",{className:"k-table k-table-md",ref:t,"aria-hidden":!0},T.createElement("tbody",{className:"k-table-tbody"},e.map((r,s)=>T.createElement("tr",{className:"k-table-row",key:s},r.map((a,d)=>T.createElement("td",{key:a.range.start.getTime(),colSpan:a.span,className:k.classNames("k-table-th",{"k-header":!0,"k-nonwork-hour":!a.isWork})},o?T.createElement(o,{rowIndex:s,index:d,range:a.range,text:a.text,isWork:a.isWork,type:a.type}):a.text))))))},X=(e,t)=>{const n=e[e.length-1];return T.createElement("table",{className:"k-table k-table-md k-gantt-columns",ref:t,"aria-hidden":!0},T.createElement("tbody",{className:"k-table-tbody"},T.createElement("tr",{className:"k-table-row"},n.map(o=>T.createElement("td",{key:o.range.start.getTime(),colSpan:o.span,className:k.classNames("k-table-td",{"k-nonwork-hour":!o.isWork})})))))},ee=(e,t)=>{const n=e[e.length-1];let o=0,r=0;return n.forEach(s=>{const a=s.span;r+=a,a>o&&(o=a)}),Math.round(r*t/o)},x=(e,t)=>!!k.getter(t)(e),N=(e,t)=>!!k.getter(t)(e),te=(e,t)=>n=>x(n,e)&&N(n,t)?[...k.getter(t)(n)]:[];exports.ARROW_SIZE=D;exports.MIN_LINE_WIDTH=S;exports.addArrow=h;exports.addArrowEast=z;exports.addArrowWest=w;exports.createDataTree=Z;exports.dependencyCoordinates=j;exports.expandedChildren=te;exports.extendDataItem=H;exports.filterBy=Y;exports.getDaySlots=$;exports.getDependencyModelFields=U;exports.getEndDate=_;exports.getHourSlots=K;exports.getMonthSlots=J;exports.getStartDate=B;exports.getTaskModelFields=P;exports.getTimelineContent=X;exports.getTimelineHeader=V;exports.getTimelineWidth=ee;exports.getWeekSlots=G;exports.getWorkDays=v;exports.getYearSlots=Q;exports.hasChildren=N;exports.isExpanded=x;exports.isInRange=q;exports.isWorkDay=A;exports.mapTree=F;exports.orderBy=I;exports.toMonthRanges=b;exports.toRanges=y;exports.toUTCDateTime=M;exports.toWeekRanges=W;exports.toYearRanges=R;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),c=require("@progress/kendo-date-math"),k=require("@progress/kendo-react-common"),f=require("@progress/kendo-react-data-tools"),L=require("@progress/kendo-react-treelist"),T=require("../constants/index.js");function C(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const u=C(O),I=f.orderBy,Y=f.filterBy,F=k.mapTree,H=k.extendDataItem,Z=L.createDataTree,P=e=>({fields:{...T.DEFAULT_TASK_MODEL_FIELDS,...e}}),U=e=>({fields:{...T.DEFAULT_DEPENDENCY_MODEL_FIELDS,...e}}),B=e=>c.getDate(e),_=(e,t)=>c.getDate(c.addDays(e,t||1)),q=(e,t,n,o)=>n<t&&e<=o;function M(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}const D=4,S=10,j=(e,t,n,o)=>{const r=[];let s=0,a=0;const d=S,l=Math.floor(n/2),E=e.top<t.top,i=()=>r.push({left:a,top:s});if(o===0||o===3){const g=o===3?"start":"end";s=e.top,a=e[g],i(),a=Math[g==="start"?"min":"max"](e[g],t[g]),a=g==="start"?a-d:a+d,i(),s=t.top,i(),a=g==="start"?t[g]-D:t[g]+D,i(),h(s,a,r,g!=="start")}else{const g=o===2?"start":"end",m=o===2?"end":"start",p=o===2?e[g]-S*2>=t[m]:e[g]+S*2<=t[m];s=e.top,a=e[g],i(),a=g==="start"?a-d:a+d,i(),p||(s=E?s+l:s-l,i(),a=g==="start"?t[m]+d:t[m]-d,i()),s=t.top,i(),a=m==="start"?t[m]-D:t[m]+D,i(),h(s,a,r,m!=="start")}return r},h=(e,t,n,o)=>o?w(e,t,n):z(e,t,n),w=(e,t,n)=>{n.push({top:e-D/2,left:t}),n.push({top:e,left:t-D+1}),n.push({top:e+D/2,left:t}),n.push({top:e,left:t})},z=(e,t,n)=>{n.push({top:e+D/2,left:t}),n.push({top:e,left:t+D-1}),n.push({top:e-D/2,left:t}),n.push({top:e,left:t})},v=e=>{if(e.workWeekStart===void 0||e.workWeekEnd===void 0)return[];const t=[];let n=e.workWeekStart;for(t.push(n);e.workWeekEnd!==n;)n>6?n-=7:n++,t.push(n);return t},A=(e,t)=>{const n=e.getDay();return t.indexOf(n)>-1},y=(e,{step:t,timezone:n})=>{const o=[],r=c.ZonedDate.fromLocalDate(e.start,n),s=c.ZonedDate.fromLocalDate(e.end,n);let a=r.clone();for(;a.getTime()<s.getTime();){const d=a.clone(),l=d.clone().addTime(t),E=new Date(d.getTime()),g={end:new Date(l.getTime()),start:E,zonedStart:d,zonedEnd:l};o.push(g),a=a.addTime(t)}return o},W=(e,{timezone:t},n)=>{const o=[],r=c.ZonedDate.fromLocalDate(e.start,t),s=c.ZonedDate.fromLocalDate(e.end,t);for(let a=r.clone();a.getTime()<s.getTime();){const d=a.clone(),l=_(c.firstDayInWeek(c.getDate(d),n.firstDay()),T.DAYS_IN_WEEK_COUNT),E=c.ZonedDate.fromUTCDate(M(l),t),i=E.getTime()>s.getTime()?s.clone():E;a=i.clone();const g=new Date(d.getTime()),p={end:new Date(i.getTime()),start:g,zonedStart:d,zonedEnd:i};o.push(p)}return o},b=(e,{timezone:t})=>{const n=[],o=c.ZonedDate.fromLocalDate(e.start,t),r=c.ZonedDate.fromLocalDate(e.end,t);for(let s=o.clone();s.getTime()<r.getTime();){const a=s.clone(),d=c.ZonedDate.fromLocalDate(c.addMonths(new Date(a.getTime()),1),t);s=d.clone();const l=new Date(a.getTime()),i={end:new Date(d.getTime()),start:l,zonedStart:a,zonedEnd:d};n.push(i)}return n},R=(e,{timezone:t})=>{const n=[],o=c.ZonedDate.fromLocalDate(e.start,t),r=c.ZonedDate.fromLocalDate(e.end,t);for(let s=o.clone();s.getTime()<r.getTime();){const a=s.clone(),d=c.ZonedDate.fromLocalDate(c.addMonths(new Date(a.getTime()),12),t);s=d.clone();const l=new Date(a.getTime()),i={end:new Date(d.getTime()),start:l,zonedStart:a,zonedEnd:d};n.push(i)}return n},K=(e,t,n)=>{const o=n.parseDate(t.workDayStart).getHours(),r=n.parseDate(t.workDayEnd).getHours();return y(e,{step:c.MS_PER_MINUTE*t.slotDuration,timezone:t.timezone}).map(a=>{const d=a.zonedStart.getHours();return{range:a,isWork:d>=o&&d<r,span:1,text:n.formatDate(a.zonedStart,T.HOUR_DATE_FORMAT),type:"time"}})},$=(e,t,n)=>y(e,{step:c.MS_PER_DAY,timezone:t.timezone}).map(r=>({range:r,isWork:A(r.start,t.workDays),span:1,text:n.formatDate(r.zonedStart,T.DAY_DATE_FORMAT),type:"day"})),G=(e,t,n)=>W(e,{timezone:t.timezone},n).map(r=>{const s=Math.round((r.zonedEnd.getTime()-r.zonedStart.getTime())/c.MS_PER_DAY);return{range:r,isWork:!1,span:s,text:`${n.formatDate(r.zonedStart,T.DAY_DATE_FORMAT)} - ${n.formatDate(r.zonedEnd,T.DAY_DATE_FORMAT)}`,type:"week"}}),J=(e,t,n)=>b(e,{timezone:t.timezone}).map(r=>{const s=Math.round((r.zonedEnd.getTime()-r.zonedStart.getTime())/c.MS_PER_DAY);return{range:r,isWork:!1,span:s,text:n.formatDate(r.zonedStart,T.MONTH_DATE_FORMAT),type:"month"}}),Q=(e,t,n)=>R(e,{timezone:t.timezone}).map(r=>{const s=Math.round((r.zonedEnd.getTime()-r.zonedStart.getTime())/c.MS_PER_DAY);return{range:r,isWork:!1,span:s,text:n.formatDate(r.zonedStart,T.YEAR_DATE_FORMAT),type:"year"}}),V=(e,t,n)=>{const o=n;return u.createElement("table",{className:"k-table k-table-md",ref:t,"aria-hidden":!0},u.createElement("tbody",{className:"k-table-tbody"},e.map((r,s)=>u.createElement("tr",{className:"k-table-row",key:s},r.map((a,d)=>u.createElement("td",{key:a.range.start.getTime(),colSpan:a.span,className:k.classNames("k-table-th",{"k-header":!0,"k-nonwork-hour":!a.isWork})},o?u.createElement(o,{rowIndex:s,index:d,range:a.range,text:a.text,isWork:a.isWork,type:a.type}):a.text))))))},X=(e,t)=>{const n=e[e.length-1];return u.createElement("table",{className:"k-table k-table-md k-gantt-columns",ref:t,"aria-hidden":!0},u.createElement("tbody",{className:"k-table-tbody"},u.createElement("tr",{className:"k-table-row"},n.map(o=>u.createElement("td",{key:o.range.start.getTime(),colSpan:o.span,className:k.classNames("k-table-td",{"k-nonwork-hour":!o.isWork})})))))},ee=(e,t)=>{const n=e[e.length-1];let o=0,r=0;return n.forEach(s=>{const a=s.span;r+=a,a>o&&(o=a)}),Math.round(r*t/o)},x=(e,t)=>!!k.getter(t)(e),N=(e,t)=>!!k.getter(t)(e),te=(e,t)=>n=>x(n,e)&&N(n,t)?[...k.getter(t)(n)]:[];exports.ARROW_SIZE=D;exports.MIN_LINE_WIDTH=S;exports.addArrow=h;exports.addArrowEast=z;exports.addArrowWest=w;exports.createDataTree=Z;exports.dependencyCoordinates=j;exports.expandedChildren=te;exports.extendDataItem=H;exports.filterBy=Y;exports.getDaySlots=$;exports.getDependencyModelFields=U;exports.getEndDate=_;exports.getHourSlots=K;exports.getMonthSlots=J;exports.getStartDate=B;exports.getTaskModelFields=P;exports.getTimelineContent=X;exports.getTimelineHeader=V;exports.getTimelineWidth=ee;exports.getWeekSlots=G;exports.getWorkDays=v;exports.getYearSlots=Q;exports.hasChildren=N;exports.isExpanded=x;exports.isInRange=q;exports.isWorkDay=A;exports.mapTree=F;exports.orderBy=I;exports.toMonthRanges=b;exports.toRanges=y;exports.toUTCDateTime=M;exports.toWeekRanges=W;exports.toYearRanges=R;
package/utils/index.mjs CHANGED
@@ -5,13 +5,14 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as T from "react";
9
10
  import { MS_PER_DAY as E, getDate as S, addDays as W, ZonedDate as g, firstDayInWeek as _, addMonths as y, MS_PER_MINUTE as x } from "@progress/kendo-date-math";
10
11
  import { mapTree as A, extendDataItem as L, getter as f, classNames as z } from "@progress/kendo-react-common";
11
12
  import { orderBy as N, filterBy as b } from "@progress/kendo-react-data-tools";
12
13
  import { createDataTree as C } from "@progress/kendo-react-treelist";
13
14
  import { DEFAULT_TASK_MODEL_FIELDS as I, DEFAULT_DEPENDENCY_MODEL_FIELDS as H, HOUR_DATE_FORMAT as O, DAY_DATE_FORMAT as h, MONTH_DATE_FORMAT as F, YEAR_DATE_FORMAT as B, DAYS_IN_WEEK_COUNT as U } from "../constants/index.mjs";
14
- const te = N, ne = b, ae = A, re = L, oe = C, se = (e) => ({ fields: { ...I, ...e } }), de = (e) => ({ fields: { ...H, ...e } }), ce = (e) => S(e), Y = (e, t) => S(W(e, t || 1)), me = (e, t, n, o) => n < t && e <= o;
15
+ const te = N, ne = b, ae = A, re = L, oe = C, se = (e) => ({ fields: { ...I, ...e } }), ce = (e) => ({ fields: { ...H, ...e } }), de = (e) => S(e), Y = (e, t) => S(W(e, t || 1)), me = (e, t, n, o) => n < t && e <= o;
15
16
  function $(e) {
16
17
  return new Date(
17
18
  Date.UTC(
@@ -28,13 +29,13 @@ function $(e) {
28
29
  const l = 4, p = 10, ie = (e, t, n, o) => {
29
30
  const r = [];
30
31
  let s = 0, a = 0;
31
- const d = p, i = Math.floor(n / 2), u = e.top < t.top, c = () => r.push({ left: a, top: s });
32
+ const c = p, i = Math.floor(n / 2), u = e.top < t.top, d = () => r.push({ left: a, top: s });
32
33
  if (o === 0 || o === 3) {
33
34
  const m = o === 3 ? "start" : "end";
34
- s = e.top, a = e[m], c(), a = Math[m === "start" ? "min" : "max"](e[m], t[m]), a = m === "start" ? a - d : a + d, c(), s = t.top, c(), a = m === "start" ? t[m] - l : t[m] + l, c(), w(s, a, r, m !== "start");
35
+ s = e.top, a = e[m], d(), a = Math[m === "start" ? "min" : "max"](e[m], t[m]), a = m === "start" ? a - c : a + c, d(), s = t.top, d(), a = m === "start" ? t[m] - l : t[m] + l, d(), w(s, a, r, m !== "start");
35
36
  } else {
36
37
  const m = o === 2 ? "start" : "end", D = o === 2 ? "end" : "start", k = o === 2 ? e[m] - p * 2 >= t[D] : e[m] + p * 2 <= t[D];
37
- s = e.top, a = e[m], c(), a = m === "start" ? a - d : a + d, c(), k || (s = u ? s + i : s - i, c(), a = m === "start" ? t[D] + d : t[D] - d, c()), s = t.top, c(), a = D === "start" ? t[D] - l : t[D] + l, c(), w(s, a, r, D !== "start");
38
+ s = e.top, a = e[m], d(), a = m === "start" ? a - c : a + c, d(), k || (s = u ? s + i : s - i, d(), a = m === "start" ? t[D] + c : t[D] - c, d()), s = t.top, d(), a = D === "start" ? t[D] - l : t[D] + l, d(), w(s, a, r, D !== "start");
38
39
  }
39
40
  return r;
40
41
  }, w = (e, t, n, o) => o ? R(e, t, n) : P(e, t, n), R = (e, t, n) => {
@@ -80,10 +81,10 @@ const l = 4, p = 10, ie = (e, t, n, o) => {
80
81
  const o = [], r = g.fromLocalDate(e.start, n), s = g.fromLocalDate(e.end, n);
81
82
  let a = r.clone();
82
83
  for (; a.getTime() < s.getTime(); ) {
83
- const d = a.clone(), i = d.clone().addTime(t), u = new Date(d.getTime()), m = {
84
+ const c = a.clone(), i = c.clone().addTime(t), u = new Date(c.getTime()), m = {
84
85
  end: new Date(i.getTime()),
85
86
  start: u,
86
- zonedStart: d,
87
+ zonedStart: c,
87
88
  zonedEnd: i
88
89
  };
89
90
  o.push(m), a = a.addTime(t);
@@ -92,13 +93,13 @@ const l = 4, p = 10, ie = (e, t, n, o) => {
92
93
  }, Z = (e, { timezone: t }, n) => {
93
94
  const o = [], r = g.fromLocalDate(e.start, t), s = g.fromLocalDate(e.end, t);
94
95
  for (let a = r.clone(); a.getTime() < s.getTime(); ) {
95
- const d = a.clone(), i = Y(_(S(d), n.firstDay()), U), u = g.fromUTCDate($(i), t), c = u.getTime() > s.getTime() ? s.clone() : u;
96
- a = c.clone();
97
- const m = new Date(d.getTime()), k = {
98
- end: new Date(c.getTime()),
96
+ const c = a.clone(), i = Y(_(S(c), n.firstDay()), U), u = g.fromUTCDate($(i), t), d = u.getTime() > s.getTime() ? s.clone() : u;
97
+ a = d.clone();
98
+ const m = new Date(c.getTime()), k = {
99
+ end: new Date(d.getTime()),
99
100
  start: m,
100
- zonedStart: d,
101
- zonedEnd: c
101
+ zonedStart: c,
102
+ zonedEnd: d
102
103
  };
103
104
  o.push(k);
104
105
  }
@@ -106,38 +107,38 @@ const l = 4, p = 10, ie = (e, t, n, o) => {
106
107
  }, v = (e, { timezone: t }) => {
107
108
  const n = [], o = g.fromLocalDate(e.start, t), r = g.fromLocalDate(e.end, t);
108
109
  for (let s = o.clone(); s.getTime() < r.getTime(); ) {
109
- const a = s.clone(), d = g.fromLocalDate(y(new Date(a.getTime()), 1), t);
110
- s = d.clone();
111
- const i = new Date(a.getTime()), c = {
112
- end: new Date(d.getTime()),
110
+ const a = s.clone(), c = g.fromLocalDate(y(new Date(a.getTime()), 1), t);
111
+ s = c.clone();
112
+ const i = new Date(a.getTime()), d = {
113
+ end: new Date(c.getTime()),
113
114
  start: i,
114
115
  zonedStart: a,
115
- zonedEnd: d
116
+ zonedEnd: c
116
117
  };
117
- n.push(c);
118
+ n.push(d);
118
119
  }
119
120
  return n;
120
121
  }, j = (e, { timezone: t }) => {
121
122
  const n = [], o = g.fromLocalDate(e.start, t), r = g.fromLocalDate(e.end, t);
122
123
  for (let s = o.clone(); s.getTime() < r.getTime(); ) {
123
- const a = s.clone(), d = g.fromLocalDate(y(new Date(a.getTime()), 12), t);
124
- s = d.clone();
125
- const i = new Date(a.getTime()), c = {
126
- end: new Date(d.getTime()),
124
+ const a = s.clone(), c = g.fromLocalDate(y(new Date(a.getTime()), 12), t);
125
+ s = c.clone();
126
+ const i = new Date(a.getTime()), d = {
127
+ end: new Date(c.getTime()),
127
128
  start: i,
128
129
  zonedStart: a,
129
- zonedEnd: d
130
+ zonedEnd: c
130
131
  };
131
- n.push(c);
132
+ n.push(d);
132
133
  }
133
134
  return n;
134
135
  }, le = (e, t, n) => {
135
136
  const o = n.parseDate(t.workDayStart).getHours(), r = n.parseDate(t.workDayEnd).getHours();
136
137
  return M(e, { step: x * t.slotDuration, timezone: t.timezone }).map((a) => {
137
- const d = a.zonedStart.getHours();
138
+ const c = a.zonedStart.getHours();
138
139
  return {
139
140
  range: a,
140
- isWork: d >= o && d < r,
141
+ isWork: c >= o && c < r,
141
142
  span: 1,
142
143
  text: n.formatDate(a.zonedStart, O),
143
144
  type: "time"
@@ -181,7 +182,7 @@ const l = 4, p = 10, ie = (e, t, n, o) => {
181
182
  };
182
183
  }), ke = (e, t, n) => {
183
184
  const o = n;
184
- return /* @__PURE__ */ T.createElement("table", { className: "k-table k-table-md", ref: t, "aria-hidden": !0 }, /* @__PURE__ */ T.createElement("tbody", { className: "k-table-tbody" }, e.map((r, s) => /* @__PURE__ */ T.createElement("tr", { className: "k-table-row", key: s }, r.map((a, d) => /* @__PURE__ */ T.createElement(
185
+ return /* @__PURE__ */ T.createElement("table", { className: "k-table k-table-md", ref: t, "aria-hidden": !0 }, /* @__PURE__ */ T.createElement("tbody", { className: "k-table-tbody" }, e.map((r, s) => /* @__PURE__ */ T.createElement("tr", { className: "k-table-row", key: s }, r.map((a, c) => /* @__PURE__ */ T.createElement(
185
186
  "td",
186
187
  {
187
188
  key: a.range.start.getTime(),
@@ -195,7 +196,7 @@ const l = 4, p = 10, ie = (e, t, n, o) => {
195
196
  o,
196
197
  {
197
198
  rowIndex: s,
198
- index: d,
199
+ index: c,
199
200
  range: a.range,
200
201
  text: a.text,
201
202
  isWork: a.isWork,
@@ -235,11 +236,11 @@ export {
235
236
  re as extendDataItem,
236
237
  ne as filterBy,
237
238
  De as getDaySlots,
238
- de as getDependencyModelFields,
239
+ ce as getDependencyModelFields,
239
240
  Y as getEndDate,
240
241
  le as getHourSlots,
241
242
  ue as getMonthSlots,
242
- ce as getStartDate,
243
+ de as getStartDate,
243
244
  se as getTaskModelFields,
244
245
  pe as getTimelineContent,
245
246
  ke as getTimelineHeader,
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),t=require("prop-types"),w=require("@progress/kendo-date-math"),I=require("../components/BaseView.js"),s=require("../utils/index.js"),h=require("../context/GanttContext.js"),m=require("../messages/index.js"),P=require("@progress/kendo-react-intl"),j=require("../constants/index.js");function x(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const a=x(O),S=a.forwardRef((e,o)=>{const{slotWidth:n=r.slotWidth,slotDuration:i=r.slotDuration,firstSlotRangeRef:D,timelineHeaderCell:k}=e,{timezone:l}=h.useGanttPropsContext(),c=P.useInternationalization(),u=a.useRef(null),g=a.useRef(null),C=a.useCallback(f=>{g.current&&g.current.scrollIntoView(f)},[]);a.useImperativeHandle(u,()=>({scrollIntoView:C})),a.useImperativeHandle(o,()=>u.current);const y=h.useGanttDateRangeContext(),T=e.workWeekStart||r.workWeekStart,p=e.workWeekEnd||r.workWeekEnd,E=e.workDayStart||r.workDayStart,W=e.workDayEnd||r.workDayEnd,q=a.useMemo(()=>{const f=s.getWorkDays({workWeekStart:T,workWeekEnd:p}),d=[],b=s.getDaySlots(y,{workDays:f,timezone:l},c);return b.forEach(R=>{const V=s.getHourSlots(R.range,{workDayStart:E,workDayEnd:W,timezone:l,slotDuration:i},c);R.span=V.length,d.push.apply(d,V)}),D&&d[0]&&(D.current=d[0].range),[b,d]},[l,y.start.getTime(),y.end.getTime(),c,T,p,E,W]);return a.createElement(I.BaseView,{ref:g,slotWidth:n,slotLevels:q,timelineHeaderCell:k})}),G=({tasksStart:e,tasksEnd:o,timezone:n})=>{const i=w.ZonedDate.fromLocalDate(e,n),D=w.ZonedDate.fromLocalDate(o,n),k=s.getStartDate(i),l=s.getEndDate(D),c=w.ZonedDate.fromUTCDate(s.toUTCDateTime(k),n),u=w.ZonedDate.fromUTCDate(s.toUTCDateTime(l),n);return{start:new Date(c.getTime()),end:new Date(u.getTime()),zonedStart:c,zonedEnd:u}},r={name:"day",dateRange:G,title:e=>e.toLanguageString(m.dayViewTitle,m.messages[m.dayViewTitle]),slotWidth:j.DEFAULT_COLUMN_WIDTH,slotDuration:60,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};S.propTypes={name:t.string,dateRange:t.oneOfType([t.func,t.object]),title:t.oneOfType([t.string,t.func]),slotWidth:t.number,slotDuration:t.number,workWeekStart:t.number,workWeekEnd:t.number,workDayStart:t.string,workDayEnd:t.string};S.displayName="KendoReactGanttDayView";exports.GanttDayView=S;exports.ganttDayViewDefaultProps=r;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("react"),t=require("prop-types"),w=require("@progress/kendo-date-math"),I=require("../components/BaseView.js"),s=require("../utils/index.js"),h=require("../context/GanttContext.js"),m=require("../messages/index.js"),P=require("@progress/kendo-react-intl"),j=require("../constants/index.js");function x(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return o.default=e,Object.freeze(o)}const a=x(O),S=a.forwardRef((e,o)=>{const{slotWidth:n=r.slotWidth,slotDuration:i=r.slotDuration,firstSlotRangeRef:D,timelineHeaderCell:k}=e,{timezone:l}=h.useGanttPropsContext(),c=P.useInternationalization(),u=a.useRef(null),g=a.useRef(null),C=a.useCallback(f=>{g.current&&g.current.scrollIntoView(f)},[]);a.useImperativeHandle(u,()=>({scrollIntoView:C})),a.useImperativeHandle(o,()=>u.current);const y=h.useGanttDateRangeContext(),T=e.workWeekStart||r.workWeekStart,p=e.workWeekEnd||r.workWeekEnd,E=e.workDayStart||r.workDayStart,W=e.workDayEnd||r.workDayEnd,q=a.useMemo(()=>{const f=s.getWorkDays({workWeekStart:T,workWeekEnd:p}),d=[],b=s.getDaySlots(y,{workDays:f,timezone:l},c);return b.forEach(R=>{const V=s.getHourSlots(R.range,{workDayStart:E,workDayEnd:W,timezone:l,slotDuration:i},c);R.span=V.length,d.push.apply(d,V)}),D&&d[0]&&(D.current=d[0].range),[b,d]},[l,y.start.getTime(),y.end.getTime(),c,T,p,E,W]);return a.createElement(I.BaseView,{ref:g,slotWidth:n,slotLevels:q,timelineHeaderCell:k})}),G=({tasksStart:e,tasksEnd:o,timezone:n})=>{const i=w.ZonedDate.fromLocalDate(e,n),D=w.ZonedDate.fromLocalDate(o,n),k=s.getStartDate(i),l=s.getEndDate(D),c=w.ZonedDate.fromUTCDate(s.toUTCDateTime(k),n),u=w.ZonedDate.fromUTCDate(s.toUTCDateTime(l),n);return{start:new Date(c.getTime()),end:new Date(u.getTime()),zonedStart:c,zonedEnd:u}},r={name:"day",dateRange:G,title:e=>e.toLanguageString(m.dayViewTitle,m.messages[m.dayViewTitle]),slotWidth:j.DEFAULT_COLUMN_WIDTH,slotDuration:60,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};S.propTypes={name:t.string,dateRange:t.oneOfType([t.func,t.object]),title:t.oneOfType([t.string,t.func]),slotWidth:t.number,slotDuration:t.number,workWeekStart:t.number,workWeekEnd:t.number,workDayStart:t.string,workDayEnd:t.string};S.displayName="KendoReactGanttDayView";exports.GanttDayView=S;exports.ganttDayViewDefaultProps=r;
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as o from "react";
9
10
  import t from "prop-types";
10
11
  import { ZonedDate as m } from "@progress/kendo-date-math";
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react"),e=require("prop-types"),o=require("@progress/kendo-date-math"),V=require("../components/BaseView.js"),f=require("../utils/index.js"),T=require("../context/GanttContext.js"),M=require("../constants/index.js"),m=require("../messages/index.js"),O=require("@progress/kendo-react-intl");function C(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const a=C(R),w=a.forwardRef((t,r)=>{const{slotWidth:n=h.slotWidth,firstSlotRangeRef:s,timelineHeaderCell:g}=t,{timezone:l}=T.useGanttPropsContext(),u=O.useInternationalization(),d=a.useRef(null),c=a.useRef(null),k=a.useCallback(i=>{c.current&&c.current.scrollIntoView(i)},[]);a.useImperativeHandle(d,()=>({scrollIntoView:k})),a.useImperativeHandle(r,()=>d.current);const D=T.useGanttDateRangeContext(),y=a.useMemo(()=>{const i=[],p=f.getMonthSlots(D,{timezone:l},u);return p.forEach(S=>{const b=f.getWeekSlots(S.range,{timezone:l},u);i.push.apply(i,b)}),s&&i[0]&&(s.current=i[0].range),[p,i]},[l,D.start.getTime(),D.end.getTime(),u]);return a.createElement(V.BaseView,{ref:c,slotWidth:n,slotLevels:y,timelineHeaderCell:g})}),W=({tasksStart:t,tasksEnd:r,timezone:n})=>{const s=o.ZonedDate.fromLocalDate(t,n),g=o.ZonedDate.fromLocalDate(r,n),l=o.firstDayOfMonth(o.getDate(s)),u=o.addDays(o.lastDayOfMonth(o.getDate(g)),1),d=o.ZonedDate.fromUTCDate(f.toUTCDateTime(l),n),c=o.ZonedDate.fromUTCDate(f.toUTCDateTime(u),n);return{start:new Date(d.getTime()),end:new Date(c.getTime()),zonedStart:d,zonedEnd:c}},h={name:"month",dateRange:W,title:t=>t.toLanguageString(m.monthViewTitle,m.messages[m.monthViewTitle]),slotWidth:M.DEFAULT_COLUMN_WIDTH,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};w.propTypes={name:e.string,dateRange:e.oneOfType([e.func,e.object]),title:e.oneOfType([e.string,e.func]),slotWidth:e.number,workWeekStart:e.number,workWeekEnd:e.number,workDayStart:e.string,workDayEnd:e.string};w.displayName="GanttMonthView";exports.GanttMonthView=w;exports.ganttMonthViewDefaultProps=h;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("react"),e=require("prop-types"),o=require("@progress/kendo-date-math"),V=require("../components/BaseView.js"),f=require("../utils/index.js"),T=require("../context/GanttContext.js"),M=require("../constants/index.js"),m=require("../messages/index.js"),O=require("@progress/kendo-react-intl");function C(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const a=C(R),w=a.forwardRef((t,r)=>{const{slotWidth:n=h.slotWidth,firstSlotRangeRef:s,timelineHeaderCell:g}=t,{timezone:l}=T.useGanttPropsContext(),u=O.useInternationalization(),d=a.useRef(null),c=a.useRef(null),k=a.useCallback(i=>{c.current&&c.current.scrollIntoView(i)},[]);a.useImperativeHandle(d,()=>({scrollIntoView:k})),a.useImperativeHandle(r,()=>d.current);const D=T.useGanttDateRangeContext(),y=a.useMemo(()=>{const i=[],p=f.getMonthSlots(D,{timezone:l},u);return p.forEach(S=>{const b=f.getWeekSlots(S.range,{timezone:l},u);i.push.apply(i,b)}),s&&i[0]&&(s.current=i[0].range),[p,i]},[l,D.start.getTime(),D.end.getTime(),u]);return a.createElement(V.BaseView,{ref:c,slotWidth:n,slotLevels:y,timelineHeaderCell:g})}),W=({tasksStart:t,tasksEnd:r,timezone:n})=>{const s=o.ZonedDate.fromLocalDate(t,n),g=o.ZonedDate.fromLocalDate(r,n),l=o.firstDayOfMonth(o.getDate(s)),u=o.addDays(o.lastDayOfMonth(o.getDate(g)),1),d=o.ZonedDate.fromUTCDate(f.toUTCDateTime(l),n),c=o.ZonedDate.fromUTCDate(f.toUTCDateTime(u),n);return{start:new Date(d.getTime()),end:new Date(c.getTime()),zonedStart:d,zonedEnd:c}},h={name:"month",dateRange:W,title:t=>t.toLanguageString(m.monthViewTitle,m.messages[m.monthViewTitle]),slotWidth:M.DEFAULT_COLUMN_WIDTH,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};w.propTypes={name:e.string,dateRange:e.oneOfType([e.func,e.object]),title:e.oneOfType([e.string,e.func]),slotWidth:e.number,workWeekStart:e.number,workWeekEnd:e.number,workDayStart:e.string,workDayEnd:e.string};w.displayName="GanttMonthView";exports.GanttMonthView=w;exports.ganttMonthViewDefaultProps=h;
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as e from "react";
9
10
  import t from "prop-types";
10
11
  import { ZonedDate as c, firstDayOfMonth as S, getDate as g, addDays as V, lastDayOfMonth as W } from "@progress/kendo-date-math";
@@ -15,28 +16,28 @@ import { DEFAULT_COLUMN_WIDTH as L } from "../constants/index.mjs";
15
16
  import { monthViewTitle as D, messages as O } from "../messages/index.mjs";
16
17
  import { useInternationalization as U } from "@progress/kendo-react-intl";
17
18
  const k = e.forwardRef((a, f) => {
18
- const { slotWidth: n = H.slotWidth, firstSlotRangeRef: l, timelineHeaderCell: d } = a, { timezone: s } = b(), i = U(), m = e.useRef(null), r = e.useRef(null), h = e.useCallback((o) => {
19
+ const { slotWidth: n = H.slotWidth, firstSlotRangeRef: l, timelineHeaderCell: u } = a, { timezone: s } = b(), i = U(), m = e.useRef(null), r = e.useRef(null), h = e.useCallback((o) => {
19
20
  r.current && r.current.scrollIntoView(o);
20
21
  }, []);
21
22
  e.useImperativeHandle(m, () => ({ scrollIntoView: h })), e.useImperativeHandle(f, () => m.current);
22
- const u = I(), T = e.useMemo(() => {
23
- const o = [], p = C(u, { timezone: s }, i);
23
+ const d = I(), T = e.useMemo(() => {
24
+ const o = [], p = C(d, { timezone: s }, i);
24
25
  return p.forEach((y) => {
25
26
  const R = M(y.range, { timezone: s }, i);
26
27
  o.push.apply(o, R);
27
28
  }), l && o[0] && (l.current = o[0].range), [p, o];
28
- }, [s, u.start.getTime(), u.end.getTime(), i]);
29
+ }, [s, d.start.getTime(), d.end.getTime(), i]);
29
30
  return /* @__PURE__ */ e.createElement(
30
31
  E,
31
32
  {
32
33
  ref: r,
33
34
  slotWidth: n,
34
35
  slotLevels: T,
35
- timelineHeaderCell: d
36
+ timelineHeaderCell: u
36
37
  }
37
38
  );
38
39
  }), G = ({ tasksStart: a, tasksEnd: f, timezone: n }) => {
39
- const l = c.fromLocalDate(a, n), d = c.fromLocalDate(f, n), s = S(g(l)), i = V(W(g(d)), 1), m = c.fromUTCDate(w(s), n), r = c.fromUTCDate(w(i), n);
40
+ const l = c.fromLocalDate(a, n), u = c.fromLocalDate(f, n), s = S(g(l)), i = V(W(g(u)), 1), m = c.fromUTCDate(w(s), n), r = c.fromUTCDate(w(i), n);
40
41
  return {
41
42
  start: new Date(m.getTime()),
42
43
  end: new Date(r.getTime()),
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("react"),t=require("prop-types"),a=require("@progress/kendo-date-math"),O=require("../components/BaseView.js"),i=require("../utils/index.js"),E=require("../context/GanttContext.js"),R=require("../constants/index.js"),W=require("../messages/index.js"),q=require("@progress/kendo-react-intl");function _(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(s,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return s.default=e,Object.freeze(s)}const o=_(I),y=o.forwardRef((e,s)=>{const{slotWidth:r=D.slotWidth,firstSlotRangeRef:n,timelineHeaderCell:f}=e,{timezone:l}=E.useGanttPropsContext(),u=q.useInternationalization(),k=o.useRef(null),c=o.useRef(null),w=o.useCallback(m=>{c.current&&c.current.scrollIntoView(m)},[]);o.useImperativeHandle(k,()=>({scrollIntoView:w})),o.useImperativeHandle(s,()=>k.current);const g=E.useGanttDateRangeContext(),T=e.workWeekStart||D.workWeekStart,S=e.workWeekEnd||D.workWeekEnd,b=o.useMemo(()=>{const m=i.getWorkDays({workWeekStart:T,workWeekEnd:S}),d=[],p=i.getWeekSlots(g,{timezone:l},u);return p.forEach(V=>{const C=i.getDaySlots(V.range,{workDays:m,timezone:l},u);d.push.apply(d,C)}),n&&d[0]&&(n.current=d[0].range),[p,d]},[l,g.start.getTime(),g.end.getTime(),u,T,S]);return o.createElement(O.BaseView,{ref:c,slotWidth:r,slotLevels:b,timelineHeaderCell:f})}),h=({intl:e,tasksStart:s,tasksEnd:r,timezone:n})=>{const f=a.ZonedDate.fromLocalDate(s,n),l=a.ZonedDate.fromLocalDate(r,n),u=i.getStartDate(a.firstDayInWeek(a.getDate(f),e.firstDay())),k=i.getEndDate(a.firstDayInWeek(a.getDate(l),e.firstDay()),R.DAYS_IN_WEEK_COUNT),c=a.ZonedDate.fromUTCDate(i.toUTCDateTime(u),n),w=a.ZonedDate.fromUTCDate(i.toUTCDateTime(k),n);return{start:new Date(c.getTime()),end:new Date(w.getTime()),zonedStart:c,zonedEnd:w}},D={name:"week",dateRange:h,title:e=>e.toLanguageString(W.weekViewTitle,W.messages[W.weekViewTitle]),slotWidth:R.DEFAULT_COLUMN_WIDTH,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};y.propTypes={name:t.string,dateRange:t.oneOfType([t.func,t.object]),title:t.oneOfType([t.string,t.func]),slotWidth:t.number,workWeekStart:t.number,workWeekEnd:t.number,workDayStart:t.string,workDayEnd:t.string};y.displayName="KendoReactGanttWeekView";exports.GanttWeekView=y;exports.ganttWeekViewDefaultProps=D;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("react"),t=require("prop-types"),a=require("@progress/kendo-date-math"),O=require("../components/BaseView.js"),i=require("../utils/index.js"),E=require("../context/GanttContext.js"),R=require("../constants/index.js"),W=require("../messages/index.js"),q=require("@progress/kendo-react-intl");function _(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(s,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return s.default=e,Object.freeze(s)}const o=_(I),y=o.forwardRef((e,s)=>{const{slotWidth:r=D.slotWidth,firstSlotRangeRef:n,timelineHeaderCell:f}=e,{timezone:l}=E.useGanttPropsContext(),u=q.useInternationalization(),k=o.useRef(null),c=o.useRef(null),w=o.useCallback(m=>{c.current&&c.current.scrollIntoView(m)},[]);o.useImperativeHandle(k,()=>({scrollIntoView:w})),o.useImperativeHandle(s,()=>k.current);const g=E.useGanttDateRangeContext(),T=e.workWeekStart||D.workWeekStart,S=e.workWeekEnd||D.workWeekEnd,b=o.useMemo(()=>{const m=i.getWorkDays({workWeekStart:T,workWeekEnd:S}),d=[],p=i.getWeekSlots(g,{timezone:l},u);return p.forEach(V=>{const C=i.getDaySlots(V.range,{workDays:m,timezone:l},u);d.push.apply(d,C)}),n&&d[0]&&(n.current=d[0].range),[p,d]},[l,g.start.getTime(),g.end.getTime(),u,T,S]);return o.createElement(O.BaseView,{ref:c,slotWidth:r,slotLevels:b,timelineHeaderCell:f})}),h=({intl:e,tasksStart:s,tasksEnd:r,timezone:n})=>{const f=a.ZonedDate.fromLocalDate(s,n),l=a.ZonedDate.fromLocalDate(r,n),u=i.getStartDate(a.firstDayInWeek(a.getDate(f),e.firstDay())),k=i.getEndDate(a.firstDayInWeek(a.getDate(l),e.firstDay()),R.DAYS_IN_WEEK_COUNT),c=a.ZonedDate.fromUTCDate(i.toUTCDateTime(u),n),w=a.ZonedDate.fromUTCDate(i.toUTCDateTime(k),n);return{start:new Date(c.getTime()),end:new Date(w.getTime()),zonedStart:c,zonedEnd:w}},D={name:"week",dateRange:h,title:e=>e.toLanguageString(W.weekViewTitle,W.messages[W.weekViewTitle]),slotWidth:R.DEFAULT_COLUMN_WIDTH,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};y.propTypes={name:t.string,dateRange:t.oneOfType([t.func,t.object]),title:t.oneOfType([t.string,t.func]),slotWidth:t.number,workWeekStart:t.number,workWeekEnd:t.number,workDayStart:t.string,workDayEnd:t.string};y.displayName="KendoReactGanttWeekView";exports.GanttWeekView=y;exports.ganttWeekViewDefaultProps=D;
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as o from "react";
9
10
  import e from "prop-types";
10
11
  import { ZonedDate as l, firstDayInWeek as y, getDate as T } from "@progress/kendo-date-math";
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),a=require("prop-types"),n=require("@progress/kendo-date-math"),M=require("../components/BaseView.js"),g=require("../utils/index.js"),y=require("../context/GanttContext.js"),S=require("../constants/index.js"),p=require("../messages/index.js"),C=require("@progress/kendo-react-intl");function q(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const o=q(b),T=o.forwardRef((e,r)=>{const{slotWidth:t=w.slotWidth,firstSlotRangeRef:s,timelineHeaderCell:D}=e,{timezone:i}=y.useGanttPropsContext(),c=C.useInternationalization(),l=o.useRef(null),u=o.useRef(null),h=o.useCallback(d=>{u.current&&u.current.scrollIntoView(d)},[]);o.useImperativeHandle(l,()=>({scrollIntoView:h})),o.useImperativeHandle(r,()=>l.current);const m=y.useGanttDateRangeContext(),R=o.useMemo(()=>{const d=g.getYearSlots(m,{timezone:i},c),f=[];return d.forEach(V=>{const O=g.getMonthSlots(V.range,{timezone:i},c);f.push.apply(f,O)}),s&&f[0]&&(s.current=f[0].range),[d,f]},[i,m.start.getTime(),m.end.getTime(),c]);return o.createElement(M.BaseView,{slotWidth:t,slotLevels:R,timelineHeaderCell:D})}),Y=({tasksStart:e,tasksEnd:r,timezone:t})=>{const s=n.ZonedDate.fromLocalDate(e,t),D=n.ZonedDate.fromLocalDate(r,t),i=n.firstDayOfMonth(n.firstMonthOfYear(n.getDate(s))),c=n.addDays(n.lastDayOfMonth(n.lastMonthOfYear(n.getDate(D))),1),l=n.ZonedDate.fromUTCDate(g.toUTCDateTime(i),t),u=n.ZonedDate.fromUTCDate(g.toUTCDateTime(c),t);return{start:new Date(l.getTime()),end:new Date(u.getTime()),zonedStart:l,zonedEnd:u}},w={name:"year",dateRange:Y,title:e=>e.toLanguageString(p.yearViewTitle,p.messages[p.yearViewTitle]),slotWidth:S.DEFAULT_COLUMN_WIDTH};T.propTypes={name:a.string,dateRange:a.oneOfType([a.func,a.object]),title:a.oneOfType([a.string,a.func]),slotWidth:a.number};T.displayName="GanttYearView";exports.GanttYearView=T;exports.ganttYearViewDefaultProps=w;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),a=require("prop-types"),n=require("@progress/kendo-date-math"),M=require("../components/BaseView.js"),g=require("../utils/index.js"),y=require("../context/GanttContext.js"),S=require("../constants/index.js"),p=require("../messages/index.js"),C=require("@progress/kendo-react-intl");function q(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const o=q(b),T=o.forwardRef((e,r)=>{const{slotWidth:t=w.slotWidth,firstSlotRangeRef:s,timelineHeaderCell:D}=e,{timezone:i}=y.useGanttPropsContext(),c=C.useInternationalization(),l=o.useRef(null),u=o.useRef(null),h=o.useCallback(d=>{u.current&&u.current.scrollIntoView(d)},[]);o.useImperativeHandle(l,()=>({scrollIntoView:h})),o.useImperativeHandle(r,()=>l.current);const m=y.useGanttDateRangeContext(),R=o.useMemo(()=>{const d=g.getYearSlots(m,{timezone:i},c),f=[];return d.forEach(V=>{const O=g.getMonthSlots(V.range,{timezone:i},c);f.push.apply(f,O)}),s&&f[0]&&(s.current=f[0].range),[d,f]},[i,m.start.getTime(),m.end.getTime(),c]);return o.createElement(M.BaseView,{slotWidth:t,slotLevels:R,timelineHeaderCell:D})}),Y=({tasksStart:e,tasksEnd:r,timezone:t})=>{const s=n.ZonedDate.fromLocalDate(e,t),D=n.ZonedDate.fromLocalDate(r,t),i=n.firstDayOfMonth(n.firstMonthOfYear(n.getDate(s))),c=n.addDays(n.lastDayOfMonth(n.lastMonthOfYear(n.getDate(D))),1),l=n.ZonedDate.fromUTCDate(g.toUTCDateTime(i),t),u=n.ZonedDate.fromUTCDate(g.toUTCDateTime(c),t);return{start:new Date(l.getTime()),end:new Date(u.getTime()),zonedStart:l,zonedEnd:u}},w={name:"year",dateRange:Y,title:e=>e.toLanguageString(p.yearViewTitle,p.messages[p.yearViewTitle]),slotWidth:S.DEFAULT_COLUMN_WIDTH};T.propTypes={name:a.string,dateRange:a.oneOfType([a.func,a.object]),title:a.oneOfType([a.string,a.func]),slotWidth:a.number};T.displayName="GanttYearView";exports.GanttYearView=T;exports.ganttYearViewDefaultProps=w;
@@ -5,9 +5,10 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as t from "react";
9
10
  import e from "prop-types";
10
- import { ZonedDate as c, firstDayOfMonth as M, firstMonthOfYear as C, getDate as g, addDays as S, lastDayOfMonth as O, lastMonthOfYear as I } from "@progress/kendo-date-math";
11
+ import { ZonedDate as f, firstDayOfMonth as M, firstMonthOfYear as C, getDate as g, addDays as S, lastDayOfMonth as O, lastMonthOfYear as I } from "@progress/kendo-date-math";
11
12
  import { BaseView as L } from "../components/BaseView.mjs";
12
13
  import { getYearSlots as Y, getMonthSlots as E, toUTCDateTime as D } from "../utils/index.mjs";
13
14
  import { useGanttPropsContext as U, useGanttDateRangeContext as W } from "../context/GanttContext.mjs";
@@ -15,20 +16,20 @@ import { DEFAULT_COLUMN_WIDTH as b } from "../constants/index.mjs";
15
16
  import { yearViewTitle as T, messages as G } from "../messages/index.mjs";
16
17
  import { useInternationalization as H } from "@progress/kendo-react-intl";
17
18
  const h = t.forwardRef((n, p) => {
18
- const { slotWidth: o = v.slotWidth, firstSlotRangeRef: m, timelineHeaderCell: u } = n, { timezone: a } = U(), r = H(), s = t.useRef(null), i = t.useRef(null), y = t.useCallback((f) => {
19
- i.current && i.current.scrollIntoView(f);
19
+ const { slotWidth: o = v.slotWidth, firstSlotRangeRef: m, timelineHeaderCell: u } = n, { timezone: a } = U(), r = H(), s = t.useRef(null), i = t.useRef(null), y = t.useCallback((c) => {
20
+ i.current && i.current.scrollIntoView(c);
20
21
  }, []);
21
22
  t.useImperativeHandle(s, () => ({ scrollIntoView: y })), t.useImperativeHandle(p, () => s.current);
22
23
  const d = W(), w = t.useMemo(() => {
23
- const f = Y(d, { timezone: a }, r), l = [];
24
- return f.forEach((R) => {
24
+ const c = Y(d, { timezone: a }, r), l = [];
25
+ return c.forEach((R) => {
25
26
  const V = E(R.range, { timezone: a }, r);
26
27
  l.push.apply(l, V);
27
- }), m && l[0] && (m.current = l[0].range), [f, l];
28
+ }), m && l[0] && (m.current = l[0].range), [c, l];
28
29
  }, [a, d.start.getTime(), d.end.getTime(), r]);
29
30
  return /* @__PURE__ */ t.createElement(L, { slotWidth: o, slotLevels: w, timelineHeaderCell: u });
30
31
  }), k = ({ tasksStart: n, tasksEnd: p, timezone: o }) => {
31
- const m = c.fromLocalDate(n, o), u = c.fromLocalDate(p, o), a = M(C(g(m))), r = S(O(I(g(u))), 1), s = c.fromUTCDate(D(a), o), i = c.fromUTCDate(D(r), o);
32
+ const m = f.fromLocalDate(n, o), u = f.fromLocalDate(p, o), a = M(C(g(m))), r = S(O(I(g(u))), 1), s = f.fromUTCDate(D(a), o), i = f.fromUTCDate(D(r), o);
32
33
  return {
33
34
  start: new Date(s.getTime()),
34
35
  end: new Date(i.getTime()),