@progress/kendo-react-treelist 6.1.1 → 7.0.0-develop.1

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