@progress/kendo-react-treelist 7.2.4-develop.2 → 7.2.4-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 (86) hide show
  1. package/TreeList.js +8 -0
  2. package/TreeList.mjs +580 -0
  3. package/TreeListNoRecords.js +8 -0
  4. package/TreeListNoRecords.mjs +23 -0
  5. package/TreeListToolbar.js +8 -0
  6. package/TreeListToolbar.mjs +26 -0
  7. package/cells/EditCells/TreeListBooleanEditor.js +8 -0
  8. package/cells/EditCells/TreeListBooleanEditor.mjs +55 -0
  9. package/cells/EditCells/TreeListDateEditor.js +8 -0
  10. package/cells/EditCells/TreeListDateEditor.mjs +54 -0
  11. package/cells/EditCells/TreeListNumericEditor.js +8 -0
  12. package/cells/EditCells/TreeListNumericEditor.mjs +53 -0
  13. package/cells/EditCells/TreeListTextEditor.js +8 -0
  14. package/cells/EditCells/TreeListTextEditor.mjs +53 -0
  15. package/cells/FilterCells/TreeListBooleanFilter.js +8 -0
  16. package/cells/FilterCells/TreeListBooleanFilter.mjs +26 -0
  17. package/cells/FilterCells/TreeListDateFilter.js +8 -0
  18. package/cells/FilterCells/TreeListDateFilter.mjs +26 -0
  19. package/cells/FilterCells/TreeListNumericFilter.js +8 -0
  20. package/cells/FilterCells/TreeListNumericFilter.mjs +26 -0
  21. package/cells/FilterCells/TreeListTextFilter.js +8 -0
  22. package/cells/FilterCells/TreeListTextFilter.mjs +26 -0
  23. package/cells/FilterCells/utils.js +8 -0
  24. package/cells/FilterCells/utils.mjs +59 -0
  25. package/cells/TreeListCell.js +8 -0
  26. package/cells/TreeListCell.mjs +71 -0
  27. package/cells/TreeListSelectionCell.js +8 -0
  28. package/cells/TreeListSelectionCell.mjs +47 -0
  29. package/constants/index.js +8 -0
  30. package/constants/index.mjs +15 -0
  31. package/dist/cdn/js/kendo-react-treelist.js +8 -5
  32. package/header/TreeListHeaderCell.js +8 -0
  33. package/header/TreeListHeaderCell.mjs +14 -0
  34. package/header/TreeListHeaderSelectionCell.js +8 -0
  35. package/header/TreeListHeaderSelectionCell.mjs +25 -0
  36. package/index.d.mts +1139 -5
  37. package/index.d.ts +1139 -38
  38. package/index.js +8 -5
  39. package/index.mjs +66 -1184
  40. package/messages/index.js +8 -0
  41. package/messages/index.mjs +59 -0
  42. package/package-metadata.js +8 -0
  43. package/package-metadata.mjs +19 -0
  44. package/package.json +8 -8
  45. package/rows/TreeListDraggableRow.js +8 -0
  46. package/rows/TreeListDraggableRow.mjs +130 -0
  47. package/rows/TreeListRow.js +8 -0
  48. package/rows/TreeListRow.mjs +47 -0
  49. package/utils/index.js +8 -0
  50. package/utils/index.mjs +46 -0
  51. package/ScrollMode.d.ts +0 -5
  52. package/TreeList.d.ts +0 -137
  53. package/TreeListNoRecords.d.ts +0 -16
  54. package/TreeListToolbar.d.ts +0 -15
  55. package/cells/EditCells/TreeListBooleanEditor.d.ts +0 -11
  56. package/cells/EditCells/TreeListDateEditor.d.ts +0 -11
  57. package/cells/EditCells/TreeListNumericEditor.d.ts +0 -12
  58. package/cells/EditCells/TreeListTextEditor.d.ts +0 -11
  59. package/cells/FilterCells/TreeListBooleanFilter.d.ts +0 -14
  60. package/cells/FilterCells/TreeListDateFilter.d.ts +0 -14
  61. package/cells/FilterCells/TreeListNumericFilter.d.ts +0 -14
  62. package/cells/FilterCells/TreeListTextFilter.d.ts +0 -14
  63. package/cells/FilterCells/utils.d.ts +0 -42
  64. package/cells/TreeListCell.d.ts +0 -9
  65. package/cells/TreeListSelectionCell.d.ts +0 -11
  66. package/constants/index.d.ts +0 -10
  67. package/header/TreeListHeaderCell.d.ts +0 -7
  68. package/header/TreeListHeaderSelectionCell.d.ts +0 -15
  69. package/interfaces/DataItemWrapper.d.ts +0 -14
  70. package/interfaces/TreeListCellProps.d.ts +0 -45
  71. package/interfaces/TreeListColumnProps.d.ts +0 -45
  72. package/interfaces/TreeListFilterCellProps.d.ts +0 -10
  73. package/interfaces/TreeListFilterOperator.d.ts +0 -10
  74. package/interfaces/TreeListHeaderCellProps.d.ts +0 -10
  75. package/interfaces/TreeListNoRecordsProps.d.ts +0 -13
  76. package/interfaces/TreeListProps.d.ts +0 -241
  77. package/interfaces/TreeListRowProps.d.ts +0 -96
  78. package/interfaces/TreeListSelectableSettings.d.ts +0 -22
  79. package/interfaces/TreeListSortSettings.d.ts +0 -13
  80. package/interfaces/TreeListToolbarProps.d.ts +0 -13
  81. package/interfaces/events.d.ts +0 -269
  82. package/messages/index.d.ts +0 -124
  83. package/package-metadata.d.ts +0 -9
  84. package/rows/TreeListDraggableRow.d.ts +0 -36
  85. package/rows/TreeListRow.d.ts +0 -10
  86. package/utils/index.d.ts +0 -21
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as t from "react";
10
+ import { useId as o, getNestedValue as s, classNames as m } from "@progress/kendo-react-common";
11
+ import { useTableKeyboardNavigation as r } from "@progress/kendo-react-data-tools";
12
+ const u = (e) => {
13
+ const c = t.useCallback(
14
+ (d) => {
15
+ e.selectionChange && e.selectionChange({ syntheticEvent: d });
16
+ },
17
+ [e.selectionChange]
18
+ ), a = o(), l = s(e.field, e.dataItem), i = r(e.id), n = /* @__PURE__ */ t.createElement(
19
+ "td",
20
+ {
21
+ style: e.style,
22
+ className: m(
23
+ "k-table-td",
24
+ e.className
25
+ ),
26
+ "aria-colindex": e.ariaColumnIndex,
27
+ role: "gridcell",
28
+ ...i
29
+ },
30
+ /* @__PURE__ */ t.createElement(
31
+ "input",
32
+ {
33
+ checked: typeof l == "boolean" && l,
34
+ id: a,
35
+ type: "checkbox",
36
+ className: "k-checkbox k-checkbox-md k-rounded-md",
37
+ onChange: c
38
+ }
39
+ ),
40
+ /* @__PURE__ */ t.createElement("label", { className: "k-checkbox-label", htmlFor: a })
41
+ );
42
+ return e.render ? e.render.call(void 0, n, e) : n;
43
+ };
44
+ u.displayName = "KendoReactTreeListSelectionCell";
45
+ export {
46
+ u as TreeListSelectionCell
47
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@progress/kendo-react-data-tools"),T=E.TABLE_ROW_INDEX_ATTRIBUTE,_=E.TABLE_COL_INDEX_ATTRIBUTE,I=E.TABLE_PREVENT_SELECTION_ELEMENT;exports.TREELIST_COL_INDEX_ATTRIBUTE=_;exports.TREELIST_PREVENT_SELECTION_ELEMENT=I;exports.TREELIST_ROW_INDEX_ATTRIBUTE=T;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import { TABLE_ROW_INDEX_ATTRIBUTE as E, TABLE_COL_INDEX_ATTRIBUTE as T, TABLE_PREVENT_SELECTION_ELEMENT as _ } from "@progress/kendo-react-data-tools";
10
+ const L = E, R = T, N = _;
11
+ export {
12
+ R as TREELIST_COL_INDEX_ATTRIBUTE,
13
+ N as TREELIST_PREVENT_SELECTION_ELEMENT,
14
+ L as TREELIST_ROW_INDEX_ATTRIBUTE
15
+ };
@@ -1,5 +1,8 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the package root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- (function(o,T){typeof exports=="object"&&typeof module!="undefined"?T(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","react-dom","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs"],T):(o=typeof globalThis!="undefined"?globalThis:o||self,T(o.KendoReactTreelist={},o.React,o.PropTypes,o.KendoReactCommon,o.KendoReactDataTools,o.KendoReactIntl,o.KendoSvgIcons,o.ReactDOM,o.KendoReactInputs,o.KendoReactDateinputs))})(this,function(o,T,h,u,s,N,K,Fe,De,Te){"use strict";"use client";function Z(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,i.get?i:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=Z(T),Re=Z(Fe);function Ke(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,a,t){const i=Array.from(e.tHead&&e.tHead.rows||[]),r=[a];let l;const c=t||(d=>window.getComputedStyle(d).height||void 0);i.forEach(d=>{let g=c(d);r.push(Ke(g)?parseFloat(String(g)):d.offsetHeight)});for(let d=0;d<i.length;d++)l=r.slice(0,d+1).reduce((g,m)=>g+m),Array.from(i[d].cells).forEach(g=>g.style.top=l+"px")}const U=1e6;function te(e){const{rows:a,tableViewPortHeight:t,scrollTop:i}=e;if(a.length===0)return[];const r=a[0].height,l=Math.min(Math.round(i/r),a.length),c=Math.round(t/r),d=Math.max(0,l-c),g=Math.min(a.length,l+2*c),m=a.slice(d,g),b=m[m.length-1];return d>0&&m.unshift({dataItem:{},level:[U],offsetTop:0,height:m[0].offsetTop,levelCount:0}),g<a.length-1&&m.push({dataItem:{},level:[U,U],offsetTop:b.offsetTop+b.height,height:(a.length-g)*r,levelCount:0}),m}const ie=s.TABLE_ROW_INDEX_ATTRIBUTE,L=s.TABLE_COL_INDEX_ATTRIBUTE,re=s.TABLE_PREVENT_SELECTION_ELEMENT,W=e=>{const{hasChildren:a,level:t=[0],expanded:i,dataItem:r,format:l,id:c,ariaColumnIndex:d,isSelected:g}=e,m=u.getNestedValue(e.field,r),b=N.useInternationalization(),E=s.useTableKeyboardNavigation(c);let w="";const y=n.useCallback(x=>{x.isDefaultPrevented()||x.keyCode===u.Keys.enter&&e.expandable&&(x.preventDefault(),e.onExpandChange(x,r,t))},[e.expandable,r,t]);m!=null&&(w=l?b.format(l,m):m.toString());const I=[];if(e.expandable){const x=v=>n.createElement("span",{key:v,className:"k-treelist-toggle k-icon k-svg-icon"},n.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));I.push(...t.slice(1).map((v,q)=>x(q))),a?I.push(n.createElement(u.IconWrap,{className:"k-treelist-toggle",name:i?"caret-alt-down":"caret-alt-right",icon:i?K.caretAltDownIcon:K.caretAltRightIcon,key:"expand-collapse",onClick:v=>e.onExpandChange(v.syntheticEvent||v,r,t),[re]:!0})):I.push(x(I.length))}const V=n.createElement("td",{style:e.style,className:u.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":g}),colSpan:e.colSpan,"aria-colindex":d,"aria-expanded":a?i:void 0,"aria-selected":g,role:"gridcell",onKeyDown:y,[L]:e.colIndex,...E},I,w);return e.render?e.render.call(void 0,V,e):V};W.displayName="KendoReactTreeListCell";const X="treelist.filterClearButton",A="treelist.filterEqOperator",M="treelist.filterNotEqOperator",z="treelist.filterIsNullOperator",B="treelist.filterIsNotNullOperator",le="treelist.filterIsEmptyOperator",ae="treelist.filterIsNotEmptyOperator",ne="treelist.filterStartsWithOperator",se="treelist.filterContainsOperator",oe="treelist.filterNotContainsOperator",ce="treelist.filterEndsWithOperator",de="treelist.filterGteOperator",he="treelist.filterGtOperator",ue="treelist.filterLteOperator",ge="treelist.filterLtOperator",fe="treelist.filterIsTrue",me="treelist.filterIsFalse",pe="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",ve="treelist.filterAfterOperator",Ce="treelist.filterBeforeOperator",Ee="treelist.filterBeforeOrEqualOperator",G="treelist.noRecords",$={[X]:"Clear",[A]:"Is equal to",[M]:"Is not equal to",[z]:"Is null",[B]:"Is not null",[le]:"Is empty",[ae]:"Is not empty",[ne]:"Starts with",[se]:"Contains",[oe]:"Does not contain",[ce]:"Ends with",[de]:"Is greater than or equal to",[he]:"Is greater than",[ue]:"Is less than or equal to",[ge]:"Is less than",[fe]:"Is true",[me]:"Is false",[pe]:"(All)",[be]:"Is after or equal to",[ve]:"Is after",[Ce]:"Is before",[Ee]:"Is before or equal to",[G]:"No records available"};class Y extends n.Component{render(){return this.props.children||N.provideLocalizationService(this).toLanguageString(G,$[G])}}N.registerForLocalization(Y);const _=n.forwardRef((e,a)=>{const{isSelected:t,rowHeight:i,isAltRow:r,expanded:l,ariaRowIndex:c,level:d,ariaSetSize:g,ariaPosInSet:m}=e,b=u.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":r}),E=n.useMemo(()=>i!==void 0?{height:i+"px"}:void 0,[i]),w=n.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:b,style:E,ref:a,"aria-expanded":l,role:"row","aria-rowindex":c,"aria-level":d.length,"aria-posinset":m,"aria-setsize":g,[ie]:e.rowIndex},e.children);return n.createElement(n.Fragment,null,e.render?e.render.call(void 0,w,e):w)});_.displayName="KendoReactTreeListRow";const Ae={name:"@progress/kendo-react-treelist",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class J extends n.Component{constructor(a){super(a),this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.scrollIntoView=t=>{if(!this.element)return;const{rowIndex:i=0}=t,{scrollable:r,rowHeight:l=0}=this.props;if(r==="virtual"||l)this.element.scroll(0,(i-1)*l);else{const c=this.element.querySelector(`tbody > tr:nth-child(${i})`);if(c){const d=c.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,d)}}},this.getExtendedColumn=u.memoizeOne((t,i)=>s.readColumns(t,{prevId:0,idPrefix:i})),this.getColumnsMap=u.memoizeOne(t=>s.mapColumns(t)),this.onKeyDown=t=>{if(s.tableKeyboardNavigation.onKeyDown(t,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:i,cell:r}=s.getSelectionOptions(this.props.selectable),l={dataItems:this.getLeafDataItems(),mode:i,cell:r,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(t)};this.props.onKeyDown.call(void 0,l)}},this.onFocus=t=>{s.tableKeyboardNavigation.onFocus(t,{contextStateRef:this.contextStateRef})},this.onRowDrag=t=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...t,target:this})},this.onRowDrop=t=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...t,target:this})},this.columnReorder=(t,i,r)=>{const l=this.extendedColumn[t].depth,c=g=>{do g++;while(g<this.extendedColumn.length&&this.extendedColumn[g].depth>l);return g},d=this.extendedColumn.splice(t,c(t)-t);if(this.extendedColumn.splice(t<i?c(i-d.length):i,0,...d),this.extendedColumn.filter(g=>g.declarationIndex>=0).forEach((g,m)=>g.orderIndex=m),this.props.onColumnReorder){const g={target:this,columns:this.columns,nativeEvent:r};this.props.onColumnReorder.call(void 0,g)}},this.onResize=(t,i,r,l,c)=>{if(this.props.onColumnResize){const d=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,b)=>m+=parseFloat(String(b.width)),0),g={columns:this.columns,totalWidth:d,index:t,nativeEvent:l,newWidth:i,oldWidth:r,end:c,target:this};this.props.onColumnResize.call(void 0,g)}},this.handleOnScroll=t=>{const i=t.currentTarget.scrollLeft,r=t.currentTarget.scrollTop,{columnVirtualization:l,scrollable:c,rowHeight:d=0}=this.props,g=d,m=0;let b=!1;l&&Math.abs(this.wrapperScrollLeft-i)>m&&(this.wrapperScrollLeft=i,b=!0),c==="virtual"&&Math.abs(this.wrapperScrollTop-r)>g&&(this.wrapperScrollTop=r,b=!0),b&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const i=Array.from(t.childNodes),r=i.find(d=>d.nodeName==="TABLE"),l=this.props.toolbar&&i.find(d=>d.nodeType===1&&d.classList.contains("k-grid-toolbar"));let c=0;if(l){const d=l.style.boxSizing;l.style.boxSizing="border-box",c=parseFloat(String(window.getComputedStyle(l).height))||l.offsetHeight,l.style.boxSizing=d,l.getAttribute("style")||l.removeAttribute("style")}this.tbodyOffsetTop=r.tBodies[0].offsetTop,ee(r,c)},this.itemChange=t=>{const i=this.props.onItemChange;if(t.field===this.props.expandField){const r=this.props.onExpandChange;if(r){const l={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};r.call(void 0,l)}return}if(i){const r={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};i.call(void 0,r)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const i={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,i)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const i={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...t};this.props.onSelectionChange.call(void 0,i)}},this.sortChange=(t,i,r)=>{this.raiseDataEvent(this.props.onSortChange,{sort:i,field:r},t)},this.headerFilterChange=(t,i,r)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:i,field:r},t)},this.filterChange=t=>{const{filter:i,field:r}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:i,field:r},t.syntheticEvent)},this.columnMenuFilterChange=(t,i,r)=>{const{onColumnMenuFilterChange:l}=this.props;if(!l)return;const c={syntheticEvent:t,filter:i,field:r,target:this,nativeEvent:t.nativeEvent};l.call(void 0,c)},this.expandChange=(t,i,r)=>{const{expandField:l,onExpandChange:c}=this.props;if(l&&c){const d={...this.getArguments(t),dataItem:i,level:r,value:this.expanded(i)};c.call(void 0,d)}},this.rowClick=(t,i)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,r)}},this.rowDoubleClick=(t,i)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,r)}},this.rowContextMenu=(t,i)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const r={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,r)}},this.onPageChange=t=>{if(this.props.onPageChange){const i={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,i)}},this.expandedSubItems=t=>{const i=[];return this.expanded(t)&&this.hasChildren(t)&&i.push(...u.getNestedValue(this.props.subItemsField,t)),i},this.getLeafDataItems=()=>this.flatData.map(t=>t.dataItem),this.expanded=t=>!!u.getNestedValue(this.props.expandField,t),this.hasChildren=t=>!!u.getNestedValue(this.props.subItemsField,t),u.validatePackage(Ae),this.dragLogic=new s.CommonDragLogic(this.columnReorder,u.noop,u.noop),this.columnResize=new s.ColumnResize(this.onResize.bind(this)),s.tableKeyboardNavigation.onConstructor({navigatable:!!a.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(u.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),s.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return s.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(a){a.columns!==this.props.columns&&this.calculateSizes(this.element),s.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:a=[],filterRow:t,scrollable:i="scrollable",resizable:r=!1,reorderable:l=!1,skip:c,take:d}=this.props,g=a.some(f=>!!f.filter||!!f.filterCell)||t!==void 0,m=t||s.FilterRow,b=s.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(a,b),this.columnsMap=this.getColumnsMap(this.extendedColumn);const E=this.extendedColumn.filter(f=>f.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=r,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=l,this.dragLogic.groupable=!1;const w=n.createElement(s.Header,{headerRow:n.createElement(s.HeaderRow,{sort:this.props.sort,sortable:this.props.sortable,sortChange:this.sortChange,selectionChange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.props.headerCellRender,columnResize:this.columnResize,columnMenu:this.props.columnMenu,columnMenuFilter:this.props.columnMenuFilter,columnMenuFilterChange:this.columnMenuFilterChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,filterChange:this.headerFilterChange}),filterRow:g&&n.createElement(m,{columns:E,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),y=this.props.style||{},{colSpans:I,hiddenColumns:V}=s.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:E,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((y.width||"").toString())}),x=(f,S,j,k,P,R)=>E.map((p,C)=>{if(V[C])return null;const F=p.id?p.id:C,Q=`${p.className?p.className+" ":""}${p.locked?"k-grid-content-sticky":""}`,D={id:s.tableKeyboardNavigationTools.generateNavigatableId(`${j}-${String(C)}`,b),colSpan:I[C],dataItem:f.dataItem,field:p.field,format:p.format,className:Q||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?O=>{this.selectionChange({event:O,item:f,columnIndex:C,dataIndex:P})}:void 0,level:f.level,expandable:p.expandable,expanded:k,hasChildren:this.hasChildren(f.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:p.ariaColumnIndex,style:p.left!==void 0&&{left:p.left,right:p.right,borderRightWidth:p.rightBorder?"1px":""}||{},isSelected:Array.isArray(R)&&R.indexOf(C)>-1};return S&&p.editCell?n.createElement(p.editCell,{key:F,...D,onChange:this.itemChange}):p.cell?n.createElement(p.cell,{key:F,...D}):n.createElement(W,{key:F,...D})});let v=this.flatData;const q=v.length;c!==void 0&&d!==void 0&&(v=v.slice(c,c+d)),i==="virtual"&&(v=te({rows:v,tableViewPortHeight:parseFloat((y.height||y.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const Ye=v.map(f=>f.level),Je=this.columnsMap.length+(g?1:0)+1,Qe=v.length>0&&v.map((f,S)=>{const j=u.getNestedValue(this.props.editField,f.dataItem),k=this.props.dataItemKey&&u.getter(this.props.dataItemKey)(f.dataItem),P=String(k||f.level.join(".")),R=this.expanded(f.dataItem),p=this.props.selectedField?u.getNestedValue(this.props.selectedField,f.dataItem):void 0,C={key:P,level:f.level,levels:Ye,dataItem:f.dataItem,selectedField:this.props.selectedField,rowHeight:i==="virtual"?f.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:O=>this.rowClick(O,f),onDoubleClick:O=>this.rowDoubleClick(O,f),onContextMenu:O=>this.rowContextMenu(O,f),isAltRow:S%2!==0,expanded:R,rowIndex:S,ariaRowIndex:Je+S,ariaSetSize:f.levelCount,ariaPosInSet:f.level[f.level.length-1]+1,isSelected:typeof p=="boolean"&&p},F=this.props.editRow,Q=this.props.row||_,D=x(f,j,P,R,S,p);return j&&F?n.createElement(F,{...C,key:C.key},D):n.createElement(Q,{...C,key:C.key},D)})||n.createElement("tr",{className:"k-table-row k-grid-norecords"},n.createElement("td",{colSpan:E.length},this.props.noRecords||n.createElement(Y,null))),Ze=f=>this.props.sort&&this.props.sort.some(S=>S.field===f),et=n.createElement("colgroup",{ref:f=>{this.columnResize.colGroupMain=f}},E.map((f,S)=>n.createElement("col",{key:S.toString(),className:Ze(f.field)?"k-sorted":void 0,style:f.width!==void 0?{width:f.width}:void 0}))),tt=this.props.columnVirtualization||this.props.scrollable==="virtual",it=this.props.selectable&&this.props.selectable.drag?"none":void 0,Le=this.props.tableProps||{};return n.createElement(s.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},n.createElement("div",{id:this.props.id,style:this.props.style,className:u.classNames("k-grid k-grid-md","k-treelist",this.props.className,{"k-treelist-scrollable":i!=="none"}),ref:f=>this.element=f,onScroll:tt?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":q,"aria-colcount":E.length,role:"treegrid",...s.tableKeyboardNavigationScopeAttributes},this.props.toolbar,n.createElement(s.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},n.createElement("table",{className:"k-table k-table-md k-grid-table",...Le,style:{...Le.style||{},userSelect:it},role:"presentation"},et,w,n.createElement("tbody",{className:"k-table-tbody",...s.tableKeyboardNavigationBodyAttributes,role:"presentation"},Qe))),this.props.pager&&n.createElement(this.props.pager,{className:"k-grid-pager",total:q,skip:c,take:d,onPageChange:this.onPageChange}),l&&n.createElement(n.Fragment,null,n.createElement(s.DropClue,{ref:this.dragLogic.refDropElementClue}),n.createElement(s.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const a=this.extendedColumn.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1),t=i=>(i.sort((r,l)=>r.declarationIndex-l.declarationIndex),i.map(r=>{const{declarationIndex:l,parentIndex:c,depth:d,colSpan:g,rowSpan:m,index:b,kFirst:E,groupable:w,children:y,...I}=r;return y.length?{children:t(y),...I}:I}));return t(a)}get flatData(){const{data:a=[],rowHeight:t=0}=this.props;let i=0;const r=c=>{const d={height:t,offsetTop:i};return i+=d.height,d};let l=this.updateOnScroll&&this.prevData===a&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:s.flatData(a,this.expandedSubItems,r);return this.prevData=a,this.flattedData=l,l}selectionChange(a){if(this.props.onSelectionChange){const{event:t,item:i,dataIndex:r,columnIndex:l}=a,{mode:c,cell:d}=s.getSelectionOptions(this.props.selectable),g={...this.getArguments(t.syntheticEvent),dataItem:i.dataItem,level:i.level,startColIndex:l,endColIndex:l,startRowIndex:r,endRowIndex:r,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:c,cell:d,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,g)}}raiseDataEvent(a,t,i){const r=this.props.onDataStateChange;if(a)a.call(void 0,{...this.getArguments(i),...t});else if(r){const l={...this.getArguments(i),dataState:{...this.getDataState(),...t}};r.call(void 0,l)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(a){return{nativeEvent:a&&a.nativeEvent,syntheticEvent:a,target:this}}}J.propTypes={data:h.array,resizable:h.bool,reorderable:h.bool,sortable:h.oneOfType([h.bool,h.shape({mode:h.oneOf(["single","multiple"]),allowUnsort:h.bool})]),onSortChange:h.func,sort:h.array,columns:h.arrayOf(h.object),columnVirtualization:h.bool,filter:h.array,onFilterChange:h.func,filterRow:h.any,toolbar:h.any,noRecords:h.any,onExpandChange:h.func,expandField:h.string,subItemsField:h.string,selectedField:h.string,onSelectionChange:h.func,onHeaderSelectionChange:h.func,onRowClick:h.func,onItemChange:h.func,editField:h.string,scrollable:h.oneOf(["none","scrollable","virtual"]),rowHeight:h.number,style:h.object,tableProps:h.object,pager:h.any,skip:h.number,take:h.number,onPageChange:h.func,onDataStateChange:h.func,onColumnResize:h.func,onColumnReorder:h.func,dataItemKey:h.string,navigatable:h.bool},J.contextType=s.TableKeyboardNavigationContext;const Me=e=>n.createElement(s.HeaderCell,{...e}),Ie=e=>{const a=n.useCallback(c=>{e.selectionChange&&e.selectionChange({syntheticEvent:c})},[e.selectionChange]),t=u.useId(),i=u.getNestedValue(e.field,e.dataItem),r=s.useTableKeyboardNavigation(e.id),l=n.createElement("td",{style:e.style,className:u.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...r},n.createElement("input",{checked:typeof i=="boolean"&&i,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:a}),n.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,l,e):l};Ie.displayName="KendoReactTreeListSelectionCell";class ze extends n.Component{constructor(){super(...arguments),this._inputId=u.guid()}render(){return n.createElement(s.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const Be=e=>e.visible&&u.canUseDOM?Re.createPortal(n.createElement("div",{className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:e.top+"px",left:e.left+"px"}},n.createElement(u.IconWrap,{className:u.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?K.plusIcon:K.cancelIcon}),e.text),document.body):null;function _e(e,a,t){if(!e.originalEvent)return-1;let i=Se(e,"tr",t);if(i){const r=a?a.childNodes:[];for(let l=0;l<r.length;l++)if(r[l]===i)return l}return-1}function Se(e,a,t){let i=t?t.elementFromPoint(e.clientX,e.clientY):null;return a&&i?i.closest(a):null}const He="k-grid k-grid-md",xe={visible:!1,top:0,left:0,text:"",allowDrop:!1};class Ve extends n.Component{constructor(){super(...arguments),this.state={clueProps:{...xe}},this.draggable=n.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=a=>{if(!u.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,i=t?t.ownerDocument:document;if(!i)return;const r=a.event,l=this.dragged;if(t&&l){!r.isTouch&&r.type!=="scroll"&&r.originalEvent.preventDefault();const c=this.props.levels[_e(r,t.parentNode,i)];this.draggedOver=c;const d=c?!l.every((g,m)=>g===c[m]):!!Se(r,He,i);this.setState({clueProps:{visible:!0,top:r.pageY+10,left:r.pageX,text:t.innerText,allowDrop:d}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:r.originalEvent,dragged:l,draggedOver:c,draggedItem:this.props.dataItem})}},this.onRelease=a=>{const t=a.event;if(this.dragged){const i=[...this.dragged],r=this.draggedOver&&[...this.draggedOver],l=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...xe}});const c=this.props.dataItem;l&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:i,draggedOver:r,draggedItem:c})}}}render(){const{clueProps:a}=this.state;return n.createElement(n.Fragment,null,n.createElement(u.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},n.createElement(_,{...this.props})),n.createElement(Be,{...a}))}}class qe extends n.Component{render(){return n.createElement("div",{className:"k-toolbar k-toolbar-md k-grid-toolbar"},this.props.children)}}const je=[{text:se,operator:"contains"},{text:oe,operator:"doesnotcontain"},{text:A,operator:"eq"},{text:M,operator:"neq"},{text:ne,operator:"startswith"},{text:ce,operator:"endswith"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"},{text:le,operator:"isempty"},{text:ae,operator:"isnotempty"}],ke=[{text:A,operator:"eq"},{text:M,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"}],Pe=[{text:A,operator:"eq"},{text:M,operator:"neq"},{text:be,operator:"gte"},{text:ve,operator:"gt"},{text:Ce,operator:"lt"},{text:Ee,operator:"lte"},{text:z,operator:"isnull"},{text:B,operator:"isnotnull"}],Ue=[{text:pe,operator:""},{text:fe,operator:!0},{text:me,operator:!1}];function H(e,a){return{clearButtonTitle:e.toLanguageString(X,$[X]),operators:a.map(t=>({text:e.toLanguageString(t.text,$[t.text]),operator:t.operator}))}}const We=function(e){const{operators:a,...t}=e;return n.createElement(s.TextFilterCell,{ariaLabel:"text filter",...H(N.useLocalization(),a||je),...t})},Xe=function(e){const{operators:a,...t}=e;return n.createElement(s.NumericFilterCell,{ariaLabel:"numeric filter",...H(N.useLocalization(),a||ke),...t})},Ge=function(e){const{operators:a,...t}=e;return n.createElement(s.DateFilterCell,{ariaLabel:"date filter",...H(N.useLocalization(),a||Pe),...t})},$e=function(e){const{operators:a,...t}=e;return n.createElement(s.BooleanFilterCell,{ariaLabel:"boolean filter",...H(N.useLocalization(),a||Ue),...t})},we=e=>{const a=n.useCallback(l=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:l,value:l.target.value})},[e.onChange,e.dataItem,e.level,e.field]),t=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className),r=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[L]:e.colIndex},n.createElement("input",{style:{width:"100%"},className:"k-input",value:u.getNestedValue(e.field,e.dataItem)||"",onChange:a}));return e.render?e.render.call(void 0,r,e):r};we.displayName="KendoReactTreeListTextEditor";const ye=e=>{const a=n.useCallback(c=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:c.syntheticEvent,value:c.value})},[e.onChange,e.dataItem,e.level,e.field]),t=u.getNestedValue(e.field,e.dataItem),i=s.useTableKeyboardNavigation(e.id),r=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...i,[L]:e.colIndex},n.createElement(De.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:a}));return e.render?e.render.call(void 0,l,e):l};ye.displayName="KendoReactTreeListNumericEditor";const Ne=e=>{const a=n.useCallback(c=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:c,value:c.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),t=u.useId(),i=s.useTableKeyboardNavigation(e.id),r=u.classNames({["k-selected"]:e.isSelected},e.className),l=n.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...i,[L]:e.colIndex},n.createElement("input",{checked:u.getNestedValue(e.field,e.dataItem)||!1,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:a}),n.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,l,e):l};Ne.displayName="KendoReactTreeListBooleanEditor";const Oe=e=>{const a=n.useCallback(l=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:l.syntheticEvent,value:l.value})},[e.onChange,e.dataItem,e.level,e.field]),t=s.useTableKeyboardNavigation(e.id),i=u.classNames({["k-selected"]:e.isSelected},e.className);let r=n.createElement("td",{style:e.style,className:i,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[L]:e.colIndex},n.createElement(Te.DatePicker,{width:"100%",value:u.getNestedValue(e.field,e.dataItem),onChange:a}));return e.render?e.render.call(void 0,r,e):r};Oe.displayName="KendoReactTreeListDateEditor",Object.defineProperty(o,"getNestedValue",{enumerable:!0,get:()=>u.getNestedValue}),Object.defineProperty(o,"mapTree",{enumerable:!0,get:()=>u.mapTree}),Object.defineProperty(o,"mapTreeItem",{enumerable:!0,get:()=>u.mapTreeItem}),Object.defineProperty(o,"createDataTree",{enumerable:!0,get:()=>s.createDataTree}),Object.defineProperty(o,"extendDataItem",{enumerable:!0,get:()=>s.extendDataItem}),Object.defineProperty(o,"filterBy",{enumerable:!0,get:()=>s.filterBy}),Object.defineProperty(o,"flatData",{enumerable:!0,get:()=>s.flatData}),Object.defineProperty(o,"getItemPath",{enumerable:!0,get:()=>s.getItemPath}),Object.defineProperty(o,"getSelectedState",{enumerable:!0,get:()=>s.getSelectedState}),Object.defineProperty(o,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>s.getSelectedStateFromKeyDown}),Object.defineProperty(o,"modifySubItems",{enumerable:!0,get:()=>s.modifySubItems}),Object.defineProperty(o,"moveTreeItem",{enumerable:!0,get:()=>s.moveTreeItem}),Object.defineProperty(o,"orderBy",{enumerable:!0,get:()=>s.orderBy}),Object.defineProperty(o,"removeItems",{enumerable:!0,get:()=>s.removeItems}),Object.defineProperty(o,"setSelectedState",{enumerable:!0,get:()=>s.setSelectedState}),Object.defineProperty(o,"treeToFlat",{enumerable:!0,get:()=>s.treeToFlat}),o.TREELIST_COL_INDEX_ATTRIBUTE=L,o.TREELIST_PREVENT_SELECTION_ELEMENT=re,o.TREELIST_ROW_INDEX_ATTRIBUTE=ie,o.TreeList=J,o.TreeListBooleanEditor=Ne,o.TreeListBooleanFilter=$e,o.TreeListCell=W,o.TreeListDateEditor=Oe,o.TreeListDateFilter=Ge,o.TreeListDraggableRow=Ve,o.TreeListHeaderCell=Me,o.TreeListHeaderSelectionCell=ze,o.TreeListNoRecords=Y,o.TreeListNumericEditor=ye,o.TreeListNumericFilter=Xe,o.TreeListRow=_,o.TreeListSelectionCell=Ie,o.TreeListTextEditor=we,o.TreeListTextFilter=We,o.TreeListToolbar=qe,o.setHeaderRowsTop=ee,o.tableRowsVirtualization=te,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","react-dom","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactTreelist={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.ReactDOM,e.KendoReactInputs,e.KendoReactDateinputs)}(this,(function(e,t,o,a,n,r,l,i,s,d){"use strict";function c(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var a=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var h=c(t),p=c(i);function u(e,t,o){const a=Array.from(e.tHead&&e.tHead.rows||[]),n=[t];let r;const l=o||(e=>window.getComputedStyle(e).height||void 0);a.forEach((e=>{let t=l(e);n.push(function(e){return void 0!==e&&("number"==typeof e||/px$/i.test(String(e)))}(t)?parseFloat(String(t)):e.offsetHeight)}));for(let e=0;e<a.length;e++)r=n.slice(0,e+1).reduce(((e,t)=>e+t)),Array.from(a[e].cells).forEach((e=>e.style.top=r+"px"))}const g=1e6;function m(e){const{rows:t,tableViewPortHeight:o,scrollTop:a}=e;if(0===t.length)return[];const n=t[0].height,r=Math.min(Math.round(a/n),t.length),l=Math.round(o/n),i=Math.max(0,r-l),s=Math.min(t.length,r+2*l),d=t.slice(i,s),c=d[d.length-1];return i>0&&d.unshift({dataItem:{},level:[g],offsetTop:0,height:d[0].offsetTop,levelCount:0}),s<t.length-1&&d.push({dataItem:{},level:[g,g],offsetTop:c.offsetTop+c.height,height:(t.length-s)*n,levelCount:0}),d}const f=n.TABLE_ROW_INDEX_ATTRIBUTE,v=n.TABLE_COL_INDEX_ATTRIBUTE,b=n.TABLE_PREVENT_SELECTION_ELEMENT,C=e=>{const{hasChildren:t,level:o=[0],expanded:i,dataItem:s,format:d,id:c,ariaColumnIndex:p,isSelected:u}=e,g=a.getNestedValue(e.field,s),m=r.useInternationalization(),f=n.useTableKeyboardNavigation(c);let C="";const x=h.useCallback((t=>{t.isDefaultPrevented()||t.keyCode===a.Keys.enter&&e.expandable&&(t.preventDefault(),e.onExpandChange(t,s,o))}),[e.expandable,s,o]);null!=g&&(C=d?m.format(d,g):g.toString());const I=[];if(e.expandable){const n=e=>h.createElement("span",{key:e,className:"k-treelist-toggle k-icon k-svg-icon"},h.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));I.push(...o.slice(1).map(((e,t)=>n(t)))),t?I.push(h.createElement(a.IconWrap,{className:"k-treelist-toggle",name:i?"caret-alt-down":"caret-alt-right",icon:i?l.caretAltDownIcon:l.caretAltRightIcon,key:"expand-collapse",onClick:t=>e.onExpandChange(t.syntheticEvent||t,s,o),[b]:!0})):I.push(n(I.length))}const y=h.createElement("td",{style:e.style,className:a.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":u}),colSpan:e.colSpan,"aria-colindex":p,"aria-expanded":t?i:void 0,"aria-selected":u,role:"gridcell",onKeyDown:x,[v]:e.colIndex,...f},I,C);return e.render?e.render.call(void 0,y,e):y};C.displayName="KendoReactTreeListCell";const x="treelist.filterClearButton",I="treelist.filterEqOperator",y="treelist.filterNotEqOperator",E="treelist.filterIsNullOperator",S="treelist.filterIsNotNullOperator",R="treelist.filterIsEmptyOperator",k="treelist.filterIsNotEmptyOperator",w="treelist.filterStartsWithOperator",T="treelist.filterContainsOperator",N="treelist.filterNotContainsOperator",D="treelist.filterEndsWithOperator",O="treelist.filterGteOperator",L="treelist.filterGtOperator",F="treelist.filterLteOperator",P="treelist.filterLtOperator",K="treelist.filterIsTrue",z="treelist.filterIsFalse",M="treelist.filterBooleanAll",A="treelist.filterAfterOrEqualOperator",H="treelist.filterAfterOperator",B="treelist.filterBeforeOperator",j="treelist.filterBeforeOrEqualOperator",q="treelist.noRecords",V={[x]:"Clear",[I]:"Is equal to",[y]:"Is not equal to",[E]:"Is null",[S]:"Is not null",[R]:"Is empty",[k]:"Is not empty",[w]:"Starts with",[T]:"Contains",[N]:"Does not contain",[D]:"Ends with",[O]:"Is greater than or equal to",[L]:"Is greater than",[F]:"Is less than or equal to",[P]:"Is less than",[K]:"Is true",[z]:"Is false",[M]:"(All)",[A]:"Is after or equal to",[H]:"Is after",[B]:"Is before",[j]:"Is before or equal to",[q]:"No records available"};let _=class extends h.Component{render(){return this.props.children||r.provideLocalizationService(this).toLanguageString(q,V[q])}};r.registerForLocalization(_);const U=h.forwardRef(((e,t)=>{const{isSelected:o,rowHeight:n,isAltRow:r,expanded:l,ariaRowIndex:i,level:s,ariaSetSize:d,ariaPosInSet:c}=e,p=a.classNames("k-table-row","k-master-row",{"k-selected":o,"k-alt":r}),u=h.useMemo((()=>void 0!==n?{height:n+"px"}:void 0),[n]),g=h.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:p,style:u,ref:t,"aria-expanded":l,role:"row","aria-rowindex":i,"aria-level":s.length,"aria-posinset":c,"aria-setsize":d,[f]:e.rowIndex},e.children);return h.createElement(h.Fragment,null,e.render?e.render.call(void 0,g,e):g)}));U.displayName="KendoReactTreeListRow";const W={name:"@progress/kendo-react-treelist",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},X=class extends h.Component{constructor(e){super(e),this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.scrollIntoView=e=>{if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:o,rowHeight:a=0}=this.props;if("virtual"===o||a)this.element.scroll(0,(t-1)*a);else{const e=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(e){const t=e.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,t)}}},this.getExtendedColumn=a.memoizeOne(((e,t)=>n.readColumns(e,{prevId:0,idPrefix:t}))),this.getColumnsMap=a.memoizeOne((e=>n.mapColumns(e))),this.onKeyDown=e=>{if(n.tableKeyboardNavigation.onKeyDown(e,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:t,cell:o}=n.getSelectionOptions(this.props.selectable),a={dataItems:this.getLeafDataItems(),mode:t,cell:o,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,a)}},this.onFocus=e=>{n.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onRowDrag=e=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...e,target:this})},this.onRowDrop=e=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...e,target:this})},this.columnReorder=(e,t,o)=>{const a=this.extendedColumn[e].depth,n=e=>{do{e++}while(e<this.extendedColumn.length&&this.extendedColumn[e].depth>a);return e},r=this.extendedColumn.splice(e,n(e)-e);if(this.extendedColumn.splice(e<t?n(t-r.length):t,0,...r),this.extendedColumn.filter((e=>e.declarationIndex>=0)).forEach(((e,t)=>e.orderIndex=t)),this.props.onColumnReorder){const e={target:this,columns:this.columns,nativeEvent:o};this.props.onColumnReorder.call(void 0,e)}},this.onResize=(e,t,o,a,n)=>{if(this.props.onColumnResize){const r=this.extendedColumn.filter((e=>0===e.children.length)).reduce(((e,t)=>e+parseFloat(String(t.width))),0),l={columns:this.columns,totalWidth:r,index:e,nativeEvent:a,newWidth:t,oldWidth:o,end:n,target:this};this.props.onColumnResize.call(void 0,l)}},this.handleOnScroll=e=>{const t=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop,{columnVirtualization:a,scrollable:n,rowHeight:r=0}=this.props,l=r;let i=!1;a&&Math.abs(this.wrapperScrollLeft-t)>0&&(this.wrapperScrollLeft=t,i=!0),"virtual"===n&&Math.abs(this.wrapperScrollTop-o)>l&&(this.wrapperScrollTop=o,i=!0),i&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=e=>{if(!e||"none"===this.props.scrollable)return;const t=Array.from(e.childNodes),o=t.find((e=>"TABLE"===e.nodeName)),a=this.props.toolbar&&t.find((e=>1===e.nodeType&&e.classList.contains("k-grid-toolbar")));let n=0;if(a){const e=a.style.boxSizing;a.style.boxSizing="border-box",n=parseFloat(String(window.getComputedStyle(a).height))||a.offsetHeight,a.style.boxSizing=e,a.getAttribute("style")||a.removeAttribute("style")}this.tbodyOffsetTop=o.tBodies[0].offsetTop,u(o,n)},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field!==this.props.expandField){if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};t.call(void 0,o)}}else{const t=this.props.onExpandChange;if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,value:e.value};t.call(void 0,o)}}},this.onHeaderSelectionChange=e=>{if(this.props.onHeaderSelectionChange){const t={field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,t)}},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.props.onSelectionChange.call(void 0,t)}},this.sortChange=(e,t,o)=>{this.raiseDataEvent(this.props.onSortChange,{sort:t,field:o},e)},this.headerFilterChange=(e,t,o)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e)},this.filterChange=e=>{const{filter:t,field:o}=e;this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e.syntheticEvent)},this.columnMenuFilterChange=(e,t,o)=>{const{onColumnMenuFilterChange:a}=this.props;if(!a)return;const n={syntheticEvent:e,filter:t,field:o,target:this,nativeEvent:e.nativeEvent};a.call(void 0,n)},this.expandChange=(e,t,o)=>{const{expandField:a,onExpandChange:n}=this.props;if(a&&n){const a={...this.getArguments(e),dataItem:t,level:o,value:this.expanded(t)};n.call(void 0,a)}},this.rowClick=(e,t)=>{if(this.props.onRowClick&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowClick.call(void 0,o)}},this.rowDoubleClick=(e,t)=>{if(this.props.onRowDoubleClick&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowDoubleClick.call(void 0,o)}},this.rowContextMenu=(e,t)=>{if(this.props.onRowContextMenu&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowContextMenu.call(void 0,o)}},this.onPageChange=e=>{if(this.props.onPageChange){const t={...this.getArguments(e.syntheticEvent),skip:e.skip,take:e.take};this.props.onPageChange.call(void 0,t)}},this.expandedSubItems=e=>{const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...a.getNestedValue(this.props.subItemsField,e)),t},this.getLeafDataItems=()=>this.flatData.map((e=>e.dataItem)),this.expanded=e=>!!a.getNestedValue(this.props.expandField,e),this.hasChildren=e=>!!a.getNestedValue(this.props.subItemsField,e),a.validatePackage(W),this.dragLogic=new n.CommonDragLogic(this.columnReorder,a.noop,a.noop),this.columnResize=new n.ColumnResize(this.onResize.bind(this)),n.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(a.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),n.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return n.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(e){e.columns!==this.props.columns&&this.calculateSizes(this.element),n.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:e=[],filterRow:t,scrollable:o="scrollable",resizable:r=!1,reorderable:l=!1,skip:i,take:s}=this.props,d=e.some((e=>!!e.filter||!!e.filterCell))||void 0!==t,c=t||n.FilterRow,p=n.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(e,p),this.columnsMap=this.getColumnsMap(this.extendedColumn);const u=this.extendedColumn.filter((e=>0===e.children.length));this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=r,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=l,this.dragLogic.groupable=!1;const g=h.createElement(n.Header,{headerRow:h.createElement(n.HeaderRow,{sort:this.props.sort,sortable:this.props.sortable,sortChange:this.sortChange,selectionChange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.props.headerCellRender,columnResize:this.columnResize,columnMenu:this.props.columnMenu,columnMenuFilter:this.props.columnMenuFilter,columnMenuFilterChange:this.columnMenuFilterChange,pressHandler:this.dragLogic.pressHandler,dragHandler:this.dragLogic.dragHandler,releaseHandler:this.dragLogic.releaseHandler,filterChange:this.headerFilterChange}),filterRow:d&&h.createElement(c,{columns:u,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),f=this.props.style||{},{colSpans:v,hiddenColumns:b}=n.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:u,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((f.width||"").toString())}),x=(e,t,o,a,r,l)=>u.map(((i,s)=>{if(b[s])return null;const d=i.id?i.id:s,c=`${i.className?i.className+" ":""}${i.locked?"k-grid-content-sticky":""}`,u={id:n.tableKeyboardNavigationTools.generateNavigatableId(`${o}-${String(s)}`,p),colSpan:v[s],dataItem:e.dataItem,field:i.field,format:i.format,className:c||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,item:e,columnIndex:s,dataIndex:r})}:void 0,level:e.level,expandable:i.expandable,expanded:a,hasChildren:this.hasChildren(e.dataItem),onExpandChange:this.expandChange,colIndex:s,ariaColumnIndex:i.ariaColumnIndex,style:void 0!==i.left&&{left:i.left,right:i.right,borderRightWidth:i.rightBorder?"1px":""}||{},isSelected:Array.isArray(l)&&l.indexOf(s)>-1};return t&&i.editCell?h.createElement(i.editCell,{key:d,...u,onChange:this.itemChange}):i.cell?h.createElement(i.cell,{key:d,...u}):h.createElement(C,{key:d,...u})}));let I=this.flatData;const y=I.length;void 0!==i&&void 0!==s&&(I=I.slice(i,i+s)),"virtual"===o&&(I=m({rows:I,tableViewPortHeight:parseFloat((f.height||f.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const E=I.map((e=>e.level)),S=this.columnsMap.length+(d?1:0)+1,R=I.length>0&&I.map(((e,t)=>{const n=a.getNestedValue(this.props.editField,e.dataItem),r=this.props.dataItemKey&&a.getter(this.props.dataItemKey)(e.dataItem),l=String(r||e.level.join(".")),i=this.expanded(e.dataItem),s=this.props.selectedField?a.getNestedValue(this.props.selectedField,e.dataItem):void 0,d={key:l,level:e.level,levels:E,dataItem:e.dataItem,selectedField:this.props.selectedField,rowHeight:"virtual"===o?e.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:t=>this.rowClick(t,e),onDoubleClick:t=>this.rowDoubleClick(t,e),onContextMenu:t=>this.rowContextMenu(t,e),isAltRow:t%2!=0,expanded:i,rowIndex:t,ariaRowIndex:S+t,ariaSetSize:e.levelCount,ariaPosInSet:e.level[e.level.length-1]+1,isSelected:"boolean"==typeof s&&s},c=this.props.editRow,p=this.props.row||U,u=x(e,n,l,i,t,s);return n&&c?h.createElement(c,{...d,key:d.key},u):h.createElement(p,{...d,key:d.key},u)}))||h.createElement("tr",{className:"k-table-row k-grid-norecords"},h.createElement("td",{colSpan:u.length},this.props.noRecords||h.createElement(_,null))),k=e=>this.props.sort&&this.props.sort.some((t=>t.field===e)),w=h.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},u.map(((e,t)=>h.createElement("col",{key:t.toString(),className:k(e.field)?"k-sorted":void 0,style:void 0!==e.width?{width:e.width}:void 0})))),T=this.props.columnVirtualization||"virtual"===this.props.scrollable,N=this.props.selectable&&this.props.selectable.drag?"none":void 0,D=this.props.tableProps||{};return h.createElement(n.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},h.createElement("div",{id:this.props.id,style:this.props.style,className:a.classNames("k-grid k-grid-md","k-treelist",this.props.className,{"k-treelist-scrollable":"none"!==o}),ref:e=>this.element=e,onScroll:T?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":y,"aria-colcount":u.length,role:"treegrid",...n.tableKeyboardNavigationScopeAttributes},this.props.toolbar,h.createElement(n.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},h.createElement("table",{className:"k-table k-table-md k-grid-table",...D,style:{...D.style||{},userSelect:N},role:"presentation"},w,g,h.createElement("tbody",{className:"k-table-tbody",...n.tableKeyboardNavigationBodyAttributes,role:"presentation"},R))),this.props.pager&&h.createElement(this.props.pager,{className:"k-grid-pager",total:y,skip:i,take:s,onPageChange:this.onPageChange}),l&&h.createElement(h.Fragment,null,h.createElement(n.DropClue,{ref:this.dragLogic.refDropElementClue}),h.createElement(n.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const e=this.extendedColumn.filter((e=>e.declarationIndex>=0&&-1===e.parentIndex)),t=e=>(e.sort(((e,t)=>e.declarationIndex-t.declarationIndex)),e.map((e=>{const{declarationIndex:o,parentIndex:a,depth:n,colSpan:r,rowSpan:l,index:i,kFirst:s,groupable:d,children:c,...h}=e;return c.length?{children:t(c),...h}:h})));return t(e)}get flatData(){const{data:e=[],rowHeight:t=0}=this.props;let o=0;let a=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:n.flatData(e,this.expandedSubItems,(e=>{const a={height:t,offsetTop:o};return o+=a.height,a}));return this.prevData=e,this.flattedData=a,a}selectionChange(e){if(this.props.onSelectionChange){const{event:t,item:o,dataIndex:a,columnIndex:r}=e,{mode:l,cell:i}=n.getSelectionOptions(this.props.selectable),s={...this.getArguments(t.syntheticEvent),dataItem:o.dataItem,level:o.level,startColIndex:r,endColIndex:r,startRowIndex:a,endRowIndex:a,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:l,cell:i,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,s)}}raiseDataEvent(e,t,o){const a=this.props.onDataStateChange;if(e)e.call(void 0,{...this.getArguments(o),...t});else if(a){const e={...this.getArguments(o),dataState:{...this.getDataState(),...t}};a.call(void 0,e)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};X.propTypes={data:o.array,resizable:o.bool,reorderable:o.bool,sortable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["single","multiple"]),allowUnsort:o.bool})]),onSortChange:o.func,sort:o.array,columns:o.arrayOf(o.object),columnVirtualization:o.bool,filter:o.array,onFilterChange:o.func,filterRow:o.any,toolbar:o.any,noRecords:o.any,onExpandChange:o.func,expandField:o.string,subItemsField:o.string,selectedField:o.string,onSelectionChange:o.func,onHeaderSelectionChange:o.func,onRowClick:o.func,onItemChange:o.func,editField:o.string,scrollable:o.oneOf(["none","scrollable","virtual"]),rowHeight:o.number,style:o.object,tableProps:o.object,pager:o.any,skip:o.number,take:o.number,onPageChange:o.func,onDataStateChange:o.func,onColumnResize:o.func,onColumnReorder:o.func,dataItemKey:o.string,navigatable:o.bool},X.contextType=n.TableKeyboardNavigationContext;let $=X;const G=e=>{const t=h.useCallback((t=>{e.selectionChange&&e.selectionChange({syntheticEvent:t})}),[e.selectionChange]),o=a.useId(),r=a.getNestedValue(e.field,e.dataItem),l=n.useTableKeyboardNavigation(e.id),i=h.createElement("td",{style:e.style,className:a.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...l},h.createElement("input",{checked:"boolean"==typeof r&&r,id:o,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:t}),h.createElement("label",{className:"k-checkbox-label",htmlFor:o}));return e.render?e.render.call(void 0,i,e):i};G.displayName="KendoReactTreeListSelectionCell";class Y extends h.Component{constructor(){super(...arguments),this._inputId=a.guid()}render(){return h.createElement(n.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const J=e=>e.visible&&a.canUseDOM?p.createPortal(h.createElement("div",{className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:e.top+"px",left:e.left+"px"}},h.createElement(a.IconWrap,{className:a.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?l.plusIcon:l.cancelIcon}),e.text),document.body):null;function Q(e,t,o){let a=o?o.elementFromPoint(e.clientX,e.clientY):null;return t&&a?a.closest(t):null}const Z={visible:!1,top:0,left:0,text:"",allowDrop:!1};class ee extends h.Component{constructor(){super(...arguments),this.state={clueProps:{...Z}},this.draggable=h.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=e=>{if(!a.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,o=t?t.ownerDocument:document;if(!o)return;const n=e.event,r=this.dragged;if(t&&r){!n.isTouch&&"scroll"!==n.type&&n.originalEvent.preventDefault();const e=this.props.levels[function(e,t,o){if(!e.originalEvent)return-1;let a=Q(e,"tr",o);if(a){const e=t?t.childNodes:[];for(let t=0;t<e.length;t++)if(e[t]===a)return t}return-1}(n,t.parentNode,o)];this.draggedOver=e;const a=e?!r.every(((t,o)=>t===e[o])):!!Q(n,"k-grid k-grid-md",o);this.setState({clueProps:{visible:!0,top:n.pageY+10,left:n.pageX,text:t.innerText,allowDrop:a}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:n.originalEvent,dragged:r,draggedOver:e,draggedItem:this.props.dataItem})}},this.onRelease=e=>{const t=e.event;if(this.dragged){const e=[...this.dragged],o=this.draggedOver&&[...this.draggedOver],a=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...Z}});const n=this.props.dataItem;a&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:e,draggedOver:o,draggedItem:n})}}}render(){const{clueProps:e}=this.state;return h.createElement(h.Fragment,null,h.createElement(a.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},h.createElement(U,{...this.props})),h.createElement(J,{...e}))}}class te extends h.Component{render(){return h.createElement("div",{className:"k-toolbar k-toolbar-md k-grid-toolbar"},this.props.children)}}const oe=[{text:T,operator:"contains"},{text:N,operator:"doesnotcontain"},{text:I,operator:"eq"},{text:y,operator:"neq"},{text:w,operator:"startswith"},{text:D,operator:"endswith"},{text:E,operator:"isnull"},{text:S,operator:"isnotnull"},{text:R,operator:"isempty"},{text:k,operator:"isnotempty"}],ae=[{text:I,operator:"eq"},{text:y,operator:"neq"},{text:O,operator:"gte"},{text:L,operator:"gt"},{text:F,operator:"lte"},{text:P,operator:"lt"},{text:E,operator:"isnull"},{text:S,operator:"isnotnull"}],ne=[{text:I,operator:"eq"},{text:y,operator:"neq"},{text:A,operator:"gte"},{text:H,operator:"gt"},{text:B,operator:"lt"},{text:j,operator:"lte"},{text:E,operator:"isnull"},{text:S,operator:"isnotnull"}],re=[{text:M,operator:""},{text:K,operator:!0},{text:z,operator:!1}];function le(e,t){return{clearButtonTitle:e.toLanguageString(x,V[x]),operators:t.map((t=>({text:e.toLanguageString(t.text,V[t.text]),operator:t.operator})))}}const ie=e=>{const t=h.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t,value:t.target.value})}),[e.onChange,e.dataItem,e.level,e.field]),o=n.useTableKeyboardNavigation(e.id),r=a.classNames({"k-selected":e.isSelected},e.className),l=h.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...o,[v]:e.colIndex},h.createElement("input",{style:{width:"100%"},className:"k-input",value:a.getNestedValue(e.field,e.dataItem)||"",onChange:t}));return e.render?e.render.call(void 0,l,e):l};ie.displayName="KendoReactTreeListTextEditor";const se=e=>{const t=h.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.level,e.field]),o=a.getNestedValue(e.field,e.dataItem),r=n.useTableKeyboardNavigation(e.id),l=a.classNames({"k-selected":e.isSelected},e.className),i=h.createElement("td",{style:e.style,className:l,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...r,[v]:e.colIndex},h.createElement(s.NumericTextBox,{width:"100%",value:void 0===o?null:o,onChange:t}));return e.render?e.render.call(void 0,i,e):i};se.displayName="KendoReactTreeListNumericEditor";const de=e=>{const t=h.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t,value:t.target.checked})}),[e.onChange,e.dataItem,e.level,e.field]),o=a.useId(),r=n.useTableKeyboardNavigation(e.id),l=a.classNames({"k-selected":e.isSelected},e.className),i=h.createElement("td",{style:e.style,className:l,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...r,[v]:e.colIndex},h.createElement("input",{checked:a.getNestedValue(e.field,e.dataItem)||!1,id:o,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:t}),h.createElement("label",{className:"k-checkbox-label",htmlFor:o}));return e.render?e.render.call(void 0,i,e):i};de.displayName="KendoReactTreeListBooleanEditor";const ce=e=>{const t=h.useCallback((t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})}),[e.onChange,e.dataItem,e.level,e.field]),o=n.useTableKeyboardNavigation(e.id),r=a.classNames({"k-selected":e.isSelected},e.className);let l=h.createElement("td",{style:e.style,className:r,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...o,[v]:e.colIndex},h.createElement(d.DatePicker,{width:"100%",value:a.getNestedValue(e.field,e.dataItem),onChange:t}));return e.render?e.render.call(void 0,l,e):l};ce.displayName="KendoReactTreeListDateEditor",Object.defineProperty(e,"getNestedValue",{enumerable:!0,get:function(){return a.getNestedValue}}),Object.defineProperty(e,"mapTree",{enumerable:!0,get:function(){return a.mapTree}}),Object.defineProperty(e,"mapTreeItem",{enumerable:!0,get:function(){return a.mapTreeItem}}),Object.defineProperty(e,"createDataTree",{enumerable:!0,get:function(){return n.createDataTree}}),Object.defineProperty(e,"extendDataItem",{enumerable:!0,get:function(){return n.extendDataItem}}),Object.defineProperty(e,"filterBy",{enumerable:!0,get:function(){return n.filterBy}}),Object.defineProperty(e,"flatData",{enumerable:!0,get:function(){return n.flatData}}),Object.defineProperty(e,"getItemPath",{enumerable:!0,get:function(){return n.getItemPath}}),Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return n.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return n.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"modifySubItems",{enumerable:!0,get:function(){return n.modifySubItems}}),Object.defineProperty(e,"moveTreeItem",{enumerable:!0,get:function(){return n.moveTreeItem}}),Object.defineProperty(e,"orderBy",{enumerable:!0,get:function(){return n.orderBy}}),Object.defineProperty(e,"removeItems",{enumerable:!0,get:function(){return n.removeItems}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return n.setSelectedState}}),Object.defineProperty(e,"treeToFlat",{enumerable:!0,get:function(){return n.treeToFlat}}),e.TREELIST_COL_INDEX_ATTRIBUTE=v,e.TREELIST_PREVENT_SELECTION_ELEMENT=b,e.TREELIST_ROW_INDEX_ATTRIBUTE=f,e.TreeList=$,e.TreeListBooleanEditor=de,e.TreeListBooleanFilter=function(e){const{operators:t,...o}=e;return h.createElement(n.BooleanFilterCell,{ariaLabel:"boolean filter",...le(r.useLocalization(),t||re),...o})},e.TreeListCell=C,e.TreeListDateEditor=ce,e.TreeListDateFilter=function(e){const{operators:t,...o}=e;return h.createElement(n.DateFilterCell,{ariaLabel:"date filter",...le(r.useLocalization(),t||ne),...o})},e.TreeListDraggableRow=ee,e.TreeListHeaderCell=e=>h.createElement(n.HeaderCell,{...e}),e.TreeListHeaderSelectionCell=Y,e.TreeListNoRecords=_,e.TreeListNumericEditor=se,e.TreeListNumericFilter=function(e){const{operators:t,...o}=e;return h.createElement(n.NumericFilterCell,{ariaLabel:"numeric filter",...le(r.useLocalization(),t||ae),...o})},e.TreeListRow=U,e.TreeListSelectionCell=G,e.TreeListTextEditor=ie,e.TreeListTextFilter=function(e){const{operators:t,...o}=e;return h.createElement(n.TextFilterCell,{ariaLabel:"text filter",...le(r.useLocalization(),t||oe),...o})},e.TreeListToolbar=te,e.setHeaderRowsTop=u,e.tableRowsVirtualization=m}));
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),o=require("@progress/kendo-react-data-tools");function a(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const l=a(c),i=e=>l.createElement(o.HeaderCell,{...e});exports.TreeListHeaderCell=i;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as r from "react";
10
+ import { HeaderCell as t } from "@progress/kendo-react-data-tools";
11
+ const o = (e) => /* @__PURE__ */ r.createElement(t, { ...e });
12
+ export {
13
+ o as TreeListHeaderCell
14
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),i=require("@progress/kendo-react-common"),s=require("@progress/kendo-react-data-tools");function a(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const o=a(c);class l extends o.Component{constructor(){super(...arguments),this._inputId=i.guid()}render(){return o.createElement(s.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}exports.TreeListHeaderSelectionCell=l;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ import * as e from "react";
10
+ import { guid as t } from "@progress/kendo-react-common";
11
+ import { HeaderSelectionCell as r } from "@progress/kendo-react-data-tools";
12
+ class s extends e.Component {
13
+ constructor() {
14
+ super(...arguments), this._inputId = t();
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ render() {
20
+ return /* @__PURE__ */ e.createElement(r, { inputId: this._inputId, ...this.props });
21
+ }
22
+ }
23
+ export {
24
+ s as TreeListHeaderSelectionCell
25
+ };