@progress/kendo-react-treelist 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 (45) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +1 -1
  3. package/README.md +1 -1
  4. package/ScrollMode.d.ts +1 -1
  5. package/TreeList.d.ts +1 -1
  6. package/TreeListNoRecords.d.ts +1 -1
  7. package/TreeListToolbar.d.ts +1 -1
  8. package/cells/EditCells/TreeListBooleanEditor.d.ts +1 -1
  9. package/cells/EditCells/TreeListDateEditor.d.ts +1 -1
  10. package/cells/EditCells/TreeListNumericEditor.d.ts +1 -1
  11. package/cells/EditCells/TreeListTextEditor.d.ts +1 -1
  12. package/cells/FilterCells/TreeListBooleanFilter.d.ts +1 -1
  13. package/cells/FilterCells/TreeListDateFilter.d.ts +1 -1
  14. package/cells/FilterCells/TreeListNumericFilter.d.ts +1 -1
  15. package/cells/FilterCells/TreeListTextFilter.d.ts +1 -1
  16. package/cells/FilterCells/utils.d.ts +1 -1
  17. package/cells/TreeListCell.d.ts +1 -1
  18. package/cells/TreeListSelectionCell.d.ts +1 -1
  19. package/constants/index.d.ts +1 -1
  20. package/dist/cdn/js/kendo-react-treelist.js +2 -2
  21. package/header/TreeListHeaderCell.d.ts +1 -1
  22. package/header/TreeListHeaderSelectionCell.d.ts +1 -1
  23. package/index.d.mts +1 -1
  24. package/index.d.ts +1 -1
  25. package/index.js +2 -2
  26. package/index.mjs +24 -23
  27. package/interfaces/DataItemWrapper.d.ts +1 -1
  28. package/interfaces/TreeListCellProps.d.ts +1 -1
  29. package/interfaces/TreeListColumnProps.d.ts +1 -1
  30. package/interfaces/TreeListFilterCellProps.d.ts +1 -1
  31. package/interfaces/TreeListFilterOperator.d.ts +1 -1
  32. package/interfaces/TreeListHeaderCellProps.d.ts +1 -1
  33. package/interfaces/TreeListNoRecordsProps.d.ts +1 -1
  34. package/interfaces/TreeListProps.d.ts +1 -1
  35. package/interfaces/TreeListRowProps.d.ts +1 -1
  36. package/interfaces/TreeListSelectableSettings.d.ts +1 -1
  37. package/interfaces/TreeListSortSettings.d.ts +1 -1
  38. package/interfaces/TreeListToolbarProps.d.ts +1 -1
  39. package/interfaces/events.d.ts +1 -1
  40. package/messages/index.d.ts +1 -1
  41. package/package-metadata.d.ts +1 -1
  42. package/package.json +10 -10
  43. package/rows/TreeListDraggableRow.d.ts +1 -1
  44. package/rows/TreeListRow.d.ts +1 -1
  45. package/utils/index.d.ts +1 -1
