@progress/kendo-react-treelist 15.0.1-develop.1 → 15.0.1-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.
package/TreeList.d.ts CHANGED
@@ -15,7 +15,7 @@ import * as React from 'react';
15
15
  /**
16
16
  * Represents the [KendoReact TreeList component](https://www.telerik.com/kendo-react-ui/components/treelist/get-started).
17
17
  */
18
- export declare class TreeList extends React.Component<TreeListProps, {}> {
18
+ export declare class TreeList extends React.Component<TreeListProps, Record<string, never>> {
19
19
  /**
20
20
  * @hidden
21
21
  */
package/TreeList.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("react"),a=require("prop-types"),g=require("@progress/kendo-react-common"),h=require("@progress/kendo-react-data-tools"),H=require("./utils/index.js"),Q=require("./cells/TreeListCell.js"),X=require("./TreeListNoRecords.js"),Y=require("./rows/TreeListRow.js"),P=require("./package-metadata.js");function Z(y){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(y){for(const e in y)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(y,e);Object.defineProperty(l,e,t.get?t:{enumerable:!0,get:()=>y[e]})}}return l.default=y,Object.freeze(l)}const c=Z(J),F=class F extends c.Component{constructor(l){super(l),this.element=null,this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.showLicenseWatermark=!1,this.licenseMessage=void 0,this.scrollIntoView=e=>{if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:o,rowHeight:s=0}=this.props;if(o==="virtual"||s)this.element.scroll(0,(t-1)*s);else{const r=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(r){const i=r.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,i)}}},this.getExtendedColumn=g.memoizeOne((e,t)=>h.readColumns(e,{prevId:0,idPrefix:t})),this.getColumnsMap=g.memoizeOne((e,t)=>h.mapColumns(e,t)),this.onKeyDown=e=>{if(h.tableKeyboardNavigation.onKeyDown(e,{navigatable:!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:t,cell:o}=h.getSelectionOptions(this.props.selectable),s={dataItems:this.getLeafDataItems(),mode:t,cell:o,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,s)}},this.onFocus=e=>{h.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onRowDrag=e=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...e,target:this})},this.onRowDrop=e=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...e,target:this})},this.columnReorder=(e,t,o)=>{const s=this.extendedColumn[e].depth,r=p=>{do p++;while(p<this.extendedColumn.length&&this.extendedColumn[p].depth>s);return p},i=this.extendedColumn.splice(e,r(e)-e);if(this.extendedColumn.splice(e<t?r(t-i.length):t,0,...i),this.extendedColumn.filter(p=>p.declarationIndex>=0).forEach((p,m)=>p.orderIndex=m),this.props.onColumnReorder){const p={target:this,columns:this.columns,nativeEvent:o};this.props.onColumnReorder.call(void 0,p)}},this.onResize=(e,t,o,s,r)=>{if(this.props.onColumnResize){const i=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,C)=>m+=parseFloat(String(C.width)),0),p={columns:this.columns,totalWidth:i,index:e,nativeEvent:s,newWidth:t,oldWidth:o,end:r,target:this};this.props.onColumnResize.call(void 0,p)}},this.handleOnScroll=e=>{const t=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop,{columnVirtualization:s,scrollable:r,rowHeight:i=0}=this.props,p=i,m=0;let C=!1;s&&Math.abs(this.wrapperScrollLeft-t)>m&&(this.wrapperScrollLeft=t,C=!0),r==="virtual"&&Math.abs(this.wrapperScrollTop-o)>p&&(this.wrapperScrollTop=o,C=!0),C&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=e=>{if(!e||this.props.scrollable==="none")return;const t=Array.from(e.childNodes),o=t.find(i=>i.nodeName==="TABLE"),s=this.props.toolbar&&t.find(i=>i.nodeType===1&&i.classList.contains("k-grid-toolbar"));let r=0;if(s){const i=s.style.boxSizing;s.style.boxSizing="border-box",r=parseFloat(String(window.getComputedStyle(s).height))||s.offsetHeight,s.style.boxSizing=i,s.getAttribute("style")||s.removeAttribute("style")}this.tbodyOffsetTop=o.tBodies[0].offsetTop,H.setHeaderRowsTop(o,r)},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField){const o=this.props.onExpandChange;if(o){const s={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,value:e.value};o.call(void 0,s)}return}if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};t.call(void 0,o)}},this.onHeaderSelectionChange=e=>{if(this.props.onHeaderSelectionChange){const t={field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,t)}},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.props.onSelectionChange.call(void 0,t)}},this.sortChange=(e,t,o)=>{this.raiseDataEvent(this.props.onSortChange,{sort:t,field:o},e)},this.headerFilterChange=(e,t,o)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e)},this.filterChange=e=>{const{filter:t,field:o}=e;this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e.syntheticEvent)},this.columnMenuFilterChange=(e,t,o)=>{const{onColumnMenuFilterChange:s}=this.props;if(!s)return;const r={syntheticEvent:e,filter:t,field:o,target:this,nativeEvent:e.nativeEvent};s.call(void 0,r)},this.expandChange=(e,t,o)=>{const{expandField:s,onExpandChange:r}=this.props;if(s&&r){const i={...this.getArguments(e),dataItem:t,level:o,value:this.expanded(t)};r.call(void 0,i)}},this.rowClick=(e,t)=>{if(this.props.onRowClick&&e.target.nodeName==="TD"){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowClick.call(void 0,o)}},this.rowDoubleClick=(e,t)=>{if(this.props.onRowDoubleClick&&e.target.nodeName==="TD"){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowDoubleClick.call(void 0,o)}},this.rowContextMenu=(e,t)=>{if(this.props.onRowContextMenu&&e.target.nodeName==="TD"){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowContextMenu.call(void 0,o)}},this.onPageChange=e=>{if(this.props.onPageChange){const t={...this.getArguments(e.syntheticEvent),skip:e.skip,take:e.take};this.props.onPageChange.call(void 0,t)}},this.expandedSubItems=e=>{const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...g.getNestedValue(this.props.subItemsField,e)),t},this.getLeafDataItems=()=>this.flatData.map(e=>e.dataItem),this.expanded=e=>!!g.getNestedValue(this.props.expandField,e),this.hasChildren=e=>!!g.getNestedValue(this.props.subItemsField,e),this.showLicenseWatermark=!g.validatePackage(P.packageMetadata,{component:"TreeList"}),this.licenseMessage=g.getLicenseMessage(P.packageMetadata),this.dragLogic=new h.CommonDragLogic(this.columnReorder,g.noop,g.noop),this.columnResize=new h.ColumnResize(this.onResize.bind(this)),h.tableKeyboardNavigation.onConstructor({navigatable:!!l.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(g.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),h.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return h.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(l){l.columns!==this.props.columns&&this.calculateSizes(this.element),h.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:e,scrollable:t="scrollable",resizable:o=!1,reorderable:s=!1,skip:r,take:i}=this.props,p=l.some(n=>!!n.filter||!!n.filterCell)||e!==void 0,m=e||h.FilterRow,C=h.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),T=this.getExtendedColumn(l,C),z=T.length!==this.extendedColumn.length;this.extendedColumn=T,this.columnsMap=this.getColumnsMap(this.extendedColumn,z);const b=this.extendedColumn.filter(n=>n.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=o,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=s,this.dragLogic.groupable=!1;const D=c.createElement(h.Header,{headerRow:c.createElement(h.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}),reorderable:this.props.reorderable,filterRow:p&&c.createElement(m,{columns:b,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),M=this.props.style||{},{colSpans:A,hiddenColumns:V}=h.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:b,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((M.width||"").toString())}),B=(n,f,I,E,k,x)=>b.map((d,u)=>{if(V[u])return null;const R=d.id?d.id:u,L=`${d.className?d.className+" ":""}${d.locked?"k-grid-content-sticky":""}`,w={id:h.tableKeyboardNavigationTools.generateNavigatableId(`${I}-${String(u)}`,C),colSpan:A[u],dataItem:n.dataItem,field:d.field,format:d.format,className:L||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?S=>{this.selectionChange({event:S,item:n,columnIndex:u,dataIndex:k})}:void 0,level:n.level,expandable:d.expandable,expanded:E,hasChildren:this.hasChildren(n.dataItem),onExpandChange:this.expandChange,colIndex:u,ariaColumnIndex:d.ariaColumnIndex,style:d.left!==void 0&&{left:d.left,right:d.right,borderRightWidth:d.rightBorder?"1px":""}||{},isSelected:Array.isArray(x)&&x.indexOf(u)>-1};return f&&d.editCell?c.createElement(d.editCell,{key:R,...w,onChange:this.itemChange}):d.cell?c.createElement(d.cell,{key:R,...w}):c.createElement(Q.TreeListCell,{key:R,...w})});let v=this.flatData;const O=v.length;r!==void 0&&i!==void 0&&(v=v.slice(r,r+i)),t==="virtual"&&(v=H.tableRowsVirtualization({rows:v,tableViewPortHeight:parseFloat((M.height||M.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const U=v.map(n=>n.level),j=this.columnsMap.length+(p?1:0)+1,q=v.length>0&&v.map((n,f)=>{const I=g.getNestedValue(this.props.editField,n.dataItem),E=this.props.dataItemKey&&g.getter(this.props.dataItemKey)(n.dataItem),k=String(E||n.level.join(".")),x=this.expanded(n.dataItem),d=this.props.selectedField?g.getNestedValue(this.props.selectedField,n.dataItem):void 0,u={key:k,level:n.level,levels:U,dataItem:n.dataItem,selectedField:this.props.selectedField,rowHeight:t==="virtual"?n.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:S=>this.rowClick(S,n),onDoubleClick:S=>this.rowDoubleClick(S,n),onContextMenu:S=>this.rowContextMenu(S,n),isAltRow:f%2!==0,expanded:x,rowIndex:f,ariaRowIndex:j+f,ariaSetSize:n.levelCount,ariaPosInSet:n.level[n.level.length-1]+1,isSelected:typeof d=="boolean"&&d},R=this.props.editRow,L=this.props.row||Y.TreeListRow,w=B(n,I,k,x,f,d);return I&&R?c.createElement(R,{...u,key:u.key},w):c.createElement(L,{...u,key:u.key},w)})||c.createElement("tr",{className:"k-table-row k-grid-norecords"},c.createElement("td",{colSpan:b.length},this.props.noRecords||c.createElement(X.TreeListNoRecords,null))),W=n=>this.props.sort&&this.props.sort.some(f=>f.field===n),_=c.createElement("colgroup",{ref:n=>{this.columnResize.colGroupMain=n}},b.map((n,f)=>c.createElement("col",{key:f.toString(),className:W(n.field)?"k-sorted":void 0,style:n.width!==void 0?{width:n.width}:void 0}))),$=this.props.columnVirtualization||this.props.scrollable==="virtual",G=this.props.selectable&&this.props.selectable.drag?"none":void 0,K=this.props.tableProps||{};return c.createElement(h.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},c.createElement("div",{id:this.props.id,style:this.props.style,className:g.classNames("k-grid","k-treelist",this.props.className,{"k-treelist-scrollable":t!=="none"}),ref:n=>{this.element=n},onScroll:$?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":O,"aria-colcount":b.length,role:"treegrid",...h.tableKeyboardNavigationScopeAttributes},this.props.toolbar,c.createElement(h.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},c.createElement("table",{className:"k-table k-grid-table",...K,style:{...K.style||{},userSelect:G},role:"presentation"},_,D,c.createElement("tbody",{className:"k-table-tbody",...h.tableKeyboardNavigationBodyAttributes,role:"presentation"},q))),this.props.pager&&c.createElement(this.props.pager,{className:"k-grid-pager",total:O,skip:r,take:i,onPageChange:this.onPageChange}),s&&c.createElement(c.Fragment,null,c.createElement(h.DropClue,{ref:this.dragLogic.refDropElementClue}),c.createElement(h.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&c.createElement(g.WatermarkOverlay,{message:this.licenseMessage})))}get columns(){const l=this.extendedColumn.filter(t=>t.declarationIndex>=0&&t.parentIndex===-1),e=t=>(t.sort((o,s)=>o.declarationIndex-s.declarationIndex),t.map(o=>{const{declarationIndex:s,parentIndex:r,depth:i,colSpan:p,rowSpan:m,index:C,kFirst:T,groupable:z,children:b,...D}=o;return b.length?{children:e(b),...D}:D}));return e(l)}get flatData(){const{data:l=[],rowHeight:e=0}=this.props;let t=0;const o=r=>{const i={height:e,offsetTop:t};return t+=i.height,i},s=this.updateOnScroll&&this.prevData===l&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:h.flatData(l,this.expandedSubItems,o);return this.prevData=l,this.flattedData=s,s}selectionChange(l){if(this.props.onSelectionChange){const{event:e,item:t,dataIndex:o,columnIndex:s}=l,{mode:r,cell:i}=h.getSelectionOptions(this.props.selectable),p={...this.getArguments(e.syntheticEvent),dataItem:t.dataItem,level:t.level,startColIndex:s,endColIndex:s,startRowIndex:o,endRowIndex:o,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:r,cell:i,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,p)}}raiseDataEvent(l,e,t){const o=this.props.onDataStateChange;if(l)l.call(void 0,{...this.getArguments(t),...e});else if(o){const s={...this.getArguments(t),dataState:{...this.getDataState(),...e}};o.call(void 0,s)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(l){return{nativeEvent:l&&l.nativeEvent,syntheticEvent:l,target:this}}};F.propTypes={data:a.array,resizable:a.bool,reorderable:a.bool,sortable:a.oneOfType([a.bool,a.shape({mode:a.oneOf(["single","multiple"]),allowUnsort:a.bool})]),onSortChange:a.func,sort:a.array,columns:a.arrayOf(a.object),columnVirtualization:a.bool,filter:a.array,onFilterChange:a.func,filterRow:a.any,toolbar:a.any,noRecords:a.any,onExpandChange:a.func,expandField:a.string,subItemsField:a.string,selectedField:a.string,onSelectionChange:a.func,onHeaderSelectionChange:a.func,onRowClick:a.func,onItemChange:a.func,editField:a.string,scrollable:a.oneOf(["none","scrollable","virtual"]),rowHeight:a.number,style:a.object,tableProps:a.object,pager:a.any,skip:a.number,take:a.number,onPageChange:a.func,onDataStateChange:a.func,onColumnResize:a.func,onColumnReorder:a.func,dataItemKey:a.string,navigatable:a.bool},F.contextType=h.TableKeyboardNavigationContext;let N=F;exports.TreeList=N;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Q=require("react"),n=require("prop-types"),g=require("@progress/kendo-react-common"),h=require("@progress/kendo-react-data-tools"),A=require("./utils/index.js"),X=require("./cells/TreeListCell.js"),Y=require("./TreeListNoRecords.js"),Z=require("./rows/TreeListRow.js"),P=require("./package-metadata.js");function ee(R){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(R){for(const e in R)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(R,e);Object.defineProperty(l,e,t.get?t:{enumerable:!0,get:()=>R[e]})}}return l.default=R,Object.freeze(l)}const d=ee(Q),M=class M extends d.Component{constructor(l){super(l),this.element=null,this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.showLicenseWatermark=!1,this.licenseMessage=void 0,this.scrollIntoView=e=>{if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:o,rowHeight:s=0}=this.props;if(o==="virtual"||s)this.element.scroll(0,(t-1)*s);else{const r=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(r){const i=r.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,i)}}},this.getExtendedColumn=g.memoizeOne((e,t)=>h.readColumns(e,{prevId:0,idPrefix:t})),this.getColumnsMap=g.memoizeOne((e,t)=>h.mapColumns(e,t)),this.onKeyDown=e=>{if(h.tableKeyboardNavigation.onKeyDown(e,{navigatable:!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:t,cell:o}=h.getSelectionOptions(this.props.selectable),s={dataItems:this.getLeafDataItems(),mode:t,cell:o,componentId:this._treeListId,selectedField:this.props.selectedField||"",...this.getArguments(e)};this.props.onKeyDown.call(void 0,s)}},this.onFocus=e=>{h.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onRowDrag=e=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...e,target:this})},this.onRowDrop=e=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...e,target:this})},this.columnReorder=(e,t,o)=>{const s=this.extendedColumn[e].depth,r=c=>{do c++;while(c<this.extendedColumn.length&&this.extendedColumn[c].depth>s);return c},i=this.extendedColumn.splice(e,r(e)-e);if(this.extendedColumn.splice(e<t?r(t-i.length):t,0,...i),this.extendedColumn.filter(c=>c.declarationIndex>=0).forEach((c,m)=>c.orderIndex=m),this.props.onColumnReorder){const c={target:this,columns:this.columns,nativeEvent:o};this.props.onColumnReorder.call(void 0,c)}},this.onResize=(e,t,o,s,r)=>{if(this.props.onColumnResize){const i=this.extendedColumn.filter(m=>m.children.length===0).reduce((m,f)=>m+=parseFloat(String(f.width)),0),c={columns:this.columns,totalWidth:i,index:e,nativeEvent:s,newWidth:t,oldWidth:o,end:r,target:this};this.props.onColumnResize.call(void 0,c)}},this.handleOnScroll=e=>{const t=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop,{columnVirtualization:s,scrollable:r,rowHeight:i=0}=this.props,c=i,m=0;let f=!1;s&&Math.abs(this.wrapperScrollLeft-t)>m&&(this.wrapperScrollLeft=t,f=!0),r==="virtual"&&Math.abs(this.wrapperScrollTop-o)>c&&(this.wrapperScrollTop=o,f=!0),f&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=e=>{if(!e||this.props.scrollable==="none")return;const t=Array.from(e.childNodes),o=t.find(i=>i.nodeName==="TABLE"),s=this.props.toolbar&&t.find(i=>i.nodeType===1&&i.classList.contains("k-grid-toolbar"));let r=0;if(s){const i=s.style.boxSizing;s.style.boxSizing="border-box",r=parseFloat(String(window.getComputedStyle(s).height))||s.offsetHeight,s.style.boxSizing=i,s.getAttribute("style")||s.removeAttribute("style")}this.tbodyOffsetTop=o.tBodies[0].offsetTop,A.setHeaderRowsTop(o,r)},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField){const o=this.props.onExpandChange;if(o){const s={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,value:e.value};o.call(void 0,s)}return}if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};t.call(void 0,o)}},this.onHeaderSelectionChange=e=>{if(this.props.onHeaderSelectionChange){const t={field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,t)}},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.props.onSelectionChange.call(void 0,t)}},this.sortChange=(e,t,o)=>{this.raiseDataEvent(this.props.onSortChange,{sort:t,field:o},e)},this.headerFilterChange=(e,t,o)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e)},this.filterChange=e=>{const{filter:t,field:o}=e;this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e.syntheticEvent)},this.columnMenuFilterChange=(e,t,o)=>{const{onColumnMenuFilterChange:s}=this.props;if(!s||!o)return;const r={syntheticEvent:e,filter:t,field:o,target:this,nativeEvent:e.nativeEvent};s.call(void 0,r)},this.expandChange=(e,t,o)=>{const{expandField:s,onExpandChange:r}=this.props;if(s&&r){const i={...this.getArguments(e),dataItem:t,level:o,value:this.expanded(t)};r.call(void 0,i)}},this.rowClick=(e,t)=>{if(this.props.onRowClick&&e.target.nodeName==="TD"){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowClick.call(void 0,o)}},this.rowDoubleClick=(e,t)=>{if(this.props.onRowDoubleClick&&e.target.nodeName==="TD"){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowDoubleClick.call(void 0,o)}},this.rowContextMenu=(e,t)=>{if(this.props.onRowContextMenu&&e.target.nodeName==="TD"){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowContextMenu.call(void 0,o)}},this.onPageChange=e=>{if(this.props.onPageChange){const t={...this.getArguments(e.syntheticEvent),skip:e.skip,take:e.take};this.props.onPageChange.call(void 0,t)}},this.expandedSubItems=e=>{const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...g.getNestedValue(this.props.subItemsField,e)),t},this.getLeafDataItems=()=>this.flatData.map(e=>e.dataItem),this.expanded=e=>!!g.getNestedValue(this.props.expandField,e),this.hasChildren=e=>!!g.getNestedValue(this.props.subItemsField,e),this.showLicenseWatermark=!g.validatePackage(P.packageMetadata,{component:"TreeList"}),this.licenseMessage=g.getLicenseMessage(P.packageMetadata),this.dragLogic=new h.CommonDragLogic(this.columnReorder,g.noop,g.noop),this.columnResize=new h.ColumnResize(this.onResize.bind(this)),h.tableKeyboardNavigation.onConstructor({navigatable:!!l.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(g.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),h.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return h.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(l){l.columns!==this.props.columns&&this.calculateSizes(this.element),h.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:e,scrollable:t="scrollable",resizable:o=!1,reorderable:s=!1,skip:r,take:i}=this.props,c=l.some(a=>!!a.filter||!!a.filterCell)||e!==void 0,m=e||h.FilterRow,f=h.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),L=this.getExtendedColumn(l,f),O=L.length!==this.extendedColumn.length;this.extendedColumn=L,this.columnsMap=this.getColumnsMap(this.extendedColumn,O);const C=this.extendedColumn.filter(a=>a.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=o,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=s,this.dragLogic.groupable=!1;const D=d.createElement(h.Header,{headerRow:d.createElement(h.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}),reorderable:this.props.reorderable,filterRow:c&&d.createElement(m,{columns:C,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),N=this.props.style||{},{colSpans:V,hiddenColumns:B}=h.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:C,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((N.width||"").toString())}),U=(a,S,w,E,k,x)=>C.map((p,u)=>{if(B[u])return null;const v=p.id?p.id:u,F=`${p.className?p.className+" ":""}${p.locked?"k-grid-content-sticky":""}`,y={id:h.tableKeyboardNavigationTools.generateNavigatableId(`${w}-${String(u)}`,f),colSpan:V[u],dataItem:a.dataItem,field:p.field,format:p.format,className:F||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?T=>{this.selectionChange({event:T,item:a,columnIndex:u,dataIndex:k})}:void 0,level:a.level,expandable:p.expandable,expanded:E,hasChildren:this.hasChildren(a.dataItem),onExpandChange:this.expandChange,colIndex:u,ariaColumnIndex:p.ariaColumnIndex,style:p.left!==void 0&&{left:p.left,right:p.right,borderRightWidth:p.rightBorder?"1px":""}||{},isSelected:Array.isArray(x)&&x.indexOf(u)>-1};return S&&p.editCell?d.createElement(p.editCell,{key:v,...y,onChange:this.itemChange}):p.cell?d.createElement(p.cell,{key:v,...y}):d.createElement(X.TreeListCell,{key:v,...y})});let b=this.flatData;const K=b.length;r!==void 0&&i!==void 0&&(b=b.slice(r,r+i)),t==="virtual"&&(b=A.tableRowsVirtualization({rows:b,tableViewPortHeight:parseFloat((N.height||N.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const j=b.map(a=>a.level),q=this.columnsMap.length+(c?1:0)+1,W=b.length>0&&b.map((a,S)=>{const w=g.getAbsoluteVirtualRowIndex(t,a,S),E=g.getNestedValue(this.props.editField,a.dataItem),k=this.props.dataItemKey&&g.getter(this.props.dataItemKey)(a.dataItem),x=String(k||a.level.join(".")),p=this.expanded(a.dataItem),u=this.props.selectedField?g.getNestedValue(this.props.selectedField,a.dataItem):void 0,v={key:x,level:a.level,levels:j,dataItem:a.dataItem,selectedField:this.props.selectedField,rowHeight:t==="virtual"?a.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:I=>this.rowClick(I,a),onDoubleClick:I=>this.rowDoubleClick(I,a),onContextMenu:I=>this.rowContextMenu(I,a),isAltRow:w%2!==0,expanded:p,rowIndex:w,ariaRowIndex:q+w,ariaSetSize:a.levelCount,ariaPosInSet:a.level[a.level.length-1]+1,isSelected:typeof u=="boolean"&&u},F=this.props.editRow,y=this.props.row||Z.TreeListRow,T=U(a,E,x,p,w,u);return E&&F?d.createElement(F,{...v,key:v.key},T):d.createElement(y,{...v,key:v.key},T)})||d.createElement("tr",{className:"k-table-row k-grid-norecords"},d.createElement("td",{colSpan:C.length},this.props.noRecords||d.createElement(Y.TreeListNoRecords,null))),_=a=>this.props.sort&&this.props.sort.some(S=>S.field===a),$=d.createElement("colgroup",{ref:a=>{this.columnResize.colGroupMain=a}},C.map((a,S)=>d.createElement("col",{key:S.toString(),className:_(a.field)?"k-sorted":void 0,style:a.width!==void 0?{width:a.width}:void 0}))),G=this.props.columnVirtualization||this.props.scrollable==="virtual",J=this.props.selectable&&this.props.selectable.drag?"none":void 0,H=this.props.tableProps||{};return d.createElement(h.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},d.createElement("div",{id:this.props.id,style:this.props.style,className:g.classNames("k-grid","k-treelist",this.props.className,{"k-treelist-scrollable":t!=="none"}),ref:a=>{this.element=a},onScroll:G?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":K,"aria-colcount":C.length,role:"treegrid",...h.tableKeyboardNavigationScopeAttributes},this.props.toolbar,d.createElement(h.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},d.createElement("table",{className:"k-table k-grid-table",...H,style:{...H.style||{},userSelect:J},role:"presentation"},$,D,d.createElement("tbody",{className:"k-table-tbody",...h.tableKeyboardNavigationBodyAttributes,role:"presentation"},W))),this.props.pager&&d.createElement(this.props.pager,{className:"k-grid-pager",total:K,skip:r,take:i,onPageChange:this.onPageChange}),s&&d.createElement(d.Fragment,null,d.createElement(h.DropClue,{ref:this.dragLogic.refDropElementClue}),d.createElement(h.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&d.createElement(g.WatermarkOverlay,{message:this.licenseMessage})))}get columns(){const l=this.extendedColumn.filter(t=>t.declarationIndex>=0&&t.parentIndex===-1),e=t=>(t.sort((o,s)=>o.declarationIndex-s.declarationIndex),t.map(o=>{const{declarationIndex:s,parentIndex:r,depth:i,colSpan:c,rowSpan:m,index:f,kFirst:L,groupable:O,children:C,...D}=o;return C.length?{children:e(C),...D}:D}));return e(l)}get flatData(){const{data:l=[],rowHeight:e=0}=this.props;let t=0;const o=r=>{const i={height:e,offsetTop:t};return t+=i.height,i},s=this.updateOnScroll&&this.prevData===l&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:h.flatData(l,this.expandedSubItems,o);return this.prevData=l,this.flattedData=s,s}selectionChange(l){if(this.props.onSelectionChange){const{event:e,item:t,dataIndex:o,columnIndex:s}=l,{mode:r,cell:i}=h.getSelectionOptions(this.props.selectable),c={...this.getArguments(e.syntheticEvent),dataItem:t.dataItem,level:t.level,startColIndex:s,endColIndex:s,startRowIndex:o,endRowIndex:o,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:r,cell:i,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,c)}}raiseDataEvent(l,e,t){const o=this.props.onDataStateChange;if(l)l.call(void 0,{...this.getArguments(t),...e});else if(o){const s={...this.getArguments(t),dataState:{...this.getDataState(),...e}};o.call(void 0,s)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(l){return{nativeEvent:l&&l.nativeEvent,syntheticEvent:l,target:this}}};M.propTypes={data:n.array,resizable:n.bool,reorderable:n.bool,sortable:n.oneOfType([n.bool,n.shape({mode:n.oneOf(["single","multiple"]),allowUnsort:n.bool})]),onSortChange:n.func,sort:n.array,columns:n.arrayOf(n.object),columnVirtualization:n.bool,filter:n.array,onFilterChange:n.func,filterRow:n.any,toolbar:n.any,noRecords:n.any,onExpandChange:n.func,expandField:n.string,subItemsField:n.string,selectedField:n.string,onSelectionChange:n.func,onHeaderSelectionChange:n.func,onRowClick:n.func,onItemChange:n.func,editField:n.string,scrollable:n.oneOf(["none","scrollable","virtual"]),rowHeight:n.number,style:n.object,tableProps:n.object,pager:n.any,skip:n.number,take:n.number,onPageChange:n.func,onDataStateChange:n.func,onColumnResize:n.func,onColumnReorder:n.func,dataItemKey:n.string,navigatable:n.bool},M.contextType=h.TableKeyboardNavigationContext;let z=M;exports.TreeList=z;
package/TreeList.mjs CHANGED
@@ -7,14 +7,14 @@
7
7
  */
8
8
  import * as r from "react";
9
9
  import n from "prop-types";
10
- import { memoizeOne as H, getNestedValue as x, validatePackage as Y, getLicenseMessage as Z, noop as A, canUseDOM as ee, getter as te, classNames as oe, WatermarkOverlay as se } from "@progress/kendo-react-common";
11
- import { readColumns as ne, mapColumns as ae, tableKeyboardNavigation as R, getSelectionOptions as K, CommonDragLogic as ie, ColumnResize as le, TableKeyboardNavigationContext as O, tableKeyboardNavigationTools as P, Header as re, FilterRow as he, HeaderRow as de, tableColumnsVirtualization as ce, tableKeyboardNavigationScopeAttributes as pe, TableSelection as ge, tableKeyboardNavigationBodyAttributes as me, DropClue as ue, DragClue as fe, flatData as Ce } from "@progress/kendo-react-data-tools";
12
- import { setHeaderRowsTop as ve, tableRowsVirtualization as be } from "./utils/index.mjs";
13
- import { TreeListCell as Se } from "./cells/TreeListCell.mjs";
14
- import { TreeListNoRecords as Re } from "./TreeListNoRecords.mjs";
15
- import { TreeListRow as we } from "./rows/TreeListRow.mjs";
10
+ import { memoizeOne as A, getNestedValue as y, validatePackage as Z, getLicenseMessage as ee, noop as K, canUseDOM as te, getAbsoluteVirtualRowIndex as oe, getter as se, classNames as ne, WatermarkOverlay as ae } from "@progress/kendo-react-common";
11
+ import { readColumns as ie, mapColumns as le, tableKeyboardNavigation as S, getSelectionOptions as O, CommonDragLogic as re, ColumnResize as he, TableKeyboardNavigationContext as P, tableKeyboardNavigationTools as V, Header as de, FilterRow as ce, HeaderRow as pe, tableColumnsVirtualization as ge, tableKeyboardNavigationScopeAttributes as ue, TableSelection as me, tableKeyboardNavigationBodyAttributes as fe, DropClue as Ce, DragClue as ve, flatData as be } from "@progress/kendo-react-data-tools";
12
+ import { setHeaderRowsTop as Se, tableRowsVirtualization as we } from "./utils/index.mjs";
13
+ import { TreeListCell as Re } from "./cells/TreeListCell.mjs";
14
+ import { TreeListNoRecords as xe } from "./TreeListNoRecords.mjs";
15
+ import { TreeListRow as ye } from "./rows/TreeListRow.mjs";
16
16
  import { packageMetadata as B } from "./package-metadata.mjs";
17
- const k = class k extends r.Component {
17
+ const M = class M extends r.Component {
18
18
  constructor(h) {
19
19
  super(h), this.element = null, this.wrapperScrollLeft = 0, this.wrapperScrollTop = 0, this.updateOnScroll = !1, this.tbodyOffsetTop = 0, this.prevData = [], this.flattedData = [], this.extendedColumn = [], this.columnsMap = [], this.contextStateRef = { current: void 0 }, this.navigationStateRef = { current: void 0 }, this.showLicenseWatermark = !1, this.licenseMessage = void 0, this.scrollIntoView = (e) => {
20
20
  if (!this.element)
@@ -29,27 +29,27 @@ const k = class k extends r.Component {
29
29
  this.element.scroll(0, i);
30
30
  }
31
31
  }
32
- }, this.getExtendedColumn = H((e, t) => ne(e, {
32
+ }, this.getExtendedColumn = A((e, t) => ie(e, {
33
33
  prevId: 0,
34
34
  idPrefix: t
35
- })), this.getColumnsMap = H((e, t) => ae(e, t)), this.onKeyDown = (e) => {
36
- if (R.onKeyDown(e, {
35
+ })), this.getColumnsMap = A((e, t) => le(e, t)), this.onKeyDown = (e) => {
36
+ if (S.onKeyDown(e, {
37
37
  navigatable: !1,
38
38
  contextStateRef: this.contextStateRef,
39
39
  navigationStateRef: this.navigationStateRef
40
40
  }), this.props.onKeyDown) {
41
- const { mode: t, cell: o } = K(this.props.selectable), s = {
41
+ const { mode: t, cell: o } = O(this.props.selectable), s = {
42
42
  dataItems: this.getLeafDataItems(),
43
43
  mode: t,
44
44
  cell: o,
45
45
  componentId: this._treeListId,
46
- selectedField: this.props.selectedField,
46
+ selectedField: this.props.selectedField || "",
47
47
  ...this.getArguments(e)
48
48
  };
49
49
  this.props.onKeyDown.call(void 0, s);
50
50
  }
51
51
  }, this.onFocus = (e) => {
52
- R.onFocus(e, {
52
+ S.onFocus(e, {
53
53
  contextStateRef: this.contextStateRef
54
54
  });
55
55
  }, this.onRowDrag = (e) => {
@@ -57,23 +57,23 @@ const k = class k extends r.Component {
57
57
  }, this.onRowDrop = (e) => {
58
58
  this.props.onRowDrop && this.props.onRowDrop.call(void 0, { ...e, target: this });
59
59
  }, this.columnReorder = (e, t, o) => {
60
- const s = this.extendedColumn[e].depth, l = (c) => {
60
+ const s = this.extendedColumn[e].depth, l = (d) => {
61
61
  do
62
- c++;
63
- while (c < this.extendedColumn.length && this.extendedColumn[c].depth > s);
64
- return c;
62
+ d++;
63
+ while (d < this.extendedColumn.length && this.extendedColumn[d].depth > s);
64
+ return d;
65
65
  }, i = this.extendedColumn.splice(e, l(e) - e);
66
- if (this.extendedColumn.splice(e < t ? l(t - i.length) : t, 0, ...i), this.extendedColumn.filter((c) => c.declarationIndex >= 0).forEach((c, g) => c.orderIndex = g), this.props.onColumnReorder) {
67
- const c = {
66
+ if (this.extendedColumn.splice(e < t ? l(t - i.length) : t, 0, ...i), this.extendedColumn.filter((d) => d.declarationIndex >= 0).forEach((d, g) => d.orderIndex = g), this.props.onColumnReorder) {
67
+ const d = {
68
68
  target: this,
69
69
  columns: this.columns,
70
70
  nativeEvent: o
71
71
  };
72
- this.props.onColumnReorder.call(void 0, c);
72
+ this.props.onColumnReorder.call(void 0, d);
73
73
  }
74
74
  }, this.onResize = (e, t, o, s, l) => {
75
75
  if (this.props.onColumnResize) {
76
- const i = this.extendedColumn.filter((g) => g.children.length === 0).reduce((g, u) => g += parseFloat(String(u.width)), 0), c = {
76
+ const i = this.extendedColumn.filter((g) => g.children.length === 0).reduce((g, u) => g += parseFloat(String(u.width)), 0), d = {
77
77
  columns: this.columns,
78
78
  totalWidth: i,
79
79
  index: e,
@@ -83,12 +83,12 @@ const k = class k extends r.Component {
83
83
  end: l,
84
84
  target: this
85
85
  };
86
- this.props.onColumnResize.call(void 0, c);
86
+ this.props.onColumnResize.call(void 0, d);
87
87
  }
88
88
  }, this.handleOnScroll = (e) => {
89
- const t = e.currentTarget.scrollLeft, o = e.currentTarget.scrollTop, { columnVirtualization: s, scrollable: l, rowHeight: i = 0 } = this.props, c = i, g = 0;
89
+ const t = e.currentTarget.scrollLeft, o = e.currentTarget.scrollTop, { columnVirtualization: s, scrollable: l, rowHeight: i = 0 } = this.props, d = i, g = 0;
90
90
  let u = !1;
91
- s && Math.abs(this.wrapperScrollLeft - t) > g && (this.wrapperScrollLeft = t, u = !0), l === "virtual" && Math.abs(this.wrapperScrollTop - o) > c && (this.wrapperScrollTop = o, u = !0), u && (this.updateOnScroll = !0, this.forceUpdate());
91
+ s && Math.abs(this.wrapperScrollLeft - t) > g && (this.wrapperScrollLeft = t, u = !0), l === "virtual" && Math.abs(this.wrapperScrollTop - o) > d && (this.wrapperScrollTop = o, u = !0), u && (this.updateOnScroll = !0, this.forceUpdate());
92
92
  }, this.calculateSizes = (e) => {
93
93
  if (!e || this.props.scrollable === "none")
94
94
  return;
@@ -100,7 +100,7 @@ const k = class k extends r.Component {
100
100
  const i = s.style.boxSizing;
101
101
  s.style.boxSizing = "border-box", l = parseFloat(String(window.getComputedStyle(s).height)) || s.offsetHeight, s.style.boxSizing = i, s.getAttribute("style") || s.removeAttribute("style");
102
102
  }
103
- this.tbodyOffsetTop = o.tBodies[0].offsetTop, ve(o, l);
103
+ this.tbodyOffsetTop = o.tBodies[0].offsetTop, Se(o, l);
104
104
  }, this.itemChange = (e) => {
105
105
  const t = this.props.onItemChange;
106
106
  if (e.field === this.props.expandField) {
@@ -160,7 +160,7 @@ const k = class k extends r.Component {
160
160
  this.raiseDataEvent(this.props.onFilterChange, { filter: t, field: o }, e.syntheticEvent);
161
161
  }, this.columnMenuFilterChange = (e, t, o) => {
162
162
  const { onColumnMenuFilterChange: s } = this.props;
163
- if (!s)
163
+ if (!s || !o)
164
164
  return;
165
165
  const l = {
166
166
  syntheticEvent: e,
@@ -219,8 +219,8 @@ const k = class k extends r.Component {
219
219
  }
220
220
  }, this.expandedSubItems = (e) => {
221
221
  const t = [];
222
- return this.expanded(e) && this.hasChildren(e) && t.push(...x(this.props.subItemsField, e)), t;
223
- }, this.getLeafDataItems = () => this.flatData.map((e) => e.dataItem), this.expanded = (e) => !!x(this.props.expandField, e), this.hasChildren = (e) => !!x(this.props.subItemsField, e), this.showLicenseWatermark = !Y(B, { component: "TreeList" }), this.licenseMessage = Z(B), this.dragLogic = new ie(this.columnReorder, A, A), this.columnResize = new le(this.onResize.bind(this)), R.onConstructor({
222
+ return this.expanded(e) && this.hasChildren(e) && t.push(...y(this.props.subItemsField, e)), t;
223
+ }, this.getLeafDataItems = () => this.flatData.map((e) => e.dataItem), this.expanded = (e) => !!y(this.props.expandField, e), this.hasChildren = (e) => !!y(this.props.subItemsField, e), this.showLicenseWatermark = !Z(B, { component: "TreeList" }), this.licenseMessage = ee(B), this.dragLogic = new re(this.columnReorder, K, K), this.columnResize = new he(this.onResize.bind(this)), S.onConstructor({
224
224
  navigatable: !!h.navigatable,
225
225
  contextStateRef: this.contextStateRef,
226
226
  navigationStateRef: this.navigationStateRef
@@ -230,14 +230,14 @@ const k = class k extends r.Component {
230
230
  return this.props.id + "-treelist";
231
231
  }
232
232
  get document() {
233
- if (ee)
233
+ if (te)
234
234
  return this.element && this.element.ownerDocument || document;
235
235
  }
236
236
  /**
237
237
  * @hidden
238
238
  */
239
239
  componentDidMount() {
240
- this.calculateSizes(this.element), R.onComponentDidMount({
240
+ this.calculateSizes(this.element), S.onComponentDidMount({
241
241
  scope: this.element || void 0,
242
242
  contextStateRef: this.contextStateRef,
243
243
  navigationStateRef: this.navigationStateRef
@@ -247,7 +247,7 @@ const k = class k extends r.Component {
247
247
  * @hidden
248
248
  */
249
249
  getSnapshotBeforeUpdate() {
250
- return R.onGetSnapshotBeforeUpdate({
250
+ return S.onGetSnapshotBeforeUpdate({
251
251
  document: this.document,
252
252
  contextStateRef: this.contextStateRef,
253
253
  navigationStateRef: this.navigationStateRef
@@ -257,7 +257,7 @@ const k = class k extends r.Component {
257
257
  * @hidden
258
258
  */
259
259
  componentDidUpdate(h) {
260
- h.columns !== this.props.columns && this.calculateSizes(this.element), R.onComponentDidUpdate({
260
+ h.columns !== this.props.columns && this.calculateSizes(this.element), S.onComponentDidUpdate({
261
261
  scope: this.element || void 0,
262
262
  contextStateRef: this.contextStateRef,
263
263
  navigationStateRef: this.navigationStateRef
@@ -281,15 +281,15 @@ const k = class k extends r.Component {
281
281
  reorderable: s = !1,
282
282
  skip: l,
283
283
  take: i
284
- } = this.props, c = h.some((a) => !!a.filter || !!a.filterCell) || e !== void 0, g = e || he, u = P.getIdPrefix(this.navigationStateRef), F = this.getExtendedColumn(h, u), z = F.length !== this.extendedColumn.length;
285
- this.extendedColumn = F, this.columnsMap = this.getColumnsMap(this.extendedColumn, z);
286
- const f = this.extendedColumn.filter((a) => a.children.length === 0);
284
+ } = this.props, d = h.some((a) => !!a.filter || !!a.filterCell) || e !== void 0, g = e || ce, u = V.getIdPrefix(this.navigationStateRef), L = this.getExtendedColumn(h, u), T = L.length !== this.extendedColumn.length;
285
+ this.extendedColumn = L, this.columnsMap = this.getColumnsMap(this.extendedColumn, T);
286
+ const m = this.extendedColumn.filter((a) => a.children.length === 0);
287
287
  this.columnResize.columns = this.extendedColumn, this.columnResize.resizable = o, this.dragLogic.columns = this.extendedColumn, this.dragLogic.reorderable = s, this.dragLogic.groupable = !1;
288
- const y = /* @__PURE__ */ r.createElement(
289
- re,
288
+ const I = /* @__PURE__ */ r.createElement(
289
+ de,
290
290
  {
291
291
  headerRow: /* @__PURE__ */ r.createElement(
292
- de,
292
+ pe,
293
293
  {
294
294
  sort: this.props.sort,
295
295
  sortable: this.props.sortable,
@@ -309,10 +309,10 @@ const k = class k extends r.Component {
309
309
  }
310
310
  ),
311
311
  reorderable: this.props.reorderable,
312
- filterRow: c && /* @__PURE__ */ r.createElement(
312
+ filterRow: d && /* @__PURE__ */ r.createElement(
313
313
  g,
314
314
  {
315
- columns: f,
315
+ columns: m,
316
316
  filter: this.props.filter,
317
317
  filterChange: this.filterChange,
318
318
  sort: this.props.sort,
@@ -321,140 +321,140 @@ const k = class k extends r.Component {
321
321
  ) || void 0,
322
322
  columnResize: this.columnResize
323
323
  }
324
- ), M = this.props.style || {}, { colSpans: U, hiddenColumns: W } = ce({
324
+ ), z = this.props.style || {}, { colSpans: W, hiddenColumns: $ } = ge({
325
325
  enabled: this.props.columnVirtualization,
326
- columns: f,
326
+ columns: m,
327
327
  scrollLeft: this.wrapperScrollLeft,
328
- tableViewPortWidth: parseFloat((M.width || "").toString())
329
- }), $ = (a, m, D, I, E, w) => f.map((d, p) => {
330
- if (W[p])
328
+ tableViewPortWidth: parseFloat((z.width || "").toString())
329
+ }), j = (a, v, b, D, E, w) => m.map((c, p) => {
330
+ if ($[p])
331
331
  return null;
332
- const b = d.id ? d.id : p, L = `${d.className ? d.className + " " : ""}${d.locked ? "k-grid-content-sticky" : ""}`, S = {
333
- id: P.generateNavigatableId(`${D}-${String(p)}`, u),
334
- colSpan: U[p],
332
+ const C = c.id ? c.id : p, k = `${c.className ? c.className + " " : ""}${c.locked ? "k-grid-content-sticky" : ""}`, R = {
333
+ id: V.generateNavigatableId(`${b}-${String(p)}`, u),
334
+ colSpan: W[p],
335
335
  dataItem: a.dataItem,
336
- field: d.field,
337
- format: d.format,
338
- className: L || void 0,
336
+ field: c.field,
337
+ format: c.format,
338
+ className: k || void 0,
339
339
  render: this.props.cellRender,
340
340
  onChange: this.itemChange,
341
- selectionChange: this.props.onSelectionChange ? (v) => {
342
- this.selectionChange({ event: v, item: a, columnIndex: p, dataIndex: E });
341
+ selectionChange: this.props.onSelectionChange ? (F) => {
342
+ this.selectionChange({ event: F, item: a, columnIndex: p, dataIndex: E });
343
343
  } : void 0,
344
344
  level: a.level,
345
- expandable: d.expandable,
346
- expanded: I,
345
+ expandable: c.expandable,
346
+ expanded: D,
347
347
  hasChildren: this.hasChildren(a.dataItem),
348
348
  onExpandChange: this.expandChange,
349
349
  colIndex: p,
350
- ariaColumnIndex: d.ariaColumnIndex,
351
- style: d.left !== void 0 && {
352
- left: d.left,
353
- right: d.right,
354
- borderRightWidth: d.rightBorder ? "1px" : ""
350
+ ariaColumnIndex: c.ariaColumnIndex,
351
+ style: c.left !== void 0 && {
352
+ left: c.left,
353
+ right: c.right,
354
+ borderRightWidth: c.rightBorder ? "1px" : ""
355
355
  } || {},
356
356
  isSelected: Array.isArray(w) && w.indexOf(p) > -1
357
357
  };
358
- return m && d.editCell ? /* @__PURE__ */ r.createElement(d.editCell, { key: b, ...S, onChange: this.itemChange }) : d.cell ? /* @__PURE__ */ r.createElement(d.cell, { key: b, ...S }) : /* @__PURE__ */ r.createElement(Se, { key: b, ...S });
358
+ return v && c.editCell ? /* @__PURE__ */ r.createElement(c.editCell, { key: C, ...R, onChange: this.itemChange }) : c.cell ? /* @__PURE__ */ r.createElement(c.cell, { key: C, ...R }) : /* @__PURE__ */ r.createElement(Re, { key: C, ...R });
359
359
  });
360
- let C = this.flatData;
361
- const T = C.length;
362
- l !== void 0 && i !== void 0 && (C = C.slice(l, l + i)), t === "virtual" && (C = be({
363
- rows: C,
364
- tableViewPortHeight: parseFloat((M.height || M.maxHeight || "").toString()),
360
+ let f = this.flatData;
361
+ const N = f.length;
362
+ l !== void 0 && i !== void 0 && (f = f.slice(l, l + i)), t === "virtual" && (f = we({
363
+ rows: f,
364
+ tableViewPortHeight: parseFloat((z.height || z.maxHeight || "").toString()),
365
365
  scrollTop: this.wrapperScrollTop
366
366
  }), this.updateOnScroll = !1);
367
- const j = C.map((a) => a.level), G = this.columnsMap.length + (c ? 1 : 0) + 1, _ = C.length > 0 && C.map((a, m) => {
368
- const D = x(this.props.editField, a.dataItem), I = this.props.dataItemKey && te(this.props.dataItemKey)(a.dataItem), E = String(I || a.level.join(".")), w = this.expanded(a.dataItem), d = this.props.selectedField ? x(this.props.selectedField, a.dataItem) : void 0, p = {
369
- key: E,
367
+ const G = f.map((a) => a.level), _ = this.columnsMap.length + (d ? 1 : 0) + 1, q = f.length > 0 && f.map((a, v) => {
368
+ const b = oe(t, a, v), D = y(this.props.editField, a.dataItem), E = this.props.dataItemKey && se(this.props.dataItemKey)(a.dataItem), w = String(E || a.level.join(".")), c = this.expanded(a.dataItem), p = this.props.selectedField ? y(this.props.selectedField, a.dataItem) : void 0, C = {
369
+ key: w,
370
370
  level: a.level,
371
- levels: j,
371
+ levels: G,
372
372
  dataItem: a.dataItem,
373
373
  selectedField: this.props.selectedField,
374
374
  rowHeight: t === "virtual" ? a.height : this.props.rowHeight,
375
375
  render: this.props.rowRender,
376
376
  onDrop: this.onRowDrop,
377
377
  onDrag: this.onRowDrag,
378
- onClick: (v) => this.rowClick(v, a),
379
- onDoubleClick: (v) => this.rowDoubleClick(v, a),
380
- onContextMenu: (v) => this.rowContextMenu(v, a),
381
- isAltRow: m % 2 !== 0,
382
- expanded: w,
383
- rowIndex: m,
384
- ariaRowIndex: G + m,
378
+ onClick: (x) => this.rowClick(x, a),
379
+ onDoubleClick: (x) => this.rowDoubleClick(x, a),
380
+ onContextMenu: (x) => this.rowContextMenu(x, a),
381
+ isAltRow: b % 2 !== 0,
382
+ expanded: c,
383
+ rowIndex: b,
384
+ ariaRowIndex: _ + b,
385
385
  ariaSetSize: a.levelCount,
386
386
  ariaPosInSet: a.level[a.level.length - 1] + 1,
387
- isSelected: typeof d == "boolean" && d
388
- }, b = this.props.editRow, L = this.props.row || we, S = $(a, D, E, w, m, d);
389
- return D && b ? /* @__PURE__ */ r.createElement(b, { ...p, key: p.key }, S) : /* @__PURE__ */ r.createElement(L, { ...p, key: p.key }, S);
390
- }) || /* @__PURE__ */ r.createElement("tr", { className: "k-table-row k-grid-norecords" }, /* @__PURE__ */ r.createElement("td", { colSpan: f.length }, this.props.noRecords || /* @__PURE__ */ r.createElement(Re, null))), q = (a) => this.props.sort && this.props.sort.some((m) => m.field === a), J = /* @__PURE__ */ r.createElement(
387
+ isSelected: typeof p == "boolean" && p
388
+ }, k = this.props.editRow, R = this.props.row || ye, F = j(a, D, w, c, b, p);
389
+ return D && k ? /* @__PURE__ */ r.createElement(k, { ...C, key: C.key }, F) : /* @__PURE__ */ r.createElement(R, { ...C, key: C.key }, F);
390
+ }) || /* @__PURE__ */ r.createElement("tr", { className: "k-table-row k-grid-norecords" }, /* @__PURE__ */ r.createElement("td", { colSpan: m.length }, this.props.noRecords || /* @__PURE__ */ r.createElement(xe, null))), J = (a) => this.props.sort && this.props.sort.some((v) => v.field === a), Q = /* @__PURE__ */ r.createElement(
391
391
  "colgroup",
392
392
  {
393
393
  ref: (a) => {
394
394
  this.columnResize.colGroupMain = a;
395
395
  }
396
396
  },
397
- f.map((a, m) => /* @__PURE__ */ r.createElement(
397
+ m.map((a, v) => /* @__PURE__ */ r.createElement(
398
398
  "col",
399
399
  {
400
- key: m.toString(),
401
- className: q(a.field) ? "k-sorted" : void 0,
400
+ key: v.toString(),
401
+ className: J(a.field) ? "k-sorted" : void 0,
402
402
  style: a.width !== void 0 ? { width: a.width } : void 0
403
403
  }
404
404
  ))
405
- ), Q = this.props.columnVirtualization || this.props.scrollable === "virtual", X = this.props.selectable && this.props.selectable.drag ? "none" : void 0, N = this.props.tableProps || {};
406
- return /* @__PURE__ */ r.createElement(O.Provider, { value: this.contextStateRef.current }, /* @__PURE__ */ r.createElement(
405
+ ), X = this.props.columnVirtualization || this.props.scrollable === "virtual", Y = this.props.selectable && this.props.selectable.drag ? "none" : void 0, H = this.props.tableProps || {};
406
+ return /* @__PURE__ */ r.createElement(P.Provider, { value: this.contextStateRef.current }, /* @__PURE__ */ r.createElement(
407
407
  "div",
408
408
  {
409
409
  id: this.props.id,
410
410
  style: this.props.style,
411
- className: oe("k-grid", "k-treelist", this.props.className, {
411
+ className: ne("k-grid", "k-treelist", this.props.className, {
412
412
  "k-treelist-scrollable": t !== "none"
413
413
  }),
414
414
  ref: (a) => {
415
415
  this.element = a;
416
416
  },
417
- onScroll: Q ? this.handleOnScroll : void 0,
417
+ onScroll: X ? this.handleOnScroll : void 0,
418
418
  onKeyDown: this.onKeyDown,
419
419
  onFocus: this.onFocus,
420
- "aria-rowcount": T,
421
- "aria-colcount": f.length,
420
+ "aria-rowcount": N,
421
+ "aria-colcount": m.length,
422
422
  role: "treegrid",
423
- ...pe
423
+ ...ue
424
424
  },
425
425
  this.props.toolbar,
426
- /* @__PURE__ */ r.createElement(ge, { selectable: this.props.selectable, onRelease: this.selectionRelease }, /* @__PURE__ */ r.createElement(
426
+ /* @__PURE__ */ r.createElement(me, { selectable: this.props.selectable, onRelease: this.selectionRelease }, /* @__PURE__ */ r.createElement(
427
427
  "table",
428
428
  {
429
429
  className: "k-table k-grid-table",
430
- ...N,
431
- style: { ...N.style || {}, userSelect: X },
430
+ ...H,
431
+ style: { ...H.style || {}, userSelect: Y },
432
432
  role: "presentation"
433
433
  },
434
- J,
435
- y,
434
+ Q,
435
+ I,
436
436
  /* @__PURE__ */ r.createElement(
437
437
  "tbody",
438
438
  {
439
439
  className: "k-table-tbody",
440
- ...me,
440
+ ...fe,
441
441
  role: "presentation"
442
442
  },
443
- _
443
+ q
444
444
  )
445
445
  )),
446
446
  this.props.pager && /* @__PURE__ */ r.createElement(
447
447
  this.props.pager,
448
448
  {
449
449
  className: "k-grid-pager",
450
- total: T,
450
+ total: N,
451
451
  skip: l,
452
452
  take: i,
453
453
  onPageChange: this.onPageChange
454
454
  }
455
455
  ),
456
- s && /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement(ue, { ref: this.dragLogic.refDropElementClue }), /* @__PURE__ */ r.createElement(fe, { ref: this.dragLogic.refDragElementClue })),
457
- this.showLicenseWatermark && /* @__PURE__ */ r.createElement(se, { message: this.licenseMessage })
456
+ s && /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement(Ce, { ref: this.dragLogic.refDropElementClue }), /* @__PURE__ */ r.createElement(ve, { ref: this.dragLogic.refDragElementClue })),
457
+ this.showLicenseWatermark && /* @__PURE__ */ r.createElement(ae, { message: this.licenseMessage })
458
458
  ));
459
459
  }
460
460
  get columns() {
@@ -463,18 +463,18 @@ const k = class k extends r.Component {
463
463
  declarationIndex: s,
464
464
  parentIndex: l,
465
465
  depth: i,
466
- colSpan: c,
466
+ colSpan: d,
467
467
  rowSpan: g,
468
468
  index: u,
469
- kFirst: F,
470
- groupable: z,
471
- children: f,
472
- ...y
469
+ kFirst: L,
470
+ groupable: T,
471
+ children: m,
472
+ ...I
473
473
  } = o;
474
- return f.length ? {
475
- children: e(f),
476
- ...y
477
- } : y;
474
+ return m.length ? {
475
+ children: e(m),
476
+ ...I
477
+ } : I;
478
478
  }));
479
479
  return e(h);
480
480
  }
@@ -484,12 +484,12 @@ const k = class k extends r.Component {
484
484
  const o = (l) => {
485
485
  const i = { height: e, offsetTop: t };
486
486
  return t += i.height, i;
487
- }, s = this.updateOnScroll && this.prevData === h && this.tbodyOffsetTop > 0 && this.flattedData.length ? this.flattedData : Ce(h, this.expandedSubItems, o);
487
+ }, s = this.updateOnScroll && this.prevData === h && this.tbodyOffsetTop > 0 && this.flattedData.length ? this.flattedData : be(h, this.expandedSubItems, o);
488
488
  return this.prevData = h, this.flattedData = s, s;
489
489
  }
490
490
  selectionChange(h) {
491
491
  if (this.props.onSelectionChange) {
492
- const { event: e, item: t, dataIndex: o, columnIndex: s } = h, { mode: l, cell: i } = K(this.props.selectable), c = {
492
+ const { event: e, item: t, dataIndex: o, columnIndex: s } = h, { mode: l, cell: i } = O(this.props.selectable), d = {
493
493
  ...this.getArguments(e.syntheticEvent),
494
494
  dataItem: t.dataItem,
495
495
  level: t.level,
@@ -508,7 +508,7 @@ const k = class k extends r.Component {
508
508
  componentId: this._treeListId,
509
509
  selectedField: this.props.selectedField || ""
510
510
  };
511
- this.props.onSelectionChange.call(void 0, c);
511
+ this.props.onSelectionChange.call(void 0, d);
512
512
  }
513
513
  }
514
514
  raiseDataEvent(h, e, t) {
@@ -537,7 +537,7 @@ const k = class k extends r.Component {
537
537
  };
538
538
  }
539
539
  };
540
- k.propTypes = {
540
+ M.propTypes = {
541
541
  data: n.array,
542
542
  resizable: n.bool,
543
543
  reorderable: n.bool,
@@ -579,8 +579,8 @@ k.propTypes = {
579
579
  onColumnReorder: n.func,
580
580
  dataItemKey: n.string,
581
581
  navigatable: n.bool
582
- }, k.contextType = O;
583
- let V = k;
582
+ }, M.contextType = P;
583
+ let U = M;
584
584
  export {
585
- V as TreeList
585
+ U as TreeList
586
586
  };
@@ -12,4 +12,4 @@
12
12
  * Licensed under commercial license. See LICENSE.md in the package root for more information
13
13
  *-------------------------------------------------------------------------------------------
14
14
  */
15
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","react-dom","@progress/kendo-react-buttons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactTreelist={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.ReactDOM,e.KendoReactButtons,e.KendoReactInputs,e.KendoReactDateinputs)}(this,function(e,t,o,a,r,n,l,s,i,d,c){"use strict";function h(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(o){if("default"!==o){var a=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:function(){return e[o]}})}}),t.default=e,Object.freeze(t)}var p=h(t),u=h(s);function g(e,t,o){const a=Array.from(e.tHead&&e.tHead.rows||[]),r=[t];let n;const l=o||(e=>window.getComputedStyle(e).height||void 0);a.forEach(e=>{const t=l(e);r.push(function(e){return void 0!==e&&("number"==typeof e||/px$/i.test(String(e)))}(t)?parseFloat(String(t)):e.offsetHeight)});for(let e=0;e<a.length;e++)n=r.slice(0,e+1).reduce((e,t)=>e+t),Array.from(a[e].cells).forEach(e=>e.style.top=n+"px")}const m=1e6;function f(e){const{rows:t,tableViewPortHeight:o,scrollTop:a}=e;if(0===t.length)return[];const r=t[0].height,n=Math.min(Math.round(a/r),t.length),l=Math.round(o/r),s=Math.max(0,n-l),i=Math.min(t.length,n+2*l),d=t.slice(s,i),c=d[d.length-1];return s>0&&d.unshift({dataItem:{},level:[m],offsetTop:0,height:d[0].offsetTop,levelCount:0}),i<t.length-1&&d.push({dataItem:{},level:[m,m],offsetTop:c.offsetTop+c.height,height:(t.length-i)*r,levelCount:0}),d}const v=r.TABLE_ROW_INDEX_ATTRIBUTE,b=r.TABLE_COL_INDEX_ATTRIBUTE,C=r.TABLE_PREVENT_SELECTION_ELEMENT,x=e=>{const{hasChildren:t,level:o=[0],expanded:s,dataItem:i,format:d,id:c,ariaColumnIndex:h,isSelected:u}=e,g=a.getNestedValue(e.field,i),m=n.useInternationalization(),f=r.useTableKeyboardNavigation(c);let v="";const x=p.useCallback(t=>{t.isDefaultPrevented()||t.keyCode===a.Keys.enter&&e.expandable&&(t.preventDefault(),e.onExpandChange(t,i,o))},[e.expandable,i,o]);null!=g&&(v=d?m.format(d,g):g.toString());const I=[];if(e.expandable){const r=e=>p.createElement("span",{key:e,className:"k-treelist-toggle k-icon k-svg-icon"},p.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));I.push(...o.slice(1).map((e,t)=>r(t))),t?I.push(p.createElement(a.IconWrap,{className:"k-treelist-toggle",name:s?"chevron-down":"chevron-right",icon:s?l.chevronDownIcon:l.chevronRightIcon,key:"expand-collapse",onClick:t=>e.onExpandChange(t.syntheticEvent||t,i,o),[C]:!0})):I.push(r(I.length))}const y=p.createElement("td",{style:e.style,className:a.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":u}),colSpan:e.colSpan,"aria-colindex":h,"aria-expanded":t?s:void 0,"aria-selected":u,role:"gridcell",onKeyDown:x,[b]:e.colIndex,...f},I,v);return e.render?e.render.call(void 0,y,e):y};x.displayName="KendoReactTreeListCell";const I="treelist.filterClearButton",y="treelist.filterEqOperator",E="treelist.filterNotEqOperator",S="treelist.filterIsNullOperator",R="treelist.filterIsNotNullOperator",w="treelist.filterIsEmptyOperator",T="treelist.filterIsNotEmptyOperator",k="treelist.filterStartsWithOperator",N="treelist.filterContainsOperator",D="treelist.filterNotContainsOperator",L="treelist.filterEndsWithOperator",O="treelist.filterGteOperator",F="treelist.filterGtOperator",K="treelist.filterLteOperator",P="treelist.filterLtOperator",M="treelist.filterIsTrue",z="treelist.filterIsFalse",A="treelist.filterBooleanAll",H="treelist.filterAfterOrEqualOperator",B="treelist.filterAfterOperator",j="treelist.filterBeforeOperator",q="treelist.filterBeforeOrEqualOperator",V="treelist.noRecords",_={[I]:"Clear",[y]:"Is equal to",[E]:"Is not equal to",[S]:"Is null",[R]:"Is not null",[w]:"Is empty",[T]:"Is not empty",[k]:"Starts with",[N]:"Contains",[D]:"Does not contain",[L]:"Ends with",[O]:"Is greater than or equal to",[F]:"Is greater than",[K]:"Is less than or equal to",[P]:"Is less than",[M]:"Is true",[z]:"Is false",[A]:"(All)",[H]:"Is after or equal to",[B]:"Is after",[j]:"Is before",[q]:"Is before or equal to",[V]:"No records available"};let U=class extends p.Component{render(){return this.props.children||n.provideLocalizationService(this).toLanguageString(V,_[V])}};n.registerForLocalization(U);const W=p.forwardRef((e,t)=>{const{isSelected:o,rowHeight:r,isAltRow:n,expanded:l,ariaRowIndex:s,level:i,ariaSetSize:d,ariaPosInSet:c}=e,h=a.classNames("k-table-row","k-master-row",{"k-selected":o,"k-table-alt-row":n}),u=p.useMemo(()=>void 0!==r?{height:r+"px"}:void 0,[r]),g=p.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:h,style:u,ref:t,"aria-expanded":l,role:"row","aria-rowindex":s,"aria-level":i.length,"aria-posinset":c,"aria-setsize":d,[v]:e.rowIndex},e.children);return p.createElement(p.Fragment,null,e.render?e.render.call(void 0,g,e):g)});W.displayName="KendoReactTreeListRow";const $=Object.freeze({name:"@progress/kendo-react-treelist",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"15.0.1-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),X=class extends p.Component{constructor(e){super(e),this.element=null,this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.showLicenseWatermark=!1,this.licenseMessage=void 0,this.scrollIntoView=e=>{if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:o,rowHeight:a=0}=this.props;if("virtual"===o||a)this.element.scroll(0,(t-1)*a);else{const e=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(e){const t=e.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,t)}}},this.getExtendedColumn=a.memoizeOne((e,t)=>r.readColumns(e,{prevId:0,idPrefix:t})),this.getColumnsMap=a.memoizeOne((e,t)=>r.mapColumns(e,t)),this.onKeyDown=e=>{if(r.tableKeyboardNavigation.onKeyDown(e,{navigatable:!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:t,cell:o}=r.getSelectionOptions(this.props.selectable),a={dataItems:this.getLeafDataItems(),mode:t,cell:o,componentId:this._treeListId,selectedField:this.props.selectedField,...this.getArguments(e)};this.props.onKeyDown.call(void 0,a)}},this.onFocus=e=>{r.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onRowDrag=e=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...e,target:this})},this.onRowDrop=e=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...e,target:this})},this.columnReorder=(e,t,o)=>{const a=this.extendedColumn[e].depth,r=e=>{do{e++}while(e<this.extendedColumn.length&&this.extendedColumn[e].depth>a);return e},n=this.extendedColumn.splice(e,r(e)-e);if(this.extendedColumn.splice(e<t?r(t-n.length):t,0,...n),this.extendedColumn.filter(e=>e.declarationIndex>=0).forEach((e,t)=>e.orderIndex=t),this.props.onColumnReorder){const e={target:this,columns:this.columns,nativeEvent:o};this.props.onColumnReorder.call(void 0,e)}},this.onResize=(e,t,o,a,r)=>{if(this.props.onColumnResize){const n=this.extendedColumn.filter(e=>0===e.children.length).reduce((e,t)=>e+parseFloat(String(t.width)),0),l={columns:this.columns,totalWidth:n,index:e,nativeEvent:a,newWidth:t,oldWidth:o,end:r,target:this};this.props.onColumnResize.call(void 0,l)}},this.handleOnScroll=e=>{const t=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop,{columnVirtualization:a,scrollable:r,rowHeight:n=0}=this.props,l=n;let s=!1;a&&Math.abs(this.wrapperScrollLeft-t)>0&&(this.wrapperScrollLeft=t,s=!0),"virtual"===r&&Math.abs(this.wrapperScrollTop-o)>l&&(this.wrapperScrollTop=o,s=!0),s&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=e=>{if(!e||"none"===this.props.scrollable)return;const t=Array.from(e.childNodes),o=t.find(e=>"TABLE"===e.nodeName),a=this.props.toolbar&&t.find(e=>1===e.nodeType&&e.classList.contains("k-grid-toolbar"));let r=0;if(a){const e=a.style.boxSizing;a.style.boxSizing="border-box",r=parseFloat(String(window.getComputedStyle(a).height))||a.offsetHeight,a.style.boxSizing=e,a.getAttribute("style")||a.removeAttribute("style")}this.tbodyOffsetTop=o.tBodies[0].offsetTop,g(o,r)},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField){const t=this.props.onExpandChange;if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,value:e.value};t.call(void 0,o)}return}if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};t.call(void 0,o)}},this.onHeaderSelectionChange=e=>{if(this.props.onHeaderSelectionChange){const t={field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,t)}},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.props.onSelectionChange.call(void 0,t)}},this.sortChange=(e,t,o)=>{this.raiseDataEvent(this.props.onSortChange,{sort:t,field:o},e)},this.headerFilterChange=(e,t,o)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e)},this.filterChange=e=>{const{filter:t,field:o}=e;this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e.syntheticEvent)},this.columnMenuFilterChange=(e,t,o)=>{const{onColumnMenuFilterChange:a}=this.props;if(!a)return;const r={syntheticEvent:e,filter:t,field:o,target:this,nativeEvent:e.nativeEvent};a.call(void 0,r)},this.expandChange=(e,t,o)=>{const{expandField:a,onExpandChange:r}=this.props;if(a&&r){const a={...this.getArguments(e),dataItem:t,level:o,value:this.expanded(t)};r.call(void 0,a)}},this.rowClick=(e,t)=>{if(this.props.onRowClick&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowClick.call(void 0,o)}},this.rowDoubleClick=(e,t)=>{if(this.props.onRowDoubleClick&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowDoubleClick.call(void 0,o)}},this.rowContextMenu=(e,t)=>{if(this.props.onRowContextMenu&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowContextMenu.call(void 0,o)}},this.onPageChange=e=>{if(this.props.onPageChange){const t={...this.getArguments(e.syntheticEvent),skip:e.skip,take:e.take};this.props.onPageChange.call(void 0,t)}},this.expandedSubItems=e=>{const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...a.getNestedValue(this.props.subItemsField,e)),t},this.getLeafDataItems=()=>this.flatData.map(e=>e.dataItem),this.expanded=e=>!!a.getNestedValue(this.props.expandField,e),this.hasChildren=e=>!!a.getNestedValue(this.props.subItemsField,e),this.showLicenseWatermark=!a.validatePackage($,{component:"TreeList"}),this.licenseMessage=a.getLicenseMessage($),this.dragLogic=new r.CommonDragLogic(this.columnReorder,a.noop,a.noop),this.columnResize=new r.ColumnResize(this.onResize.bind(this)),r.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(a.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),r.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return r.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(e){e.columns!==this.props.columns&&this.calculateSizes(this.element),r.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:e=[],filterRow:t,scrollable:o="scrollable",resizable:n=!1,reorderable:l=!1,skip:s,take:i}=this.props,d=e.some(e=>!!e.filter||!!e.filterCell)||void 0!==t,c=t||r.FilterRow,h=r.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),u=this.getExtendedColumn(e,h),g=u.length!==this.extendedColumn.length;this.extendedColumn=u,this.columnsMap=this.getColumnsMap(this.extendedColumn,g);const m=this.extendedColumn.filter(e=>0===e.children.length);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=n,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=l,this.dragLogic.groupable=!1;const v=p.createElement(r.Header,{headerRow:p.createElement(r.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}),reorderable:this.props.reorderable,filterRow:d&&p.createElement(c,{columns:m,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),b=this.props.style||{},{colSpans:C,hiddenColumns:I}=r.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:m,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((b.width||"").toString())}),y=(e,t,o,a,n,l)=>m.map((s,i)=>{if(I[i])return null;const d=s.id?s.id:i,c=`${s.className?s.className+" ":""}${s.locked?"k-grid-content-sticky":""}`,u={id:r.tableKeyboardNavigationTools.generateNavigatableId(`${o}-${String(i)}`,h),colSpan:C[i],dataItem:e.dataItem,field:s.field,format:s.format,className:c||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,item:e,columnIndex:i,dataIndex:n})}:void 0,level:e.level,expandable:s.expandable,expanded:a,hasChildren:this.hasChildren(e.dataItem),onExpandChange:this.expandChange,colIndex:i,ariaColumnIndex:s.ariaColumnIndex,style:void 0!==s.left&&{left:s.left,right:s.right,borderRightWidth:s.rightBorder?"1px":""}||{},isSelected:Array.isArray(l)&&l.indexOf(i)>-1};return t&&s.editCell?p.createElement(s.editCell,{key:d,...u,onChange:this.itemChange}):s.cell?p.createElement(s.cell,{key:d,...u}):p.createElement(x,{key:d,...u})});let E=this.flatData;const S=E.length;void 0!==s&&void 0!==i&&(E=E.slice(s,s+i)),"virtual"===o&&(E=f({rows:E,tableViewPortHeight:parseFloat((b.height||b.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const R=E.map(e=>e.level),w=this.columnsMap.length+(d?1:0)+1,T=E.length>0&&E.map((e,t)=>{const r=a.getNestedValue(this.props.editField,e.dataItem),n=this.props.dataItemKey&&a.getter(this.props.dataItemKey)(e.dataItem),l=String(n||e.level.join(".")),s=this.expanded(e.dataItem),i=this.props.selectedField?a.getNestedValue(this.props.selectedField,e.dataItem):void 0,d={key:l,level:e.level,levels:R,dataItem:e.dataItem,selectedField:this.props.selectedField,rowHeight:"virtual"===o?e.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:t=>this.rowClick(t,e),onDoubleClick:t=>this.rowDoubleClick(t,e),onContextMenu:t=>this.rowContextMenu(t,e),isAltRow:t%2!=0,expanded:s,rowIndex:t,ariaRowIndex:w+t,ariaSetSize:e.levelCount,ariaPosInSet:e.level[e.level.length-1]+1,isSelected:"boolean"==typeof i&&i},c=this.props.editRow,h=this.props.row||W,u=y(e,r,l,s,t,i);return r&&c?p.createElement(c,{...d,key:d.key},u):p.createElement(h,{...d,key:d.key},u)})||p.createElement("tr",{className:"k-table-row k-grid-norecords"},p.createElement("td",{colSpan:m.length},this.props.noRecords||p.createElement(U,null))),k=e=>this.props.sort&&this.props.sort.some(t=>t.field===e),N=p.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},m.map((e,t)=>p.createElement("col",{key:t.toString(),className:k(e.field)?"k-sorted":void 0,style:void 0!==e.width?{width:e.width}:void 0}))),D=this.props.columnVirtualization||"virtual"===this.props.scrollable,L=this.props.selectable&&this.props.selectable.drag?"none":void 0,O=this.props.tableProps||{};return p.createElement(r.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},p.createElement("div",{id:this.props.id,style:this.props.style,className:a.classNames("k-grid","k-treelist",this.props.className,{"k-treelist-scrollable":"none"!==o}),ref:e=>{this.element=e},onScroll:D?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":S,"aria-colcount":m.length,role:"treegrid",...r.tableKeyboardNavigationScopeAttributes},this.props.toolbar,p.createElement(r.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},p.createElement("table",{className:"k-table k-grid-table",...O,style:{...O.style||{},userSelect:L},role:"presentation"},N,v,p.createElement("tbody",{className:"k-table-tbody",...r.tableKeyboardNavigationBodyAttributes,role:"presentation"},T))),this.props.pager&&p.createElement(this.props.pager,{className:"k-grid-pager",total:S,skip:s,take:i,onPageChange:this.onPageChange}),l&&p.createElement(p.Fragment,null,p.createElement(r.DropClue,{ref:this.dragLogic.refDropElementClue}),p.createElement(r.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&p.createElement(a.WatermarkOverlay,{message:this.licenseMessage})))}get columns(){const e=this.extendedColumn.filter(e=>e.declarationIndex>=0&&-1===e.parentIndex),t=e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e.map(e=>{const{declarationIndex:o,parentIndex:a,depth:r,colSpan:n,rowSpan:l,index:s,kFirst:i,groupable:d,children:c,...h}=e;return c.length?{children:t(c),...h}:h}));return t(e)}get flatData(){const{data:e=[],rowHeight:t=0}=this.props;let o=0;const a=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:r.flatData(e,this.expandedSubItems,e=>{const a={height:t,offsetTop:o};return o+=a.height,a});return this.prevData=e,this.flattedData=a,a}selectionChange(e){if(this.props.onSelectionChange){const{event:t,item:o,dataIndex:a,columnIndex:n}=e,{mode:l,cell:s}=r.getSelectionOptions(this.props.selectable),i={...this.getArguments(t.syntheticEvent),dataItem:o.dataItem,level:o.level,startColIndex:n,endColIndex:n,startRowIndex:a,endRowIndex:a,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:l,cell:s,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,i)}}raiseDataEvent(e,t,o){const a=this.props.onDataStateChange;if(e)e.call(void 0,{...this.getArguments(o),...t});else if(a){const e={...this.getArguments(o),dataState:{...this.getDataState(),...t}};a.call(void 0,e)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};X.propTypes={data:o.array,resizable:o.bool,reorderable:o.bool,sortable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["single","multiple"]),allowUnsort:o.bool})]),onSortChange:o.func,sort:o.array,columns:o.arrayOf(o.object),columnVirtualization:o.bool,filter:o.array,onFilterChange:o.func,filterRow:o.any,toolbar:o.any,noRecords:o.any,onExpandChange:o.func,expandField:o.string,subItemsField:o.string,selectedField:o.string,onSelectionChange:o.func,onHeaderSelectionChange:o.func,onRowClick:o.func,onItemChange:o.func,editField:o.string,scrollable:o.oneOf(["none","scrollable","virtual"]),rowHeight:o.number,style:o.object,tableProps:o.object,pager:o.any,skip:o.number,take:o.number,onPageChange:o.func,onDataStateChange:o.func,onColumnResize:o.func,onColumnReorder:o.func,dataItemKey:o.string,navigatable:o.bool},X.contextType=r.TableKeyboardNavigationContext;let G=X;const Y=p.forwardRef((e,t)=>{const[o,r]=a.useMergedRef(t);return a.useWebMcpRegister("treelist",o,e,e.webMcp),p.createElement(G,{...e,ref:r})});Y.displayName="KendoReactTreeList";const J=e=>{const t=p.useCallback(t=>{e.selectionChange&&e.selectionChange({syntheticEvent:t})},[e.selectionChange]),o=a.useId(),n=a.getNestedValue(e.field,e.dataItem),l=r.useTableKeyboardNavigation(e.id),s=p.createElement("td",{style:e.style,className:a.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...l},p.createElement("input",{checked:"boolean"==typeof n&&n,id:o,type:"checkbox",className:"k-checkbox",onChange:t}),p.createElement("label",{className:"k-checkbox-label",htmlFor:o}));return e.render?e.render.call(void 0,s,e):s};J.displayName="KendoReactTreeListSelectionCell";let Q=class extends p.Component{constructor(){super(...arguments),this._inputId=a.guid()}render(){return p.createElement(r.HeaderSelectionCell,{inputId:this._inputId,...this.props})}};const Z=e=>e.visible&&a.canUseDOM?u.createPortal(p.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"}},p.createElement(a.IconWrap,{className:a.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?l.plusIcon:l.cancelIcon}),e.text),document.body):null;function ee(e,t,o){const a=o?o.elementFromPoint(e.clientX,e.clientY):null;return t&&a?a.closest(t):null}const te={visible:!1,top:0,left:0,text:"",allowDrop:!1};class oe extends p.Component{constructor(){super(...arguments),this.state={clueProps:{...te}},this.draggable=p.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=e=>{if(!a.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,o=t?t.ownerDocument:document;if(!o)return;const r=e.event,n=this.dragged;if(t&&n){!r.isTouch&&"scroll"!==r.type&&r.originalEvent.preventDefault();const e=this.props.levels[function(e,t,o){if(!e.originalEvent)return-1;const a=ee(e,"tr",o);if(a){const e=t?t.childNodes:[];for(let t=0;t<e.length;t++)if(e[t]===a)return t}return-1}(r,t.parentNode,o)];this.draggedOver=e;const a=e?!n.every((t,o)=>t===e[o]):!!ee(r,"k-grid",o);this.setState({clueProps:{visible:!0,top:r.pageY+10,left:r.pageX,text:t.innerText,allowDrop:a}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:r.originalEvent,dragged:n,draggedOver:e,draggedItem:this.props.dataItem})}},this.onRelease=e=>{const t=e.event;if(this.dragged){const e=[...this.dragged],o=this.draggedOver&&[...this.draggedOver],a=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...te}});const r=this.props.dataItem;a&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:e,draggedOver:o,draggedItem:r})}}}render(){const{clueProps:e}=this.state;return p.createElement(p.Fragment,null,p.createElement(a.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},p.createElement(W,{...this.props})),p.createElement(Z,{...e}))}}const ae=p.forwardRef((e,t)=>{const{className:o,...r}=e,n=p.useRef(null),l=p.useRef(null);p.useImperativeHandle(l,()=>({element:n.current,props:e})),p.useImperativeHandle(t,()=>l.current);const s=p.useMemo(()=>a.classNames("k-grid-toolbar",o),[o]);return p.createElement(i.Toolbar,{id:e.id,ref:e=>{e&&(n.current=e.element)},className:s,...r},e.children)});ae.displayName="KendoReactTreeListToolbar";const re=[{text:N,operator:"contains"},{text:D,operator:"doesnotcontain"},{text:y,operator:"eq"},{text:E,operator:"neq"},{text:k,operator:"startswith"},{text:L,operator:"endswith"},{text:S,operator:"isnull"},{text:R,operator:"isnotnull"},{text:w,operator:"isempty"},{text:T,operator:"isnotempty"}],ne=[{text:y,operator:"eq"},{text:E,operator:"neq"},{text:O,operator:"gte"},{text:F,operator:"gt"},{text:K,operator:"lte"},{text:P,operator:"lt"},{text:S,operator:"isnull"},{text:R,operator:"isnotnull"}],le=[{text:y,operator:"eq"},{text:E,operator:"neq"},{text:H,operator:"gte"},{text:B,operator:"gt"},{text:j,operator:"lt"},{text:q,operator:"lte"},{text:S,operator:"isnull"},{text:R,operator:"isnotnull"}],se=[{text:A,operator:""},{text:M,operator:!0},{text:z,operator:!1}];function ie(e,t){return{clearButtonTitle:e.toLanguageString(I,_[I]),operators:t.map(t=>({text:e.toLanguageString(t.text,_[t.text]),operator:t.operator}))}}const de=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t,value:t.target.value})},[e.onChange,e.dataItem,e.level,e.field]),o=r.useTableKeyboardNavigation(e.id),n=a.classNames({"k-selected":e.isSelected},e.className),l=p.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...o,[b]:e.colIndex},p.createElement("input",{style:{width:"100%"},className:"k-input",value:a.getNestedValue(e.field,e.dataItem)||"",onChange:t}));return e.render?e.render.call(void 0,l,e):l};de.displayName="KendoReactTreeListTextEditor";const ce=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})},[e.onChange,e.dataItem,e.level,e.field]),o=a.getNestedValue(e.field,e.dataItem),n=r.useTableKeyboardNavigation(e.id),l=a.classNames({"k-selected":e.isSelected},e.className),s=p.createElement("td",{style:e.style,className:l,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...n,[b]:e.colIndex},p.createElement(d.NumericTextBox,{width:"100%",value:void 0===o?null:o,onChange:t}));return e.render?e.render.call(void 0,s,e):s};ce.displayName="KendoReactTreeListNumericEditor";const he=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t,value:t.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),o=a.useId(),n=r.useTableKeyboardNavigation(e.id),l=a.classNames({"k-selected":e.isSelected},e.className),s=p.createElement("td",{style:e.style,className:l,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...n,[b]:e.colIndex},p.createElement("input",{checked:a.getNestedValue(e.field,e.dataItem)||!1,id:o,type:"checkbox",className:"k-checkbox",onChange:t}),p.createElement("label",{className:"k-checkbox-label",htmlFor:o}));return e.render?e.render.call(void 0,s,e):s};he.displayName="KendoReactTreeListBooleanEditor";const pe=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})},[e.onChange,e.dataItem,e.level,e.field]),o=r.useTableKeyboardNavigation(e.id),n=a.classNames({"k-selected":e.isSelected},e.className),l=p.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...o,[b]:e.colIndex},p.createElement(c.DatePicker,{width:"100%",value:a.getNestedValue(e.field,e.dataItem),onChange:t}));return e.render?e.render.call(void 0,l,e):l};pe.displayName="KendoReactTreeListDateEditor";const ue=Y;Object.defineProperty(e,"getNestedValue",{enumerable:!0,get:function(){return a.getNestedValue}}),Object.defineProperty(e,"mapTree",{enumerable:!0,get:function(){return a.mapTree}}),Object.defineProperty(e,"mapTreeItem",{enumerable:!0,get:function(){return a.mapTreeItem}}),Object.defineProperty(e,"createDataTree",{enumerable:!0,get:function(){return r.createDataTree}}),Object.defineProperty(e,"extendDataItem",{enumerable:!0,get:function(){return r.extendDataItem}}),Object.defineProperty(e,"filterBy",{enumerable:!0,get:function(){return r.filterBy}}),Object.defineProperty(e,"flatData",{enumerable:!0,get:function(){return r.flatData}}),Object.defineProperty(e,"getItemPath",{enumerable:!0,get:function(){return r.getItemPath}}),Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return r.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return r.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"modifySubItems",{enumerable:!0,get:function(){return r.modifySubItems}}),Object.defineProperty(e,"moveTreeItem",{enumerable:!0,get:function(){return r.moveTreeItem}}),Object.defineProperty(e,"orderBy",{enumerable:!0,get:function(){return r.orderBy}}),Object.defineProperty(e,"removeItems",{enumerable:!0,get:function(){return r.removeItems}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return r.setSelectedState}}),Object.defineProperty(e,"treeToFlat",{enumerable:!0,get:function(){return r.treeToFlat}}),e.TREELIST_COL_INDEX_ATTRIBUTE=b,e.TREELIST_PREVENT_SELECTION_ELEMENT=C,e.TREELIST_ROW_INDEX_ATTRIBUTE=v,e.TreeList=ue,e.TreeListBooleanEditor=he,e.TreeListBooleanFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.BooleanFilterCell,{ariaLabel:"boolean filter",...ie(n.useLocalization(),t||se),...o})},e.TreeListCell=x,e.TreeListDateEditor=pe,e.TreeListDateFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.DateFilterCell,{ariaLabel:"date filter",...ie(n.useLocalization(),t||le),...o})},e.TreeListDraggableRow=oe,e.TreeListHeaderCell=e=>p.createElement(r.HeaderCell,{...e}),e.TreeListHeaderSelectionCell=Q,e.TreeListNoRecords=U,e.TreeListNumericEditor=ce,e.TreeListNumericFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.NumericFilterCell,{ariaLabel:"numeric filter",...ie(n.useLocalization(),t||ne),...o})},e.TreeListRow=W,e.TreeListSelectionCell=J,e.TreeListTextEditor=de,e.TreeListTextFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.TextFilterCell,{ariaLabel:"text filter",...ie(n.useLocalization(),t||re),...o})},e.TreeListToolbar=ae,e.setHeaderRowsTop=g,e.tableRowsVirtualization=f});
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-data-tools"),require("@progress/kendo-react-intl"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dateinputs")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-data-tools","@progress/kendo-react-intl","@progress/kendo-svg-icons","react-dom","@progress/kendo-react-buttons","@progress/kendo-react-inputs","@progress/kendo-react-dateinputs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactTreelist={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactDataTools,e.KendoReactIntl,e.KendoSvgIcons,e.ReactDOM,e.KendoReactButtons,e.KendoReactInputs,e.KendoReactDateinputs)}(this,function(e,t,o,a,r,n,l,s,i,d,c){"use strict";function h(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(o){if("default"!==o){var a=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,a.get?a:{enumerable:!0,get:function(){return e[o]}})}}),t.default=e,Object.freeze(t)}var p=h(t),u=h(s);function g(e,t,o){const a=Array.from(e.tHead&&e.tHead.rows||[]),r=[t],n=o||(e=>window.getComputedStyle(e).height||void 0);a.forEach(e=>{const t=n(e);r.push(function(e){return void 0!==e&&("number"==typeof e||/px$/i.test(String(e)))}(t)?parseFloat(String(t)):e.offsetHeight)});for(let e=0;e<a.length;e++){const t=r.slice(0,e+1).reduce((e,t)=>e+t,0);Array.from(a[e].cells).forEach(e=>e.style.top=t+"px")}}const m=1e6;function f(e){const{rows:t,tableViewPortHeight:o,scrollTop:a}=e;if(0===t.length)return[];const r=t[0].height,n=Math.min(Math.round(a/r),t.length),l=Math.round(o/r),s=Math.max(0,n-l),i=Math.min(t.length,n+2*l),d=t.slice(s,i),c=d[d.length-1];return s>0&&d.unshift({dataItem:{},level:[m],offsetTop:0,height:d[0].offsetTop,levelCount:0}),i<t.length-1&&d.push({dataItem:{},level:[m,m],offsetTop:c.offsetTop+c.height,height:(t.length-i)*r,levelCount:0}),d}const v=r.TABLE_ROW_INDEX_ATTRIBUTE,b=r.TABLE_COL_INDEX_ATTRIBUTE,C=r.TABLE_PREVENT_SELECTION_ELEMENT,x=e=>{const{hasChildren:t,level:o=[0],expanded:s,dataItem:i,format:d,id:c,ariaColumnIndex:h,isSelected:u}=e,g=a.getNestedValue(e.field,i),m=n.useInternationalization(),f=r.useTableKeyboardNavigation(c);let v="";const x=p.useCallback(t=>{t.isDefaultPrevented()||t.keyCode===a.Keys.enter&&e.expandable&&(t.preventDefault(),e.onExpandChange(t,i,o))},[e.expandable,i,o]);null!=g&&(v=d?m.format(d,g):g.toString());const I=[];if(e.expandable){const r=e=>p.createElement("span",{key:e,className:"k-treelist-toggle k-icon k-svg-icon"},p.createElement("svg",{"aria-hidden":"true",focusable:"false",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"}));I.push(...o.slice(1).map((e,t)=>r(t))),t?I.push(p.createElement(a.IconWrap,{className:"k-treelist-toggle",name:s?"chevron-down":"chevron-right",icon:s?l.chevronDownIcon:l.chevronRightIcon,key:"expand-collapse",onClick:t=>e.onExpandChange(t.syntheticEvent||t,i,o),[C]:!0})):I.push(r(I.length))}const y=p.createElement("td",{style:e.style,className:a.classNames("k-table-td",e.className,{"k-text-nowrap":e.expandable,"k-selected":u}),colSpan:e.colSpan,"aria-colindex":h,"aria-expanded":t?s:void 0,"aria-selected":u,role:"gridcell",onKeyDown:x,[b]:e.colIndex,...f},I,v);return e.render?e.render.call(void 0,y,e):y};x.displayName="KendoReactTreeListCell";const I="treelist.filterClearButton",y="treelist.filterEqOperator",E="treelist.filterNotEqOperator",S="treelist.filterIsNullOperator",R="treelist.filterIsNotNullOperator",w="treelist.filterIsEmptyOperator",T="treelist.filterIsNotEmptyOperator",k="treelist.filterStartsWithOperator",N="treelist.filterContainsOperator",D="treelist.filterNotContainsOperator",L="treelist.filterEndsWithOperator",O="treelist.filterGteOperator",F="treelist.filterGtOperator",K="treelist.filterLteOperator",P="treelist.filterLtOperator",M="treelist.filterIsTrue",z="treelist.filterIsFalse",A="treelist.filterBooleanAll",H="treelist.filterAfterOrEqualOperator",B="treelist.filterAfterOperator",V="treelist.filterBeforeOperator",j="treelist.filterBeforeOrEqualOperator",q="treelist.noRecords",_={[I]:"Clear",[y]:"Is equal to",[E]:"Is not equal to",[S]:"Is null",[R]:"Is not null",[w]:"Is empty",[T]:"Is not empty",[k]:"Starts with",[N]:"Contains",[D]:"Does not contain",[L]:"Ends with",[O]:"Is greater than or equal to",[F]:"Is greater than",[K]:"Is less than or equal to",[P]:"Is less than",[M]:"Is true",[z]:"Is false",[A]:"(All)",[H]:"Is after or equal to",[B]:"Is after",[V]:"Is before",[j]:"Is before or equal to",[q]:"No records available"};let U=class extends p.Component{render(){return this.props.children||n.provideLocalizationService(this).toLanguageString(q,_[q])}};n.registerForLocalization(U);const W=p.forwardRef((e,t)=>{const{isSelected:o,rowHeight:r,isAltRow:n,expanded:l,ariaRowIndex:s,level:i,ariaSetSize:d,ariaPosInSet:c}=e,h=a.classNames("k-table-row","k-master-row",{"k-selected":o,"k-table-alt-row":n}),u=p.useMemo(()=>void 0!==r?{height:r+"px"}:void 0,[r]),g=p.createElement("tr",{onClick:e.onClick,onDoubleClick:e.onDoubleClick,onContextMenu:e.onContextMenu,className:h,style:u,ref:t,"aria-expanded":l,role:"row","aria-rowindex":s,"aria-level":i.length,"aria-posinset":c,"aria-setsize":d,[v]:e.rowIndex},e.children);return p.createElement(p.Fragment,null,e.render?e.render.call(void 0,g,e):g)});W.displayName="KendoReactTreeListRow";const $=Object.freeze({name:"@progress/kendo-react-treelist",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"15.0.1-develop.11",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"}),X=class extends p.Component{constructor(e){super(e),this.element=null,this.wrapperScrollLeft=0,this.wrapperScrollTop=0,this.updateOnScroll=!1,this.tbodyOffsetTop=0,this.prevData=[],this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.contextStateRef={current:void 0},this.navigationStateRef={current:void 0},this.showLicenseWatermark=!1,this.licenseMessage=void 0,this.scrollIntoView=e=>{if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:o,rowHeight:a=0}=this.props;if("virtual"===o||a)this.element.scroll(0,(t-1)*a);else{const e=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(e){const t=e.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,t)}}},this.getExtendedColumn=a.memoizeOne((e,t)=>r.readColumns(e,{prevId:0,idPrefix:t})),this.getColumnsMap=a.memoizeOne((e,t)=>r.mapColumns(e,t)),this.onKeyDown=e=>{if(r.tableKeyboardNavigation.onKeyDown(e,{navigatable:!1,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),this.props.onKeyDown){const{mode:t,cell:o}=r.getSelectionOptions(this.props.selectable),a={dataItems:this.getLeafDataItems(),mode:t,cell:o,componentId:this._treeListId,selectedField:this.props.selectedField||"",...this.getArguments(e)};this.props.onKeyDown.call(void 0,a)}},this.onFocus=e=>{r.tableKeyboardNavigation.onFocus(e,{contextStateRef:this.contextStateRef})},this.onRowDrag=e=>{this.props.onRowDrag&&this.props.onRowDrag.call(void 0,{...e,target:this})},this.onRowDrop=e=>{this.props.onRowDrop&&this.props.onRowDrop.call(void 0,{...e,target:this})},this.columnReorder=(e,t,o)=>{const a=this.extendedColumn[e].depth,r=e=>{do{e++}while(e<this.extendedColumn.length&&this.extendedColumn[e].depth>a);return e},n=this.extendedColumn.splice(e,r(e)-e);if(this.extendedColumn.splice(e<t?r(t-n.length):t,0,...n),this.extendedColumn.filter(e=>e.declarationIndex>=0).forEach((e,t)=>e.orderIndex=t),this.props.onColumnReorder){const e={target:this,columns:this.columns,nativeEvent:o};this.props.onColumnReorder.call(void 0,e)}},this.onResize=(e,t,o,a,r)=>{if(this.props.onColumnResize){const n=this.extendedColumn.filter(e=>0===e.children.length).reduce((e,t)=>e+parseFloat(String(t.width)),0),l={columns:this.columns,totalWidth:n,index:e,nativeEvent:a,newWidth:t,oldWidth:o,end:r,target:this};this.props.onColumnResize.call(void 0,l)}},this.handleOnScroll=e=>{const t=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop,{columnVirtualization:a,scrollable:r,rowHeight:n=0}=this.props,l=n;let s=!1;a&&Math.abs(this.wrapperScrollLeft-t)>0&&(this.wrapperScrollLeft=t,s=!0),"virtual"===r&&Math.abs(this.wrapperScrollTop-o)>l&&(this.wrapperScrollTop=o,s=!0),s&&(this.updateOnScroll=!0,this.forceUpdate())},this.calculateSizes=e=>{if(!e||"none"===this.props.scrollable)return;const t=Array.from(e.childNodes),o=t.find(e=>"TABLE"===e.nodeName),a=this.props.toolbar&&t.find(e=>1===e.nodeType&&e.classList.contains("k-grid-toolbar"));let r=0;if(a){const e=a.style.boxSizing;a.style.boxSizing="border-box",r=parseFloat(String(window.getComputedStyle(a).height))||a.offsetHeight,a.style.boxSizing=e,a.getAttribute("style")||a.removeAttribute("style")}this.tbodyOffsetTop=o.tBodies[0].offsetTop,g(o,r)},this.itemChange=e=>{const t=this.props.onItemChange;if(e.field===this.props.expandField){const t=this.props.onExpandChange;if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,value:e.value};t.call(void 0,o)}return}if(t){const o={...this.getArguments(e.syntheticEvent),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};t.call(void 0,o)}},this.onHeaderSelectionChange=e=>{if(this.props.onHeaderSelectionChange){const t={field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:this,dataItems:this.getLeafDataItems()};this.props.onHeaderSelectionChange.call(void 0,t)}},this.selectionRelease=e=>{if(this.props.onSelectionChange){const t={syntheticEvent:void 0,target:this,selectedField:this.props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.props.onSelectionChange.call(void 0,t)}},this.sortChange=(e,t,o)=>{this.raiseDataEvent(this.props.onSortChange,{sort:t,field:o},e)},this.headerFilterChange=(e,t,o)=>{this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e)},this.filterChange=e=>{const{filter:t,field:o}=e;this.raiseDataEvent(this.props.onFilterChange,{filter:t,field:o},e.syntheticEvent)},this.columnMenuFilterChange=(e,t,o)=>{const{onColumnMenuFilterChange:a}=this.props;if(!a||!o)return;const r={syntheticEvent:e,filter:t,field:o,target:this,nativeEvent:e.nativeEvent};a.call(void 0,r)},this.expandChange=(e,t,o)=>{const{expandField:a,onExpandChange:r}=this.props;if(a&&r){const a={...this.getArguments(e),dataItem:t,level:o,value:this.expanded(t)};r.call(void 0,a)}},this.rowClick=(e,t)=>{if(this.props.onRowClick&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowClick.call(void 0,o)}},this.rowDoubleClick=(e,t)=>{if(this.props.onRowDoubleClick&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowDoubleClick.call(void 0,o)}},this.rowContextMenu=(e,t)=>{if(this.props.onRowContextMenu&&"TD"===e.target.nodeName){const o={dataItem:t.dataItem,level:t.level,...this.getArguments(e)};this.props.onRowContextMenu.call(void 0,o)}},this.onPageChange=e=>{if(this.props.onPageChange){const t={...this.getArguments(e.syntheticEvent),skip:e.skip,take:e.take};this.props.onPageChange.call(void 0,t)}},this.expandedSubItems=e=>{const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...a.getNestedValue(this.props.subItemsField,e)),t},this.getLeafDataItems=()=>this.flatData.map(e=>e.dataItem),this.expanded=e=>!!a.getNestedValue(this.props.expandField,e),this.hasChildren=e=>!!a.getNestedValue(this.props.subItemsField,e),this.showLicenseWatermark=!a.validatePackage($,{component:"TreeList"}),this.licenseMessage=a.getLicenseMessage($),this.dragLogic=new r.CommonDragLogic(this.columnReorder,a.noop,a.noop),this.columnResize=new r.ColumnResize(this.onResize.bind(this)),r.tableKeyboardNavigation.onConstructor({navigatable:!!e.navigatable,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}get _treeListId(){return this.props.id+"-treelist"}get document(){if(a.canUseDOM)return this.element&&this.element.ownerDocument||document}componentDidMount(){this.calculateSizes(this.element),r.tableKeyboardNavigation.onComponentDidMount({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}getSnapshotBeforeUpdate(){return r.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:this.document,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef}),null}componentDidUpdate(e){e.columns!==this.props.columns&&this.calculateSizes(this.element),r.tableKeyboardNavigation.onComponentDidUpdate({scope:this.element||void 0,contextStateRef:this.contextStateRef,navigationStateRef:this.navigationStateRef})}componentWillUnmount(){this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1,this.getExtendedColumn.clear(),this.getColumnsMap.clear()}render(){const{columns:e=[],filterRow:t,scrollable:o="scrollable",resizable:n=!1,reorderable:l=!1,skip:s,take:i}=this.props,d=e.some(e=>!!e.filter||!!e.filterCell)||void 0!==t,c=t||r.FilterRow,h=r.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef),u=this.getExtendedColumn(e,h),g=u.length!==this.extendedColumn.length;this.extendedColumn=u,this.columnsMap=this.getColumnsMap(this.extendedColumn,g);const m=this.extendedColumn.filter(e=>0===e.children.length);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=n,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=l,this.dragLogic.groupable=!1;const v=p.createElement(r.Header,{headerRow:p.createElement(r.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}),reorderable:this.props.reorderable,filterRow:d&&p.createElement(c,{columns:m,filter:this.props.filter,filterChange:this.filterChange,sort:this.props.sort,ariaRowIndex:this.columnsMap.length+1})||void 0,columnResize:this.columnResize}),b=this.props.style||{},{colSpans:C,hiddenColumns:I}=r.tableColumnsVirtualization({enabled:this.props.columnVirtualization,columns:m,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((b.width||"").toString())}),y=(e,t,o,a,n,l)=>m.map((s,i)=>{if(I[i])return null;const d=s.id?s.id:i,c=`${s.className?s.className+" ":""}${s.locked?"k-grid-content-sticky":""}`,u={id:r.tableKeyboardNavigationTools.generateNavigatableId(`${o}-${String(i)}`,h),colSpan:C[i],dataItem:e.dataItem,field:s.field,format:s.format,className:c||void 0,render:this.props.cellRender,onChange:this.itemChange,selectionChange:this.props.onSelectionChange?t=>{this.selectionChange({event:t,item:e,columnIndex:i,dataIndex:n})}:void 0,level:e.level,expandable:s.expandable,expanded:a,hasChildren:this.hasChildren(e.dataItem),onExpandChange:this.expandChange,colIndex:i,ariaColumnIndex:s.ariaColumnIndex,style:void 0!==s.left&&{left:s.left,right:s.right,borderRightWidth:s.rightBorder?"1px":""}||{},isSelected:Array.isArray(l)&&l.indexOf(i)>-1};return t&&s.editCell?p.createElement(s.editCell,{key:d,...u,onChange:this.itemChange}):s.cell?p.createElement(s.cell,{key:d,...u}):p.createElement(x,{key:d,...u})});let E=this.flatData;const S=E.length;void 0!==s&&void 0!==i&&(E=E.slice(s,s+i)),"virtual"===o&&(E=f({rows:E,tableViewPortHeight:parseFloat((b.height||b.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const R=E.map(e=>e.level),w=this.columnsMap.length+(d?1:0)+1,T=E.length>0&&E.map((e,t)=>{const r=a.getAbsoluteVirtualRowIndex(o,e,t),n=a.getNestedValue(this.props.editField,e.dataItem),l=this.props.dataItemKey&&a.getter(this.props.dataItemKey)(e.dataItem),s=String(l||e.level.join(".")),i=this.expanded(e.dataItem),d=this.props.selectedField?a.getNestedValue(this.props.selectedField,e.dataItem):void 0,c={key:s,level:e.level,levels:R,dataItem:e.dataItem,selectedField:this.props.selectedField,rowHeight:"virtual"===o?e.height:this.props.rowHeight,render:this.props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:t=>this.rowClick(t,e),onDoubleClick:t=>this.rowDoubleClick(t,e),onContextMenu:t=>this.rowContextMenu(t,e),isAltRow:r%2!=0,expanded:i,rowIndex:r,ariaRowIndex:w+r,ariaSetSize:e.levelCount,ariaPosInSet:e.level[e.level.length-1]+1,isSelected:"boolean"==typeof d&&d},h=this.props.editRow,u=this.props.row||W,g=y(e,n,s,i,r,d);return n&&h?p.createElement(h,{...c,key:c.key},g):p.createElement(u,{...c,key:c.key},g)})||p.createElement("tr",{className:"k-table-row k-grid-norecords"},p.createElement("td",{colSpan:m.length},this.props.noRecords||p.createElement(U,null))),k=e=>this.props.sort&&this.props.sort.some(t=>t.field===e),N=p.createElement("colgroup",{ref:e=>{this.columnResize.colGroupMain=e}},m.map((e,t)=>p.createElement("col",{key:t.toString(),className:k(e.field)?"k-sorted":void 0,style:void 0!==e.width?{width:e.width}:void 0}))),D=this.props.columnVirtualization||"virtual"===this.props.scrollable,L=this.props.selectable&&this.props.selectable.drag?"none":void 0,O=this.props.tableProps||{};return p.createElement(r.TableKeyboardNavigationContext.Provider,{value:this.contextStateRef.current},p.createElement("div",{id:this.props.id,style:this.props.style,className:a.classNames("k-grid","k-treelist",this.props.className,{"k-treelist-scrollable":"none"!==o}),ref:e=>{this.element=e},onScroll:D?this.handleOnScroll:void 0,onKeyDown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":S,"aria-colcount":m.length,role:"treegrid",...r.tableKeyboardNavigationScopeAttributes},this.props.toolbar,p.createElement(r.TableSelection,{selectable:this.props.selectable,onRelease:this.selectionRelease},p.createElement("table",{className:"k-table k-grid-table",...O,style:{...O.style||{},userSelect:L},role:"presentation"},N,v,p.createElement("tbody",{className:"k-table-tbody",...r.tableKeyboardNavigationBodyAttributes,role:"presentation"},T))),this.props.pager&&p.createElement(this.props.pager,{className:"k-grid-pager",total:S,skip:s,take:i,onPageChange:this.onPageChange}),l&&p.createElement(p.Fragment,null,p.createElement(r.DropClue,{ref:this.dragLogic.refDropElementClue}),p.createElement(r.DragClue,{ref:this.dragLogic.refDragElementClue})),this.showLicenseWatermark&&p.createElement(a.WatermarkOverlay,{message:this.licenseMessage})))}get columns(){const e=this.extendedColumn.filter(e=>e.declarationIndex>=0&&-1===e.parentIndex),t=e=>(e.sort((e,t)=>e.declarationIndex-t.declarationIndex),e.map(e=>{const{declarationIndex:o,parentIndex:a,depth:r,colSpan:n,rowSpan:l,index:s,kFirst:i,groupable:d,children:c,...h}=e;return c.length?{children:t(c),...h}:h}));return t(e)}get flatData(){const{data:e=[],rowHeight:t=0}=this.props;let o=0;const a=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:r.flatData(e,this.expandedSubItems,e=>{const a={height:t,offsetTop:o};return o+=a.height,a});return this.prevData=e,this.flattedData=a,a}selectionChange(e){if(this.props.onSelectionChange){const{event:t,item:o,dataIndex:a,columnIndex:n}=e,{mode:l,cell:s}=r.getSelectionOptions(this.props.selectable),i={...this.getArguments(t.syntheticEvent),dataItem:o.dataItem,level:o.level,startColIndex:n,endColIndex:n,startRowIndex:a,endRowIndex:a,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:l,cell:s,isDrag:!1,componentId:this._treeListId,selectedField:this.props.selectedField||""};this.props.onSelectionChange.call(void 0,i)}}raiseDataEvent(e,t,o){const a=this.props.onDataStateChange;if(e)e.call(void 0,{...this.getArguments(o),...t});else if(a){const e={...this.getArguments(o),dataState:{...this.getDataState(),...t}};a.call(void 0,e)}}getDataState(){return{filter:this.props.filter,sort:this.props.sort}}getArguments(e){return{nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:this}}};X.propTypes={data:o.array,resizable:o.bool,reorderable:o.bool,sortable:o.oneOfType([o.bool,o.shape({mode:o.oneOf(["single","multiple"]),allowUnsort:o.bool})]),onSortChange:o.func,sort:o.array,columns:o.arrayOf(o.object),columnVirtualization:o.bool,filter:o.array,onFilterChange:o.func,filterRow:o.any,toolbar:o.any,noRecords:o.any,onExpandChange:o.func,expandField:o.string,subItemsField:o.string,selectedField:o.string,onSelectionChange:o.func,onHeaderSelectionChange:o.func,onRowClick:o.func,onItemChange:o.func,editField:o.string,scrollable:o.oneOf(["none","scrollable","virtual"]),rowHeight:o.number,style:o.object,tableProps:o.object,pager:o.any,skip:o.number,take:o.number,onPageChange:o.func,onDataStateChange:o.func,onColumnResize:o.func,onColumnReorder:o.func,dataItemKey:o.string,navigatable:o.bool},X.contextType=r.TableKeyboardNavigationContext;let G=X;const Y=p.forwardRef((e,t)=>{const[o,r]=a.useMergedRef(t);return a.useWebMcpRegister("treelist",o,e,e.webMcp),p.createElement(G,{...e,ref:r})});Y.displayName="KendoReactTreeList";const J=e=>{const t=p.useCallback(t=>{e.selectionChange&&e.selectionChange({syntheticEvent:t})},[e.selectionChange]),o=a.useId(),n=a.getNestedValue(e.field,e.dataItem),l=r.useTableKeyboardNavigation(e.id),s=p.createElement("td",{style:e.style,className:a.classNames("k-table-td",e.className),"aria-colindex":e.ariaColumnIndex,role:"gridcell",...l},p.createElement("input",{checked:"boolean"==typeof n&&n,id:o,type:"checkbox",className:"k-checkbox",onChange:t}),p.createElement("label",{className:"k-checkbox-label",htmlFor:o}));return e.render?e.render.call(void 0,s,e):s};J.displayName="KendoReactTreeListSelectionCell";let Q=class extends p.Component{constructor(){super(...arguments),this._inputId=a.guid()}render(){return p.createElement(r.HeaderSelectionCell,{inputId:this._inputId,...this.props})}};const Z=e=>e.visible&&a.canUseDOM?u.createPortal(p.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"}},p.createElement(a.IconWrap,{className:a.classNames("k-drag-status"),name:e.allowDrop?"plus":"cancel",icon:e.allowDrop?l.plusIcon:l.cancelIcon}),e.text),document.body):null;function ee(e,t,o){const a=o?o.elementFromPoint(e.clientX,e.clientY):null;return t&&a?a.closest(t):null}const te={visible:!1,top:0,left:0,text:"",allowDrop:!1};class oe extends p.Component{constructor(){super(...arguments),this.state={clueProps:{...te}},this.draggable=p.createRef(),this.dragged=null,this.draggedOver=null,this.onPress=()=>this.dragged=this.props.level,this.onDrag=e=>{if(!a.canUseDOM)return;const t=this.draggable.current&&this.draggable.current.element,o=t?t.ownerDocument:document;if(!o)return;const r=e.event,n=this.dragged;if(t&&n){!r.isTouch&&"scroll"!==r.type&&r.originalEvent.preventDefault();const e=this.props.levels[function(e,t,o){if(!e.originalEvent)return-1;const a=ee(e,"tr",o);if(a){const e=t?t.childNodes:[];for(let t=0;t<e.length;t++)if(e[t]===a)return t}return-1}(r,t.parentNode,o)];this.draggedOver=e;const a=e?!n.every((t,o)=>t===e[o]):!!ee(r,"k-grid",o);this.setState({clueProps:{visible:!0,top:r.pageY+10,left:r.pageX,text:t.innerText,allowDrop:a}}),this.props.onDrag&&this.props.onDrag.call(void 0,{nativeEvent:r.originalEvent,dragged:n,draggedOver:e,draggedItem:this.props.dataItem})}},this.onRelease=e=>{const t=e.event;if(this.dragged){const e=[...this.dragged],o=this.draggedOver&&[...this.draggedOver],a=this.state.clueProps.allowDrop;this.dragged=null,this.draggedOver=null,this.setState({clueProps:{...te}});const r=this.props.dataItem;a&&this.props.onDrop&&this.props.onDrop.call(void 0,{nativeEvent:t.originalEvent,dragged:e,draggedOver:o,draggedItem:r})}}}render(){const{clueProps:e}=this.state;return p.createElement(p.Fragment,null,p.createElement(a.Draggable,{ref:this.draggable,onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease},p.createElement(W,{...this.props})),p.createElement(Z,{...e}))}}const ae=p.forwardRef((e,t)=>{const{className:o,...r}=e,n=p.useRef(null),l=p.useRef(null);p.useImperativeHandle(l,()=>({element:n.current,props:e})),p.useImperativeHandle(t,()=>l.current);const s=p.useMemo(()=>a.classNames("k-grid-toolbar",o),[o]);return p.createElement(i.Toolbar,{id:e.id,ref:e=>{e&&(n.current=e.element)},className:s,...r},e.children)});ae.displayName="KendoReactTreeListToolbar";const re=[{text:N,operator:"contains"},{text:D,operator:"doesnotcontain"},{text:y,operator:"eq"},{text:E,operator:"neq"},{text:k,operator:"startswith"},{text:L,operator:"endswith"},{text:S,operator:"isnull"},{text:R,operator:"isnotnull"},{text:w,operator:"isempty"},{text:T,operator:"isnotempty"}],ne=[{text:y,operator:"eq"},{text:E,operator:"neq"},{text:O,operator:"gte"},{text:F,operator:"gt"},{text:K,operator:"lte"},{text:P,operator:"lt"},{text:S,operator:"isnull"},{text:R,operator:"isnotnull"}],le=[{text:y,operator:"eq"},{text:E,operator:"neq"},{text:H,operator:"gte"},{text:B,operator:"gt"},{text:V,operator:"lt"},{text:j,operator:"lte"},{text:S,operator:"isnull"},{text:R,operator:"isnotnull"}],se=[{text:A,operator:""},{text:M,operator:!0},{text:z,operator:!1}];function ie(e,t){return{clearButtonTitle:e.toLanguageString(I,_[I]),operators:t.map(t=>({text:e.toLanguageString(t.text,_[t.text]),operator:t.operator}))}}const de=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t,value:t.target.value})},[e.onChange,e.dataItem,e.level,e.field]),o=r.useTableKeyboardNavigation(e.id),n=a.classNames({"k-selected":e.isSelected},e.className),l=p.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...o,[b]:e.colIndex},p.createElement("input",{style:{width:"100%"},className:"k-input",value:a.getNestedValue(e.field,e.dataItem)||"",onChange:t}));return e.render?e.render.call(void 0,l,e):l};de.displayName="KendoReactTreeListTextEditor";const ce=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})},[e.onChange,e.dataItem,e.level,e.field]),o=a.getNestedValue(e.field,e.dataItem),n=r.useTableKeyboardNavigation(e.id),l=a.classNames({"k-selected":e.isSelected},e.className),s=p.createElement("td",{style:e.style,className:l,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...n,[b]:e.colIndex},p.createElement(d.NumericTextBox,{width:"100%",value:void 0===o?null:o,onChange:t}));return e.render?e.render.call(void 0,s,e):s};ce.displayName="KendoReactTreeListNumericEditor";const he=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t,value:t.target.checked})},[e.onChange,e.dataItem,e.level,e.field]),o=a.useId(),n=r.useTableKeyboardNavigation(e.id),l=a.classNames({"k-selected":e.isSelected},e.className),s=p.createElement("td",{style:e.style,className:l,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...n,[b]:e.colIndex},p.createElement("input",{checked:a.getNestedValue(e.field,e.dataItem)||!1,id:o,type:"checkbox",className:"k-checkbox",onChange:t}),p.createElement("label",{className:"k-checkbox-label",htmlFor:o}));return e.render?e.render.call(void 0,s,e):s};he.displayName="KendoReactTreeListBooleanEditor";const pe=e=>{const t=p.useCallback(t=>{e.onChange&&e.onChange({dataItem:e.dataItem,level:e.level,field:e.field,syntheticEvent:t.syntheticEvent,value:t.value})},[e.onChange,e.dataItem,e.level,e.field]),o=r.useTableKeyboardNavigation(e.id),n=a.classNames({"k-selected":e.isSelected},e.className),l=p.createElement("td",{style:e.style,className:n,"aria-colindex":e.ariaColumnIndex,"aria-selected":e.isSelected,role:"gridcell",...o,[b]:e.colIndex},p.createElement(c.DatePicker,{width:"100%",value:a.getNestedValue(e.field,e.dataItem),onChange:t}));return e.render?e.render.call(void 0,l,e):l};pe.displayName="KendoReactTreeListDateEditor";const ue=Y;Object.defineProperty(e,"getAbsoluteVirtualRowIndex",{enumerable:!0,get:function(){return a.getAbsoluteVirtualRowIndex}}),Object.defineProperty(e,"getNestedValue",{enumerable:!0,get:function(){return a.getNestedValue}}),Object.defineProperty(e,"mapTree",{enumerable:!0,get:function(){return a.mapTree}}),Object.defineProperty(e,"mapTreeItem",{enumerable:!0,get:function(){return a.mapTreeItem}}),Object.defineProperty(e,"createDataTree",{enumerable:!0,get:function(){return r.createDataTree}}),Object.defineProperty(e,"extendDataItem",{enumerable:!0,get:function(){return r.extendDataItem}}),Object.defineProperty(e,"filterBy",{enumerable:!0,get:function(){return r.filterBy}}),Object.defineProperty(e,"flatData",{enumerable:!0,get:function(){return r.flatData}}),Object.defineProperty(e,"getItemPath",{enumerable:!0,get:function(){return r.getItemPath}}),Object.defineProperty(e,"getSelectedState",{enumerable:!0,get:function(){return r.getSelectedState}}),Object.defineProperty(e,"getSelectedStateFromKeyDown",{enumerable:!0,get:function(){return r.getSelectedStateFromKeyDown}}),Object.defineProperty(e,"modifySubItems",{enumerable:!0,get:function(){return r.modifySubItems}}),Object.defineProperty(e,"moveTreeItem",{enumerable:!0,get:function(){return r.moveTreeItem}}),Object.defineProperty(e,"orderBy",{enumerable:!0,get:function(){return r.orderBy}}),Object.defineProperty(e,"removeItems",{enumerable:!0,get:function(){return r.removeItems}}),Object.defineProperty(e,"setSelectedState",{enumerable:!0,get:function(){return r.setSelectedState}}),Object.defineProperty(e,"treeToFlat",{enumerable:!0,get:function(){return r.treeToFlat}}),e.TREELIST_COL_INDEX_ATTRIBUTE=b,e.TREELIST_PREVENT_SELECTION_ELEMENT=C,e.TREELIST_ROW_INDEX_ATTRIBUTE=v,e.TreeList=ue,e.TreeListBooleanEditor=he,e.TreeListBooleanFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.BooleanFilterCell,{ariaLabel:"boolean filter",...ie(n.useLocalization(),t||se),...o})},e.TreeListCell=x,e.TreeListDateEditor=pe,e.TreeListDateFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.DateFilterCell,{ariaLabel:"date filter",...ie(n.useLocalization(),t||le),...o})},e.TreeListDraggableRow=oe,e.TreeListHeaderCell=e=>p.createElement(r.HeaderCell,{...e}),e.TreeListHeaderSelectionCell=Q,e.TreeListNoRecords=U,e.TreeListNumericEditor=ce,e.TreeListNumericFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.NumericFilterCell,{ariaLabel:"numeric filter",...ie(n.useLocalization(),t||ne),...o})},e.TreeListRow=W,e.TreeListSelectionCell=J,e.TreeListTextEditor=de,e.TreeListTextFilter=function(e){const{operators:t,...o}=e;return p.createElement(r.TextFilterCell,{ariaLabel:"text filter",...ie(n.useLocalization(),t||re),...o})},e.TreeListToolbar=ae,e.setHeaderRowsTop=g,e.tableRowsVirtualization=f});
package/index.d.mts CHANGED
@@ -31,7 +31,7 @@ import { TreeListTextEditor, TreeListTextEditorProps } from './cells/EditCells/T
31
31
  import { TreeListNumericEditor, TreeListNumericEditorProps } from './cells/EditCells/TreeListNumericEditor.js';
