@progress/kendo-react-gantt 7.0.3-develop.1 → 7.0.3-develop.11

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 (69) hide show
  1. package/Gantt.d.ts +1 -1
  2. package/LICENSE.md +1 -1
  3. package/NOTICE.txt +1 -1
  4. package/README.md +1 -1
  5. package/cells/FilterCells/GanttBooleanFilter.d.ts +1 -1
  6. package/cells/FilterCells/GanttDateFilter.d.ts +1 -1
  7. package/cells/FilterCells/GanttNumericFilter.d.ts +1 -1
  8. package/cells/FilterCells/GanttTextFilter.d.ts +1 -1
  9. package/cells/FilterCells/utils.d.ts +1 -1
  10. package/components/BaseView.d.ts +1 -1
  11. package/components/GanttDependency.d.ts +1 -1
  12. package/components/GanttTask.d.ts +1 -1
  13. package/components/GanttTreelist.d.ts +1 -1
  14. package/components/toolbar/AddButton.d.ts +1 -1
  15. package/components/toolbar/Toolbar.d.ts +1 -1
  16. package/components/toolbar/view-selector/ViewSelector.d.ts +1 -1
  17. package/components/toolbar/view-selector/ViewSelectorItem.d.ts +1 -1
  18. package/components/toolbar/view-selector/ViewSelectorList.d.ts +1 -1
  19. package/constants/index.d.ts +1 -1
  20. package/context/GanttContext.d.ts +1 -1
  21. package/context/GanttViewContext.d.ts +1 -1
  22. package/dist/cdn/js/kendo-react-gantt.js +2 -2
  23. package/editors/FormDateTimePicker.d.ts +1 -1
  24. package/editors/FormInput.d.ts +1 -1
  25. package/editors/FormNumericTextBox.d.ts +1 -1
  26. package/editors/GanttEditor.d.ts +1 -1
  27. package/editors/GanttForm.d.ts +1 -1
  28. package/editors/GanttRemoveDialog.d.ts +1 -1
  29. package/hooks/useControlledState.d.ts +1 -1
  30. package/hooks/useDictionaryStore.d.ts +1 -1
  31. package/hooks/useGanttTask.d.ts +1 -1
  32. package/index.d.mts +1 -1
  33. package/index.d.ts +1 -1
  34. package/index.js +1 -1
  35. package/index.mjs +2 -2
  36. package/interfaces/AddDirection.d.ts +1 -1
  37. package/interfaces/DataItem.d.ts +1 -1
  38. package/interfaces/DateRange.d.ts +1 -1
  39. package/interfaces/DependencyModelFields.d.ts +1 -1
  40. package/interfaces/GanttBaseProps.d.ts +1 -1
  41. package/interfaces/GanttCellProps.d.ts +1 -1
  42. package/interfaces/GanttColumnProps.d.ts +1 -1
  43. package/interfaces/GanttDependencyModelFields.d.ts +1 -1
  44. package/interfaces/GanttFilterCellProps.d.ts +1 -1
  45. package/interfaces/GanttFilterOperator.d.ts +1 -1
  46. package/interfaces/GanttHeaderCellProps.d.ts +1 -1
  47. package/interfaces/GanttNoRecordsProps.d.ts +1 -1
  48. package/interfaces/GanttProps.d.ts +1 -1
  49. package/interfaces/GanttRowProps.d.ts +1 -1
  50. package/interfaces/GanttSelectableSettings.d.ts +1 -1
  51. package/interfaces/GanttSlotType.d.ts +1 -1
  52. package/interfaces/GanttSortSettings.d.ts +1 -1
  53. package/interfaces/GanttTaskModelFields.d.ts +1 -1
  54. package/interfaces/GanttView.d.ts +1 -1
  55. package/interfaces/GanttViewTimelineHeaderCellProps.d.ts +1 -1
  56. package/interfaces/Rectangle.d.ts +1 -1
  57. package/interfaces/Slot.d.ts +1 -1
  58. package/interfaces/TaskModelFields.d.ts +1 -1
  59. package/interfaces/events.d.ts +1 -1
  60. package/messages/index.d.ts +1 -1
  61. package/package-metadata.d.ts +1 -1
  62. package/package.json +14 -14
  63. package/rows/GanttRow.d.ts +1 -1
  64. package/utils/data-operations.d.ts +1 -1
  65. package/utils/index.d.ts +1 -1
  66. package/views/GanttDayView.d.ts +1 -1
  67. package/views/GanttMonthView.d.ts +1 -1
  68. package/views/GanttWeekView.d.ts +1 -1
  69. package/views/GanttYearView.d.ts +1 -1
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Gantt } from './Gantt';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const la=require("react"),i=require("prop-types"),h=require("@progress/kendo-react-common"),k=require("@progress/kendo-date-math"),y=require("@progress/kendo-react-data-tools"),ue=require("@progress/kendo-react-treelist"),B=require("@progress/kendo-react-intl"),gt=require("@progress/kendo-svg-icons"),ae=require("@progress/kendo-react-buttons"),ia=require("react-dom"),se=require("@progress/kendo-react-form"),Ae=require("@progress/kendo-react-dialogs"),le=require("@progress/kendo-react-labels"),Gt=require("@progress/kendo-react-inputs"),ca=require("@progress/kendo-react-dateinputs");function Wt(e){const a=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(a,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return a.default=e,Object.freeze(a)}const t=Wt(la),Pt=Wt(ia),da=y.TABLE_ROW_INDEX_ATTRIBUTE,ua=y.TABLE_COL_INDEX_ATTRIBUTE,ma=y.TABLE_PREVENT_SELECTION_ELEMENT,Lt=new Date().getTime(),_t=7,ga="hh:mm a",rt={skeleton:"MEd"},ha="MMM",fa="yyyy",Ie=100,pa=6,Oe="data-dependency-drag-handle",Ca="start",ka="finish",zt={[Oe]:Ca},Ht={[Oe]:ka},Ve="data-task-id",Kt={id:"id",start:"start",end:"end",title:"title",percentComplete:"percentComplete",isRollup:"isRollup",isExpanded:"isExpanded",isInEdit:"isInEdit",children:"children",isSelected:"isSelected"},Bt={id:"id",fromId:"fromId",toId:"toId",type:"type"},Da=y.orderBy,Ea=y.filterBy,Ge=h.mapTree,wa=h.extendDataItem,ya=ue.createDataTree,ba=e=>({fields:{...Kt,...e}}),va=e=>({fields:{...Bt,...e}}),Ut=e=>k.getDate(e),ht=(e,a)=>k.getDate(k.addDays(e,a||1)),Ta=(e,a,n,o)=>n<a&&e<=o;function ie(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}const ne=4,ot=10,Ra=(e,a,n,o)=>{const s=[];let l=0,r=0;const c=ot,m=Math.floor(n/2),g=e.top<a.top,d=()=>s.push({left:r,top:l});if(o===0||o===3){const u=o===3?"start":"end";l=e.top,r=e[u],d(),r=Math[u==="start"?"min":"max"](e[u],a[u]),r=u==="start"?r-c:r+c,d(),l=a.top,d(),r=u==="start"?a[u]-ne:a[u]+ne,d(),At(l,r,s,u!=="start")}else{const u=o===2?"start":"end",f=o===2?"end":"start",C=o===2?e[u]-ot*2>=a[f]:e[u]+ot*2<=a[f];l=e.top,r=e[u],d(),r=u==="start"?r-c:r+c,d(),C||(l=g?l+m:l-m,d(),r=u==="start"?a[f]+c:a[f]-c,d()),l=a.top,d(),r=f==="start"?a[f]-ne:a[f]+ne,d(),At(l,r,s,f!=="start")}return s},At=(e,a,n,o)=>o?Sa(e,a,n):Ia(e,a,n),Sa=(e,a,n)=>{n.push({top:e-ne/2,left:a}),n.push({top:e,left:a-ne+1}),n.push({top:e+ne/2,left:a}),n.push({top:e,left:a})},Ia=(e,a,n)=>{n.push({top:e+ne/2,left:a}),n.push({top:e,left:a+ne-1}),n.push({top:e-ne/2,left:a}),n.push({top:e,left:a})},qt=e=>{if(e.workWeekStart===void 0||e.workWeekEnd===void 0)return[];const a=[];let n=e.workWeekStart;for(a.push(n);e.workWeekEnd!==n;)n>6?n-=7:n++,a.push(n);return a},xa=(e,a)=>{const n=e.getDay();return a.indexOf(n)>-1},$t=(e,{step:a,timezone:n})=>{const o=[],s=k.ZonedDate.fromLocalDate(e.start,n),l=k.ZonedDate.fromLocalDate(e.end,n);let r=s.clone();for(;r.getTime()<l.getTime();){const c=r.clone(),m=c.clone().addTime(a),g=new Date(c.getTime()),u={end:new Date(m.getTime()),start:g,zonedStart:c,zonedEnd:m};o.push(u),r=r.addTime(a)}return o},Na=(e,{timezone:a},n)=>{const o=[],s=k.ZonedDate.fromLocalDate(e.start,a),l=k.ZonedDate.fromLocalDate(e.end,a);for(let r=s.clone(),c=0;r.getTime()<l.getTime();c++){const m=r.clone(),g=ht(k.firstDayInWeek(k.getDate(m),n.firstDay()),_t),d=k.ZonedDate.fromUTCDate(ie(g),a),u=d.getTime()>l.getTime()?l.clone():d;r=u.clone();const f=new Date(m.getTime()),D={end:new Date(u.getTime()),start:f,zonedStart:m,zonedEnd:u};o.push(D)}return o},Ma=(e,{timezone:a})=>{const n=[],o=k.ZonedDate.fromLocalDate(e.start,a),s=k.ZonedDate.fromLocalDate(e.end,a);for(let l=o.clone(),r=0;l.getTime()<s.getTime();r++){const c=l.clone(),m=k.ZonedDate.fromLocalDate(k.addMonths(new Date(c.getTime()),1),a);l=m.clone();const g=new Date(c.getTime()),u={end:new Date(m.getTime()),start:g,zonedStart:c,zonedEnd:m};n.push(u)}return n},Fa=(e,{timezone:a})=>{const n=[],o=k.ZonedDate.fromLocalDate(e.start,a),s=k.ZonedDate.fromLocalDate(e.end,a);for(let l=o.clone(),r=0;l.getTime()<s.getTime();r++){const c=l.clone(),m=k.ZonedDate.fromLocalDate(k.addMonths(new Date(c.getTime()),12),a);l=m.clone();const g=new Date(c.getTime()),u={end:new Date(m.getTime()),start:g,zonedStart:c,zonedEnd:m};n.push(u)}return n},La=(e,a,n)=>{const o=n.parseDate(a.workDayStart).getHours(),s=n.parseDate(a.workDayEnd).getHours();return $t(e,{step:k.MS_PER_MINUTE*a.slotDuration,timezone:a.timezone}).map(r=>{const c=r.zonedStart.getHours();return{range:r,isWork:c>=o&&c<s,span:1,text:n.formatDate(r.zonedStart,ga),type:"time"}})},Yt=(e,a,n)=>$t(e,{step:k.MS_PER_DAY,timezone:a.timezone}).map(s=>({range:s,isWork:xa(s.start,a.workDays),span:1,text:n.formatDate(s.zonedStart,rt),type:"day"})),Zt=(e,a,n)=>Na(e,{timezone:a.timezone},n).map(s=>{const l=Math.round((s.zonedEnd.getTime()-s.zonedStart.getTime())/k.MS_PER_DAY);return{range:s,isWork:!1,span:l,text:`${n.formatDate(s.zonedStart,rt)} - ${n.formatDate(s.zonedEnd,rt)}`,type:"week"}}),jt=(e,a,n)=>Ma(e,{timezone:a.timezone}).map(s=>{const l=Math.round((s.zonedEnd.getTime()-s.zonedStart.getTime())/k.MS_PER_DAY);return{range:s,isWork:!1,span:l,text:n.formatDate(s.zonedStart,ha),type:"month"}}),za=(e,a,n)=>Fa(e,{timezone:a.timezone}).map(s=>{const l=Math.round((s.zonedEnd.getTime()-s.zonedStart.getTime())/k.MS_PER_DAY);return{range:s,isWork:!1,span:l,text:n.formatDate(s.zonedStart,fa),type:"year"}}),Ha=(e,a,n)=>{const o=n;return t.createElement("table",{className:"k-table k-table-md",ref:a,"aria-hidden":!0},t.createElement("tbody",{className:"k-table-tbody"},e.map((s,l)=>t.createElement("tr",{className:"k-table-row",key:l},s.map((r,c)=>t.createElement("td",{key:r.range.start.getTime(),colSpan:r.span,className:h.classNames("k-table-th",{"k-header":!0,"k-nonwork-hour":!r.isWork})},o?t.createElement(o,{rowIndex:l,index:c,range:r.range,text:r.text,isWork:r.isWork,type:r.type}):r.text))))))},Aa=(e,a)=>{const n=e[e.length-1];return t.createElement("table",{className:"k-table k-table-md k-gantt-columns",ref:a,"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:h.classNames("k-table-td",{"k-nonwork-hour":!o.isWork})})))))},Oa=(e,a)=>{const n=e[e.length-1];let o=0,s=0;return n.forEach(l=>{const r=l.span;s+=r,r>o&&(o=r)}),Math.round(s*a/o)},st=(e,a)=>!!h.getter(a)(e),Xt=(e,a)=>!!h.getter(a)(e),Va=(e,a)=>n=>st(n,e)&&Xt(n,a)?[...h.getter(a)(n)]:[],ft=t.createContext([]),Ga=()=>t.useContext(ft);ft.displayName="KendoReactGanttTaskDataContext";const pt=t.createContext([]),Wa=()=>t.useContext(pt);pt.displayName="KendoReactGanttDependencyDataContext";const Ct=t.createContext(Kt),kt=()=>t.useContext(Ct);Ct.displayName="KendoReactGanttTaskModelFieldsContext";const Dt=t.createContext(Bt),Jt=()=>t.useContext(Dt);Dt.displayName="KendoReactGanttDependencyModelFieldsContext";const Et=t.createContext({}),xe=()=>t.useContext(Et);Et.displayName="KendoReactGanttPropsContext";const wt=t.createContext({start:new Date,end:new Date,zonedStart:k.ZonedDate.fromLocalDate(new Date),zonedEnd:k.ZonedDate.fromLocalDate(new Date)}),Ne=()=>t.useContext(wt);wt.displayName="KendoReactGanttDateRangeContext";const yt=t.createContext([]),Pa=()=>t.useContext(yt);yt.displayName="KendoReactGanttViewsContext";const bt=t.createContext(["week",h.noop]),Qt=()=>t.useContext(bt);bt.displayName="KendoReactGanttActiveViewContext";const vt=t.createContext(0),en=()=>t.useContext(vt);vt.displayName="KendoReactGanttRowHeightContext";const Tt=t.createContext(0),_a=()=>t.useContext(Tt);Tt.displayName="KendoReactGanttToolbarHeightContext";const Rt=t.createContext({onDataStateChange:h.noop,onSortChange:h.noop,onFilterChange:h.noop,onColumnMenuFilterChange:h.noop,onExpandChange:h.noop,onRowClick:h.noop,onRowDoubleClick:h.noop,onRowContextMenu:h.noop,onColumnResize:h.noop,onColumnReorder:h.noop,onDependencyCreate:h.noop,onKeyDown:h.noop,onSelectionChange:h.noop,onHeaderSelectionChange:h.noop}),Ka=()=>t.useContext(Rt);Rt.displayName="KendoReactGanttEventsContext";const St=t.createContext({onTaskClick:h.noop,onTaskDoubleClick:h.noop,onTaskContextMenu:h.noop}),Ba=()=>t.useContext(St);St.displayName="KendoReactGanttTaskEventsContext";const tn=({children:e,taskData:a,dependencyData:n,taskModelFields:o,dependencyModelFields:s,props:l,dateRange:r,views:c,activeView:m,rowHeight:g,toolbarHeight:d,events:u,taskEvents:f})=>t.createElement(Et.Provider,{value:l},t.createElement(ft.Provider,{value:a},t.createElement(pt.Provider,{value:n},t.createElement(Ct.Provider,{value:o},t.createElement(Dt.Provider,{value:s},t.createElement(wt.Provider,{value:r},t.createElement(yt.Provider,{value:c},t.createElement(bt.Provider,{value:m},t.createElement(vt.Provider,{value:g},t.createElement(Tt.Provider,{value:d},t.createElement(Rt.Provider,{value:u},t.createElement(St.Provider,{value:f},e))))))))))));tn.displayName="KendoReactGanttContext";const It=t.createContext([{current:{}},h.noop]),nn=()=>t.useContext(It);It.displayName="KendoReactGanttViewContext";const xt=t.createContext(0),Ua=()=>t.useContext(xt);xt.displayName="KendoReactGanttViewTimelineWidthContext";const Nt=t.createContext({onDependencyHandlePress:h.noop,onDependencyHandleDrag:h.noop,onDependencyHandleRelease:h.noop,isEnabled:!1,draggedId:null}),qa=()=>t.useContext(Nt);Nt.displayName="KendoReactGanttViewDependencyDragContext";const an=({children:e,tasksStore:a,timelineWidth:n,dependencyDrag:o})=>t.createElement(It.Provider,{value:a},t.createElement(xt.Provider,{value:n},t.createElement(Nt.Provider,{value:o},e)));an.displayName="KendoReactGanttViewContext";var lt=(e=>(e[e.add=0]="add",e[e.remove=1]="remove",e))(lt||{});const $a=()=>{const e=t.useRef({}),a=t.useCallback(n=>{switch(n.type){case 0:e.current[n.id]=n.itemRef;break;case 1:delete e.current[n.id];break}},[]);return[e,a]},Ya=(e,a,n,o)=>{const s=t.useRef(null),[,l]=nn();t.useImperativeHandle(s,()=>({element:o.current,dataItem:e})),t.useImperativeHandle(n,()=>s.current),t.useLayoutEffect(()=>{const r=s.current;if(r)return l({type:lt.add,itemRef:r,id:a}),()=>{l({type:lt.remove,itemRef:r,id:a})}})},on=t.forwardRef((e,a)=>{const n=Ne(),o=kt(),s=Ua(),l=qa(),r=Ba(),c=t.useRef(null),m=t.useRef(null);Ya(e.dataItem,h.getter(o.id)(e.dataItem),a,c);const g=t.useRef(null),d=h.getter(o.id)(e.dataItem),u=h.getter(o.start)(e.dataItem),f=h.getter(o.end)(e.dataItem),C=h.getter(o.title)(e.dataItem),D=h.getter(o.percentComplete)(e.dataItem),p=h.getter(o.children)(e.dataItem),T=h.getter(o.isSelected)(e.dataItem),L=u&&u.getTime(),A=f&&f.getTime(),M=p&&p.length,x=!M&&L===A,O=L&&A&&Ta(n.start,n.end,u,f),[Q,S]=t.useState(!1),j=t.useRef(null),H=t.useRef(null);h.useDraggable(j,{onPress:l.onDependencyHandlePress,onDrag:l.onDependencyHandleDrag,onRelease:l.onDependencyHandleRelease}),h.useDraggable(H,{onPress:l.onDependencyHandlePress,onDrag:l.onDependencyHandleDrag,onRelease:l.onDependencyHandleRelease});const X=t.useCallback(b=>{r.onTaskClick&&r.onTaskClick({dataItem:e.dataItem,level:e.level,nativeEvent:b&&b.nativeEvent,syntheticEvent:b,target:null})},[e.dataItem,e.level]),V=t.useCallback(b=>{r.onTaskDoubleClick&&r.onTaskDoubleClick({dataItem:e.dataItem,level:e.level,nativeEvent:b&&b.nativeEvent,syntheticEvent:b,target:null})},[e.dataItem,e.level]),U=t.useCallback(b=>{r.onTaskContextMenu&&r.onTaskContextMenu({dataItem:e.dataItem,level:e.level,nativeEvent:b&&b.nativeEvent,syntheticEvent:b,target:null})},[e.dataItem,e.level]),w=t.useCallback(b=>{r.onTaskRemoveClick&&r.onTaskRemoveClick({dataItem:e.dataItem,level:e.level,nativeEvent:b&&b.nativeEvent,syntheticEvent:b,target:null})},[e.dataItem,e.level]),z=t.useCallback(()=>{const b=n.start,J=n.end,R=g.current,I=c.current,K=m.current;if(!O||R===null||I===null)return;const Y=R.clientWidth/(J.getTime()-b.getTime()),G=(u.getTime()-b.getTime())*Y,W=(f.getTime()-u.getTime())*Y,fe=(R.offsetHeight-I.offsetHeight)/2;I.style.left=`${Math.round(x?G-pa:G)}px`,I.style.top=`${Math.round(fe)}px`,x||(I.style.width=`${Math.round(W)}px`,K!==null&&(K.style.width=`${Math.round(W*(D||0))}px`)),S(!0)},[n.start.getTime(),n.end.getTime(),L,A,O,D,s]);t.useEffect(z,[z]);const ee={visibility:Q?void 0:"hidden",display:O?void 0:"none"},_={userSelect:"none",display:l.draggedId===String(d)?"block":void 0};return t.createElement("td",{ref:g,key:d,role:"presentation"},x?t.createElement("div",{"aria-hidden":!0,className:h.classNames({"k-task":!0,"k-task-milestone":!0,"k-selected":T&&!Array.isArray(T)}),style:ee,ref:c,[Ve]:d,onClick:X,onDoubleClick:V,onContextMenu:U},t.createElement("div",{className:"k-task-milestone-content"}),l.isEnabled&&t.createElement("div",{className:"k-task-dot k-task-start",ref:j,style:_,...zt}),l.isEnabled&&t.createElement("div",{className:"k-task-dot k-task-end",ref:H,style:_,...Ht})):t.createElement("div",{"aria-hidden":!0,className:h.classNames({"k-task":!0,"k-task-summary":M,"k-task-single":!M,"k-selected":T&&!Array.isArray(T)}),ref:c,style:ee,[Ve]:d,onClick:X,onDoubleClick:V,onContextMenu:U},M?t.createElement("div",{className:"k-task-summary-progress",ref:m},t.createElement("div",{className:"k-task-summary-complete"})):t.createElement("div",{className:"k-task-complete",ref:m}),!M&&t.createElement(t.Fragment,null,t.createElement("div",{className:"k-task-content"},C),r.onTaskRemoveClick?t.createElement("span",{className:"k-task-actions"},t.createElement("span",{onClick:w,className:"k-link k-task-delete","aria-label":"Delete"},t.createElement(h.IconWrap,{name:"x",icon:gt.xIcon}))):null),l.isEnabled&&t.createElement("div",{className:"k-task-dot k-task-start",ref:j,style:_,...zt}),l.isEnabled&&t.createElement("div",{className:"k-task-dot k-task-end",ref:H,style:_,...Ht})))});on.displayName="KendoReactGanttTask";const rn=e=>{const{dependency:a}=e,[n]=nn(),o=t.useRef(null),s=Jt(),l=en(),[r,c]=t.useState(!1),m=()=>{if(o.current===null||n.current===null){c(!1);return}const g=n.current[h.getter(s.fromId)(a)],d=n.current[h.getter(s.toId)(a)];if(!g||!d){c(!1);return}const u=g.element,f=d.element;if(!u||!f){c(!1);return}if(r===!1){c(!0);return}const C={top:u.offsetTop+u.offsetHeight/2,start:u.offsetLeft,end:u.offsetLeft+u.offsetWidth},D={top:f.offsetTop+f.offsetHeight/2,start:f.offsetLeft,end:f.offsetLeft+f.offsetWidth},p=h.getter(s.type)(a),T=Ra(C,D,l,p);T&&T.length&&o.current.setAttribute("points",T.map(L=>`${L.left},${L.top}`).join(" "))};return t.useEffect(m),t.createElement("polyline",{ref:o,style:{display:r?void 0:"none"}})};rn.displayName="KendoReactGanttDependency";class Mt extends t.Component{constructor(a){super(a),this.state={activeId:void 0,level:0},this.tableElement=null,this.tbodyElement=null,this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.element=null,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.scrollIntoView=n=>{if(!this.element)return;const{rowIndex:o=0}=n,{rowHeight:s=0}=this.props;this.element.scroll(0,(o-1)*s)},this.getColumns=n=>{const o=n.filter(l=>l.declarationIndex>=0&&l.parentIndex===-1),s=l=>(l.sort((r,c)=>r.declarationIndex-c.declarationIndex),l.map(r=>{const{declarationIndex:c,parentIndex:m,depth:g,colSpan:d,rowSpan:u,index:f,kFirst:C,groupable:D,children:p,...T}=r;return p.length?{children:s(p),...T}:T}));return s(o)},this.onKeyDown=n=>{if(y.tableKeyboardNavigation.onKeyDown(n,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:o,cell:s}=y.getSelectionOptions(this.props.selectable),l={dataItems:this.getLeafDataItems(),mode:o,cell:s,componentId:this.props.treelistId,selectedField:this.props.selectedField,...this.getEventArguments(n)};this.props.onKeyDown.call(void 0,l)}},this.onFocus=n=>{y.tableKeyboardNavigation.onFocus(n,{contextStateRef:this.contextStateRef})},this.onRowDrag=n=>{if(this.props.onRowDrag){const o={...n,target:this};this.props.onRowDrag.call(void 0,o)}},this.onRowDrop=n=>{if(this.props.onRowDrop){const o={...n,target:this};this.props.onRowDrop.call(void 0,o)}},this.onColumnReorder=(n,o,s)=>{const{extendedColumns:l}=this.props,r=l[n].depth,c=d=>{do d++;while(d<l.length&&l[d].depth>r);return d},m=[...l],g=m.splice(n,c(n)-n);if(m.splice(n<o?c(o-g.length):o,0,...g),m.filter(d=>d.declarationIndex>=0).forEach((d,u)=>d.orderIndex=u),this.props.onColumnReorder){const d={target:this,columns:this.getColumns(m),nativeEvent:s};this.props.onColumnReorder.call(void 0,d)}},this.onColumnResize=(n,o,s,l,r)=>{if(this.props.onColumnResize){const c=this.props.extendedColumns.filter(g=>g.children.length===0).reduce((g,d)=>g+=parseFloat(String(d.width)),0);this.tableElement&&(this.tableElement.style.width=c+"px");const m={columns:this.getColumns(this.props.extendedColumns),totalWidth:c,index:n,nativeEvent:l,newWidth:o,oldWidth:s,end:r,target:this};this.props.onColumnResize.call(void 0,m)}},this.onScroll=n=>{const o=n.currentTarget.scrollLeft,s=n.currentTarget.scrollTop,{columnVirtualization:l,scrollable:r,rowHeight:c=0}=this.props,m=c,g=0;let d=!1;l&&Math.abs(this.wrapperScrollLeft-o)>g&&(this.wrapperScrollLeft=o,d=!0),r==="virtual"&&Math.abs(this.wrapperScrollTop-s)>m&&(this.wrapperScrollTop=s,d=!0),d&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=n=>{if(!n||this.props.scrollable==="none")return;const o=Array.from(n.childNodes),s=o.find(c=>c.nodeName==="TABLE"),l=this.props.toolbar&&o.find(c=>c.nodeType===1&&c.classList.contains("k-grid-toolbar"));let r=0;if(l){const c=l.style.boxSizing;l.style.boxSizing="border-box",r=parseFloat(String(window.getComputedStyle(l).height))||l.offsetHeight,l.style.boxSizing=c,l.getAttribute("style")||l.removeAttribute("style")}this.tbodyOffsetTop=s.tBodies[0].offsetTop,ue.setHeaderRowsTop(s,r)},this.onItemChange=n=>{if(n.field===this.props.expandField){const o=this.props.onExpandChange;if(o){const s={...this.getEventArguments(n.syntheticEvent),dataItem:n.dataItem,level:n.level,value:n.value};o.call(void 0,s)}return}if(this.props.onItemChange){const o={...this.getEventArguments(n.syntheticEvent),dataItem:n.dataItem,level:n.level,field:n.field,value:n.value};this.props.onItemChange.call(void 0,o)}},this.onHeaderSelectionChange=n=>{if(this.props.onHeaderSelectionChange){const o={field:n.field,nativeEvent:n.syntheticEvent&&n.syntheticEvent.nativeEvent,syntheticEvent:n.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,o)}},this.selectionRelease=n=>{if(this.props.onSelectionChange){const o={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this.props.treelistId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...n};this.props.onSelectionChange.call(void 0,o)}},this.onSortChange=(n,o,s)=>{this.onDataStateChange(this.props.onSortChange,{sort:o,field:s},n)},this.onFilterChange=n=>{const{filter:o,field:s}=n;this.onDataStateChange(this.props.onFilterChange,{filter:o,field:s},n.syntheticEvent)},this.onColumnMenuFilterChange=(n,o,s)=>{if(!s)return;const{onColumnMenuFilterChange:l}=this.props;if(!l)return;const r={syntheticEvent:n,filter:o,field:s,target:this,nativeEvent:n.nativeEvent};l.call(void 0,r)},this.onExpandChange=(n,o,s)=>{const{expandField:l,onExpandChange:r}=this.props;if(l&&r){const c={...this.getEventArguments(n),dataItem:o,level:s,value:st(o,this.props.expandField)};r.call(void 0,c)}},this.onRowClick=(n,o)=>{if(this.props.onRowClick&&n.target.nodeName==="TD"){const s={dataItem:o.dataItem,level:o.level,...this.getEventArguments(n)};this.props.onRowClick.call(void 0,s)}},this.rowDoubleClick=(n,o)=>{if(this.props.onRowDoubleClick&&n.target.nodeName==="TD"){const s={dataItem:o.dataItem,level:o.level,...this.getEventArguments(n)};this.props.onRowDoubleClick.call(void 0,s)}},this.rowContextMenu=(n,o)=>{if(this.props.onRowContextMenu&&n.target.nodeName==="TD"){const s={dataItem:o.dataItem,level:o.level,...this.getEventArguments(n)};this.props.onRowContextMenu.call(void 0,s)}},this.onPageChange=n=>{if(this.props.onPageChange){const o={...this.getEventArguments(n.syntheticEvent),skip:n.skip,take:n.take};this.props.onPageChange.call(void 0,o)}},this.onDataStateChange=(n,o,s)=>{if(n&&n.call(void 0,{...this.getEventArguments(s),...o}),this.props.onDataStateChange){const l={...this.getEventArguments(s),dataState:{...this.getDataState(),...o}};this.props.onDataStateChange.call(void 0,l)}},this.getDataState=()=>({filter:this.props.filter,sort:this.props.sort}),this.getEventArguments=n=>({nativeEvent:n&&n.nativeEvent,syntheticEvent:n,target:this}),this.getLeafDataItems=()=>this.flatData.map(n=>n.dataItem),this.dragLogic=new y.CommonDragLogic(this.onColumnReorder,h.noop,h.noop),this.columnResize=new y.ColumnResize(this.onColumnResize),y.tableKeyboardNavigation.onConstructor({navigatable:!!a.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef,idPrefix:a.idPrefix})}get document(){if(h.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),y.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return y.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(a){a.columns!==this.props.columns&&this.calculateSizes(this.element),y.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnResize.columns=[],this.dragLogic.columns=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1}render(){const{filterRow:a,scrollable:n="scrollable",resizable:o=!1,reorderable:s=!1,skip:l,take:r,afterContent:c,extendedColumns:m=[],columnsMap:g}=this.props,d=m.some(w=>!!w.filter)||a!==void 0,u=a||y.FilterRow,f=y.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.columnResize.columns=m,this.columnResize.resizable=o,this.dragLogic.columns=m,this.dragLogic.reorderable=s,this.dragLogic.groupable=!1;const C=m.filter(w=>w.children.length===0),D=t.createElement(y.Header,{headerRow:t.createElement(y.HeaderRow,{sort:this.props.sort,sortable:this.props.sortable,sortChange:this.onSortChange,selectionChange:this.onHeaderSelectionChange,columns:m,columnsMap:g,cellRender:this.props.headerCellRender,columnResize:this.columnResize,columnMenu:this.props.columnMenu,columnMenuFilter:this.props.columnMenuFilter,columnMenuFilterChange:this.onColumnMenuFilterChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler}),filterRow:d&&t.createElement(u,{columns:C,filter:this.props.filter,filterChange:this.onFilterChange,sort:this.props.sort,ariaRowIndex:g.length+1})||void 0,columnResize:this.columnResize}),p=this.props.style||{},{colSpans:T,hiddenColumns:L}=y.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:C,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((p.width||"").toString())}),A=(w,z,ee,_,b,J)=>C.map((R,I)=>{if(L[I])return null;const K=R.id?R.id:I,Y=`k-table-td ${R.className?R.className+" ":""}${R.locked?"k-grid-content-sticky":""}`,G={id:y.tableKeyboardNavigationTools.generateNavigatableId(`${ee}-${String(I)}`,f),colSpan:T[I],dataItem:w.dataItem,field:R.field,format:R.format,className:Y||void 0,render:this.props.cellRender,onChange:this.onItemChange,selectionChange:this.props.onSelectionChange?W=>{this.onSelectionChange({event:W,item:w,columnIndex:I,dataIndex:b})}:void 0,level:w.level,expandable:R.expandable,expanded:_,hasChildren:Xt(w.dataItem,this.props.subItemsField),colIndex:I,ariaColumnIndex:R.ariaColumnIndex,onExpandChange:this.onExpandChange,style:R.left!==void 0&&{left:R.left,right:R.right,borderRightWidth:R.rightBorder?"1px":""}||{},isSelected:Array.isArray(J)&&J.indexOf(I)>-1};return z&&R.editCell?t.createElement(R.editCell,{...G,onChange:this.onItemChange,key:K}):R.cell?t.createElement(R.cell,{key:K,...G}):t.createElement(ue.TreeListCell,{key:K,...G})});let M=this.flatData;const x=M.length;l!==void 0&&r!==void 0&&(M=M.slice(l,l+r)),n==="virtual"&&(M=ue.tableRowsVirtualization({rows:M,tableViewPortHeight:parseFloat((p.height||p.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const O=M.map(w=>w.level),Q=g.length+(d?1:0)+1,S=M.length>0&&M.map((w,z)=>{const ee=h.getter(this.props.editField||"")(w.dataItem),_=h.getter(this.props.dataItemKey)(w.dataItem),b=String(_||w.level.join(".")),J=st(w.dataItem,this.props.expandField),R=this.props.selectedField?h.getter(this.props.selectedField)(w.dataItem):void 0,I={key:b,level:w.level,levels:O,dataItem:w.dataItem,selectedField:this.props.selectedField,rowHeight:w.height,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:W=>this.onRowClick(W,w),onDoubleClick:W=>this.rowDoubleClick(W,w),onContextMenu:W=>this.rowContextMenu(W,w),isAltRow:z%2!==0,expanded:J,rowIndex:z,ariaRowIndex:Q+z,ariaSetSize:w.levelCount,ariaPosInSet:w.level[w.level.length-1]+1,isSelected:typeof R=="boolean"&&R},K=this.props.editRow,Y=this.props.row||ue.TreeListRow,G=A(w,ee,b,J,z,R);return ee&&K?t.createElement(K,{...I,key:I.key},G):t.createElement(Y,{...I,key:I.key},G)})||t.createElement("tr",{className:"k-table-row k-grid-norecords"},t.createElement("td",{className:"k-table-td",colSpan:C.length},this.props.noRecords||t.createElement(ue.TreeListNoRecords,null))),j=w=>this.props.sort&&this.props.sort.some(z=>z.field===w),H=t.createElement("colgroup",{ref:w=>{this.columnResize.colGroupMain=w}},C.map((w,z)=>t.createElement("col",{key:z.toString(),className:j(w.field)?"k-sorted":void 0,style:w.width!==void 0?{width:w.width}:void 0}))),X=this.props.columnVirtualization||this.props.scrollable==="virtual",V=this.props.selectable&&this.props.selectable.drag?"none":void 0,U=this.props.tableProps||{};return t.createElement(y.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},t.createElement("div",{id:this.props.treelistId,style:this.props.style,className:h.classNames("k-grid k-grid-md",this.props.className,{"k-treelist-scrollable":n!=="none"}),ref:w=>this.element=w,onScroll:X?this.onScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":x,"aria-colcount":C.length,role:"treegrid",...y.tableKeyboardNavigationScopeAttributes},this.props.toolbar,t.createElement(y.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease,childRef:w=>{this.tableElement=w}},t.createElement("table",{className:"k-table k-table-md",...this.props.tableProps||{},style:{...U.style||{},userSelect:V},role:"presentation"},H,D,t.createElement("tbody",{className:"k-table-tbody",...y.tableKeyboardNavigationBodyAttributes,ref:w=>this.tbodyElement=w,role:"presentation"},S))),this.props.pager&&t.createElement(this.props.pager,{className:"k-grid-pager",total:x,skip:l,take:r,onPageChange:this.onPageChange}),s&&t.createElement(t.Fragment,null,t.createElement(y.DropClue,{ref:this.dragLogic.refDropElementClue}),t.createElement(y.DragClue,{ref:this.dragLogic.refDragElementClue})),c))}get flatData(){const{data:a=[],rowHeight:n=0}=this.props;let o=0;const s=()=>{const r={height:n,offsetTop:o};return o+=r.height,r},l=this.updateOnScroll&&this.prevData===a&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:a.map(r=>({...r,...s()}));return this.prevData=a,this.flattedData=l,l}onSelectionChange(a){if(this.props.onSelectionChange){const{event:n,item:o,dataIndex:s,columnIndex:l}=a,{mode:r,cell:c}=y.getSelectionOptions(this.props.selectable),m={...this.getEventArguments(n.syntheticEvent),dataItem:o.dataItem,level:o.level,startColIndex:l,endColIndex:l,startRowIndex:s,endRowIndex:s,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:r,cell:c,isDrag:!1,componentId:this.props.treelistId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,m)}}}Mt.propTypes={data:i.array,resizable:i.bool,reorderable:i.bool,sortable:i.oneOfType([i.bool,i.shape({mode:i.oneOf(["single","multiple"]),allowUnsort:i.bool})]),onSortChange:i.func,sort:i.array,columns:i.arrayOf(i.object),columnVirtualization:i.bool,filter:i.array,onFilterChange:i.func,filterRow:i.any,toolbar:i.any,noRecords:i.any,onExpandChange:i.func,expandField:i.string,subItemsField:i.string,selectedField:i.string,onSelectionChange:i.func,onHeaderSelectionChange:i.func,onRowClick:i.func,onItemChange:i.func,editField:i.string,scrollable:i.oneOf(["none","scrollable","virtual"]),rowHeight:i.number,style:i.object,tableProps:i.object,pager:i.any,skip:i.number,take:i.number,onPageChange:i.func,onDataStateChange:i.func,onColumnResize:i.func,onColumnReorder:i.func,extendedColumns:i.arrayOf(i.object),columnsMap:i.arrayOf(i.array),dataItemKey:i.string.isRequired,afterContent:i.any,navigatable:i.bool,idPrefix:i.string,treelistId:i.string};Mt.contextType=y.TableKeyboardNavigationContext;const Me=t.forwardRef((e,a)=>{const{slotLevels:n,slotWidth:o,timelineHeaderCell:s}=e,{columns:l,noRecords:r,resizable:c,reorderable:m,sortable:g,sort:d,filter:u,columnMenuFilter:f,columnMenu:C,navigatable:D,row:p,selectable:T}=xe(),{onDataStateChange:L,onSortChange:A,onFilterChange:M,onColumnMenuFilterChange:x,onExpandChange:O,onRowClick:Q,onRowDoubleClick:S,onRowContextMenu:j,onColumnResize:H,onColumnReorder:X,onDependencyCreate:V,onKeyDown:U,onSelectionChange:w,onHeaderSelectionChange:z}=Ka(),ee=en(),_=_a(),b=kt(),J=Jt(),R=Ga(),I=Wa(),K=t.useRef(null),Y=t.useRef(null),G=t.useRef(null),W=t.useRef(null),fe=t.useRef(0),ye=t.useRef(h.useId()),F=t.useRef(h.useId()),te=t.useRef(null),Le=t.useRef(null),Ze=t.useCallback(v=>{G.current&&G.current.scrollIntoView(v)},[]);t.useImperativeHandle(Le,()=>({scrollIntoView:Ze})),t.useImperativeHandle(a,()=>Le.current);const pe=t.useRef(0),Ce=t.useRef(0),ke=t.useRef(0),De=t.useRef(0),me=t.useRef(null),be=t.useRef(null),[ge,ve]=t.useState(null),je=Ha(n,K,s),Xe=Aa(n,Y),Ee=Oa(n,o),{extendedColumns:Je,columnsWidth:Qe,columnsMap:et}=t.useMemo(()=>{const v=y.readColumns([...l,{title:"",sortable:!1,resizable:!1,reorderable:!1,width:Ee,headerCell:()=>je,cell:on,orderIndex:Number.MAX_SAFE_INTEGER,navigatable:!1}],{prevId:0,idPrefix:ye.current});let P=0;return v.forEach((N,q,Z)=>{const $=q+1===Z.length,de=N.children.length===0;$?N.isAccessible=!1:(N.locked=!0,de&&(N.width=N.width||Ie)),de&&(P+=parseFloat(String(N.width)))}),{extendedColumns:v,columnsWidth:P,columnsMap:y.mapColumns(v)}},[l,Ee]),[tt,nt]=$a(),E=t.useCallback(()=>K.current&&K.current.parentElement,[]),re=()=>{const v=E(),P=Y.current,N=G.current&&G.current.tbodyElement;if(!v||!P||!N)return;const q=N.offsetTop,Z=v.offsetLeft,$=Ee;P.style.top=q+"px",P.style.left=Z+"px",P.style.width=$+"px",P.style.height=N.offsetHeight+"px"},ce=()=>{const v=E();v&&(fe.current=v.offsetLeft)};t.useEffect(re),t.useEffect(ce);const Te=t.useCallback(v=>{if(!W.current)return;const P=v.columns.slice(0,v.columns.length-1);if(v.end)W.current.style.left="0px";else{const N=E();if(!N)return;W.current.style.left=N.offsetLeft-fe.current+"px",re()}H({...v,columns:P})},[H]),Re=t.useCallback(v=>{const P=v.columns.slice(0,v.columns.length-1);X({...v,columns:P})},[H]),at=t.useCallback(v=>{const N=(te.current&&te.current.ownerDocument?te.current.ownerDocument:document).elementFromPoint(v.clientX,v.clientY),q=te.current;if(!N||!N.parentElement||!q)return;const Z=q.parentElement,$=q.firstElementChild;if(!Z||!$)return;const de=N.getAttribute(Oe);if(de){const ta=q.offsetTop,na=q.offsetLeft,aa=Z.offsetTop,oa=Z.offsetLeft,ra=$.scrollTop,sa=$.scrollLeft;ke.current=na+oa,De.current=ta+aa,pe.current=v.clientX-ke.current+sa,Ce.current=v.clientY-De.current+ra,me.current=N.parentElement.getAttribute(Ve),be.current=de}},[]),we=t.useCallback(v=>{const P=te.current;if(!P)return;const N=P.firstElementChild;if(!N)return;const q=N.scrollTop,Z=N.scrollLeft,$=v.clientX-ke.current+Z,de=v.clientY-De.current+q;Math.abs(pe.current-$)<10&&Math.abs(Ce.current-de)<10||ve({startX:pe.current,startY:Ce.current,endX:$,endY:de})},[]),ea=t.useCallback(v=>{const N=(te.current&&te.current.ownerDocument?te.current.ownerDocument:document).elementFromPoint(v.clientX,v.clientY);if(!N||!N.parentElement)return;const q=N.parentElement.getAttribute(Ve),Z=N.getAttribute(Oe);if(Z&&q!==me.current&&V){let $;be.current==="start"?$=Z==="start"?3:2:$=Z==="start"?1:0,V({fromId:me.current,toId:q,type:$})}pe.current=0,Ce.current=0,ke.current=0,De.current=0,me.current=null,be.current=null,ve(null)},[V,ve]);return t.createElement(an,{tasksStore:[tt,nt],timelineWidth:Ee,dependencyDrag:{isEnabled:!!V,draggedId:me.current,onDependencyHandlePress:at,onDependencyHandleDrag:we,onDependencyHandleRelease:ea}},t.createElement("div",{className:"k-gantt-content",ref:te,style:{height:`calc(100% - ${_}px)`}},t.createElement(Mt,{treelistId:F.current,ref:G,extendedColumns:Je,columnsMap:et,dataItemKey:b.id,data:R,idPrefix:ye.current,navigatable:D,expandField:b.isExpanded,subItemsField:b.children,editField:b.isInEdit,selectedField:b.isSelected,onDataStateChange:L,onSortChange:A,onFilterChange:M,onExpandChange:O,onRowClick:Q,onRowDoubleClick:S,onRowContextMenu:j,onColumnResize:Te,onColumnReorder:Re,onColumnMenuFilterChange:x,onKeyDown:U,onSelectionChange:w,onHeaderSelectionChange:z,tableProps:{style:{width:Qe},className:"k-table k-table-md k-table-layout-fixed"},noRecords:r,rowHeight:ee,resizable:c,reorderable:m,sortable:g,sort:d,filter:u,columnMenuFilter:f,columnMenu:C,row:p,selectable:T,afterContent:t.createElement(t.Fragment,null,t.createElement("svg",{className:"k-gantt-dependencies-svg",ref:W,style:{left:0,top:0}},I.map(v=>t.createElement(rn,{key:h.getter(J.id)(v),dependency:v}))),t.createElement("svg",{className:"k-gantt-dependencies-svg",style:{left:0,top:0,zIndex:3}},ge&&t.createElement("polyline",{points:`${ge.startX},${ge.startY} ${ge.endX},${ge.endY}`})),R&&R.length?Xe:null)})))});Me.displayName="KendoReactGanttBaseView";const it="gantt.weekViewTitle",ct="gantt.dayViewTitle",dt="gantt.monthViewTitle",ut="gantt.yearViewTitle",mt="gantt.filterClearButton",We="gantt.filterEqOperator",Pe="gantt.filterNotEqOperator",_e="gantt.filterIsNullOperator",Ke="gantt.filterIsNotNullOperator",sn="gantt.filterIsEmptyOperator",ln="gantt.filterIsNotEmptyOperator",cn="gantt.filterStartsWithOperator",dn="gantt.filterContainsOperator",un="gantt.filterNotContainsOperator",mn="gantt.filterEndsWithOperator",gn="gantt.filterGteOperator",hn="gantt.filterGtOperator",fn="gantt.filterLteOperator",pn="gantt.filterLtOperator",Cn="gantt.filterIsTrue",kn="gantt.filterIsFalse",Dn="gantt.filterBooleanAll",En="gantt.filterAfterOrEqualOperator",wn="gantt.filterAfterOperator",yn="gantt.filterBeforeOperator",bn="gantt.filterBeforeOrEqualOperator",Za="gantt.noRecords",vn="gantt.editSave",Ft="gantt.editCancel",Tn="gantt.editorTitle",Rn="gantt.editorTaskTitle",Sn="gantt.editorTaskStart",In="gantt.editorTaskEnd",xn="gantt.editorTaskComplete",Nn="gantt.editorValidationRequired",Mn="gantt.editorValidationStart",Fn="gantt.editorValidationEnd",Ln="gantt.addTask",zn="gantt.addChild",Hn="gantt.addAbove",An="gantt.addBelow",On="gantt.editorDelete",Vn="gantt.deleteConfirmation",Gn="gantt.deleteDialogTitle",oe={[it]:"Week",[ct]:"Day",[dt]:"Month",[ut]:"Year",[mt]:"Clear",[We]:"Is equal to",[Pe]:"Is not equal to",[_e]:"Is null",[Ke]:"Is not null",[sn]:"Is empty",[ln]:"Is not empty",[cn]:"Starts with",[dn]:"Contains",[un]:"Does not contain",[mn]:"Ends with",[gn]:"Is greater than or equal to",[hn]:"Is greater than",[fn]:"Is less than or equal to",[pn]:"Is less than",[Cn]:"Is true",[kn]:"Is false",[Dn]:"(All)",[En]:"Is after or equal to",[wn]:"Is after",[yn]:"Is before",[bn]:"Is before or equal to",[Za]:"No records available",[vn]:"Save",[Ft]:"Cancel",[Tn]:"Task",[Rn]:"Title",[Sn]:"Start",[In]:"End",[xn]:"Complete",[Nn]:"Field is required.",[Mn]:"Start time must be be before End time.",[Fn]:"End time must be after Start time.",[Ln]:"Add Task",[zn]:"Add Child",[Hn]:"Add Above",[An]:"Add Below",[On]:"Delete",[Vn]:"Are you sure you want to delete this event?",[Gn]:"Delete Event"},Fe=t.forwardRef((e,a)=>{const{slotWidth:n=ze.slotWidth,firstSlotRangeRef:o,timelineHeaderCell:s}=e,{timezone:l}=xe(),r=B.useInternationalization(),c=t.useRef(null),m=t.useRef(null),g=t.useCallback(D=>{m.current&&m.current.scrollIntoView(D)},[]);t.useImperativeHandle(c,()=>({scrollIntoView:g})),t.useImperativeHandle(a,()=>c.current);const d=Ne(),u=e.workWeekStart||ze.workWeekStart,f=e.workWeekEnd||ze.workWeekEnd,C=t.useMemo(()=>{const D=qt({workWeekStart:u,workWeekEnd:f}),p=[],T=Zt(d,{timezone:l},r);return T.forEach(L=>{const A=Yt(L.range,{workDays:D,timezone:l},r);p.push.apply(p,A)}),o&&p[0]&&(o.current=p[0].range),[T,p]},[l,d.start.getTime(),d.end.getTime(),r,u,f]);return t.createElement(Me,{ref:m,slotWidth:n,slotLevels:C,timelineHeaderCell:s})}),ja=({intl:e,tasksStart:a,tasksEnd:n,timezone:o})=>{const s=k.ZonedDate.fromLocalDate(a,o),l=k.ZonedDate.fromLocalDate(n,o),r=Ut(k.firstDayInWeek(k.getDate(s),e.firstDay())),c=ht(k.firstDayInWeek(k.getDate(l),e.firstDay()),_t),m=k.ZonedDate.fromUTCDate(ie(r),o),g=k.ZonedDate.fromUTCDate(ie(c),o);return{start:new Date(m.getTime()),end:new Date(g.getTime()),zonedStart:m,zonedEnd:g}},ze={name:"week",dateRange:ja,title:e=>e.toLanguageString(it,oe[it]),slotWidth:Ie,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};Fe.defaultProps=ze;Fe.propTypes={name:i.string,dateRange:i.oneOfType([i.func,i.object]),title:i.oneOfType([i.string,i.func]),slotWidth:i.number,workWeekStart:i.number,workWeekEnd:i.number,workDayStart:i.string,workDayEnd:i.string};Fe.displayName="KendoReactGanttWeekView";const Xa=(e,a,n)=>{const[o,s]=t.useState(a||e),l=t.useCallback((r,c)=>{s(r),n&&n.call(void 0,{...c,value:r})},[n,s]);return[a!==void 0?a:o,l]},Wn=e=>{const[a,n]=Qt(),o=B.useLocalization(),s=t.useMemo(()=>typeof e.view.title=="function"?e.view.title.call(void 0,o):e.view.title,[e.view.title,o]),l=t.useCallback(()=>{e.view.name&&n(e.view.name)},[n,e.view.name]);return t.createElement(ae.Button,{role:"button",type:"button",tabIndex:-1,togglable:!0,selected:e.view.name===a,onClick:l},s)};Wn.displayName="KendoReactGanttViewSelectorItem";const Pn=t.forwardRef(()=>{const e=Pa(),[a,n]=Qt(),o=e.find(r=>r.props.name===a),s=B.useLocalization(),l=t.useCallback(r=>{n&&(r.syntheticEvent.preventDefault(),n(r.item.name))},[n]);return t.createElement("div",{className:"k-gantt-views-wrapper"},t.createElement(ae.ButtonGroup,{className:"k-gantt-views"},e.map(r=>t.createElement(Wn,{key:r.props.name,view:r.props}))),o&&t.createElement(ae.DropDownButton,{className:"k-views-dropdown",onItemClick:l,popupSettings:{popupClass:"k-gantt-toolbar"},textField:"title",items:e.map(r=>({...r.props,selected:r.props.name===a,title:typeof r.props.title=="function"?r.props.title.call(void 0,s):r.props.title})),text:t.createElement(t.Fragment,null,typeof o.props.title=="function"?o.props.title.call(void 0,s):o.props.title,t.createElement(h.IconWrap,{name:"caret-alt-down",icon:gt.caretAltDownIcon}))}))});Pn.displayName="KendoReactGanttViewSelectorList";const _n=t.forwardRef((e,a)=>{const{className:n,...o}=e,s=t.useRef(null);return t.useImperativeHandle(a,()=>({element:s.current,props:e})),t.createElement(ae.ToolbarItem,{ref:l=>{l&&(s.current=l.element)},className:h.classNames("k-gantt-views",n),...o},e.children)});_n.displayName="KendoReactGanttViewSelector";const Kn=t.forwardRef((e,a)=>{const{className:n,...o}=e,s=t.useRef(null),l=t.useRef(null);t.useImperativeHandle(l,()=>({element:s.current,props:e})),t.useImperativeHandle(a,()=>l.current);const r=t.useMemo(()=>h.classNames("k-gantt-toolbar k-gantt-header",n),[n]);return t.createElement(ae.Toolbar,{ref:c=>{c&&(s.current=c.element)},className:r,...o},e.children)});Kn.displayName="KendoReactGanttToolbar";const Ot={name:"@progress/kendo-react-gantt",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},Bn=t.forwardRef((e,a)=>{const n=B.useLocalization(),o=u=>n.toLanguageString(u,oe[u]),s=o(Ln),l=o(zn),r=o(Hn),c=o(An),m=t.useCallback(u=>{u.syntheticEvent.preventDefault();const f=u.item&&u.item.direction?u.item.direction:"none";e.onClick&&e.onClick({nativeEvent:u.nativeEvent,syntheticEvent:u.syntheticEvent,direction:f})},[e.onClick]),g=t.useCallback(u=>{u.preventDefault(),e.onClick&&e.onClick({nativeEvent:u&&u.nativeEvent,syntheticEvent:u,direction:"none"})},[e.onClick]),d=t.createElement(t.Fragment,null,t.createElement(h.IconWrap,{name:"plus",icon:gt.plusIcon}),s);return e.selectedTask?t.createElement(ae.DropDownButton,{className:"k-views-dropdown",onItemClick:m,popupSettings:{popupClass:"k-gantt-toolbar"},textField:"title",items:[{title:l,direction:"child"},{title:r,direction:"above"},{title:c,direction:"below"}],text:d}):t.createElement(ae.Button,{onClick:g},d)});Bn.displayName="KendoReactGanttAddButton";const Be=t.forwardRef((e,a)=>{h.validatePackage(Ot);const n=h.shouldShowValidationUI(Ot),{columns:o=Se.columns,taskData:s=Se.taskData,dependencyData:l=Se.dependencyData,style:r,className:c,noRecords:m,timezone:g,rowHeight:d=Se.rowHeight,resizable:u,reorderable:f,sortable:C,sort:D,filter:p,columnMenuFilter:T,columnMenu:L,navigatable:A,toolbar:M,row:x,selectable:O}=e,Q=B.useInternationalization(),{fields:S}=t.useMemo(()=>ba(e.taskModelFields),[e.taskModelFields]),{fields:j}=t.useMemo(()=>va(e.dependencyModelFields),[e.dependencyModelFields]),H=t.useCallback(Va(S.isExpanded,S.children),[S.isExpanded,S.children]),X=t.useRef(null),V=t.useRef(null),U=t.useRef(null),w=t.useRef(null),z=t.useRef(null),ee=t.useCallback(E=>{const re=h.getter(S.start)(E),ce=h.getter(S.end)(E),Te=h.getter(S.isSelected)(E);(!V.current||re<V.current)&&(V.current=re),(!U.current||ce>U.current)&&(U.current=ce),Te&&(w.current=E)},[S.start,S.end]),_=t.useMemo(()=>(V.current=null,U.current=null,w.current=null,ue.flatData(s,H,ee)),[s,H]);(!V.current||!U.current)&&(V.current=new Date(Lt),U.current=new Date(Lt));const b=t.Children.toArray(e.children||[t.createElement(Fe,{key:"week",firstSlotRangeRef:z})]),[J,R]=Xa(e.defaultView||b[0].props.name,e.view,e.onViewChange),I=b.find(E=>E.props.name===J)||b[0],K=typeof I.props.dateRange=="function"?I.props.dateRange.call(void 0,{intl:Q,tasksStart:V.current,tasksEnd:U.current,timezone:g}):I.props.dateRange,Y=t.useRef(null),[G,W]=t.useState(0);t.useLayoutEffect(()=>{Y.current&&W(Y.current.element.offsetHeight)},[]);const fe=t.useCallback(E=>{X.current&&X.current.scrollIntoView(E)},[]),ye=t.useRef(null),F=t.useRef(null);t.useImperativeHandle(F,()=>({props:e,element:ye.current,scrollIntoView:fe})),t.useImperativeHandle(a,()=>F.current);const te=t.useCallback(E=>{e.onDataStateChange&&e.onDataStateChange.call(void 0,{...E,target:F.current})},[e.onDataStateChange]),Le=t.useCallback(E=>{e.onSortChange&&e.onSortChange.call(void 0,{...E,target:F.current})},[e.onSortChange]),Ze=t.useCallback(E=>{e.onKeyDown&&e.onKeyDown.call(void 0,{...E,target:F.current})},[e.onKeyDown]),pe=t.useCallback(E=>{e.onSelectionChange&&e.onSelectionChange.call(void 0,{...E,target:F.current})},[e.onSelectionChange]),Ce=t.useCallback(E=>{e.onHeaderSelectionChange&&e.onHeaderSelectionChange.call(void 0,{...E,target:F.current})},[e.onHeaderSelectionChange]),ke=t.useCallback(E=>{e.onFilterChange&&e.onFilterChange.call(void 0,{...E,target:F.current})},[e.onFilterChange]),De=t.useCallback(E=>{e.onColumnMenuFilterChange&&e.onColumnMenuFilterChange.call(void 0,{...E,target:F.current})},[e.onColumnMenuFilterChange]),me=t.useCallback(E=>{e.onExpandChange&&e.onExpandChange.call(void 0,{...E,target:F.current})},[e.onExpandChange]),be=t.useCallback(E=>{e.onAddClick&&e.onAddClick.call(void 0,{...E,target:F.current,selectedDataItem:w.current,slotStart:z.current&&new Date(z.current.start.getTime()),slotEnd:z.current&&new Date(z.current.end.getTime())})},[e.onAddClick]),ge=t.useCallback(E=>{e.onColumnResize&&e.onColumnResize.call(void 0,{...E,target:F.current})},[e.onColumnResize]),ve=t.useCallback(E=>{e.onColumnReorder&&e.onColumnReorder.call(void 0,{...E,target:F.current})},[e.onColumnReorder]),je=t.useCallback(E=>{e.onRowClick&&e.onRowClick.call(void 0,{...E,target:F.current})},[e.onRowClick]),Xe=t.useCallback(E=>{e.onRowDoubleClick&&e.onRowDoubleClick.call(void 0,{...E,target:F.current})},[e.onRowClick]),Ee=t.useCallback(E=>{e.onRowContextMenu&&e.onRowContextMenu.call(void 0,{...E,target:F.current})},[e.onRowClick]),Je=t.useCallback(E=>{e.onTaskClick&&e.onTaskClick.call(void 0,{...E,target:F.current})},[e.onTaskClick]),Qe=t.useCallback(E=>{e.onTaskDoubleClick&&e.onTaskDoubleClick.call(void 0,{...E,target:F.current})},[e.onTaskDoubleClick]),et=t.useCallback(E=>{e.onTaskContextMenu&&e.onTaskContextMenu.call(void 0,{...E,target:F.current})},[e.onTaskContextMenu]),tt=t.useCallback(E=>{e.onTaskRemoveClick&&e.onTaskRemoveClick.call(void 0,{...E,target:F.current})},[e.onTaskRemoveClick]),nt=t.useCallback(E=>{if(e.onDependencyCreate){let re,ce;const Te=h.getter(S.id);for(let Re=0;Re<_.length;Re++){const at=_[Re],we=Te(at.dataItem);if(String(we)===E.fromId&&(re=we),String(we)===E.toId&&(ce=we),re&&ce)break}e.onDependencyCreate.call(void 0,{fromId:re,toId:ce,target:F.current,type:E.type})}},[e.onDependencyCreate,S,_]);return t.createElement(tn,{dateRange:K,taskData:_,dependencyData:l,taskModelFields:S,dependencyModelFields:j,views:b,activeView:[J,R],rowHeight:d,toolbarHeight:G,props:{columns:o,noRecords:m,timezone:g,resizable:u,reorderable:f,sortable:C,sort:D,filter:p,columnMenuFilter:T,columnMenu:L,navigatable:A,row:x,selectable:O},events:{onDataStateChange:te,onSortChange:Le,onFilterChange:ke,onColumnMenuFilterChange:De,onExpandChange:me,onRowClick:je,onRowDoubleClick:Xe,onRowContextMenu:Ee,onColumnResize:ge,onColumnReorder:ve,onDependencyCreate:e.onDependencyCreate&&nt,onKeyDown:Ze,onSelectionChange:pe,onHeaderSelectionChange:Ce},taskEvents:{onTaskClick:Je,onTaskDoubleClick:Qe,onTaskContextMenu:et,onTaskRemoveClick:e.onTaskRemoveClick&&tt}},t.createElement("div",{ref:ye,role:"application",style:r,className:h.classNames("k-gantt",c)},t.createElement(Kn,{ref:Y},M&&M.addTaskButton?t.createElement(Bn,{selectedTask:w.current,onClick:be}):null,t.createElement(ae.ToolbarSpacer,null),t.createElement(_n,null,t.createElement(Pn,null))),I&&t.createElement(I.type,{key:I.props.name,ref:X,...I.props,firstSlotRangeRef:z}),n&&t.createElement(h.WatermarkOverlay,null)))}),Se={taskData:[],dependencyData:[],columns:[],rowHeight:40};Be.propTypes={taskData:i.array,taskModelFields:i.shape({id:i.string,start:i.string,end:i.string,title:i.string,percentComplete:i.string,isRollup:i.string,isExpanded:i.string,children:i.string,isInEdit:i.string}),dependencyData:i.array,dependencyModelFields:i.shape({id:i.string,fromId:i.string,toId:i.string,type:i.string}),columns:i.arrayOf(i.shape({width:i.number,cell:i.any,editCell:i.any,headerCell:i.any,filter:i.any,children:i.any,field:i.string,title:i.string,sortable:i.any,expandable:i.bool,headerSelectionValue:i.bool,format:i.string,headerClassName:i.string,className:i.string,resizable:i.bool,reorderable:i.bool,minResizableWidth:i.number,orderIndex:i.number,columnMenu:i.any})),sort:i.array,filter:i.array,columnMenuFilter:i.array,columnMenu:i.any,style:i.object,className:i.string,children:i.any,timezone:i.string,defaultView:i.string,view:i.string,rowHeight:i.number,navigatable:i.bool,onViewChange:i.func,onDataStateChange:i.func,onSortChange:i.func,onFilterChange:i.func,onExpandChange:i.func,onRowClick:i.func,onColumnResize:i.func,onColumnReorder:i.func};Be.defaultProps=Se;Be.displayName="KendoReactGantt";const Ue=t.forwardRef((e,a)=>{const{slotWidth:n=he.slotWidth,slotDuration:o=he.slotDuration,firstSlotRangeRef:s,timelineHeaderCell:l}=e,{timezone:r}=xe(),c=B.useInternationalization(),m=t.useRef(null),g=t.useRef(null),d=t.useCallback(L=>{g.current&&g.current.scrollIntoView(L)},[]);t.useImperativeHandle(m,()=>({scrollIntoView:d})),t.useImperativeHandle(a,()=>m.current);const u=Ne(),f=e.workWeekStart||he.workWeekStart,C=e.workWeekEnd||he.workWeekEnd,D=e.workDayStart||he.workDayStart,p=e.workDayEnd||he.workDayEnd,T=t.useMemo(()=>{const L=qt({workWeekStart:f,workWeekEnd:C}),A=[],M=Yt(u,{workDays:L,timezone:r},c);return M.forEach(x=>{const O=La(x.range,{workDayStart:D,workDayEnd:p,timezone:r,slotDuration:o},c);x.span=O.length,A.push.apply(A,O)}),s&&A[0]&&(s.current=A[0].range),[M,A]},[r,u.start.getTime(),u.end.getTime(),c,f,C,D,p]);return t.createElement(Me,{ref:g,slotWidth:n,slotLevels:T,timelineHeaderCell:l})}),Ja=({tasksStart:e,tasksEnd:a,timezone:n})=>{const o=k.ZonedDate.fromLocalDate(e,n),s=k.ZonedDate.fromLocalDate(a,n),l=Ut(o),r=ht(s),c=k.ZonedDate.fromUTCDate(ie(l),n),m=k.ZonedDate.fromUTCDate(ie(r),n);return{start:new Date(c.getTime()),end:new Date(m.getTime()),zonedStart:c,zonedEnd:m}},he={name:"day",dateRange:Ja,title:e=>e.toLanguageString(ct,oe[ct]),slotWidth:Ie,slotDuration:60,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};Ue.defaultProps=he;Ue.propTypes={name:i.string,dateRange:i.oneOfType([i.func,i.object]),title:i.oneOfType([i.string,i.func]),slotWidth:i.number,slotDuration:i.number,workWeekStart:i.number,workWeekEnd:i.number,workDayStart:i.string,workDayEnd:i.string};Ue.displayName="KendoReactGanttDayView";const qe=t.forwardRef((e,a)=>{const{slotWidth:n=Un.slotWidth,firstSlotRangeRef:o,timelineHeaderCell:s}=e,{timezone:l}=xe(),r=B.useInternationalization(),c=t.useRef(null),m=t.useRef(null),g=t.useCallback(f=>{m.current&&m.current.scrollIntoView(f)},[]);t.useImperativeHandle(c,()=>({scrollIntoView:g})),t.useImperativeHandle(a,()=>c.current);const d=Ne(),u=t.useMemo(()=>{const f=[],C=jt(d,{timezone:l},r);return C.forEach(D=>{const p=Zt(D.range,{timezone:l},r);f.push.apply(f,p)}),o&&f[0]&&(o.current=f[0].range),[C,f]},[l,d.start.getTime(),d.end.getTime(),r]);return t.createElement(Me,{ref:m,slotWidth:n,slotLevels:u,timelineHeaderCell:s})}),Qa=({tasksStart:e,tasksEnd:a,timezone:n})=>{const o=k.ZonedDate.fromLocalDate(e,n),s=k.ZonedDate.fromLocalDate(a,n),l=k.firstDayOfMonth(k.getDate(o)),r=k.addDays(k.lastDayOfMonth(k.getDate(s)),1),c=k.ZonedDate.fromUTCDate(ie(l),n),m=k.ZonedDate.fromUTCDate(ie(r),n);return{start:new Date(c.getTime()),end:new Date(m.getTime()),zonedStart:c,zonedEnd:m}},Un={name:"month",dateRange:Qa,title:e=>e.toLanguageString(dt,oe[dt]),slotWidth:Ie,workWeekStart:1,workWeekEnd:5,workDayStart:"08:00",workDayEnd:"17:00"};qe.defaultProps=Un;qe.propTypes={name:i.string,dateRange:i.oneOfType([i.func,i.object]),title:i.oneOfType([i.string,i.func]),slotWidth:i.number,workWeekStart:i.number,workWeekEnd:i.number,workDayStart:i.string,workDayEnd:i.string};qe.displayName="GanttMonthView";const $e=t.forwardRef((e,a)=>{const{slotWidth:n=qn.slotWidth,firstSlotRangeRef:o,timelineHeaderCell:s}=e,{timezone:l}=xe(),r=B.useInternationalization(),c=t.useRef(null),m=t.useRef(null),g=t.useCallback(f=>{m.current&&m.current.scrollIntoView(f)},[]);t.useImperativeHandle(c,()=>({scrollIntoView:g})),t.useImperativeHandle(a,()=>c.current);const d=Ne(),u=t.useMemo(()=>{const f=za(d,{timezone:l},r),C=[];return f.forEach(D=>{const p=jt(D.range,{timezone:l},r);C.push.apply(C,p)}),o&&C[0]&&(o.current=C[0].range),[f,C]},[l,d.start.getTime(),d.end.getTime(),r]);return t.createElement(Me,{slotWidth:n,slotLevels:u,timelineHeaderCell:s})}),eo=({tasksStart:e,tasksEnd:a,timezone:n})=>{const o=k.ZonedDate.fromLocalDate(e,n),s=k.ZonedDate.fromLocalDate(a,n),l=k.firstDayOfMonth(k.firstMonthOfYear(k.getDate(o))),r=k.addDays(k.lastDayOfMonth(k.lastMonthOfYear(k.getDate(s))),1),c=k.ZonedDate.fromUTCDate(ie(l),n),m=k.ZonedDate.fromUTCDate(ie(r),n);return{start:new Date(c.getTime()),end:new Date(m.getTime()),zonedStart:c,zonedEnd:m}},qn={name:"year",dateRange:eo,title:e=>e.toLanguageString(ut,oe[ut]),slotWidth:Ie};$e.defaultProps=qn;$e.propTypes={name:i.string,dateRange:i.oneOfType([i.func,i.object]),title:i.oneOfType([i.string,i.func]),slotWidth:i.number};$e.displayName="GanttYearView";const to=[{text:dn,operator:"contains"},{text:un,operator:"doesnotcontain"},{text:We,operator:"eq"},{text:Pe,operator:"neq"},{text:cn,operator:"startswith"},{text:mn,operator:"endswith"},{text:_e,operator:"isnull"},{text:Ke,operator:"isnotnull"},{text:sn,operator:"isempty"},{text:ln,operator:"isnotempty"}],no=[{text:We,operator:"eq"},{text:Pe,operator:"neq"},{text:gn,operator:"gte"},{text:hn,operator:"gt"},{text:fn,operator:"lte"},{text:pn,operator:"lt"},{text:_e,operator:"isnull"},{text:Ke,operator:"isnotnull"}],ao=[{text:We,operator:"eq"},{text:Pe,operator:"neq"},{text:En,operator:"gte"},{text:wn,operator:"gt"},{text:yn,operator:"lt"},{text:bn,operator:"lte"},{text:_e,operator:"isnull"},{text:Ke,operator:"isnotnull"}],oo=[{text:Dn,operator:""},{text:Cn,operator:!0},{text:kn,operator:!1}];function Ye(e,a){return{clearButtonTitle:e.toLanguageString(mt,oe[mt]),operators:a.map(n=>({text:e.toLanguageString(n.text,oe[n.text]),operator:n.operator}))}}const $n=e=>{const{operators:a,...n}=e;return t.createElement(y.TextFilterCell,{ariaLabel:"text filter",...Ye(B.useLocalization(),a||to),...n})};$n.displayName="KendoReactGanttTextFilter";const Yn=e=>{const{operators:a,...n}=e;return t.createElement(y.NumericFilterCell,{ariaLabel:"numeric filter",...Ye(B.useLocalization(),a||no),...n})};Yn.displayName="KendoReactGanttNumericFilter";const Zn=e=>{const{operators:a,...n}=e;return t.createElement(y.BooleanFilterCell,{ariaLabel:"boolean filter",...Ye(B.useLocalization(),a||oo),...n})};Zn.displayName="KendoReactGanttBooleanFilter";const jn=e=>{const{operators:a,...n}=e;return t.createElement(y.DateFilterCell,{ariaLabel:"date filter",...Ye(B.useLocalization(),a||ao),...n})};jn.displayName="KendoReactGanttDateFilter";const ro=e=>{const{dependencyData:a,dependencyModelFields:n,defaultDataItem:o,fromId:s,toId:l,type:r}=e,c=a.map(f=>({...f})),m=h.setter(n.fromId),g=h.setter(n.toId),d=h.setter(n.type),u=o?{...o}:{};return m(u,s),g(u,l),d(u,r),c.push(u),c},so=e=>{const{defaultDataItem:a,selectedDataItem:n,direction:o,taskModelFields:s,dataTree:l,slotStart:r,slotEnd:c}=e,m=Ge(l,s.children,p=>({...p})),g=h.setter(s.start),d=h.setter(s.end),u=h.getter(s.start),f=h.getter(s.end),C=a?{...a}:{},D=u(C)&&f(C);if(!n||o==="none")D||(g(C,r),d(C,c)),m.unshift(C);else{const p=[{task:{[s.children]:m},childrenIndex:0}],T=h.getter(s.id),L=h.getter(s.children),A=h.setter(s.children),M=T(n);for(;p.length>0;){const x=p[p.length-1],O=x.task,Q=T(O),S=L(O);if(Q&&Q===M)break;S&&S.length&&S.length>x.childrenIndex?(p.push({task:S[x.childrenIndex],childrenIndex:0}),x.childrenIndex++):p.pop()}if(p.length>1){const x=p[p.length-1].task,O=p[p.length-2].childrenIndex,S=p[p.length-2].task,j=L(S);switch(o){case"child":{let H=L(x);H||(H=[],A(x,H)),D||(g(C,new Date(u(x).getTime())),d(C,new Date(f(x).getTime()))),H.push(C),He(p.splice(1,p.length-1).map(X=>X.task),s);break}case"above":{u(S)&&f(S)&&!D?(g(C,new Date(u(x).getTime())),d(C,new Date(f(x).getTime()))):(g(C,r),d(C,c)),j.splice(O-1,0,C),He(p.splice(1,p.length-2).map(H=>H.task),s);break}case"below":{u(S)&&f(S)&&!D?(g(C,new Date(u(x).getTime())),d(C,new Date(f(x).getTime()))):(g(C,r),d(C,c)),j.splice(O,0,C),He(p.splice(1,p.length-2).map(H=>H.task),s);break}}}}return m},lo=e=>{const{updatedDataItem:a,taskModelFields:n,dataTree:o}=e,s=h.getter(n.id),l=h.getter(n.children),r=s(a);let c;const m=Ge(o,n.children,d=>s(d)===r?(c=d,{...a}):{...d});let g=[{task:{[n.children]:m},childrenIndex:0}];for(;g.length>0;){const d=g[g.length-1],u=d.task,f=s(u),C=l(u);if(f&&f===r)break;C&&C.length&&C.length>d.childrenIndex?(g.push({task:C[d.childrenIndex],childrenIndex:0}),d.childrenIndex++):g.pop()}if(g.length>1){g=g.splice(1,g.length-2);const d=h.getter(n.start),u=h.getter(n.end),f=h.getter(n.percentComplete);if(d(c).getTime()!==d(a).getTime()){Xn(g.map(D=>D.task),n);const C=d(a).getTime()-d(c).getTime();co(l(a),n,C)}u(c).getTime()!==u(a).getTime()&&Jn(g.map(C=>C.task),n),f(c)!==f(a)&&Qn(g.map(C=>C.task),n)}return m},io=e=>{const{removedDataItem:a,taskModelFields:n,dataTree:o}=e,s=Ge(o,n.children,g=>({...g}));let l=[{task:{[n.children]:s},childrenIndex:0}];const r=h.getter(n.id),c=h.getter(n.children),m=r(a);for(;l.length>0;){const g=l[l.length-1],d=g.task,u=r(d),f=c(d);if(u&&u===m)break;f&&f.length&&f.length>g.childrenIndex?(l.push({task:f[g.childrenIndex],childrenIndex:0}),g.childrenIndex++):l.pop()}if(l.length>1){const g=l[l.length-2],d=g.task;c(d).splice(g.childrenIndex-1,1),l=l.splice(1,l.length-2),He(l.map(f=>f.task),n)}return s},He=(e,a)=>{Xn(e,a),Jn(e,a),Qn(e,a)},Xn=(e,a)=>{if(!e.length)return;const n=h.getter(a.children),o=h.getter(a.start),s=h.setter(a.start);for(let l=e.length-1;l>=0;l--){const r=e[l],c=n(r);if(c&&c.length){const m=c.reduce((g,d)=>Math.min(g,o(d).getTime()),o(c[0]).getTime());s(r,new Date(m))}}},Jn=(e,a)=>{if(!e.length)return;const n=h.getter(a.children),o=h.getter(a.end),s=h.setter(a.end);for(let l=e.length-1;l>=0;l--){const r=e[l],c=n(r);if(c&&c.length){const m=c.reduce((g,d)=>Math.max(g,o(d).getTime()),o(c[0]).getTime());s(r,new Date(m))}}},Qn=(e,a)=>{if(!e.length)return;const n=h.getter(a.children),o=h.getter(a.percentComplete),s=h.setter(a.percentComplete),l=({avg:r,n:c},m)=>({avg:((o(m)||0)+c*r)/(c+1),n:c+1});for(let r=e.length-1;r>=0;r--){const c=e[r],m=n(c);if(m&&m.length){const g=m.reduce(l,{avg:0,n:0}).avg;s(c,g)}}},co=(e,a,n)=>{if(!e)return;const o=h.getter(a.children),s=h.getter(a.start),l=h.setter(a.start),r=h.getter(a.end),c=h.setter(a.end),m=e.map(g=>({task:g,childrenIndex:0}));for(;m.length>0;){const g=m[m.length-1],d=g.task,u=o(d);u&&u.length&&u.length>g.childrenIndex?(m.push({task:u[g.childrenIndex],childrenIndex:0}),g.childrenIndex++):(m.pop(),l(d,new Date(s(d).getTime()+n)),c(d,new Date(r(d).getTime()+n)))}},uo=e=>{const{validationMessage:a,touched:n,label:o,id:s,valid:l,disabled:r,hint:c,type:m,optional:g,...d}=e,u=n&&a,f=!u&&c,C=f?`${s}_hint`:"",D=u?`${s}_error`:"";return t.createElement(se.FieldWrapper,null,t.createElement(le.Label,{editorId:s,editorValid:l,editorDisabled:r,optional:g},o),t.createElement("div",{className:"k-form-field-wrap"},t.createElement(Gt.Input,{valid:l,type:m,id:s,disabled:r,ariaDescribedBy:`${C} ${D}`,...d}),f&&t.createElement(le.Hint,{id:C},c),u&&t.createElement(le.Error,{id:D},a)))},Vt=e=>{const{validationMessage:a,touched:n,label:o,id:s,valid:l,disabled:r,hint:c,wrapperStyle:m,...g}=e,d=n&&a,u=!d&&c,f=u?`${s}_hint`:"",C=d?`${s}_error`:"",D=o?`${s}_label`:"";return t.createElement(se.FieldWrapper,{style:m},t.createElement(le.Label,{id:D,editorId:s,editorValid:l,editorDisabled:r},o),t.createElement("div",{className:"k-form-field-wrap"},t.createElement(ca.DateTimePicker,{ariaLabelledBy:D,ariaDescribedBy:`${f} ${C}`,valid:l,id:s,disabled:r,...g}),u&&t.createElement(le.Hint,{id:f},c),d&&t.createElement(le.Error,{id:C},a)))},mo=e=>{const{validationMessage:a,touched:n,label:o,id:s,valid:l,disabled:r,hint:c,...m}=e,g=n&&a,d=!g&&c,u=d?`${s}_hint`:"",f=g?`${s}_error`:"";return t.createElement(se.FieldWrapper,null,t.createElement(le.Label,{editorId:s,editorValid:l,editorDisabled:r},o),t.createElement("div",{className:"k-form-field-wrap"},t.createElement(Gt.NumericTextBox,{ariaDescribedBy:`${u} ${f}`,valid:l,id:s,disabled:r,...m}),d&&t.createElement(le.Hint,{id:u},c),g&&t.createElement(le.Error,{id:f},a)))},go=()=>{const e=kt(),a=B.useLocalization(),n=p=>a.toLanguageString(p,oe[p]),o=n(Rn),s=n(Sn),l=n(In),r=n(xn),c=n(Nn),m=n(Mn),g=n(Fn),d=t.useCallback(p=>p||p===0?void 0:c,[c]),u=t.useCallback((p,T)=>p&&T(e.end)&&p.getTime()>T(e.end).getTime()?m:void 0,[e,m]),f=t.useCallback((p,T)=>p&&T(e.start)&&p.getTime()<T(e.start).getTime()?g:void 0,[e,g]),C=t.useMemo(()=>[d,u],[d,u]),D=t.useMemo(()=>[d,f],[d,f]);return t.createElement(se.FormElement,{style:{width:400},horizontal:!0},t.createElement(se.Field,{id:`${e.title}_gantteditor`,name:e.title,label:o,component:uo,validator:d}),t.createElement(se.Field,{id:`${e.start}_gantteditor`,name:e.start,label:s,component:Vt,validator:C}),t.createElement(se.Field,{id:`${e.end}_gantteditor`,name:e.end,label:l,component:Vt,validator:D}),t.createElement(se.Field,{id:`${e.percentComplete}_gantteditor`,name:e.percentComplete,format:"p",label:r,component:mo,step:.01,validator:d}))},ho=e=>{const{onCancel:a,onClose:n,onSubmit:o,...s}=e,l=B.useLocalization(),r=D=>l.toLanguageString(D,oe[D]),c=r(vn),m=r(Ft),g=r(Tn),d=t.useCallback(D=>{if(a){const p={syntheticEvent:D,nativeEvent:D.nativeEvent,dataItem:e.dataItem};a.call(void 0,p)}},[a,e.dataItem]),u=t.useCallback(({syntheticEvent:D})=>{if(n){const p={syntheticEvent:D,nativeEvent:D.nativeEvent,dataItem:e.dataItem};n.call(void 0,p)}},[n,e.dataItem]),f=t.useCallback((D,p)=>{if(o){const T={dataItem:D,syntheticEvent:p,nativeEvent:p&&p.nativeEvent};o.call(void 0,T)}},[o]),C=t.createElement(se.Form,{initialValues:e.dataItem,onSubmit:f,render:D=>t.createElement(Ae.Dialog,{title:g,minWidth:600,onClose:u,style:{zIndex:90}},t.createElement(go,null),t.createElement(Ae.DialogActionsBar,null,t.createElement(ae.Button,{disabled:!D.allowSubmit,onClick:D.onSubmit},c),t.createElement(ae.Button,{onClick:d},m))),...s});return h.canUseDOM?Pt.createPortal(C,document&&document.body):null},fo=e=>{const{onClose:a,onCancel:n,onConfirm:o,dataItem:s}=e,l=B.useLocalization(),r=p=>l.toLanguageString(p,oe[p]),c=r(On),m=r(Ft),g=r(Vn),d=r(Gn),u=t.useCallback(({syntheticEvent:p})=>{a&&a.call(void 0,{syntheticEvent:p,nativeEvent:p&&p.nativeEvent,dataItem:null})},[a]),f=t.useCallback(p=>{n&&n.call(void 0,{syntheticEvent:p,nativeEvent:p&&p.nativeEvent,dataItem:null})},[n]),C=t.useCallback(p=>{o&&o.call(void 0,{syntheticEvent:p,nativeEvent:p&&p.nativeEvent,dataItem:s})},[o,s]),D=t.createElement(Ae.Dialog,{title:d,onClose:u},g,t.createElement(Ae.DialogActionsBar,null,t.createElement("button",{className:"k-button",onClick:f},m),t.createElement("button",{className:"k-button",onClick:C},c)));return h.canUseDOM?Pt.createPortal(D,document&&document.body):null},po=ue.TreeListRow;Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>y.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>y.getSelectedStateFromKeyDown});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>y.setSelectedState});exports.GANTT_COL_INDEX_ATTRIBUTE=ua;exports.GANTT_PREVENT_SELECTION_ELEMENT=ma;exports.GANTT_ROW_INDEX_ATTRIBUTE=da;exports.Gantt=Be;exports.GanttBooleanFilter=Zn;exports.GanttDateFilter=jn;exports.GanttDayView=Ue;exports.GanttForm=ho;exports.GanttMonthView=qe;exports.GanttNumericFilter=Yn;exports.GanttRemoveDialog=fo;exports.GanttRow=po;exports.GanttTextFilter=$n;exports.GanttWeekView=Fe;exports.GanttYearView=$e;exports.addDependency=ro;exports.addTask=so;exports.createDataTree=ya;exports.extendDataItem=wa;exports.filterBy=Ea;exports.mapTree=Ge;exports.orderBy=Da;exports.removeTask=io;exports.updateTask=lo;
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use client";
@@ -1531,7 +1531,7 @@ const Zt = {
1531
1531
  name: "@progress/kendo-react-gantt",
1532
1532
  productName: "KendoReact",
1533
1533
  productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
1534
- publishDate: 1702652047,
1534
+ publishDate: 1705077570,
1535
1535
  version: "",
1536
1536
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
1537
1537
  }, da = t.forwardRef((e, a) => {
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ZonedDate } from '@progress/kendo-date-math';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { GanttColumnProps } from './GanttColumnProps';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { CellProps } from '@progress/kendo-react-data-tools';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ComponentType } from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { FilterCellProps } from '@progress/kendo-react-data-tools';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { FilterOperator } from '@progress/kendo-react-data-tools';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { HeaderCellProps } from '@progress/kendo-react-data-tools';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { GanttBaseProps } from './GanttBaseProps';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { TableSelectableMode, TableSelectableSettings } from '@progress/kendo-react-data-tools';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ColumnSortSettings, SortSettings } from '@progress/kendo-react-data-tools';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { LocalizationService, IntlService } from '@progress/kendo-react-intl';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { DateRange } from './DateRange';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /** @hidden */
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { DateRange } from './DateRange';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { SortDescriptor, FilterDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /** @hidden */
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { PackageMetadata } from '@progress/kendo-licensing';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-gantt",
3
- "version": "7.0.3-develop.1",
3
+ "version": "7.0.3-develop.11",
4
4
  "description": "React Gantt enables the display of self-referencing tabular data with many features. KendoReact Gantt package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -24,20 +24,20 @@
24
24
  "peerDependencies": {
25
25
  "@progress/kendo-data-query": "^1.0.0",
26
26
  "@progress/kendo-date-math": "^1.4.1",
27
- "@progress/kendo-drawing": "^1.17.2",
27
+ "@progress/kendo-drawing": "^1.19.0",
28
28
  "@progress/kendo-licensing": "^1.3.4",
29
- "@progress/kendo-react-buttons": "7.0.3-develop.1",
30
- "@progress/kendo-react-common": "7.0.3-develop.1",
31
- "@progress/kendo-react-data-tools": "7.0.3-develop.1",
32
- "@progress/kendo-react-dateinputs": "7.0.3-develop.1",
33
- "@progress/kendo-react-dialogs": "7.0.3-develop.1",
34
- "@progress/kendo-react-dropdowns": "7.0.3-develop.1",
35
- "@progress/kendo-react-form": "7.0.3-develop.1",
36
- "@progress/kendo-react-inputs": "7.0.3-develop.1",
37
- "@progress/kendo-react-intl": "7.0.3-develop.1",
38
- "@progress/kendo-react-labels": "7.0.3-develop.1",
39
- "@progress/kendo-react-treelist": "7.0.3-develop.1",
40
- "@progress/kendo-svg-icons": "^2.0.0",
29
+ "@progress/kendo-react-buttons": "7.0.3-develop.11",
30
+ "@progress/kendo-react-common": "7.0.3-develop.11",
31
+ "@progress/kendo-react-data-tools": "7.0.3-develop.11",
32
+ "@progress/kendo-react-dateinputs": "7.0.3-develop.11",
33
+ "@progress/kendo-react-dialogs": "7.0.3-develop.11",
34
+ "@progress/kendo-react-dropdowns": "7.0.3-develop.11",
35
+ "@progress/kendo-react-form": "7.0.3-develop.11",
36
+ "@progress/kendo-react-inputs": "7.0.3-develop.11",
37
+ "@progress/kendo-react-intl": "7.0.3-develop.11",
38
+ "@progress/kendo-react-labels": "7.0.3-develop.11",
39
+ "@progress/kendo-react-treelist": "7.0.3-develop.11",
40
+ "@progress/kendo-svg-icons": "^2.1.0",
41
41
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
42
42
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
43
43
  },
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { DataItem } from '../interfaces/DataItem';
package/utils/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the package root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as React from 'react';