package/LICENSE.md CHANGED
@@ -8,4 +8,4 @@ This is commercial software. To use it, you need to agree to the [**End User Lic
8
8
 
9
9
  All available KendoReact commercial licenses may be obtained at the [KendoReact website](https://www.telerik.com/kendo-react-ui/pricing).
10
10
 
11
- *Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
11
+ *Copyright © 2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
package/NOTICE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Progress KendoReact 2023
1
+ Progress KendoReact 2024
2
2
 
3
3
  Copyright © 2018-2023 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.
4
4
 
package/README.md CHANGED
@@ -51,6 +51,6 @@ High-level component overview pages
51
51
 
52
52
  * [React TreeList Component](https://www.telerik.com/kendo-react-ui/treelist)
53
53
 
54
- *Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
54
+ *Copyright © 2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
55
55
 
56
56
  *Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.*
package/ScrollMode.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
  export type ScrollMode = 'none' | 'scrollable' | 'virtual';
package/TreeList.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 { TreeListCellProps } from '../../interfaces/TreeListCellProps';
@@ -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 { TreeListCellProps } from '../../interfaces/TreeListCellProps';
@@ -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 { TreeListCellProps } from '../../interfaces/TreeListCellProps';
@@ -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 { LocalizationService } 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 { TreeListCellProps } from '../interfaces/TreeListCellProps';
@@ -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 { TreeListCellProps } from '../interfaces/TreeListCellProps';
@@ -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
  /** The attribute required by the TreeList selection on TreeList `tr` elements. */
@@ -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
- (function(o,T){typeof exports=="object"&&typeof module<"u"?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<"u"?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,P,k,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:k})}:void 0,level:f.level,expandable:p.expandable,expanded:P,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),P=this.props.dataItemKey&&u.getter(this.props.dataItemKey)(f.dataItem),k=String(P||f.level.join(".")),R=this.expanded(f.dataItem),p=this.props.selectedField?u.getNestedValue(this.props.selectedField,f.dataItem):void 0,C={key:k,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,k,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",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-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"}],Pe=[{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"}],ke=[{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||Pe),...t})},Ge=function(e){const{operators:a,...t}=e;return n.createElement(s.DateFilterCell,{ariaLabel:"date filter",...H(N.useLocalization(),a||ke),...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"})});
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,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';
package/index.d.mts 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
  export * from './index';
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 { TreeList } from './TreeList';
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
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Pe=require("react"),d=require("prop-types"),h=require("@progress/kendo-react-common"),i=require("@progress/kendo-react-data-tools"),R=require("@progress/kendo-react-intl"),M=require("@progress/kendo-svg-icons"),Ae=require("react-dom"),Me=require("@progress/kendo-react-inputs"),Ke=require("@progress/kendo-react-dateinputs");function Z(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(l,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return l.default=e,Object.freeze(l)}const r=Z(Pe),ze=Z(Ae);function Be(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,l,t){const a=Array.from(e.tHead&&e.tHead.rows||[]),n=[l];let o;const s=t||(c=>window.getComputedStyle(c).height||void 0);a.forEach(c=>{let u=s(c);n.push(Be(u)?parseFloat(String(u)):c.offsetHeight)});for(let c=0;c<a.length;c++)o=n.slice(0,c+1).reduce((u,m)=>u+m),Array.from(a[c].cells).forEach(u=>u.style.top=o+"px")}const j=1e6;function te(e){const{rows:l,tableViewPortHeight:t,scrollTop:a}=e;if(l.length===0)return[];const n=l[0].height,o=Math.min(Math.round(a/n),l.length),s=Math.round(t/n),c=Math.max(0,o-s),u=Math.min(l.length,o+2*s),m=l.slice(c,u),p=m[m.length-1];return c>0&&m.unshift({dataItem:{},level:[j],offsetTop:0,height:m[0].offsetTop,levelCount:0}),u<l.length-1&&m.push({dataItem:{},level:[j,j],offsetTop:p.offsetTop+p.height,height:(l.length-u)*n,levelCount:0}),m}const ae=i.TABLE_ROW_INDEX_ATTRIBUTE,D=i.TABLE_COL_INDEX_ATTRIBUTE,ne=i.TABLE_PREVENT_SELECTION_ELEMENT,G=e=>{const{hasChildren:l,level:t=[0],expanded:a,dataItem:n,format:o,id:s,ariaColumnIndex:c,isSelected:u}=e,m=h.getNestedValue(e.field,n),p=R.useInternationalization(),v=i.useTableKeyboardNavigation(s);let y="";const S=r.useCallback(I=>{I.isDefaultPrevented()||I.keyCode===h.Keys.enter&&e.expandable&&(I.preventDefault(),e.onExpandChange(I,n,t))},[e.expandable,n,t]);m!=null&&(y=o?p.format(o,m):m.toString());const x=[];if(e.expandable){const I=b=>r.createElement("span",{key:b,className:"k-treelist-toggle k-icon k-svg-icon"},r.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));x.push(...t.slice(1).map((b,L)=>I(L))),l?x.push(r.createElement(h.IconWrap,{className:"k-treelist-toggle",name:a?"caret-alt-down":"caret-alt-right",icon:a?M.caretAltDownIcon:M.caretAltRightIcon,key:"expand-collapse",onClick:b=>e.onExpandChange(b.syntheticEvent||b,n,t),[ne]:!0})):x.push(I(x.length))}const O=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className,{["k-text-nowrap"]:e.expandable,["k-selected"]:u}),colSpan:e.colSpan,"aria-colindex":c,"aria-expanded":l?a:void 0,"aria-selected":u,role:"gridcell",onKeyDown:S,[D]:e.colIndex,...v},x,y);return e.render?e.render.call(void 0,O,e):O};G.displayName="KendoReactTreeListCell";const U="treelist.filterClearButton",K="treelist.filterEqOperator",z="treelist.filterNotEqOperator",B="treelist.filterIsNullOperator",_="treelist.filterIsNotNullOperator",oe="treelist.filterIsEmptyOperator",le="treelist.filterIsNotEmptyOperator",re="treelist.filterStartsWithOperator",ie="treelist.filterContainsOperator",se="treelist.filterNotContainsOperator",ce="treelist.filterEndsWithOperator",de="treelist.filterGteOperator",he="treelist.filterGtOperator",ue="treelist.filterLteOperator",ge="treelist.filterLtOperator",me="treelist.filterIsTrue",fe="treelist.filterIsFalse",pe="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",Ce="treelist.filterAfterOperator",ve="treelist.filterBeforeOperator",xe="treelist.filterBeforeOrEqualOperator",W="treelist.noRecords",X={[U]:"Clear",[K]:"Is equal to",[z]:"Is not equal to",[B]:"Is null",[_]:"Is not null",[oe]:"Is empty",[le]:"Is not empty",[re]:"Starts with",[ie]:"Contains",[se]:"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",[me]:"Is true",[fe]:"Is false",[pe]:"(All)",[be]:"Is after or equal to",[Ce]:"Is after",[ve]:"Is before",[xe]:"Is before or equal to",[W]:"No records available"};class $ extends r.Component{render(){return this.props.children||R.provideLocalizationService(this).toLanguageString(W,X[W])}}R.registerForLocalization($);const H=r.forwardRef((e,l)=>{const{isSelected:t,rowHeight:a,isAltRow:n,expanded:o,ariaRowIndex:s,level:c,ariaSetSize:u,ariaPosInSet:m}=e,p=h.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":n}),v=r.useMemo(()=>a!==void 0?{height:a+"px"}:void 0,[a]),y=r.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:p,style:v,ref:l,"aria-expanded":o,role:"row","aria-rowindex":s,"aria-level":c.length,"aria-posinset":m,"aria-setsize":u,[ae]:e.rowIndex},e.children);return r.createElement(r.Fragment,null,e.render?e.render.call(void 0,y,e):y)});H.displayName="KendoReactTreeListRow";const _e={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 Y extends r.Component{constructor(l){super(l),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:a=0}=t,{scrollable:n,rowHeight:o=0}=this.props;if(n==="virtual"||o)this.element.scroll(0,(a-1)*o);else{const s=this.element.querySelector(`tbody > tr:nth-child(${a})`);if(s){const c=s.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,c)}}},this.getExtendedColumn=h.memoizeOne((t,a)=>i.readColumns(t,{prevId:0,idPrefix:a})),this.getColumnsMap=h.memoizeOne(t=>i.mapColumns(t)),this.onKeyDown=t=>{if(i.tableKeyboardNavigation.onKeyDown(t,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:a,cell:n}=i.getSelectionOptions(this.props.selectable),o={dataItems:this.getLeafDataItems(),mode:a,cell:n,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(t)};this.props.onKeyDown.call(void 0,o)}},this.onFocus=t=>{i.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,a,n)=>{const o=this.extendedColumn[t].depth,s=u=>{do u++;while(u<this.extendedColumn.length&&this.extendedColumn[u].depth>o);return u},c=this.extendedColumn.splice(t,s(t)-t);if(this.extendedColumn.splice(t<a?s(a-c.length):a,0,...c),this.extendedColumn.filter(u=>u.declarationIndex>=0).forEach((u,m)=>u.orderIndex=m),this.props.onColumnReorder){const u={target:this,columns:this.columns,nativeEvent:n};this.props.onColumnReorder.call(void 0,u)}},this.onResize=(t,a,n,o,s)=>{if(this.props.onColumnResize){const c=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,p)=>m+=parseFloat(String(p.width)),0),u={columns:this.columns,totalWidth:c,index:t,nativeEvent:o,newWidth:a,oldWidth:n,end:s,target:this};this.props.onColumnResize.call(void 0,u)}},this.handleOnScroll=t=>{const a=t.currentTarget.scrollLeft,n=t.currentTarget.scrollTop,{columnVirtualization:o,scrollable:s,rowHeight:c=0}=this.props,u=c,m=0;let p=!1;o&&Math.abs(this.wrapperScrollLeft-a)>m&&(this.wrapperScrollLeft=a,p=!0),s==="virtual"&&Math.abs(this.wrapperScrollTop-n)>u&&(this.wrapperScrollTop=n,p=!0),p&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const a=Array.from(t.childNodes),n=a.find(c=>c.nodeName==="TABLE"),o=this.props.toolbar&&a.find(c=>c.nodeType===1&&c.classList.contains("k-grid-toolbar"));let s=0;if(o){const c=o.style.boxSizing;o.style.boxSizing="border-box",s=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=c,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=n.tBodies[0].offsetTop,ee(n,s)},this.itemChange=t=>{const a=this.props.onItemChange;if(t.field===this.props.expandField){const n=this.props.onExpandChange;if(n){const o={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};n.call(void 0,o)}return}if(a){const n={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};a.call(void 0,n)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const a={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,a)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const a={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,a)}},this.sortChange=(t,a,n)=>{this.raiseDataEvent(this.props.onSortChange,{sort:a,field:n},t)},this.headerFilterChange=(t,a,n)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t)},this.filterChange=t=>{const{filter:a,field:n}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t.syntheticEvent)},this.columnMenuFilterChange=(t,a,n)=>{const{onColumnMenuFilterChange:o}=this.props;if(!o)return;const s={syntheticEvent:t,filter:a,field:n,target:this,nativeEvent:t.nativeEvent};o.call(void 0,s)},this.expandChange=(t,a,n)=>{const{expandField:o,onExpandChange:s}=this.props;if(o&&s){const c={...this.getArguments(t),dataItem:a,level:n,value:this.expanded(a)};s.call(void 0,c)}},this.rowClick=(t,a)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,n)}},this.rowDoubleClick=(t,a)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,n)}},this.rowContextMenu=(t,a)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,n)}},this.onPageChange=t=>{if(this.props.onPageChange){const a={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,a)}},this.expandedSubItems=t=>{const a=[];return this.expanded(t)&&this.hasChildren(t)&&a.push(...h.getNestedValue(this.props.subItemsField,t)),a},this.getLeafDataItems=()=>this.flatData.map(t=>t.dataItem),this.expanded=t=>!!h.getNestedValue(this.props.expandField,t),this.hasChildren=t=>!!h.getNestedValue(this.props.subItemsField,t),h.validatePackage(_e),this.dragLogic=new i.CommonDragLogic(this.columnReorder,h.noop,h.noop),this.columnResize=new i.ColumnResize(this.onResize.bind(this)),i.tableKeyboardNavigation.onConstructor({navigatable:!!l.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(h.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),i.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return i.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(l){l.columns!==this.props.columns&&this.calculateSizes(this.element),i.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:l=[],filterRow:t,scrollable:a="scrollable",resizable:n=!1,reorderable:o=!1,skip:s,take:c}=this.props,u=l.some(g=>!!g.filter||!!g.filterCell)||t!==void 0,m=t||i.FilterRow,p=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(l,p),this.columnsMap=this.getColumnsMap(this.extendedColumn);const v=this.extendedColumn.filter(g=>g.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=n,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=o,this.dragLogic.groupable=!1;const y=r.createElement(i.Header,{headerRow:r.createElement(i.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:u&&r.createElement(m,{columns:v,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),S=this.props.style||{},{colSpans:x,hiddenColumns:O}=i.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:v,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((S.width||"").toString())}),I=(g,E,F,P,A,k)=>v.map((f,C)=>{if(O[C])return null;const w=f.id?f.id:C,q=`${f.className?f.className+" ":""}${f.locked?"k-grid-content-sticky":""}`,N={id:i.tableKeyboardNavigationTools.generateNavigatableId(`${F}-${String(C)}`,p),colSpan:x[C],dataItem:g.dataItem,field:f.field,format:f.format,className:q||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?T=>{this.selectionChange({event:T,item:g,columnIndex:C,dataIndex:A})}:void 0,level:g.level,expandable:f.expandable,expanded:P,hasChildren:this.hasChildren(g.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:f.ariaColumnIndex,style:f.left!==void 0&&{left:f.left,right:f.right,borderRightWidth:f.rightBorder?"1px":""}||{},isSelected:Array.isArray(k)&&k.indexOf(C)>-1};return E&&f.editCell?r.createElement(f.editCell,{key:w,...N,onChange:this.itemChange}):f.cell?r.createElement(f.cell,{key:w,...N}):r.createElement(G,{key:w,...N})});let b=this.flatData;const L=b.length;s!==void 0&&c!==void 0&&(b=b.slice(s,s+c)),a==="virtual"&&(b=te({rows:b,tableViewPortHeight:parseFloat((S.height||S.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const we=b.map(g=>g.level),Ne=this.columnsMap.length+(u?1:0)+1,De=b.length>0&&b.map((g,E)=>{const F=h.getNestedValue(this.props.editField,g.dataItem),P=this.props.dataItemKey&&h.getter(this.props.dataItemKey)(g.dataItem),A=String(P||g.level.join(".")),k=this.expanded(g.dataItem),f=this.props.selectedField?h.getNestedValue(this.props.selectedField,g.dataItem):void 0,C={key:A,level:g.level,levels:we,dataItem:g.dataItem,selectedField:this.props.selectedField,rowHeight:a==="virtual"?g.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:T=>this.rowClick(T,g),onDoubleClick:T=>this.rowDoubleClick(T,g),onContextMenu:T=>this.rowContextMenu(T,g),isAltRow:E%2!==0,expanded:k,rowIndex:E,ariaRowIndex:Ne+E,ariaSetSize:g.levelCount,ariaPosInSet:g.level[g.level.length-1]+1,isSelected:typeof f=="boolean"&&f},w=this.props.editRow,q=this.props.row||H,N=I(g,F,A,k,E,f);return F&&w?r.createElement(w,{...C,key:C.key},N):r.createElement(q,{...C,key:C.key},N)})||r.createElement("tr",{className:"k-table-row k-grid-norecords"},r.createElement("td",{colSpan:v.length},this.props.noRecords||r.createElement($,null))),ke=g=>this.props.sort&&this.props.sort.some(E=>E.field===g),Oe=r.createElement("colgroup",{ref:g=>{this.columnResize.colGroupMain=g}},v.map((g,E)=>r.createElement("col",{key:E.toString(),className:ke(g.field)?"k-sorted":void 0,style:g.width!==void 0?{width:g.width}:void 0}))),Le=this.props.columnVirtualization||this.props.scrollable==="virtual",Fe=this.props.selectable&&this.props.selectable.drag?"none":void 0,J=this.props.tableProps||{};return r.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:this.props.style,className:h.classNames("k-grid k-grid-md",this.props.className,{"k-treelist-scrollable":a!=="none"}),ref:g=>this.element=g,onScroll:Le?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":L,"aria-colcount":v.length,role:"treegrid",...i.tableKeyboardNavigationScopeAttributes},this.props.toolbar,r.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},r.createElement("table",{className:"k-table k-table-md k-grid-table",...J,style:{...J.style||{},userSelect:Fe},role:"presentation"},Oe,y,r.createElement("tbody",{className:"k-table-tbody",...i.tableKeyboardNavigationBodyAttributes,role:"presentation"},De))),this.props.pager&&r.createElement(this.props.pager,{className:"k-grid-pager",total:L,skip:s,take:c,onPageChange:this.onPageChange}),o&&r.createElement(r.Fragment,null,r.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const l=this.extendedColumn.filter(a=>a.declarationIndex>=0&&a.parentIndex===-1),t=a=>(a.sort((n,o)=>n.declarationIndex-o.declarationIndex),a.map(n=>{const{declarationIndex:o,parentIndex:s,depth:c,colSpan:u,rowSpan:m,index:p,kFirst:v,groupable:y,children:S,...x}=n;return S.length?{children:t(S),...x}:x}));return t(l)}get flatData(){const{data:l=[],rowHeight:t=0}=this.props;let a=0;const n=s=>{const c={height:t,offsetTop:a};return a+=c.height,c};let o=this.updateOnScroll&&this.prevData===l&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:i.flatData(l,this.expandedSubItems,n);return this.prevData=l,this.flattedData=o,o}selectionChange(l){if(this.props.onSelectionChange){const{event:t,item:a,dataIndex:n,columnIndex:o}=l,{mode:s,cell:c}=i.getSelectionOptions(this.props.selectable),u={...this.getArguments(t.syntheticEvent),dataItem:a.dataItem,level:a.level,startColIndex:o,endColIndex:o,startRowIndex:n,endRowIndex:n,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:s,cell:c,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,u)}}raiseDataEvent(l,t,a){const n=this.props.onDataStateChange;if(l)l.call(void 0,{...this.getArguments(a),...t});else if(n){const o={...this.getArguments(a),dataState:{...this.getDataState(),...t}};n.call(void 0,o)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(l){return{nativeEvent:l&&l.nativeEvent,syntheticEvent:l,target:this}}}Y.propTypes={data:d.array,resizable:d.bool,reorderable:d.bool,sortable:d.oneOfType([d.bool,d.shape({mode:d.oneOf(["single","multiple"]),allowUnsort:d.bool})]),onSortChange:d.func,sort:d.array,columns:d.arrayOf(d.object),columnVirtualization:d.bool,filter:d.array,onFilterChange:d.func,filterRow:d.any,toolbar:d.any,noRecords:d.any,onExpandChange:d.func,expandField:d.string,subItemsField:d.string,selectedField:d.string,onSelectionChange:d.func,onHeaderSelectionChange:d.func,onRowClick:d.func,onItemChange:d.func,editField:d.string,scrollable:d.oneOf(["none","scrollable","virtual"]),rowHeight:d.number,style:d.object,tableProps:d.object,pager:d.any,skip:d.number,take:d.number,onPageChange:d.func,onDataStateChange:d.func,onColumnResize:d.func,onColumnReorder:d.func,dataItemKey:d.string,navigatable:d.bool};Y.contextType=i.TableKeyboardNavigationContext;const He=e=>r.createElement(i.HeaderCell,{...e}),Ee=e=>{const l=r.useCallback(s=>{e.selectionChange&&e.selectionChange({syntheticEvent:s})},[e.selectionChange]),t=h.useId(),a=h.getNestedValue(e.field,e.dataItem),n=i.useTableKeyboardNavigation(e.id),o=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...n},r.createElement("input",{checked:typeof a=="boolean"&&a,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Ee.displayName="KendoReactTreeListSelectionCell";class Ve extends r.Component{constructor(){super(...arguments),this._inputId=h.guid()}render(){return r.createElement(i.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const qe=e=>e.visible&&h.canUseDOM?ze.createPortal(r.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"}},r.createElement(h.IconWrap,{className:h.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?M.plusIcon:M.cancelIcon}),e.text),document.body):null;function je(e,l,t){if(!e.originalEvent)return-1;let a=Ie(e,"tr",t);if(a){const n=l?l.childNodes:[];for(let o=0;o<n.length;o++)if(n[o]===a)return o}return-1}function Ie(e,l,t){let a=t?t.elementFromPoint(e.clientX,e.clientY):null;return l&&a?a.closest(l):null}const Ue="k-grid k-grid-md",Q={visible:!1,top:0,left:0,text:"",allowDrop:!1};class We extends r.Component{constructor(){super(...arguments),this.state={clueProps:{...Q}},this.draggable=r.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=l=>{if(!h.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,a=t?t.ownerDocument:document;if(!a)return;const n=l.event,o=this.dragged;if(t&&o){!n.isTouch&&n.type!=="scroll"&&n.originalEvent.preventDefault();const s=this.props.levels[je(n,t.parentNode,a)];this.draggedOver=s;const c=s?!o.every((u,m)=>u===s[m]):!!Ie(n,Ue,a);this.setState({clueProps:{visible:!0,top:n.pageY+10,left:n.pageX,text:t.innerText,allowDrop:c}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:n.originalEvent,dragged:o,draggedOver:s,draggedItem:this.props.dataItem})}},this.onRelease=l=>{const t=l.event;if(this.dragged){const a=[...this.dragged],n=this.draggedOver&&[...this.draggedOver],o=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...Q}});const s=this.props.dataItem;o&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:a,draggedOver:n,draggedItem:s})}}}render(){const{clueProps:l}=this.state;return r.createElement(r.Fragment,null,r.createElement(h.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},r.createElement(H,{...this.props})),r.createElement(qe,{...l}))}}class Xe extends r.Component{render(){return r.createElement("div",{className:"k-toolbar k-grid-toolbar"},this.props.children)}}const Ge=[{text:ie,operator:"contains"},{text:se,operator:"doesnotcontain"},{text:K,operator:"eq"},{text:z,operator:"neq"},{text:re,operator:"startswith"},{text:ce,operator:"endswith"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"},{text:oe,operator:"isempty"},{text:le,operator:"isnotempty"}],$e=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Ye=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:be,operator:"gte"},{text:Ce,operator:"gt"},{text:ve,operator:"lt"},{text:xe,operator:"lte"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Je=[{text:pe,operator:""},{text:me,operator:!0},{text:fe,operator:!1}];function V(e,l){return{clearButtonTitle:e.toLanguageString(U,X[U]),operators:l.map(t=>({text:e.toLanguageString(t.text,X[t.text]),operator:t.operator}))}}const Qe=function(e){const{operators:l,...t}=e;return r.createElement(i.TextFilterCell,{ariaLabel:"text filter",...V(R.useLocalization(),l||Ge),...t})},Ze=function(e){const{operators:l,...t}=e;return r.createElement(i.NumericFilterCell,{ariaLabel:"numeric filter",...V(R.useLocalization(),l||$e),...t})},et=function(e){const{operators:l,...t}=e;return r.createElement(i.DateFilterCell,{ariaLabel:"date filter",...V(R.useLocalization(),l||Ye),...t})},tt=function(e){const{operators:l,...t}=e;return r.createElement(i.BooleanFilterCell,{ariaLabel:"boolean filter",...V(R.useLocalization(),l||Je),...t})},ye=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o,value:o.target.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className),n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement("input",{style:{width:"100%"},className:"k-input",value:h.getNestedValue(e.field,e.dataItem)||"",onChange:l}));return e.render?e.render.call(void 0,n,e):n};ye.displayName="KendoReactTreeListTextEditor";const Se=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s.syntheticEvent,value:s.value})},[e.onChange,e.dataItem,e.level,e.field]),t=h.getNestedValue(e.field,e.dataItem),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement(Me.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:l}));return e.render?e.render.call(void 0,o,e):o};Se.displayName="KendoReactTreeListNumericEditor";const Te=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s,value:s.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),t=h.useId(),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement("input",{checked:h.getNestedValue(e.field,e.dataItem)||!1,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Te.displayName="KendoReactTreeListBooleanEditor";const Re=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o.syntheticEvent,value:o.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className);let n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement(Ke.DatePicker,{width:"100%",value:h.getNestedValue(e.field,e.dataItem),onChange:l}));return e.render?e.render.call(void 0,n,e):n};Re.displayName="KendoReactTreeListDateEditor";Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:()=>h.getNestedValue});Object.defineProperty(exports,"mapTree",{enumerable:!0,get:()=>h.mapTree});Object.defineProperty(exports,"mapTreeItem",{enumerable:!0,get:()=>h.mapTreeItem});Object.defineProperty(exports,"createDataTree",{enumerable:!0,get:()=>i.createDataTree});Object.defineProperty(exports,"extendDataItem",{enumerable:!0,get:()=>i.extendDataItem});Object.defineProperty(exports,"filterBy",{enumerable:!0,get:()=>i.filterBy});Object.defineProperty(exports,"flatData",{enumerable:!0,get:()=>i.flatData});Object.defineProperty(exports,"getItemPath",{enumerable:!0,get:()=>i.getItemPath});Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>i.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>i.getSelectedStateFromKeyDown});Object.defineProperty(exports,"modifySubItems",{enumerable:!0,get:()=>i.modifySubItems});Object.defineProperty(exports,"moveTreeItem",{enumerable:!0,get:()=>i.moveTreeItem});Object.defineProperty(exports,"orderBy",{enumerable:!0,get:()=>i.orderBy});Object.defineProperty(exports,"removeItems",{enumerable:!0,get:()=>i.removeItems});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>i.setSelectedState});Object.defineProperty(exports,"treeToFlat",{enumerable:!0,get:()=>i.treeToFlat});exports.TREELIST_COL_INDEX_ATTRIBUTE=D;exports.TREELIST_PREVENT_SELECTION_ELEMENT=ne;exports.TREELIST_ROW_INDEX_ATTRIBUTE=ae;exports.TreeList=Y;exports.TreeListBooleanEditor=Te;exports.TreeListBooleanFilter=tt;exports.TreeListCell=G;exports.TreeListDateEditor=Re;exports.TreeListDateFilter=et;exports.TreeListDraggableRow=We;exports.TreeListHeaderCell=He;exports.TreeListHeaderSelectionCell=Ve;exports.TreeListNoRecords=$;exports.TreeListNumericEditor=Se;exports.TreeListNumericFilter=Ze;exports.TreeListRow=H;exports.TreeListSelectionCell=Ee;exports.TreeListTextEditor=ye;exports.TreeListTextFilter=Qe;exports.TreeListToolbar=Xe;exports.setHeaderRowsTop=ee;exports.tableRowsVirtualization=te;
5
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Pe=require("react"),d=require("prop-types"),h=require("@progress/kendo-react-common"),i=require("@progress/kendo-react-data-tools"),R=require("@progress/kendo-react-intl"),M=require("@progress/kendo-svg-icons"),Ae=require("react-dom"),Me=require("@progress/kendo-react-inputs"),Ke=require("@progress/kendo-react-dateinputs");function Z(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(l,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return l.default=e,Object.freeze(l)}const r=Z(Pe),ze=Z(Ae);function Be(e){return e!==void 0&&(typeof e=="number"||/px$/i.test(String(e)))}function ee(e,l,t){const a=Array.from(e.tHead&&e.tHead.rows||[]),n=[l];let o;const s=t||(c=>window.getComputedStyle(c).height||void 0);a.forEach(c=>{let u=s(c);n.push(Be(u)?parseFloat(String(u)):c.offsetHeight)});for(let c=0;c<a.length;c++)o=n.slice(0,c+1).reduce((u,m)=>u+m),Array.from(a[c].cells).forEach(u=>u.style.top=o+"px")}const j=1e6;function te(e){const{rows:l,tableViewPortHeight:t,scrollTop:a}=e;if(l.length===0)return[];const n=l[0].height,o=Math.min(Math.round(a/n),l.length),s=Math.round(t/n),c=Math.max(0,o-s),u=Math.min(l.length,o+2*s),m=l.slice(c,u),p=m[m.length-1];return c>0&&m.unshift({dataItem:{},level:[j],offsetTop:0,height:m[0].offsetTop,levelCount:0}),u<l.length-1&&m.push({dataItem:{},level:[j,j],offsetTop:p.offsetTop+p.height,height:(l.length-u)*n,levelCount:0}),m}const ae=i.TABLE_ROW_INDEX_ATTRIBUTE,D=i.TABLE_COL_INDEX_ATTRIBUTE,ne=i.TABLE_PREVENT_SELECTION_ELEMENT,G=e=>{const{hasChildren:l,level:t=[0],expanded:a,dataItem:n,format:o,id:s,ariaColumnIndex:c,isSelected:u}=e,m=h.getNestedValue(e.field,n),p=R.useInternationalization(),v=i.useTableKeyboardNavigation(s);let y="";const S=r.useCallback(I=>{I.isDefaultPrevented()||I.keyCode===h.Keys.enter&&e.expandable&&(I.preventDefault(),e.onExpandChange(I,n,t))},[e.expandable,n,t]);m!=null&&(y=o?p.format(o,m):m.toString());const x=[];if(e.expandable){const I=b=>r.createElement("span",{key:b,className:"k-treelist-toggle k-icon k-svg-icon"},r.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));x.push(...t.slice(1).map((b,L)=>I(L))),l?x.push(r.createElement(h.IconWrap,{className:"k-treelist-toggle",name:a?"caret-alt-down":"caret-alt-right",icon:a?M.caretAltDownIcon:M.caretAltRightIcon,key:"expand-collapse",onClick:b=>e.onExpandChange(b.syntheticEvent||b,n,t),[ne]:!0})):x.push(I(x.length))}const O=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":u}),colSpan:e.colSpan,"aria-colindex":c,"aria-expanded":l?a:void 0,"aria-selected":u,role:"gridcell",onKeyDown:S,[D]:e.colIndex,...v},x,y);return e.render?e.render.call(void 0,O,e):O};G.displayName="KendoReactTreeListCell";const U="treelist.filterClearButton",K="treelist.filterEqOperator",z="treelist.filterNotEqOperator",B="treelist.filterIsNullOperator",_="treelist.filterIsNotNullOperator",oe="treelist.filterIsEmptyOperator",le="treelist.filterIsNotEmptyOperator",re="treelist.filterStartsWithOperator",ie="treelist.filterContainsOperator",se="treelist.filterNotContainsOperator",ce="treelist.filterEndsWithOperator",de="treelist.filterGteOperator",he="treelist.filterGtOperator",ue="treelist.filterLteOperator",ge="treelist.filterLtOperator",me="treelist.filterIsTrue",fe="treelist.filterIsFalse",pe="treelist.filterBooleanAll",be="treelist.filterAfterOrEqualOperator",Ce="treelist.filterAfterOperator",ve="treelist.filterBeforeOperator",xe="treelist.filterBeforeOrEqualOperator",W="treelist.noRecords",X={[U]:"Clear",[K]:"Is equal to",[z]:"Is not equal to",[B]:"Is null",[_]:"Is not null",[oe]:"Is empty",[le]:"Is not empty",[re]:"Starts with",[ie]:"Contains",[se]:"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",[me]:"Is true",[fe]:"Is false",[pe]:"(All)",[be]:"Is after or equal to",[Ce]:"Is after",[ve]:"Is before",[xe]:"Is before or equal to",[W]:"No records available"};class $ extends r.Component{render(){return this.props.children||R.provideLocalizationService(this).toLanguageString(W,X[W])}}R.registerForLocalization($);const H=r.forwardRef((e,l)=>{const{isSelected:t,rowHeight:a,isAltRow:n,expanded:o,ariaRowIndex:s,level:c,ariaSetSize:u,ariaPosInSet:m}=e,p=h.classNames("k-table-row","k-master-row",{"k-selected":t,"k-alt":n}),v=r.useMemo(()=>a!==void 0?{height:a+"px"}:void 0,[a]),y=r.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:p,style:v,ref:l,"aria-expanded":o,role:"row","aria-rowindex":s,"aria-level":c.length,"aria-posinset":m,"aria-setsize":u,[ae]:e.rowIndex},e.children);return r.createElement(r.Fragment,null,e.render?e.render.call(void 0,y,e):y)});H.displayName="KendoReactTreeListRow";const _e={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 Y extends r.Component{constructor(l){super(l),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:a=0}=t,{scrollable:n,rowHeight:o=0}=this.props;if(n==="virtual"||o)this.element.scroll(0,(a-1)*o);else{const s=this.element.querySelector(`tbody > tr:nth-child(${a})`);if(s){const c=s.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,c)}}},this.getExtendedColumn=h.memoizeOne((t,a)=>i.readColumns(t,{prevId:0,idPrefix:a})),this.getColumnsMap=h.memoizeOne(t=>i.mapColumns(t)),this.onKeyDown=t=>{if(i.tableKeyboardNavigation.onKeyDown(t,{contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:a,cell:n}=i.getSelectionOptions(this.props.selectable),o={dataItems:this.getLeafDataItems(),mode:a,cell:n,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(t)};this.props.onKeyDown.call(void 0,o)}},this.onFocus=t=>{i.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,a,n)=>{const o=this.extendedColumn[t].depth,s=u=>{do u++;while(u<this.extendedColumn.length&&this.extendedColumn[u].depth>o);return u},c=this.extendedColumn.splice(t,s(t)-t);if(this.extendedColumn.splice(t<a?s(a-c.length):a,0,...c),this.extendedColumn.filter(u=>u.declarationIndex>=0).forEach((u,m)=>u.orderIndex=m),this.props.onColumnReorder){const u={target:this,columns:this.columns,nativeEvent:n};this.props.onColumnReorder.call(void 0,u)}},this.onResize=(t,a,n,o,s)=>{if(this.props.onColumnResize){const c=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,p)=>m+=parseFloat(String(p.width)),0),u={columns:this.columns,totalWidth:c,index:t,nativeEvent:o,newWidth:a,oldWidth:n,end:s,target:this};this.props.onColumnResize.call(void 0,u)}},this.handleOnScroll=t=>{const a=t.currentTarget.scrollLeft,n=t.currentTarget.scrollTop,{columnVirtualization:o,scrollable:s,rowHeight:c=0}=this.props,u=c,m=0;let p=!1;o&&Math.abs(this.wrapperScrollLeft-a)>m&&(this.wrapperScrollLeft=a,p=!0),s==="virtual"&&Math.abs(this.wrapperScrollTop-n)>u&&(this.wrapperScrollTop=n,p=!0),p&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=t=>{if(!t||this.props.scrollable==="none")return;const a=Array.from(t.childNodes),n=a.find(c=>c.nodeName==="TABLE"),o=this.props.toolbar&&a.find(c=>c.nodeType===1&&c.classList.contains("k-grid-toolbar"));let s=0;if(o){const c=o.style.boxSizing;o.style.boxSizing="border-box",s=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=c,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=n.tBodies[0].offsetTop,ee(n,s)},this.itemChange=t=>{const a=this.props.onItemChange;if(t.field===this.props.expandField){const n=this.props.onExpandChange;if(n){const o={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,value:t.value};n.call(void 0,o)}return}if(a){const n={...this.getArguments(t.syntheticEvent),dataItem:t.dataItem,level:t.level,field:t.field,value:t.value};a.call(void 0,n)}},this.onHeaderSelectionChange=t=>{if(this.props.onHeaderSelectionChange){const a={field:t.field,nativeEvent:t.syntheticEvent&&t.syntheticEvent.nativeEvent,syntheticEvent:t.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,a)}},this.selectionRelease=t=>{if(this.props.onSelectionChange){const a={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,a)}},this.sortChange=(t,a,n)=>{this.raiseDataEvent(this.props.onSortChange,{sort:a,field:n},t)},this.headerFilterChange=(t,a,n)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t)},this.filterChange=t=>{const{filter:a,field:n}=t;this.raiseDataEvent(this.props.onFilterChange,{filter:a,field:n},t.syntheticEvent)},this.columnMenuFilterChange=(t,a,n)=>{const{onColumnMenuFilterChange:o}=this.props;if(!o)return;const s={syntheticEvent:t,filter:a,field:n,target:this,nativeEvent:t.nativeEvent};o.call(void 0,s)},this.expandChange=(t,a,n)=>{const{expandField:o,onExpandChange:s}=this.props;if(o&&s){const c={...this.getArguments(t),dataItem:a,level:n,value:this.expanded(a)};s.call(void 0,c)}},this.rowClick=(t,a)=>{if(this.props.onRowClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowClick.call(void 0,n)}},this.rowDoubleClick=(t,a)=>{if(this.props.onRowDoubleClick&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowDoubleClick.call(void 0,n)}},this.rowContextMenu=(t,a)=>{if(this.props.onRowContextMenu&&t.target.nodeName==="TD"){const n={dataItem:a.dataItem,level:a.level,...this.getArguments(t)};this.props.onRowContextMenu.call(void 0,n)}},this.onPageChange=t=>{if(this.props.onPageChange){const a={...this.getArguments(t.syntheticEvent),skip:t.skip,take:t.take};this.props.onPageChange.call(void 0,a)}},this.expandedSubItems=t=>{const a=[];return this.expanded(t)&&this.hasChildren(t)&&a.push(...h.getNestedValue(this.props.subItemsField,t)),a},this.getLeafDataItems=()=>this.flatData.map(t=>t.dataItem),this.expanded=t=>!!h.getNestedValue(this.props.expandField,t),this.hasChildren=t=>!!h.getNestedValue(this.props.subItemsField,t),h.validatePackage(_e),this.dragLogic=new i.CommonDragLogic(this.columnReorder,h.noop,h.noop),this.columnResize=new i.ColumnResize(this.onResize.bind(this)),i.tableKeyboardNavigation.onConstructor({navigatable:!!l.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(h.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),i.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return i.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(l){l.columns!==this.props.columns&&this.calculateSizes(this.element),i.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:l=[],filterRow:t,scrollable:a="scrollable",resizable:n=!1,reorderable:o=!1,skip:s,take:c}=this.props,u=l.some(g=>!!g.filter||!!g.filterCell)||t!==void 0,m=t||i.FilterRow,p=i.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);this.extendedColumn=this.getExtendedColumn(l,p),this.columnsMap=this.getColumnsMap(this.extendedColumn);const v=this.extendedColumn.filter(g=>g.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=n,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=o,this.dragLogic.groupable=!1;const y=r.createElement(i.Header,{headerRow:r.createElement(i.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:u&&r.createElement(m,{columns:v,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),S=this.props.style||{},{colSpans:x,hiddenColumns:O}=i.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:v,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((S.width||"").toString())}),I=(g,E,F,P,A,k)=>v.map((f,C)=>{if(O[C])return null;const w=f.id?f.id:C,q=`${f.className?f.className+" ":""}${f.locked?"k-grid-content-sticky":""}`,N={id:i.tableKeyboardNavigationTools.generateNavigatableId(`${F}-${String(C)}`,p),colSpan:x[C],dataItem:g.dataItem,field:f.field,format:f.format,className:q||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?T=>{this.selectionChange({event:T,item:g,columnIndex:C,dataIndex:A})}:void 0,level:g.level,expandable:f.expandable,expanded:P,hasChildren:this.hasChildren(g.dataItem),onExpandChange:this.expandChange,colIndex:C,ariaColumnIndex:f.ariaColumnIndex,style:f.left!==void 0&&{left:f.left,right:f.right,borderRightWidth:f.rightBorder?"1px":""}||{},isSelected:Array.isArray(k)&&k.indexOf(C)>-1};return E&&f.editCell?r.createElement(f.editCell,{key:w,...N,onChange:this.itemChange}):f.cell?r.createElement(f.cell,{key:w,...N}):r.createElement(G,{key:w,...N})});let b=this.flatData;const L=b.length;s!==void 0&&c!==void 0&&(b=b.slice(s,s+c)),a==="virtual"&&(b=te({rows:b,tableViewPortHeight:parseFloat((S.height||S.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const we=b.map(g=>g.level),Ne=this.columnsMap.length+(u?1:0)+1,De=b.length>0&&b.map((g,E)=>{const F=h.getNestedValue(this.props.editField,g.dataItem),P=this.props.dataItemKey&&h.getter(this.props.dataItemKey)(g.dataItem),A=String(P||g.level.join(".")),k=this.expanded(g.dataItem),f=this.props.selectedField?h.getNestedValue(this.props.selectedField,g.dataItem):void 0,C={key:A,level:g.level,levels:we,dataItem:g.dataItem,selectedField:this.props.selectedField,rowHeight:a==="virtual"?g.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:T=>this.rowClick(T,g),onDoubleClick:T=>this.rowDoubleClick(T,g),onContextMenu:T=>this.rowContextMenu(T,g),isAltRow:E%2!==0,expanded:k,rowIndex:E,ariaRowIndex:Ne+E,ariaSetSize:g.levelCount,ariaPosInSet:g.level[g.level.length-1]+1,isSelected:typeof f=="boolean"&&f},w=this.props.editRow,q=this.props.row||H,N=I(g,F,A,k,E,f);return F&&w?r.createElement(w,{...C,key:C.key},N):r.createElement(q,{...C,key:C.key},N)})||r.createElement("tr",{className:"k-table-row k-grid-norecords"},r.createElement("td",{colSpan:v.length},this.props.noRecords||r.createElement($,null))),ke=g=>this.props.sort&&this.props.sort.some(E=>E.field===g),Oe=r.createElement("colgroup",{ref:g=>{this.columnResize.colGroupMain=g}},v.map((g,E)=>r.createElement("col",{key:E.toString(),className:ke(g.field)?"k-sorted":void 0,style:g.width!==void 0?{width:g.width}:void 0}))),Le=this.props.columnVirtualization||this.props.scrollable==="virtual",Fe=this.props.selectable&&this.props.selectable.drag?"none":void 0,J=this.props.tableProps||{};return r.createElement(i.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},r.createElement("div",{id:this.props.id,style:this.props.style,className:h.classNames("k-grid k-grid-md","k-treelist",this.props.className,{"k-treelist-scrollable":a!=="none"}),ref:g=>this.element=g,onScroll:Le?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":L,"aria-colcount":v.length,role:"treegrid",...i.tableKeyboardNavigationScopeAttributes},this.props.toolbar,r.createElement(i.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},r.createElement("table",{className:"k-table k-table-md k-grid-table",...J,style:{...J.style||{},userSelect:Fe},role:"presentation"},Oe,y,r.createElement("tbody",{className:"k-table-tbody",...i.tableKeyboardNavigationBodyAttributes,role:"presentation"},De))),this.props.pager&&r.createElement(this.props.pager,{className:"k-grid-pager",total:L,skip:s,take:c,onPageChange:this.onPageChange}),o&&r.createElement(r.Fragment,null,r.createElement(i.DropClue,{ref:this.dragLogic.refDropElementClue}),r.createElement(i.DragClue,{ref:this.dragLogic.refDragElementClue}))))}get columns(){const l=this.extendedColumn.filter(a=>a.declarationIndex>=0&&a.parentIndex===-1),t=a=>(a.sort((n,o)=>n.declarationIndex-o.declarationIndex),a.map(n=>{const{declarationIndex:o,parentIndex:s,depth:c,colSpan:u,rowSpan:m,index:p,kFirst:v,groupable:y,children:S,...x}=n;return S.length?{children:t(S),...x}:x}));return t(l)}get flatData(){const{data:l=[],rowHeight:t=0}=this.props;let a=0;const n=s=>{const c={height:t,offsetTop:a};return a+=c.height,c};let o=this.updateOnScroll&&this.prevData===l&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:i.flatData(l,this.expandedSubItems,n);return this.prevData=l,this.flattedData=o,o}selectionChange(l){if(this.props.onSelectionChange){const{event:t,item:a,dataIndex:n,columnIndex:o}=l,{mode:s,cell:c}=i.getSelectionOptions(this.props.selectable),u={...this.getArguments(t.syntheticEvent),dataItem:a.dataItem,level:a.level,startColIndex:o,endColIndex:o,startRowIndex:n,endRowIndex:n,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:s,cell:c,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,u)}}raiseDataEvent(l,t,a){const n=this.props.onDataStateChange;if(l)l.call(void 0,{...this.getArguments(a),...t});else if(n){const o={...this.getArguments(a),dataState:{...this.getDataState(),...t}};n.call(void 0,o)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(l){return{nativeEvent:l&&l.nativeEvent,syntheticEvent:l,target:this}}}Y.propTypes={data:d.array,resizable:d.bool,reorderable:d.bool,sortable:d.oneOfType([d.bool,d.shape({mode:d.oneOf(["single","multiple"]),allowUnsort:d.bool})]),onSortChange:d.func,sort:d.array,columns:d.arrayOf(d.object),columnVirtualization:d.bool,filter:d.array,onFilterChange:d.func,filterRow:d.any,toolbar:d.any,noRecords:d.any,onExpandChange:d.func,expandField:d.string,subItemsField:d.string,selectedField:d.string,onSelectionChange:d.func,onHeaderSelectionChange:d.func,onRowClick:d.func,onItemChange:d.func,editField:d.string,scrollable:d.oneOf(["none","scrollable","virtual"]),rowHeight:d.number,style:d.object,tableProps:d.object,pager:d.any,skip:d.number,take:d.number,onPageChange:d.func,onDataStateChange:d.func,onColumnResize:d.func,onColumnReorder:d.func,dataItemKey:d.string,navigatable:d.bool};Y.contextType=i.TableKeyboardNavigationContext;const He=e=>r.createElement(i.HeaderCell,{...e}),Ee=e=>{const l=r.useCallback(s=>{e.selectionChange&&e.selectionChange({syntheticEvent:s})},[e.selectionChange]),t=h.useId(),a=h.getNestedValue(e.field,e.dataItem),n=i.useTableKeyboardNavigation(e.id),o=r.createElement("td",{style:e.style,className:h.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...n},r.createElement("input",{checked:typeof a=="boolean"&&a,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Ee.displayName="KendoReactTreeListSelectionCell";class Ve extends r.Component{constructor(){super(...arguments),this._inputId=h.guid()}render(){return r.createElement(i.HeaderSelectionCell,{inputId:this._inputId,...this.props})}}const qe=e=>e.visible&&h.canUseDOM?ze.createPortal(r.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"}},r.createElement(h.IconWrap,{className:h.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?M.plusIcon:M.cancelIcon}),e.text),document.body):null;function je(e,l,t){if(!e.originalEvent)return-1;let a=Ie(e,"tr",t);if(a){const n=l?l.childNodes:[];for(let o=0;o<n.length;o++)if(n[o]===a)return o}return-1}function Ie(e,l,t){let a=t?t.elementFromPoint(e.clientX,e.clientY):null;return l&&a?a.closest(l):null}const Ue="k-grid k-grid-md",Q={visible:!1,top:0,left:0,text:"",allowDrop:!1};class We extends r.Component{constructor(){super(...arguments),this.state={clueProps:{...Q}},this.draggable=r.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=l=>{if(!h.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,a=t?t.ownerDocument:document;if(!a)return;const n=l.event,o=this.dragged;if(t&&o){!n.isTouch&&n.type!=="scroll"&&n.originalEvent.preventDefault();const s=this.props.levels[je(n,t.parentNode,a)];this.draggedOver=s;const c=s?!o.every((u,m)=>u===s[m]):!!Ie(n,Ue,a);this.setState({clueProps:{visible:!0,top:n.pageY+10,left:n.pageX,text:t.innerText,allowDrop:c}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:n.originalEvent,dragged:o,draggedOver:s,draggedItem:this.props.dataItem})}},this.onRelease=l=>{const t=l.event;if(this.dragged){const a=[...this.dragged],n=this.draggedOver&&[...this.draggedOver],o=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...Q}});const s=this.props.dataItem;o&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:a,draggedOver:n,draggedItem:s})}}}render(){const{clueProps:l}=this.state;return r.createElement(r.Fragment,null,r.createElement(h.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},r.createElement(H,{...this.props})),r.createElement(qe,{...l}))}}class Xe extends r.Component{render(){return r.createElement("div",{className:"k-toolbar k-toolbar-md k-grid-toolbar"},this.props.children)}}const Ge=[{text:ie,operator:"contains"},{text:se,operator:"doesnotcontain"},{text:K,operator:"eq"},{text:z,operator:"neq"},{text:re,operator:"startswith"},{text:ce,operator:"endswith"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"},{text:oe,operator:"isempty"},{text:le,operator:"isnotempty"}],$e=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:de,operator:"gte"},{text:he,operator:"gt"},{text:ue,operator:"lte"},{text:ge,operator:"lt"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Ye=[{text:K,operator:"eq"},{text:z,operator:"neq"},{text:be,operator:"gte"},{text:Ce,operator:"gt"},{text:ve,operator:"lt"},{text:xe,operator:"lte"},{text:B,operator:"isnull"},{text:_,operator:"isnotnull"}],Je=[{text:pe,operator:""},{text:me,operator:!0},{text:fe,operator:!1}];function V(e,l){return{clearButtonTitle:e.toLanguageString(U,X[U]),operators:l.map(t=>({text:e.toLanguageString(t.text,X[t.text]),operator:t.operator}))}}const Qe=function(e){const{operators:l,...t}=e;return r.createElement(i.TextFilterCell,{ariaLabel:"text filter",...V(R.useLocalization(),l||Ge),...t})},Ze=function(e){const{operators:l,...t}=e;return r.createElement(i.NumericFilterCell,{ariaLabel:"numeric filter",...V(R.useLocalization(),l||$e),...t})},et=function(e){const{operators:l,...t}=e;return r.createElement(i.DateFilterCell,{ariaLabel:"date filter",...V(R.useLocalization(),l||Ye),...t})},tt=function(e){const{operators:l,...t}=e;return r.createElement(i.BooleanFilterCell,{ariaLabel:"boolean filter",...V(R.useLocalization(),l||Je),...t})},ye=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o,value:o.target.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className),n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement("input",{style:{width:"100%"},className:"k-input",value:h.getNestedValue(e.field,e.dataItem)||"",onChange:l}));return e.render?e.render.call(void 0,n,e):n};ye.displayName="KendoReactTreeListTextEditor";const Se=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s.syntheticEvent,value:s.value})},[e.onChange,e.dataItem,e.level,e.field]),t=h.getNestedValue(e.field,e.dataItem),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement(Me.NumericTextBox,{width:"100%",value:t===void 0?null:t,onChange:l}));return e.render?e.render.call(void 0,o,e):o};Se.displayName="KendoReactTreeListNumericEditor";const Te=e=>{const l=r.useCallback(s=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:s,value:s.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),t=h.useId(),a=i.useTableKeyboardNavigation(e.id),n=h.classNames({["k-selected"]:e.isSelected},e.className),o=r.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...a,[D]:e.colIndex},r.createElement("input",{checked:h.getNestedValue(e.field,e.dataItem)||!1,id:t,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:l}),r.createElement("label",{className:"k-checkbox-label",htmlFor:t}));return e.render?e.render.call(void 0,o,e):o};Te.displayName="KendoReactTreeListBooleanEditor";const Re=e=>{const l=r.useCallback(o=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:o.syntheticEvent,value:o.value})},[e.onChange,e.dataItem,e.level,e.field]),t=i.useTableKeyboardNavigation(e.id),a=h.classNames({["k-selected"]:e.isSelected},e.className);let n=r.createElement("td",{style:e.style,className:a,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...t,[D]:e.colIndex},r.createElement(Ke.DatePicker,{width:"100%",value:h.getNestedValue(e.field,e.dataItem),onChange:l}));return e.render?e.render.call(void 0,n,e):n};Re.displayName="KendoReactTreeListDateEditor";Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:()=>h.getNestedValue});Object.defineProperty(exports,"mapTree",{enumerable:!0,get:()=>h.mapTree});Object.defineProperty(exports,"mapTreeItem",{enumerable:!0,get:()=>h.mapTreeItem});Object.defineProperty(exports,"createDataTree",{enumerable:!0,get:()=>i.createDataTree});Object.defineProperty(exports,"extendDataItem",{enumerable:!0,get:()=>i.extendDataItem});Object.defineProperty(exports,"filterBy",{enumerable:!0,get:()=>i.filterBy});Object.defineProperty(exports,"flatData",{enumerable:!0,get:()=>i.flatData});Object.defineProperty(exports,"getItemPath",{enumerable:!0,get:()=>i.getItemPath});Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>i.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>i.getSelectedStateFromKeyDown});Object.defineProperty(exports,"modifySubItems",{enumerable:!0,get:()=>i.modifySubItems});Object.defineProperty(exports,"moveTreeItem",{enumerable:!0,get:()=>i.moveTreeItem});Object.defineProperty(exports,"orderBy",{enumerable:!0,get:()=>i.orderBy});Object.defineProperty(exports,"removeItems",{enumerable:!0,get:()=>i.removeItems});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>i.setSelectedState});Object.defineProperty(exports,"treeToFlat",{enumerable:!0,get:()=>i.treeToFlat});exports.TREELIST_COL_INDEX_ATTRIBUTE=D;exports.TREELIST_PREVENT_SELECTION_ELEMENT=ne;exports.TREELIST_ROW_INDEX_ATTRIBUTE=ae;exports.TreeList=Y;exports.TreeListBooleanEditor=Te;exports.TreeListBooleanFilter=tt;exports.TreeListCell=G;exports.TreeListDateEditor=Re;exports.TreeListDateFilter=et;exports.TreeListDraggableRow=We;exports.TreeListHeaderCell=He;exports.TreeListHeaderSelectionCell=Ve;exports.TreeListNoRecords=$;exports.TreeListNumericEditor=Se;exports.TreeListNumericFilter=Ze;exports.TreeListRow=H;exports.TreeListSelectionCell=Ee;exports.TreeListTextEditor=ye;exports.TreeListTextFilter=Qe;exports.TreeListToolbar=Xe;exports.setHeaderRowsTop=ee;exports.tableRowsVirtualization=te;
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";
@@ -7,7 +7,7 @@ import * as l from "react";
7
7
  import c from "prop-types";