32
32
  import { TreeListBooleanEditor, TreeListBooleanEditorProps } from './cells/EditCells/TreeListBooleanEditor.js';
33
33
  import { TreeListDateEditor, TreeListDateEditorProps } from './cells/EditCells/TreeListDateEditor.js';
34
- import { mapTree, mapTreeItem, getNestedValue } from '@progress/kendo-react-common';
34
+ import { mapTree, mapTreeItem, getNestedValue, getAbsoluteVirtualRowIndex } from '@progress/kendo-react-common';
35
35
  import { orderBy, filterBy, moveTreeItem, getItemPath, createDataTree, extendDataItem, removeItems, modifySubItems, treeToFlat, flatData, getSelectedState, getSelectedStateFromKeyDown, setSelectedState } from '@progress/kendo-react-data-tools';
36
36
  import { DataItemWrapper } from './interfaces/DataItemWrapper';
37
37
  import { setHeaderRowsTop, tableRowsVirtualization } from './utils/index.js';
@@ -39,4 +39,4 @@ import { TREELIST_COL_INDEX_ATTRIBUTE, TREELIST_ROW_INDEX_ATTRIBUTE, TREELIST_PR
39
39
  import { TreeListSelectableMode, TreeListSelectableSettings } from './interfaces/TreeListSelectableSettings';
40
40
  declare const TreeList: import('react').ForwardRefExoticComponent<TreeListProps & import('react').RefAttributes<TreeListClassComponent>>;
41
41
  type TreeList = TreeListClassComponent;
42
- export { TreeList, TreeListProps, TreeListColumnProps, TreeListCell, TreeListCellProps, TreeListRow, TreeListDraggableRow, TreeListRowProps, TreeListHeaderCell, TreeListHeaderCellProps, TreeListSelectionCell, TreeListSelectionCellProps, TreeListHeaderSelectionCell, TreeListHeaderSelectionCellProps, TreeListToolbar, TreeListToolbarProps, TreeListToolbarHandle, TreeListNoRecords, TreeListNoRecordsProps, TreeListSortSettings, TreeListColumnSortSettings, TreeListTextFilter, TreeListTextFilterProps, TreeListNumericFilter, TreeListNumericFilterProps, TreeListDateFilter, TreeListDateFilterProps, TreeListBooleanFilter, TreeListBooleanFilterProps, TreeListTextEditor, TreeListTextEditorProps, TreeListNumericEditor, TreeListNumericEditorProps, TreeListBooleanEditor, TreeListBooleanEditorProps, TreeListDateEditor, TreeListDateEditorProps, TreeListDataStateChangeEvent, TreeListFilterChangeEvent, TreeListColumnMenuFilterChangeEvent, TreeListSortChangeEvent, TreeListExpandChangeEvent, TreeListSelectionChangeEvent, TreeListItemChangeEvent, TreeListHeaderSelectionChangeEvent, TreeListRowClickEvent, TreeListColumnResizeEvent, TreeListColumnReorderEvent, TreeListPageChangeEvent, TreeListRowDragEvent, TreeListEvent, TreeListRowDoubleClickEvent, TreeListRowContextMenuEvent, TreeListDragSelectionReleaseEvent, TreeListKeyDownEvent, orderBy, filterBy, mapTree, createDataTree, extendDataItem, mapTreeItem, moveTreeItem, getItemPath, removeItems, modifySubItems, treeToFlat, DataItemWrapper, flatData, getNestedValue, setHeaderRowsTop, tableRowsVirtualization, TREELIST_COL_INDEX_ATTRIBUTE, TREELIST_ROW_INDEX_ATTRIBUTE, TREELIST_PREVENT_SELECTION_ELEMENT, getSelectedState, getSelectedStateFromKeyDown, setSelectedState, TreeListSelectableSettings, TreeListSelectableMode };
42
+ export { TreeList, TreeListProps, TreeListColumnProps, TreeListCell, TreeListCellProps, TreeListRow, TreeListDraggableRow, TreeListRowProps, TreeListHeaderCell, TreeListHeaderCellProps, TreeListSelectionCell, TreeListSelectionCellProps, TreeListHeaderSelectionCell, TreeListHeaderSelectionCellProps, TreeListToolbar, TreeListToolbarProps, TreeListToolbarHandle, TreeListNoRecords, TreeListNoRecordsProps, TreeListSortSettings, TreeListColumnSortSettings, TreeListTextFilter, TreeListTextFilterProps, TreeListNumericFilter, TreeListNumericFilterProps, TreeListDateFilter, TreeListDateFilterProps, TreeListBooleanFilter, TreeListBooleanFilterProps, TreeListTextEditor, TreeListTextEditorProps, TreeListNumericEditor, TreeListNumericEditorProps, TreeListBooleanEditor, TreeListBooleanEditorProps, TreeListDateEditor, TreeListDateEditorProps, TreeListDataStateChangeEvent, TreeListFilterChangeEvent, TreeListColumnMenuFilterChangeEvent, TreeListSortChangeEvent, TreeListExpandChangeEvent, TreeListSelectionChangeEvent, TreeListItemChangeEvent, TreeListHeaderSelectionChangeEvent, TreeListRowClickEvent, TreeListColumnResizeEvent, TreeListColumnReorderEvent, TreeListPageChangeEvent, TreeListRowDragEvent, TreeListEvent, TreeListRowDoubleClickEvent, TreeListRowContextMenuEvent, TreeListDragSelectionReleaseEvent, TreeListKeyDownEvent, orderBy, filterBy, mapTree, createDataTree, extendDataItem, mapTreeItem, moveTreeItem, getItemPath, removeItems, modifySubItems, treeToFlat, DataItemWrapper, flatData, getNestedValue, getAbsoluteVirtualRowIndex, setHeaderRowsTop, tableRowsVirtualization, TREELIST_COL_INDEX_ATTRIBUTE, TREELIST_ROW_INDEX_ATTRIBUTE, TREELIST_PREVENT_SELECTION_ELEMENT, getSelectedState, getSelectedStateFromKeyDown, setSelectedState, TreeListSelectableSettings, TreeListSelectableMode };
package/index.d.ts CHANGED
@@ -31,7 +31,7 @@ import { TreeListTextEditor, TreeListTextEditorProps } from './cells/EditCells/T
31
31
  import { TreeListNumericEditor, TreeListNumericEditorProps } from './cells/EditCells/TreeListNumericEditor.js';
32
32
  import { TreeListBooleanEditor, TreeListBooleanEditorProps } from './cells/EditCells/TreeListBooleanEditor.js';
33
33
  import { TreeListDateEditor, TreeListDateEditorProps } from './cells/EditCells/TreeListDateEditor.js';
34
- import { mapTree, mapTreeItem, getNestedValue } from '@progress/kendo-react-common';
34
+ import { mapTree, mapTreeItem, getNestedValue, getAbsoluteVirtualRowIndex } from '@progress/kendo-react-common';
35
35
  import { orderBy, filterBy, moveTreeItem, getItemPath, createDataTree, extendDataItem, removeItems, modifySubItems, treeToFlat, flatData, getSelectedState, getSelectedStateFromKeyDown, setSelectedState } from '@progress/kendo-react-data-tools';
36
36
  import { DataItemWrapper } from './interfaces/DataItemWrapper';
37
37
  import { setHeaderRowsTop, tableRowsVirtualization } from './utils/index.js';
@@ -39,4 +39,4 @@ import { TREELIST_COL_INDEX_ATTRIBUTE, TREELIST_ROW_INDEX_ATTRIBUTE, TREELIST_PR
39
39
  import { TreeListSelectableMode, TreeListSelectableSettings } from './interfaces/TreeListSelectableSettings';
40
40
  declare const TreeList: import('react').ForwardRefExoticComponent<TreeListProps & import('react').RefAttributes<TreeListClassComponent>>;
41
41
  type TreeList = TreeListClassComponent;
42
- export { TreeList, TreeListProps, TreeListColumnProps, TreeListCell, TreeListCellProps, TreeListRow, TreeListDraggableRow, TreeListRowProps, TreeListHeaderCell, TreeListHeaderCellProps, TreeListSelectionCell, TreeListSelectionCellProps, TreeListHeaderSelectionCell, TreeListHeaderSelectionCellProps, TreeListToolbar, TreeListToolbarProps, TreeListToolbarHandle, TreeListNoRecords, TreeListNoRecordsProps, TreeListSortSettings, TreeListColumnSortSettings, TreeListTextFilter, TreeListTextFilterProps, TreeListNumericFilter, TreeListNumericFilterProps, TreeListDateFilter, TreeListDateFilterProps, TreeListBooleanFilter, TreeListBooleanFilterProps, TreeListTextEditor, TreeListTextEditorProps, TreeListNumericEditor, TreeListNumericEditorProps, TreeListBooleanEditor, TreeListBooleanEditorProps, TreeListDateEditor, TreeListDateEditorProps, TreeListDataStateChangeEvent, TreeListFilterChangeEvent, TreeListColumnMenuFilterChangeEvent, TreeListSortChangeEvent, TreeListExpandChangeEvent, TreeListSelectionChangeEvent, TreeListItemChangeEvent, TreeListHeaderSelectionChangeEvent, TreeListRowClickEvent, TreeListColumnResizeEvent, TreeListColumnReorderEvent, TreeListPageChangeEvent, TreeListRowDragEvent, TreeListEvent, TreeListRowDoubleClickEvent, TreeListRowContextMenuEvent, TreeListDragSelectionReleaseEvent, TreeListKeyDownEvent, orderBy, filterBy, mapTree, createDataTree, extendDataItem, mapTreeItem, moveTreeItem, getItemPath, removeItems, modifySubItems, treeToFlat, DataItemWrapper, flatData, getNestedValue, setHeaderRowsTop, tableRowsVirtualization, TREELIST_COL_INDEX_ATTRIBUTE, TREELIST_ROW_INDEX_ATTRIBUTE, TREELIST_PREVENT_SELECTION_ELEMENT, getSelectedState, getSelectedStateFromKeyDown, setSelectedState, TreeListSelectableSettings, TreeListSelectableMode };
42
+ export { TreeList, TreeListProps, TreeListColumnProps, TreeListCell, TreeListCellProps, TreeListRow, TreeListDraggableRow, TreeListRowProps, TreeListHeaderCell, TreeListHeaderCellProps, TreeListSelectionCell, TreeListSelectionCellProps, TreeListHeaderSelectionCell, TreeListHeaderSelectionCellProps, TreeListToolbar, TreeListToolbarProps, TreeListToolbarHandle, TreeListNoRecords, TreeListNoRecordsProps, TreeListSortSettings, TreeListColumnSortSettings, TreeListTextFilter, TreeListTextFilterProps, TreeListNumericFilter, TreeListNumericFilterProps, TreeListDateFilter, TreeListDateFilterProps, TreeListBooleanFilter, TreeListBooleanFilterProps, TreeListTextEditor, TreeListTextEditorProps, TreeListNumericEditor, TreeListNumericEditorProps, TreeListBooleanEditor, TreeListBooleanEditorProps, TreeListDateEditor, TreeListDateEditorProps, TreeListDataStateChangeEvent, TreeListFilterChangeEvent, TreeListColumnMenuFilterChangeEvent, TreeListSortChangeEvent, TreeListExpandChangeEvent, TreeListSelectionChangeEvent, TreeListItemChangeEvent, TreeListHeaderSelectionChangeEvent, TreeListRowClickEvent, TreeListColumnResizeEvent, TreeListColumnReorderEvent, TreeListPageChangeEvent, TreeListRowDragEvent, TreeListEvent, TreeListRowDoubleClickEvent, TreeListRowContextMenuEvent, TreeListDragSelectionReleaseEvent, TreeListKeyDownEvent, orderBy, filterBy, mapTree, createDataTree, extendDataItem, mapTreeItem, moveTreeItem, getItemPath, removeItems, modifySubItems, treeToFlat, DataItemWrapper, flatData, getNestedValue, getAbsoluteVirtualRowIndex, setHeaderRowsTop, tableRowsVirtualization, TREELIST_COL_INDEX_ATTRIBUTE, TREELIST_ROW_INDEX_ATTRIBUTE, TREELIST_PREVENT_SELECTION_ELEMENT, getSelectedState, getSelectedStateFromKeyDown, setSelectedState, TreeListSelectableSettings, TreeListSelectableMode };
package/index.js CHANGED
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./TreeListMcpWrapper.js"),T=require("./cells/TreeListCell.js"),s=require("./header/TreeListHeaderCell.js"),l=require("./cells/TreeListSelectionCell.js"),a=require("./header/TreeListHeaderSelectionCell.js"),n=require("./rows/TreeListRow.js"),u=require("./rows/TreeListDraggableRow.js"),c=require("./TreeListToolbar.js"),L=require("./TreeListNoRecords.js"),d=require("./cells/FilterCells/TreeListTextFilter.js"),m=require("./cells/FilterCells/TreeListNumericFilter.js"),E=require("./cells/FilterCells/TreeListDateFilter.js"),b=require("./cells/FilterCells/TreeListBooleanFilter.js"),g=require("./cells/EditCells/TreeListTextEditor.js"),S=require("./cells/EditCells/TreeListNumericEditor.js"),R=require("./cells/EditCells/TreeListBooleanEditor.js"),p=require("./cells/EditCells/TreeListDateEditor.js"),t=require("@progress/kendo-react-common"),e=require("@progress/kendo-react-data-tools"),i=require("./utils/index.js"),r=require("./constants/index.js"),I=o.TreeListWrapper;exports.TreeListCell=T.TreeListCell;exports.TreeListHeaderCell=s.TreeListHeaderCell;exports.TreeListSelectionCell=l.TreeListSelectionCell;exports.TreeListHeaderSelectionCell=a.TreeListHeaderSelectionCell;exports.TreeListRow=n.TreeListRow;exports.TreeListDraggableRow=u.TreeListDraggableRow;exports.TreeListToolbar=c.TreeListToolbar;exports.TreeListNoRecords=L.TreeListNoRecords;exports.TreeListTextFilter=d.TreeListTextFilter;exports.TreeListNumericFilter=m.TreeListNumericFilter;exports.TreeListDateFilter=E.TreeListDateFilter;exports.TreeListBooleanFilter=b.TreeListBooleanFilter;exports.TreeListTextEditor=g.TreeListTextEditor;exports.TreeListNumericEditor=S.TreeListNumericEditor;exports.TreeListBooleanEditor=R.TreeListBooleanEditor;exports.TreeListDateEditor=p.TreeListDateEditor;Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:()=>t.getNestedValue});Object.defineProperty(exports,"mapTree",{enumerable:!0,get:()=>t.mapTree});Object.defineProperty(exports,"mapTreeItem",{enumerable:!0,get:()=>t.mapTreeItem});Object.defineProperty(exports,"createDataTree",{enumerable:!0,get:()=>e.createDataTree});Object.defineProperty(exports,"extendDataItem",{enumerable:!0,get:()=>e.extendDataItem});Object.defineProperty(exports,"filterBy",{enumerable:!0,get:()=>e.filterBy});Object.defineProperty(exports,"flatData",{enumerable:!0,get:()=>e.flatData});Object.defineProperty(exports,"getItemPath",{enumerable:!0,get:()=>e.getItemPath});Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>e.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>e.getSelectedStateFromKeyDown});Object.defineProperty(exports,"modifySubItems",{enumerable:!0,get:()=>e.modifySubItems});Object.defineProperty(exports,"moveTreeItem",{enumerable:!0,get:()=>e.moveTreeItem});Object.defineProperty(exports,"orderBy",{enumerable:!0,get:()=>e.orderBy});Object.defineProperty(exports,"removeItems",{enumerable:!0,get:()=>e.removeItems});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>e.setSelectedState});Object.defineProperty(exports,"treeToFlat",{enumerable:!0,get:()=>e.treeToFlat});exports.setHeaderRowsTop=i.setHeaderRowsTop;exports.tableRowsVirtualization=i.tableRowsVirtualization;exports.TREELIST_COL_INDEX_ATTRIBUTE=r.TREELIST_COL_INDEX_ATTRIBUTE;exports.TREELIST_PREVENT_SELECTION_ELEMENT=r.TREELIST_PREVENT_SELECTION_ELEMENT;exports.TREELIST_ROW_INDEX_ATTRIBUTE=r.TREELIST_ROW_INDEX_ATTRIBUTE;exports.TreeList=I;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./TreeListMcpWrapper.js"),T=require("./cells/TreeListCell.js"),l=require("./header/TreeListHeaderCell.js"),s=require("./cells/TreeListSelectionCell.js"),a=require("./header/TreeListHeaderSelectionCell.js"),n=require("./rows/TreeListRow.js"),u=require("./rows/TreeListDraggableRow.js"),c=require("./TreeListToolbar.js"),L=require("./TreeListNoRecords.js"),d=require("./cells/FilterCells/TreeListTextFilter.js"),m=require("./cells/FilterCells/TreeListNumericFilter.js"),b=require("./cells/FilterCells/TreeListDateFilter.js"),E=require("./cells/FilterCells/TreeListBooleanFilter.js"),g=require("./cells/EditCells/TreeListTextEditor.js"),R=require("./cells/EditCells/TreeListNumericEditor.js"),I=require("./cells/EditCells/TreeListBooleanEditor.js"),S=require("./cells/EditCells/TreeListDateEditor.js"),t=require("@progress/kendo-react-common"),e=require("@progress/kendo-react-data-tools"),i=require("./utils/index.js"),r=require("./constants/index.js"),p=o.TreeListWrapper;exports.TreeListCell=T.TreeListCell;exports.TreeListHeaderCell=l.TreeListHeaderCell;exports.TreeListSelectionCell=s.TreeListSelectionCell;exports.TreeListHeaderSelectionCell=a.TreeListHeaderSelectionCell;exports.TreeListRow=n.TreeListRow;exports.TreeListDraggableRow=u.TreeListDraggableRow;exports.TreeListToolbar=c.TreeListToolbar;exports.TreeListNoRecords=L.TreeListNoRecords;exports.TreeListTextFilter=d.TreeListTextFilter;exports.TreeListNumericFilter=m.TreeListNumericFilter;exports.TreeListDateFilter=b.TreeListDateFilter;exports.TreeListBooleanFilter=E.TreeListBooleanFilter;exports.TreeListTextEditor=g.TreeListTextEditor;exports.TreeListNumericEditor=R.TreeListNumericEditor;exports.TreeListBooleanEditor=I.TreeListBooleanEditor;exports.TreeListDateEditor=S.TreeListDateEditor;Object.defineProperty(exports,"getAbsoluteVirtualRowIndex",{enumerable:!0,get:()=>t.getAbsoluteVirtualRowIndex});Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:()=>t.getNestedValue});Object.defineProperty(exports,"mapTree",{enumerable:!0,get:()=>t.mapTree});Object.defineProperty(exports,"mapTreeItem",{enumerable:!0,get:()=>t.mapTreeItem});Object.defineProperty(exports,"createDataTree",{enumerable:!0,get:()=>e.createDataTree});Object.defineProperty(exports,"extendDataItem",{enumerable:!0,get:()=>e.extendDataItem});Object.defineProperty(exports,"filterBy",{enumerable:!0,get:()=>e.filterBy});Object.defineProperty(exports,"flatData",{enumerable:!0,get:()=>e.flatData});Object.defineProperty(exports,"getItemPath",{enumerable:!0,get:()=>e.getItemPath});Object.defineProperty(exports,"getSelectedState",{enumerable:!0,get:()=>e.getSelectedState});Object.defineProperty(exports,"getSelectedStateFromKeyDown",{enumerable:!0,get:()=>e.getSelectedStateFromKeyDown});Object.defineProperty(exports,"modifySubItems",{enumerable:!0,get:()=>e.modifySubItems});Object.defineProperty(exports,"moveTreeItem",{enumerable:!0,get:()=>e.moveTreeItem});Object.defineProperty(exports,"orderBy",{enumerable:!0,get:()=>e.orderBy});Object.defineProperty(exports,"removeItems",{enumerable:!0,get:()=>e.removeItems});Object.defineProperty(exports,"setSelectedState",{enumerable:!0,get:()=>e.setSelectedState});Object.defineProperty(exports,"treeToFlat",{enumerable:!0,get:()=>e.treeToFlat});exports.setHeaderRowsTop=i.setHeaderRowsTop;exports.tableRowsVirtualization=i.tableRowsVirtualization;exports.TREELIST_COL_INDEX_ATTRIBUTE=r.TREELIST_COL_INDEX_ATTRIBUTE;exports.TREELIST_PREVENT_SELECTION_ELEMENT=r.TREELIST_PREVENT_SELECTION_ELEMENT;exports.TREELIST_ROW_INDEX_ATTRIBUTE=r.TREELIST_ROW_INDEX_ATTRIBUTE;exports.TreeList=p;
package/index.mjs CHANGED
@@ -9,62 +9,63 @@
9
9
  import { TreeListWrapper as e } from "./TreeListMcpWrapper.mjs";
10
10
  import { TreeListCell as i } from "./cells/TreeListCell.mjs";
11
11
  import { TreeListHeaderCell as a } from "./header/TreeListHeaderCell.mjs";
12
- import { TreeListSelectionCell as p } from "./cells/TreeListSelectionCell.mjs";
13
- import { TreeListHeaderSelectionCell as f } from "./header/TreeListHeaderSelectionCell.mjs";
12
+ import { TreeListSelectionCell as s } from "./cells/TreeListSelectionCell.mjs";
13
+ import { TreeListHeaderSelectionCell as x } from "./header/TreeListHeaderSelectionCell.mjs";
14
14
  import { TreeListRow as L } from "./rows/TreeListRow.mjs";
15
15
  import { TreeListDraggableRow as d } from "./rows/TreeListDraggableRow.mjs";
16
- import { TreeListToolbar as S } from "./TreeListToolbar.mjs";
16
+ import { TreeListToolbar as R } from "./TreeListToolbar.mjs";
17
17
  import { TreeListNoRecords as c } from "./TreeListNoRecords.mjs";
18
- import { TreeListTextFilter as N } from "./cells/FilterCells/TreeListTextFilter.mjs";
19
- import { TreeListNumericFilter as n } from "./cells/FilterCells/TreeListNumericFilter.mjs";
20
- import { TreeListDateFilter as B } from "./cells/FilterCells/TreeListDateFilter.mjs";
21
- import { TreeListBooleanFilter as F } from "./cells/FilterCells/TreeListBooleanFilter.mjs";
22
- import { TreeListTextEditor as w } from "./cells/EditCells/TreeListTextEditor.mjs";
18
+ import { TreeListTextFilter as D } from "./cells/FilterCells/TreeListTextFilter.mjs";
19
+ import { TreeListNumericFilter as _ } from "./cells/FilterCells/TreeListNumericFilter.mjs";
20
+ import { TreeListDateFilter as u } from "./cells/FilterCells/TreeListDateFilter.mjs";
21
+ import { TreeListBooleanFilter as B } from "./cells/FilterCells/TreeListBooleanFilter.mjs";
22
+ import { TreeListTextEditor as F } from "./cells/EditCells/TreeListTextEditor.mjs";
23
23
  import { TreeListNumericEditor as y } from "./cells/EditCells/TreeListNumericEditor.mjs";