8
8
  import { getNestedValue as v, Keys as Fe, IconWrap as ae, classNames as I, memoizeOne as J, validatePackage as Ae, noop as Q, canUseDOM as $, getter as Me, useId as ne, guid as Pe, Draggable as ze } from "@progress/kendo-react-common";
9
9
  import { getNestedValue as Qt, mapTree as Zt, mapTreeItem as ea } from "@progress/kendo-react-common";
10
- import { TABLE_ROW_INDEX_ATTRIBUTE as He, TABLE_COL_INDEX_ATTRIBUTE as Be, TABLE_PREVENT_SELECTION_ELEMENT as Ke, useTableKeyboardNavigation as T, readColumns as _e, mapColumns as qe, tableKeyboardNavigation as k, getSelectionOptions as Z, CommonDragLogic as Ve, ColumnResize as Ue, tableKeyboardNavigationTools as ee, Header as We, HeaderRow as Xe, tableColumnsVirtualization as Ge, TableKeyboardNavigationContext as oe, tableKeyboardNavigationScopeAttributes as $e, TableSelection as je, tableKeyboardNavigationBodyAttributes as Ye, DropClue as Je, DragClue as Qe, flatData as Ze, FilterRow as et, HeaderCell as tt, HeaderSelectionCell as at, TextFilterCell as nt, NumericFilterCell as ot, DateFilterCell as lt, BooleanFilterCell as rt } from "@progress/kendo-react-data-tools";
10
+ import { TABLE_ROW_INDEX_ATTRIBUTE as He, TABLE_COL_INDEX_ATTRIBUTE as Be, TABLE_PREVENT_SELECTION_ELEMENT as Ke, useTableKeyboardNavigation as T, readColumns as _e, mapColumns as qe, tableKeyboardNavigation as D, getSelectionOptions as Z, CommonDragLogic as Ve, ColumnResize as Ue, tableKeyboardNavigationTools as ee, Header as We, HeaderRow as Xe, tableColumnsVirtualization as Ge, TableKeyboardNavigationContext as oe, tableKeyboardNavigationScopeAttributes as $e, TableSelection as je, tableKeyboardNavigationBodyAttributes as Ye, DropClue as Je, DragClue as Qe, flatData as Ze, FilterRow as et, HeaderCell as tt, HeaderSelectionCell as at, TextFilterCell as nt, NumericFilterCell as ot, DateFilterCell as lt, BooleanFilterCell as rt } from "@progress/kendo-react-data-tools";
11
11
  import { createDataTree as aa, extendDataItem as na, filterBy as oa, flatData as la, getItemPath as ra, getSelectedState as ia, getSelectedStateFromKeyDown as sa, modifySubItems as ca, moveTreeItem as da, orderBy as ha, removeItems as ga, setSelectedState as ua, treeToFlat as ma } from "@progress/kendo-react-data-tools";