24
- import { TreeListBooleanEditor as O } from "./cells/EditCells/TreeListBooleanEditor.mjs";
25
- import { TreeListDateEditor as v } from "./cells/EditCells/TreeListDateEditor.mjs";
26
- import { getNestedValue as P, mapTree as U, mapTreeItem as W } from "@progress/kendo-react-common";
27
- import { createDataTree as h, extendDataItem as z, filterBy as K, flatData as M, getItemPath as j, getSelectedState as k, getSelectedStateFromKeyDown as q, modifySubItems as G, moveTreeItem as J, orderBy as Q, removeItems as Y, setSelectedState as Z, treeToFlat as $ } from "@progress/kendo-react-data-tools";
28
- import { setHeaderRowsTop as re, tableRowsVirtualization as te } from "./utils/index.mjs";
29
- import { TREELIST_COL_INDEX_ATTRIBUTE as Te, TREELIST_PREVENT_SELECTION_ELEMENT as ie, TREELIST_ROW_INDEX_ATTRIBUTE as me } from "./constants/index.mjs";
30
- const t = e;
24
+ import { TreeListBooleanEditor as A } from "./cells/EditCells/TreeListBooleanEditor.mjs";
25
+ import { TreeListDateEditor as O } from "./cells/EditCells/TreeListDateEditor.mjs";
26
+ import { getAbsoluteVirtualRowIndex as P, getNestedValue as U, mapTree as W, mapTreeItem as X } from "@progress/kendo-react-common";
27
+ import { createDataTree as z, extendDataItem as K, filterBy as M, flatData as j, getItemPath as k, getSelectedState as q, getSelectedStateFromKeyDown as G, modifySubItems as J, moveTreeItem as Q, orderBy as Y, removeItems as Z, setSelectedState as $, treeToFlat as ee } from "@progress/kendo-react-data-tools";
28
+ import { setHeaderRowsTop as re, tableRowsVirtualization as oe } from "./utils/index.mjs";
29
+ import { TREELIST_COL_INDEX_ATTRIBUTE as ie, TREELIST_PREVENT_SELECTION_ELEMENT as me, TREELIST_ROW_INDEX_ATTRIBUTE as ae } from "./constants/index.mjs";
30
+ const r = e;
31
31
  export {
32
- Te as TREELIST_COL_INDEX_ATTRIBUTE,
33
- ie as TREELIST_PREVENT_SELECTION_ELEMENT,
34
- me as TREELIST_ROW_INDEX_ATTRIBUTE,
35
- t as TreeList,
36
- O as TreeListBooleanEditor,
37
- F as TreeListBooleanFilter,
32
+ ie as TREELIST_COL_INDEX_ATTRIBUTE,
33
+ me as TREELIST_PREVENT_SELECTION_ELEMENT,
34
+ ae as TREELIST_ROW_INDEX_ATTRIBUTE,
35
+ r as TreeList,
36
+ A as TreeListBooleanEditor,
37
+ B as TreeListBooleanFilter,
38
38
  i as TreeListCell,
39
- v as TreeListDateEditor,
40
- B as TreeListDateFilter,
39
+ O as TreeListDateEditor,
40
+ u as TreeListDateFilter,
41
41
  d as TreeListDraggableRow,
42
42
  a as TreeListHeaderCell,
43
- f as TreeListHeaderSelectionCell,
43
+ x as TreeListHeaderSelectionCell,
44
44
  c as TreeListNoRecords,
45
45
  y as TreeListNumericEditor,
46
- n as TreeListNumericFilter,
46
+ _ as TreeListNumericFilter,
47
47
  L as TreeListRow,
48
- p as TreeListSelectionCell,
49
- w as TreeListTextEditor,
50
- N as TreeListTextFilter,
51
- S as TreeListToolbar,
52
- h as createDataTree,
53
- z as extendDataItem,
54
- K as filterBy,
55
- M as flatData,
56
- j as getItemPath,
57
- P as getNestedValue,
58
- k as getSelectedState,
59
- q as getSelectedStateFromKeyDown,
60
- U as mapTree,
61
- W as mapTreeItem,
62
- G as modifySubItems,
63
- J as moveTreeItem,
64
- Q as orderBy,
65
- Y as removeItems,
48
+ s as TreeListSelectionCell,
49
+ F as TreeListTextEditor,
50
+ D as TreeListTextFilter,
51
+ R as TreeListToolbar,
52
+ z as createDataTree,
53
+ K as extendDataItem,
54
+ M as filterBy,
55
+ j as flatData,
56
+ P as getAbsoluteVirtualRowIndex,
57
+ k as getItemPath,
58
+ U as getNestedValue,
59
+ q as getSelectedState,
60
+ G as getSelectedStateFromKeyDown,
61
+ W as mapTree,
62
+ X as mapTreeItem,
63
+ J as modifySubItems,
64
+ Q as moveTreeItem,
65
+ Y as orderBy,
66
+ Z as removeItems,
66
67
  re as setHeaderRowsTop,
67
- Z as setSelectedState,
68
- te as tableRowsVirtualization,
69
- $ as treeToFlat
68
+ $ as setSelectedState,
69
+ oe as tableRowsVirtualization,
70
+ ee as treeToFlat
70
71
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-treelist",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1779805546,version:"15.0.1-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-treelist",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1780926926,version:"15.0.1-develop.11",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"});exports.packageMetadata=e;
@@ -7,7 +7,7 @@ export const packageMetadata = Object.freeze({
7
7
  productName: 'KendoReact',
8
8
  productCode: 'KENDOUIREACT',
9
9
  productCodes: ['KENDOUIREACT'],
10
- publishDate: 1779805546,
11
- version: '15.0.1-develop.1',
10
+ publishDate: 1780926926,
11
+ version: '15.0.1-develop.11',
12
12
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/components/my-license/'
13
13
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-treelist",
3
- "version": "15.0.1-develop.1",
3
+ "version": "15.0.1-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",
@@ -29,13 +29,13 @@
29
29
  "@progress/kendo-date-math": "^1.4.1",
30
30
  "@progress/kendo-drawing": "^1.21.2",
31
31
  "@progress/kendo-licensing": "^1.7.2",
32
- "@progress/kendo-react-common": "15.0.1-develop.1",
33
- "@progress/kendo-react-data-tools": "15.0.1-develop.1",
34
- "@progress/kendo-react-dateinputs": "15.0.1-develop.1",
35
- "@progress/kendo-react-dialogs": "15.0.1-develop.1",
36
- "@progress/kendo-react-dropdowns": "15.0.1-develop.1",
37
- "@progress/kendo-react-inputs": "15.0.1-develop.1",
38
- "@progress/kendo-react-intl": "15.0.1-develop.1",
32
+ "@progress/kendo-react-common": "15.0.1-develop.11",
33
+ "@progress/kendo-react-data-tools": "15.0.1-develop.11",
34
+ "@progress/kendo-react-dateinputs": "15.0.1-develop.11",
35
+ "@progress/kendo-react-dialogs": "15.0.1-develop.11",
36
+ "@progress/kendo-react-dropdowns": "15.0.1-develop.11",
37
+ "@progress/kendo-react-inputs": "15.0.1-develop.11",
38
+ "@progress/kendo-react-intl": "15.0.1-develop.11",
39
39
  "@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
40
40
  "react": "^18.0.0 || ^19.0.0",
41
41
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -76,7 +76,7 @@
76
76
  "package": {
77
77
  "productName": "KendoReact",
78
78
  "productCode": "KENDOUIREACT",
79
- "publishDate": 1779805546,
79
+ "publishDate": 1780926926,
80
80
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/components/my-license/"
81
81
  }
82
82
  },
package/utils/index.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function g(n){return n!==void 0&&(typeof n=="number"||/px$/i.test(String(n)))}function u(n,o,a){const r=Array.from(n.tHead&&n.tHead.rows||[]),i=[o];let h;const l=a||(t=>window.getComputedStyle(t).height||void 0);r.forEach(t=>{const e=l(t);i.push(g(e)?parseFloat(String(e)):t.offsetHeight)});for(let t=0;t<r.length;t++)h=i.slice(0,t+1).reduce((e,s)=>e+s),Array.from(r[t].cells).forEach(e=>e.style.top=h+"px")}const c=1e6;function d(n){const{rows:o,tableViewPortHeight:a,scrollTop:r}=n;if(o.length===0)return[];const i=o[0].height,h=Math.min(Math.round(r/i),o.length),l=Math.round(a/i),t=Math.max(0,h-l),e=Math.min(o.length,h+2*l),s=o.slice(t,e),f=s[s.length-1];return t>0&&s.unshift({dataItem:{},level:[c],offsetTop:0,height:s[0].offsetTop,levelCount:0}),e<o.length-1&&s.push({dataItem:{},level:[c,c],offsetTop:f.offsetTop+f.height,height:(o.length-e)*i,levelCount:0}),s}exports.setHeaderRowsTop=u;exports.tableRowsVirtualization=d;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function g(o){return o!==void 0&&(typeof o=="number"||/px$/i.test(String(o)))}function u(o,e,c){const l=Array.from(o.tHead&&o.tHead.rows||[]),r=[e],h=c||(t=>window.getComputedStyle(t).height||void 0);l.forEach(t=>{const s=h(t);r.push(g(s)?parseFloat(String(s)):t.offsetHeight)});for(let t=0;t<l.length;t++){const s=r.slice(0,t+1).reduce((i,n)=>i+n,0);Array.from(l[t].cells).forEach(i=>i.style.top=s+"px")}}const a=1e6;function d(o){const{rows:e,tableViewPortHeight:c,scrollTop:l}=o;if(e.length===0)return[];const r=e[0].height,h=Math.min(Math.round(l/r),e.length),t=Math.round(c/r),s=Math.max(0,h-t),i=Math.min(e.length,h+2*t),n=e.slice(s,i),f=n[n.length-1];return s>0&&n.unshift({dataItem:{},level:[a],offsetTop:0,height:n[0].offsetTop,levelCount:0}),i<e.length-1&&n.push({dataItem:{},level:[a,a],offsetTop:f.offsetTop+f.height,height:(e.length-i)*r,levelCount:0}),n}exports.setHeaderRowsTop=u;exports.tableRowsVirtualization=d;
package/utils/index.mjs CHANGED
@@ -5,39 +5,39 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- function g(n) {
9
- return n !== void 0 && (typeof n == "number" || /px$/i.test(String(n)));
8
+ function g(o) {
9
+ return o !== void 0 && (typeof o == "number" || /px$/i.test(String(o)));
10
10
  }
11
- function u(n, o, c) {
12
- const h = Array.from(n.tHead && n.tHead.rows || []), i = [o];
13
- let r;
14
- const l = c || ((t) => window.getComputedStyle(t).height || void 0);
15
- h.forEach((t) => {
16
- const e = l(t);
17
- i.push(g(e) ? parseFloat(String(e)) : t.offsetHeight);
11
+ function u(o, e, l) {
12
+ const r = Array.from(o.tHead && o.tHead.rows || []), h = [e], c = l || ((t) => window.getComputedStyle(t).height || void 0);
13
+ r.forEach((t) => {
14
+ const s = c(t);
15
+ h.push(g(s) ? parseFloat(String(s)) : t.offsetHeight);
18
16
  });
19
- for (let t = 0; t < h.length; t++)
20
- r = i.slice(0, t + 1).reduce((e, s) => e + s), Array.from(h[t].cells).forEach((e) => e.style.top = r + "px");
17
+ for (let t = 0; t < r.length; t++) {
18
+ const s = h.slice(0, t + 1).reduce((i, n) => i + n, 0);
19
+ Array.from(r[t].cells).forEach((i) => i.style.top = s + "px");
20
+ }
21
21
  }
22
22
  const a = 1e6;
23
- function p(n) {
24
- const { rows: o, tableViewPortHeight: c, scrollTop: h } = n;
25
- if (o.length === 0)
23
+ function p(o) {
24
+ const { rows: e, tableViewPortHeight: l, scrollTop: r } = o;
25
+ if (e.length === 0)
26
26
  return [];
27
- const i = o[0].height, r = Math.min(Math.round(h / i), o.length), l = Math.round(c / i), t = Math.max(0, r - l), e = Math.min(o.length, r + 2 * l), s = o.slice(t, e), f = s[s.length - 1];
28
- return t > 0 && s.unshift({
27
+ const h = e[0].height, c = Math.min(Math.round(r / h), e.length), t = Math.round(l / h), s = Math.max(0, c - t), i = Math.min(e.length, c + 2 * t), n = e.slice(s, i), f = n[n.length - 1];
28
+ return s > 0 && n.unshift({
29
29
  dataItem: {},
30
30
  level: [a],
31
31
  offsetTop: 0,
32
- height: s[0].offsetTop,
32
+ height: n[0].offsetTop,
33
33
  levelCount: 0
34
- }), e < o.length - 1 && s.push({
34
+ }), i < e.length - 1 && n.push({
35
35
  dataItem: {},
36
36
  level: [a, a],
37
37
  offsetTop: f.offsetTop + f.height,
38
- height: (o.length - e) * i,
38
+ height: (e.length - i) * h,
39
39
  levelCount: 0
40
- }), s;
40
+ }), n;
41
41
  }
42
42
  export {
43
43
  u as setHeaderRowsTop,