12
12
  import { useInternationalization as it, provideLocalizationService as st, registerForLocalization as ct, useLocalization as z } from "@progress/kendo-react-intl";
13
13
  import { caretAltDownIcon as dt, caretAltRightIcon as ht, plusIcon as gt, cancelIcon as ut } from "@progress/kendo-svg-icons";
@@ -83,8 +83,8 @@ const bt = He, L = Be, Et = Ke, le = (e) => {
83
83
  "k-table-td",
84
84
  e.className,
85
85
  {
86
- ["k-text-nowrap"]: e.expandable,
87
- ["k-selected"]: d
86
+ "k-text-nowrap": e.expandable,
87
+ "k-selected": d
88
88
  }
89
89
  ),
90
90
  colSpan: e.colSpan,
@@ -173,7 +173,7 @@ const It = {
173
173
  name: "@progress/kendo-react-treelist",
174
174
  productName: "KendoReact",
175
175
  productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
176
- publishDate: 1702651756,
176
+ publishDate: 1705077198,
177
177
  version: "",
178
178
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
179
179
  };
@@ -197,7 +197,7 @@ class we extends l.Component {
197
197
  ), this.getColumnsMap = J(
198
198
  (t) => qe(t)
199
199
  ), this.onKeyDown = (t) => {
200
- if (k.onKeyDown(t, {
200
+ if (D.onKeyDown(t, {
201
201
  contextStateRef: this.contextStateRef,
202
202
  navigationStateRef: this.navigationStateRef
203
203
  }), this.props.onKeyDown) {
@@ -212,7 +212,7 @@ class we extends l.Component {
212
212
  this.props.onKeyDown.call(void 0, o);
213
213
  }
214
214
  }, this.onFocus = (t) => {
215
- k.onFocus(t, {
215
+ D.onFocus(t, {
216
216
  contextStateRef: this.contextStateRef
217
217
  });
218
218
  }, this.onRowDrag = (t) => {
@@ -381,7 +381,7 @@ class we extends l.Component {
381
381
  }, this.expandedSubItems = (t) => {
382
382
  const a = [];
383
383
  return this.expanded(t) && this.hasChildren(t) && a.push(...v(this.props.subItemsField, t)), a;
384
- }, this.getLeafDataItems = () => this.flatData.map((t) => t.dataItem), this.expanded = (t) => !!v(this.props.expandField, t), this.hasChildren = (t) => !!v(this.props.subItemsField, t), Ae(It), this.dragLogic = new Ve(this.columnReorder, Q, Q), this.columnResize = new Ue(this.onResize.bind(this)), k.onConstructor({
384
+ }, this.getLeafDataItems = () => this.flatData.map((t) => t.dataItem), this.expanded = (t) => !!v(this.props.expandField, t), this.hasChildren = (t) => !!v(this.props.subItemsField, t), Ae(It), this.dragLogic = new Ve(this.columnReorder, Q, Q), this.columnResize = new Ue(this.onResize.bind(this)), D.onConstructor({
385
385
  navigatable: !!r.navigatable,
386
386
  contextStateRef: this.contextStateRef,
387
387
  navigationStateRef: this.navigationStateRef
@@ -398,7 +398,7 @@ class we extends l.Component {
398
398
  * @hidden
399
399
  */
400
400
  componentDidMount() {
401
- this.calculateSizes(this.element), k.onComponentDidMount({
401
+ this.calculateSizes(this.element), D.onComponentDidMount({
402
402
  scope: this.element || void 0,
403
403
  contextStateRef: this.contextStateRef,
404
404
  navigationStateRef: this.navigationStateRef
@@ -408,7 +408,7 @@ class we extends l.Component {
408
408
  * @hidden
409
409
  */
410
410
  getSnapshotBeforeUpdate() {
411
- return k.onGetSnapshotBeforeUpdate({
411
+ return D.onGetSnapshotBeforeUpdate({
412
412
  document: this.document,
413
413
  contextStateRef: this.contextStateRef,
414
414
  navigationStateRef: this.navigationStateRef
@@ -418,7 +418,7 @@ class we extends l.Component {
418
418
  * @hidden
419
419
  */
420
420
  componentDidUpdate(r) {
421
- r.columns !== this.props.columns && this.calculateSizes(this.element), k.onComponentDidUpdate({
421
+ r.columns !== this.props.columns && this.calculateSizes(this.element), D.onComponentDidUpdate({
422
422
  scope: this.element || void 0,
423
423
  contextStateRef: this.contextStateRef,
424
424
  navigationStateRef: this.navigationStateRef
@@ -489,7 +489,7 @@ class we extends l.Component {
489
489
  }), E = (h, b, A, M, P, N) => C.map((u, p) => {
490
490
  if (O[p])
491
491
  return null;
492
- const R = u.id ? u.id : p, V = `${u.className ? u.className + " " : ""}${u.locked ? "k-grid-content-sticky" : ""}`, D = {
492
+ const R = u.id ? u.id : p, V = `${u.className ? u.className + " " : ""}${u.locked ? "k-grid-content-sticky" : ""}`, k = {
493
493
  id: ee.generateNavigatableId(`${A}-${String(p)}`, m),
494
494
  colSpan: x[p],
495
495
  dataItem: h.dataItem,
@@ -515,7 +515,7 @@ class we extends l.Component {
515
515
  } || {},
516
516
  isSelected: Array.isArray(N) && N.indexOf(p) > -1
517
517
  };
518
- return b && u.editCell ? /* @__PURE__ */ l.createElement(u.editCell, { key: R, ...D, onChange: this.itemChange }) : u.cell ? /* @__PURE__ */ l.createElement(u.cell, { key: R, ...D }) : /* @__PURE__ */ l.createElement(le, { key: R, ...D });
518
+ return b && u.editCell ? /* @__PURE__ */ l.createElement(u.editCell, { key: R, ...k, onChange: this.itemChange }) : u.cell ? /* @__PURE__ */ l.createElement(u.cell, { key: R, ...k }) : /* @__PURE__ */ l.createElement(le, { key: R, ...k });
519
519
  });
520
520
  let f = this.flatData;
521
521
  const F = f.length;
@@ -524,7 +524,7 @@ class we extends l.Component {
524
524
  tableViewPortHeight: parseFloat((w.height || w.maxHeight || "").toString()),
525
525
  scrollTop: this.wrapperScrollTop
526
526
  }), this.updateOnScroll = !1);
527
- const Re = f.map((h) => h.level), De = this.columnsMap.length + (d ? 1 : 0) + 1, ke = f.length > 0 && f.map((h, b) => {
527
+ const Re = f.map((h) => h.level), ke = this.columnsMap.length + (d ? 1 : 0) + 1, De = f.length > 0 && f.map((h, b) => {
528
528
  const A = v(this.props.editField, h.dataItem), M = this.props.dataItemKey && Me(this.props.dataItemKey)(h.dataItem), P = String(M || h.level.join(".")), N = this.expanded(h.dataItem), u = this.props.selectedField ? v(this.props.selectedField, h.dataItem) : void 0, p = {
529
529
  key: P,
530
530
  level: h.level,
@@ -541,12 +541,12 @@ class we extends l.Component {
541
541
  isAltRow: b % 2 !== 0,
542
542
  expanded: N,
543
543
  rowIndex: b,
544
- ariaRowIndex: De + b,
544
+ ariaRowIndex: ke + b,
545
545
  ariaSetSize: h.levelCount,
546
546
  ariaPosInSet: h.level[h.level.length - 1] + 1,
547
547
  isSelected: typeof u == "boolean" && u
548
- }, R = this.props.editRow, V = this.props.row || j, D = E(h, A, P, N, b, u);
549
- return A && R ? /* @__PURE__ */ l.createElement(R, { ...p, key: p.key }, D) : /* @__PURE__ */ l.createElement(V, { ...p, key: p.key }, D);
548
+ }, R = this.props.editRow, V = this.props.row || j, k = E(h, A, P, N, b, u);
549
+ return A && R ? /* @__PURE__ */ l.createElement(R, { ...p, key: p.key }, k) : /* @__PURE__ */ l.createElement(V, { ...p, key: p.key }, k);
550
550
  }) || /* @__PURE__ */ l.createElement("tr", { className: "k-table-row k-grid-norecords" }, /* @__PURE__ */ l.createElement("td", { colSpan: C.length }, this.props.noRecords || /* @__PURE__ */ l.createElement(Se, null))), Te = (h) => this.props.sort && this.props.sort.some((b) => b.field === h), Ne = /* @__PURE__ */ l.createElement("colgroup", { ref: (h) => {
551
551
  this.columnResize.colGroupMain = h;
552
552
  } }, C.map(
@@ -566,6 +566,7 @@ class we extends l.Component {
566
566
  style: this.props.style,
567
567
  className: I(
568
568
  "k-grid k-grid-md",
569
+ "k-treelist",
569
570
  this.props.className,
570
571
  { "k-treelist-scrollable": a !== "none" }
571
572
  ),
@@ -595,7 +596,7 @@ class we extends l.Component {
595
596
  },
596
597
  Ne,
597
598
  S,
598
- /* @__PURE__ */ l.createElement("tbody", { className: "k-table-tbody", ...Ye, role: "presentation" }, ke)
599
+ /* @__PURE__ */ l.createElement("tbody", { className: "k-table-tbody", ...Ye, role: "presentation" }, De)
599
600
  )
600
601
  ),
601
602
  this.props.pager && /* @__PURE__ */ l.createElement(
@@ -902,13 +903,13 @@ class Wt extends l.Component {
902
903
  return /* @__PURE__ */ l.createElement(
903
904
  "div",
904
905
  {
905
- className: "k-toolbar k-grid-toolbar"
906
+ className: "k-toolbar k-toolbar-md k-grid-toolbar"
906
907
  },
907
908
  this.props.children
908
909
  );
909
910
  }
910
911
  }
911
- const Dt = [
912
+ const kt = [
912
913
  { text: ce, operator: "contains" },
913
914
  { text: de, operator: "doesnotcontain" },
914
915
  { text: H, operator: "eq" },
@@ -919,7 +920,7 @@ const Dt = [
919
920
  { text: _, operator: "isnotnull" },
920
921
  { text: re, operator: "isempty" },
921
922
  { text: ie, operator: "isnotempty" }
922
- ], kt = [
923
+ ], Dt = [
923
924
  { text: H, operator: "eq" },
924
925
  { text: B, operator: "neq" },
925
926
  { text: ge, operator: "gte" },
@@ -957,7 +958,7 @@ const Xt = function(e) {
957
958
  nt,
958
959
  {
959
960
  ariaLabel: "text filter",
960
- ...q(z(), r || Dt),
961
+ ...q(z(), r || kt),
961
962
  ...t
962
963
  }
963
964
  );
@@ -967,7 +968,7 @@ const Xt = function(e) {
967
968
  ot,
968
969
  {
969
970
  ariaLabel: "numeric filter",
970
- ...q(z(), r || kt),
971
+ ...q(z(), r || Dt),
971
972
  ...t
972
973
  }
973
974
  );
@@ -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 { 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
  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 { 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
  /**
@@ -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
  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 { 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
  /**
@@ -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-treelist",
3
- "version": "7.0.3-develop.1",
3
+ "version": "7.0.3-develop.11",
4
4
  "description": "React TreeList enables the display of self-referencing tabular data. KendoReact TreeList package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -24,16 +24,16 @@
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-common": "7.0.3-develop.1",
30
- "@progress/kendo-react-data-tools": "7.0.3-develop.1",
31
- "@progress/kendo-react-dateinputs": "7.0.3-develop.1",
32
- "@progress/kendo-react-dialogs": "7.0.3-develop.1",
33
- "@progress/kendo-react-dropdowns": "7.0.3-develop.1",
34
- "@progress/kendo-react-inputs": "7.0.3-develop.1",
35
- "@progress/kendo-react-intl": "7.0.3-develop.1",
36
- "@progress/kendo-svg-icons": "^2.0.0",
29
+ "@progress/kendo-react-common": "7.0.3-develop.11",
30
+ "@progress/kendo-react-data-tools": "7.0.3-develop.11",
31
+ "@progress/kendo-react-dateinputs": "7.0.3-develop.11",
32
+ "@progress/kendo-react-dialogs": "7.0.3-develop.11",
33
+ "@progress/kendo-react-dropdowns": "7.0.3-develop.11",
34
+ "@progress/kendo-react-inputs": "7.0.3-develop.11",
35
+ "@progress/kendo-react-intl": "7.0.3-develop.11",
36
+ "@progress/kendo-svg-icons": "^2.1.0",
37
37
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
38
38
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
39
39
  },
@@ -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';
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 { DataItemWrapper } from '../interfaces/DataItemWrapper';