@progress/kendo-react-grid 9.4.0-develop.24 → 9.4.0-develop.3

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 (184) hide show
  1. package/Grid.js +1 -1
  2. package/Grid.mjs +5 -4
  3. package/GridClientContextReader.js +1 -2
  4. package/GridClientContextReader.mjs +14 -15
  5. package/GridClientWrapper.js +1 -2
  6. package/GridClientWrapper.mjs +413 -494
  7. package/GridColumn.js +1 -1
  8. package/GridColumn.mjs +5 -4
  9. package/GridComponent.js +1 -1
  10. package/GridComponent.mjs +310 -344
  11. package/GridState.js +1 -2
  12. package/GridState.mjs +67 -79
  13. package/GridToolbar.js +1 -1
  14. package/GridToolbar.mjs +6 -5
  15. package/GridWatermarkOverlay.js +1 -2
  16. package/GridWatermarkOverlay.mjs +2 -2
  17. package/NOTICE.txt +51 -40
  18. package/StatusBar.js +1 -1
  19. package/StatusBar.mjs +1 -0
  20. package/VirtualScroll.js +1 -1
  21. package/VirtualScroll.mjs +1 -0
  22. package/VirtualScrollFixed.js +1 -1
  23. package/VirtualScrollFixed.mjs +10 -9
  24. package/cells/GridCell.js +1 -1
  25. package/cells/GridCell.mjs +23 -25
  26. package/cells/GridDetailCell.js +1 -1
  27. package/cells/GridDetailCell.mjs +6 -5
  28. package/cells/GridDetailHierarchyCell.js +1 -1
  29. package/cells/GridDetailHierarchyCell.mjs +5 -4
  30. package/cells/GridEditCell.js +1 -1
  31. package/cells/GridEditCell.mjs +7 -6
  32. package/cells/GridFilterCell.js +1 -2
  33. package/cells/GridGroupCell.js +1 -1
  34. package/cells/GridGroupCell.mjs +12 -11
  35. package/cells/GridHierarchyCell.js +1 -1
  36. package/cells/GridHierarchyCell.mjs +8 -7
  37. package/cells/GridRowReorderCell.js +1 -1
  38. package/cells/GridRowReorderCell.mjs +4 -3
  39. package/cells/GridSelectionCell.js +1 -1
  40. package/cells/GridSelectionCell.mjs +13 -12
  41. package/cells/client/DetailCellContainer.js +1 -2
  42. package/cells/client/DetailCellContainer.mjs +2 -2
  43. package/cells/client/GridCellContainer.js +1 -2
  44. package/cells/client/GridEditCellContainer.js +1 -2
  45. package/cells/client/GridEditCellEditor.js +1 -2
  46. package/cells/client/GridEditCellEditor.mjs +14 -14
  47. package/cells/client/GridGroupCellContainer.js +1 -2
  48. package/cells/client/GridGroupCellContainer.mjs +39 -39
  49. package/cells/client/GridGroupCellToggle.js +1 -2
  50. package/cells/client/GridGroupCellToggle.mjs +3 -3
  51. package/cells/client/GridHierarchyCellContainer.js +1 -2
  52. package/cells/client/GridHierarchyCellToggle.js +1 -2
  53. package/cells/client/GridHierarchyCellToggle.mjs +15 -15
  54. package/cells/client/GridRowReorderContainer.js +1 -2
  55. package/cells/client/GridRowReorderContainer.mjs +8 -14
  56. package/cells/client/GridSelectionCellContainer.js +1 -2
  57. package/cells/client/GridSelectionCellInput.js +1 -2
  58. package/cells/client/GridSelectionCellInput.mjs +3 -3
  59. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -2
  60. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +55 -56
  61. package/columnMenu/GridColumnMenuColumnsList.js +1 -2
  62. package/columnMenu/GridColumnMenuColumnsList.mjs +16 -16
  63. package/columnMenu/GridColumnMenuFilter.js +1 -2
  64. package/columnMenu/GridColumnMenuFilterCell.js +1 -2
  65. package/columnMenu/GridColumnMenuFilterCell.mjs +3 -3
  66. package/columnMenu/GridColumnMenuFilterUI.js +1 -2
  67. package/columnMenu/GridColumnMenuGroup.js +1 -2
  68. package/columnMenu/GridColumnMenuGroup.mjs +5 -5
  69. package/columnMenu/GridColumnMenuItem.js +1 -2
  70. package/columnMenu/GridColumnMenuItem.mjs +2 -2
  71. package/columnMenu/GridColumnMenuItemContent.js +1 -2
  72. package/columnMenu/GridColumnMenuItemContent.mjs +4 -4
  73. package/columnMenu/GridColumnMenuItemGroup.js +1 -2
  74. package/columnMenu/GridColumnMenuItemGroup.mjs +4 -4
  75. package/columnMenu/GridColumnMenuSort.js +1 -2
  76. package/columnMenu/GridColumnMenuSort.mjs +8 -8
  77. package/columnMenu/GridColumnMenuWrapper.js +1 -2
  78. package/components/GridContainerElementContainer.js +1 -2
  79. package/components/GridCustomCellClientContainer.js +1 -2
  80. package/components/GridCustomCellClientContainer.mjs +2 -2
  81. package/components/GridDragClue.js +1 -2
  82. package/components/GridDragClue.mjs +5 -5
  83. package/components/GridDraggableRowsContainer.js +1 -2
  84. package/components/GridDropClue.js +1 -2
  85. package/components/GridDropClue.mjs +5 -5
  86. package/components/GridElementContainer.js +1 -2
  87. package/components/GridElementContainer.mjs +6 -6
  88. package/components/PagerContainer.js +1 -2
  89. package/components/PagerContainer.mjs +4 -4
  90. package/components/VirtualScrollHeightContainer.js +1 -2
  91. package/components/VirtualScrollHeightContainer.mjs +2 -2
  92. package/components/colGroup/GridColGroup.js +1 -2
  93. package/components/colGroup/GridColGroup.mjs +5 -5
  94. package/components/icons/reorder-row-svg.js +1 -2
  95. package/components/icons/reorder-row-svg.mjs +2 -2
  96. package/components/noRecords/GridNoRecords.js +1 -2
  97. package/components/noRecords/GridNoRecords.mjs +5 -5
  98. package/components/noRecords/GridNoRecordsContainer.js +1 -2
  99. package/components/noRecords/GridNoRecordsContainer.mjs +4 -4
  100. package/components/table/GridTable.js +1 -2
  101. package/components/table/GridTable.mjs +4 -4
  102. package/components/table/GridTableBody.js +1 -2
  103. package/components/table/GridTableBody.mjs +2 -2
  104. package/components/table/GridTableScrollable.js +1 -2
  105. package/components/table/GridTableScrollable.mjs +6 -6
  106. package/components/utils.js +1 -1
  107. package/components/utils.mjs +1 -0
  108. package/constants/index.js +1 -1
  109. package/constants/index.mjs +1 -0
  110. package/contextMenu/GridContextMenu.js +1 -2
  111. package/contextMenu/GridContextMenu.mjs +3 -3
  112. package/contextMenu/enums.js +1 -1
  113. package/contextMenu/enums.mjs +1 -0
  114. package/dist/cdn/js/kendo-react-grid.js +1 -8
  115. package/drag/ColumnDraggable.js +1 -2
  116. package/drag/ColumnDraggable.mjs +7 -7
  117. package/drag/ColumnResize.js +1 -1
  118. package/drag/ColumnResize.mjs +1 -0
  119. package/drag/CommonDragLogic.js +1 -1
  120. package/drag/CommonDragLogic.mjs +1 -0
  121. package/drag/GroupingIndicator.js +1 -2
  122. package/drag/GroupingIndicator.mjs +11 -11
  123. package/filterCommon.js +1 -1
  124. package/filterCommon.mjs +5 -4
  125. package/footer/Footer.js +1 -2
  126. package/footer/FooterCell.js +1 -1
  127. package/footer/FooterCell.mjs +4 -3
  128. package/footer/FooterRow.js +1 -1
  129. package/footer/FooterRow.mjs +7 -6
  130. package/footer/client/FooterCellContainer.js +1 -2
  131. package/footer/client/FooterCellContainer.mjs +5 -5
  132. package/header/FilterRow.js +1 -1
  133. package/header/FilterRow.mjs +43 -41
  134. package/header/GridHeaderCell.js +1 -2
  135. package/header/GridHeaderCell.mjs +4 -4
  136. package/header/GridHeaderSelectionCell.js +1 -2
  137. package/header/GroupPanel.js +1 -2
  138. package/header/Header.js +1 -2
  139. package/header/HeaderRow.js +1 -1
  140. package/header/HeaderRow.mjs +35 -33
  141. package/header/client/GridFilterCellContainer.js +1 -2
  142. package/header/client/GridFilterCellContainer.mjs +7 -7
  143. package/header/client/GridFilterCellElementContainer.js +1 -2
  144. package/header/client/GridHeaderCellContainer.js +1 -2
  145. package/header/client/GridHeaderCellContainer.mjs +18 -20
  146. package/header/client/GridHeaderCellElementContainer.js +1 -2
  147. package/header/client/GridHeaderCellElementContainer.mjs +10 -10
  148. package/header/client/GridHeaderRowContainer.js +1 -2
  149. package/header/client/GridHeaderRowReorderCell.js +1 -2
  150. package/header/client/GridHeaderRowReorderCell.mjs +2 -2
  151. package/header/client/HeaderCellResizer.js +1 -2
  152. package/header/client/HeaderRowDraggable.js +1 -2
  153. package/index.d.mts +5 -211
  154. package/index.d.ts +5 -211
  155. package/index.js +1 -1
  156. package/index.mjs +68 -71
  157. package/interfaces/GridSortSettings.js +8 -0
  158. package/{sortCommon.mjs → interfaces/GridSortSettings.mjs} +1 -0
  159. package/messages/index.js +1 -1
  160. package/messages/index.mjs +37 -38
  161. package/messages/messagesMap.js +1 -1
  162. package/messages/messagesMap.mjs +3 -2
  163. package/package-metadata.js +1 -1
  164. package/package-metadata.mjs +3 -2
  165. package/package.json +13 -14
  166. package/paging/GridPagerSettings.js +1 -1
  167. package/paging/GridPagerSettings.mjs +7 -6
  168. package/rows/GridDetailRow.js +1 -1
  169. package/rows/GridDetailRow.mjs +3 -2
  170. package/rows/GridRow.js +1 -2
  171. package/rows/GridRow.mjs +45 -45
  172. package/utils/_clientModule.js +1 -2
  173. package/utils/_clientModule.mjs +2 -2
  174. package/utils/_serverModule.js +1 -1
  175. package/utils/_serverModule.mjs +1 -0
  176. package/utils/index.js +1 -1
  177. package/utils/index.mjs +129 -138
  178. package/GridSearchBox.js +0 -8
  179. package/GridSearchBox.mjs +0 -35
  180. package/columnMenu/GridColumnMenuColumnsChooser.js +0 -9
  181. package/columnMenu/GridColumnMenuColumnsChooser.mjs +0 -82
  182. package/components/GridLoader.js +0 -9
  183. package/components/GridLoader.mjs +0 -22
  184. package/sortCommon.js +0 -8
package/Grid.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 u=require("react"),e=require("prop-types"),c=require("./utils/index.js"),s=require("./GridClientContextReader.js"),l=require("./GridComponent.js"),d=require("./GridState.js"),b=require("@progress/kendo-react-common");function f(n){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(o,t,a.get?a:{enumerable:!0,get:()=>n[t]})}}return o.default=n,Object.freeze(o)}const r=f(u),i=r.forwardRef((n,o)=>{const{isPaid:t}={isPaid:!0},[a]=b.useCustomComponent(t?d.GridClientStateProvider:r.Fragment);return c.isClient()?r.createElement(a,{...n},r.createElement(s.GridClientContextReader,{id:n.id},r.createElement(l.GridComponent,{ref:o,...n}))):r.createElement(l.GridComponent,{ref:o,...n})}),p={data:e.oneOfType([e.array,e.shape({data:e.array,total:e.number})]),sortable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["single","multiple"]),allowUnsort:e.bool})]),onSortChange:e.func,sort:e.array,filterable:e.bool,filter:e.any,onFilterChange:e.func,pageable:e.oneOfType([e.bool,e.shape({buttonCount:e.number,responsive:e.bool,info:e.bool,type:e.oneOf(["numeric","input"]),pageSizes:e.oneOfType([e.bool,e.arrayOf(e.oneOfType([e.string,e.number]))]),previousNext:e.bool})]),pageSize:e.number,onPageChange:e.func,total:e.number,skip:e.number,take:e.number,fixedScroll:e.bool,onExpandChange:e.func,expandField:e.string,selectedField:e.string,onSelectionChange:e.func,onHeaderSelectionChange:e.func,resizable:e.bool,reorderable:e.bool,group:e.any,groupable:e.oneOfType([e.bool,e.shape({enabled:e.bool,footer:e.oneOf(["always","visible","none"])})]),onGroupChange:e.func,onRowClick:e.func,onRowDoubleClick:e.func,onItemChange:e.func,editField:e.string,scrollable:e.oneOf(["none","scrollable","virtual"]),rowHeight:e.number,detailRowHeight:e.number,detail:e.any,style:e.object,onDataStateChange:e.func,onColumnResize:e.func,onColumnReorder:e.func,dataItemKey:e.string,navigatable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["incell","inline","popup"])})]),size:e.oneOf(["small","medium"])};i.displayName="KendoReactGrid";i.propTypes=p;exports.Grid=i;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),e=require("prop-types"),c=require("./utils/index.js"),s=require("./GridClientContextReader.js"),l=require("./GridComponent.js"),d=require("./GridState.js"),b=require("@progress/kendo-react-common");function f(n){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(o,t,a.get?a:{enumerable:!0,get:()=>n[t]})}}return o.default=n,Object.freeze(o)}const r=f(u),i=r.forwardRef((n,o)=>{const{isPaid:t}={isPaid:!0},[a]=b.useCustomComponent(t?d.GridClientStateProvider:r.Fragment);return c.isClient()?r.createElement(a,{...n},r.createElement(s.GridClientContextReader,{id:n.id},r.createElement(l.GridComponent,{ref:o,...n}))):r.createElement(l.GridComponent,{ref:o,...n})}),p={data:e.oneOfType([e.array,e.shape({data:e.array,total:e.number})]),sortable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["single","multiple"]),allowUnsort:e.bool})]),onSortChange:e.func,sort:e.array,filterable:e.bool,filter:e.any,onFilterChange:e.func,pageable:e.oneOfType([e.bool,e.shape({buttonCount:e.number,responsive:e.bool,info:e.bool,type:e.oneOf(["numeric","input"]),pageSizes:e.oneOfType([e.bool,e.arrayOf(e.oneOfType([e.string,e.number]))]),previousNext:e.bool})]),pageSize:e.number,onPageChange:e.func,total:e.number,skip:e.number,take:e.number,fixedScroll:e.bool,onExpandChange:e.func,expandField:e.string,selectedField:e.string,onSelectionChange:e.func,onHeaderSelectionChange:e.func,resizable:e.bool,reorderable:e.bool,group:e.any,groupable:e.oneOfType([e.bool,e.shape({enabled:e.bool,footer:e.oneOf(["always","visible","none"])})]),onGroupChange:e.func,onRowClick:e.func,onRowDoubleClick:e.func,onItemChange:e.func,editField:e.string,scrollable:e.oneOf(["none","scrollable","virtual"]),rowHeight:e.number,detailRowHeight:e.number,detail:e.any,style:e.object,onDataStateChange:e.func,onColumnResize:e.func,onColumnReorder:e.func,dataItemKey:e.string,navigatable:e.oneOfType([e.bool,e.shape({mode:e.oneOf(["incell","inline","popup"])})]),size:e.oneOf(["small","medium"])};i.displayName="KendoReactGrid";i.propTypes=p;exports.Grid=i;
package/Grid.mjs CHANGED
@@ -5,18 +5,19 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as o from "react";
9
10
  import e from "prop-types";
10
11
  import { isClient as m } from "./utils/index.mjs";
11
- import { GridClientContextReader as p } from "./GridClientContextReader.mjs";
12
+ import { GridClientContextReader as u } from "./GridClientContextReader.mjs";
12
13
  import { GridComponent as t } from "./GridComponent.mjs";
13
- import { GridClientStateProvider as u } from "./GridState.mjs";
14
+ import { GridClientStateProvider as p } from "./GridState.mjs";
14
15
  import { useCustomComponent as f } from "@progress/kendo-react-common";
15
16
  const a = o.forwardRef((n, r) => {
16
17
  const { isPaid: l } = {
17
18
  isPaid: !0
18
- }, [i] = f(l ? u : o.Fragment);
19
- return m() ? /* @__PURE__ */ o.createElement(i, { ...n }, /* @__PURE__ */ o.createElement(p, { id: n.id }, /* @__PURE__ */ o.createElement(t, { ref: r, ...n }))) : /* @__PURE__ */ o.createElement(t, { ref: r, ...n });
19
+ }, [i] = f(l ? p : o.Fragment);
20
+ return m() ? /* @__PURE__ */ o.createElement(i, { ...n }, /* @__PURE__ */ o.createElement(u, { id: n.id }, /* @__PURE__ */ o.createElement(t, { ref: r, ...n }))) : /* @__PURE__ */ o.createElement(t, { ref: r, ...n });
20
21
  }), s = {
21
22
  data: e.oneOfType([
22
23
  e.array,
@@ -5,5 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react"),r=require("@progress/kendo-react-common"),s=require("@progress/kendo-react-intl"),g=require("./GridState.js");function y(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const c=y(p),C=e=>{const{children:t}=e,n=r.useId(),o=e.id||n,a=r.useUnstyled(),i=s.useLocalization(),l=s.useInternationalization(),[,u]=c.useReducer(m=>!m,!0),d=c.useRef([]),f=c.useRef(0),[R,,b]=g.useGridState();return c.cloneElement(t,{...t==null?void 0:t.props,...R,...b,id:o,unstyled:a,localization:i,intl:l,columnsRef:d,scrollLeftRef:f,forceUpdate:u,isClient:!0})};exports.GridClientContextReader=C;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),r=require("@progress/kendo-react-common"),m=require("@progress/kendo-react-intl"),p=require("./GridState.js");function g(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,c.get?c:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const o=g(b),y=e=>{const{children:t}=e,n=r.useId(),c=e.id||n,s=r.useUnstyled(),u=m.useLocalization(),[,a]=o.useReducer(R=>!R,!0),i=o.useRef([]),l=o.useRef(0),[d,,f]=p.useGridState();return o.cloneElement(t,{...t==null?void 0:t.props,...d,...f,id:c,unstyled:s,localization:u,columnsRef:i,scrollLeftRef:l,forceUpdate:a,isClient:!0})};exports.GridClientContextReader=y;
@@ -6,26 +6,25 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- import * as e from "react";
10
- import { useId as R, useUnstyled as p } from "@progress/kendo-react-common";
11
- import { useLocalization as z, useInternationalization as C } from "@progress/kendo-react-intl";
12
- import { useGridState as I } from "./GridState.mjs";
13
- const L = (o) => {
14
- const { children: t } = o, n = R(), s = o.id || n, c = p(), r = z(), i = C(), [, l] = e.useReducer((m) => !m, !0), a = e.useRef([]), u = e.useRef(0), [d, , f] = I();
15
- return e.cloneElement(t, {
16
- ...t == null ? void 0 : t.props,
9
+ import * as t from "react";
10
+ import { useId as m, useUnstyled as R } from "@progress/kendo-react-common";
11
+ import { useLocalization as p } from "@progress/kendo-react-intl";
12
+ import { useGridState as C } from "./GridState.mjs";
13
+ const G = (o) => {
14
+ const { children: e } = o, s = m(), c = o.id || s, n = R(), r = p(), [, i] = t.useReducer((f) => !f, !0), l = t.useRef([]), u = t.useRef(0), [a, , d] = C();
15
+ return t.cloneElement(e, {
16
+ ...e == null ? void 0 : e.props,
17
+ ...a,
17
18
  ...d,
18
- ...f,
19
- id: s,
20
- unstyled: c,
19
+ id: c,
20
+ unstyled: n,
21
21
  localization: r,
22
- intl: i,
23
- columnsRef: a,
22
+ columnsRef: l,
24
23
  scrollLeftRef: u,
25
- forceUpdate: l,
24
+ forceUpdate: i,
26
25
  isClient: !0
27
26
  });
28
27
  };
29
28
  export {
30
- L as GridClientContextReader
29
+ G as GridClientContextReader
31
30
  };
@@ -5,5 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Mt=require("react"),b=require("@progress/kendo-react-common"),l=require("@progress/kendo-react-data-tools"),Tt=require("./drag/ColumnResize.js"),At=require("./drag/CommonDragLogic.js"),Ht=require("./constants/index.js"),w=require("./utils/index.js"),Ae=require("./VirtualScrollFixed.js"),Gt=require("./VirtualScroll.js"),Ft=require("./contextMenu/GridContextMenu.js"),He=require("./contextMenu/enums.js"),Ge=require("./sortCommon.js");function Lt(t){const R=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const P in t)if(P!=="default"){const H=Object.getOwnPropertyDescriptor(t,P);Object.defineProperty(R,P,H.get?H:{enumerable:!0,get:()=>t[P]})}}return R.default=t,Object.freeze(R)}const i=Lt(Mt),Fe=i.createContext(void 0),Ot=t=>{var Se,De;const R=t.gridProps.isClient,[P,H]=i.useState({}),Le=e=>{e.event.preventDefault(),H({...P,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},me=()=>{H({})},I=i.useMemo(()=>t.columnsRef.current.find(e=>e.field===P.field),[t.columnsRef,P]),Pe=i.useMemo(()=>{const e=t.gridProps.sortable&&(I==null?void 0:I.sortable);return w.getDefaultHeadContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[I,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),he=i.useMemo(()=>{const e=t.gridProps.sortable&&(I==null?void 0:I.sortable);return w.getDefaultBodyContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:w.isRowReorderEnabled(t.gridProps.rowReorderable)})},[I,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Oe=i.useMemo(()=>{const e=(I==null?void 0:I.contextMenu)||t.gridProps.contextMenu,r=typeof e=="function"?e(P):e;if(r&&P.offset){const n=P.dataItem?He.GridContextMenuAnchorPart.body:He.GridContextMenuAnchorPart.head,o=r[n],a=P.dataItem?he:Pe;return o===!1?void 0:o===!0||o===void 0?a:o}},[t.gridProps.contextMenu,P,he,Pe,I]),ze=e=>{var s,m,h,u,y,ke,Ke,Me,Te;const r=e.event.item,n={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:r,...e};t.gridProps.onContextMenuItemClick&&g(t.gridProps.onContextMenuItemClick,n);const o=B(),a={selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:o,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...n},c=o.findIndex(fe=>fe===e.dataItem);switch((s=r.data)==null?void 0:s.action){case"SortCommand":if(I){const fe=(m=r.name)==null?void 0:m.toLowerCase().includes("asc"),Dt=((h=r.name)==null?void 0:h.toLowerCase().includes("desc"))?"desc":void 0,kt=fe?"asc":Dt,Kt=r.name?kt:void 0;be(e.event.syntheticEvent,I,Kt)}break;case"SelectRowCommand":et(a);break;case"SelectAllRowsCommand":pe(a);break;case"ClearSelectionCommand":tt(a);break;case"ReorderRowCommand":N.current=e.dataItem,(u=r.name)!=null&&u.toLowerCase().includes("rowup")&&c>0&&F(e.event.syntheticEvent,c-1,"before"),(y=r.name)!=null&&y.toLowerCase().includes("rowdown")&&c<o.length-1&&F(e.event.syntheticEvent,c+1,"after"),(ke=r.name)!=null&&ke.toLowerCase().includes("rowtop")&&F(e.event.syntheticEvent,0,"before"),(Ke=r.name)!=null&&Ke.toLowerCase().includes("rowbottom")&&F(e.event.syntheticEvent,o.length-1,"after");break;case"CopySelectionCommand":W(l.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((Me=r.name)!=null&&Me.toLowerCase().includes("noheaders"))});break;case"PasteCommand":W(l.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((Te=r.name)!=null&&Te.toLowerCase().includes("noheaders"))});break}me()},q=()=>{const e=f.current.filter(r=>r.declarationIndex>=0&&r.parentIndex===-1);return w.sanitizeColumns(e)},Ne=(e,r,n)=>{if(t.gridProps.onContextMenu&&R){const o={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:r,field:n};g(t.gridProps.onContextMenu,o)}t.gridProps.contextMenu&&Le({event:e,dataItem:r,field:n})},qe=e=>{if(e.target!==e.currentTarget)return;clearTimeout(se.current),d.current&&(d.current.table=k.current);const r=e.currentTarget.scrollLeft,n=e.currentTarget.scrollTop,o=t.gridProps.scrollable==="virtual";t.gridProps.columnVirtualization&&(!o||n===le.current)&&(se.current=window.setTimeout(()=>{re()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=r),z.current&&z.current.setScrollLeft(r),O.current&&O.current.setScrollLeft(r),d.current&&n!==le.current&&d.current.scrollHandler(e),t.gridProps.onScroll&&R&&g(t.gridProps.onScroll,{...C(e)}),le.current=n},Ue=e=>{var n,o;l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:D,navigationStateRef:M,onNavigationAction:We,columns:q()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:x(),contextStateRef:D,navigationStateRef:M});const r={dataItems:_(),mode:v.mode,cell:v.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...C(e)};if(t.gridProps.onKeyDown&&R&&g(t.gridProps.onKeyDown,r),!t.gridProps.selectedField&&v.enabled&&t.gridProps.dataItemKey){const a=l.getSelectedStateFromKeyDown({event:r,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});if(a===t.gridProps.select)return;const c=e.target,s=l.closestTagName(c,"TD"),m=l.closestTagName(c,"TR"),h=l.getColumnIndex(s),u=l.getRowIndex(m);if(h!==void 0&&u!==void 0){const y=(o=w.getDataAsArray(t.gridProps.data))==null?void 0:o[u];t.gridProps.onSelectionChange&&g(t.gridProps.onSelectionChange,{...r,select:a,dataItem:y,startRowIndex:u,startColIndex:h,startDataItem:y,endDataItem:y,endRowIndex:u,endColIndex:h,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}}},Ve=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:D})},We=e=>{if(e.action==="moveToNextPage"&&nt(e.event),e.action==="moveToPrevPage"&&ot(e.event),e.focusElement&&e.action==="reorderToRight"){const r=parseInt(e.focusElement.ariaColIndex,10)-1;r<f.current.length-1&&Z(r,r+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const r=parseInt(e.focusElement.ariaColIndex,10)-1;r>0&&Z(r,r-1,e.event)}if(t.gridProps.onNavigationAction&&R){const r={focusElement:e.focusElement,...C(e.event)};g(t.gridProps.onNavigationAction,r)}},_e=(e,r)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&g(t.gridProps.onRowClick,{dataItem:r,...C(e)})},Be=(e,r)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&g(t.gridProps.onRowDoubleClick,{dataItem:r,...C(e)})},je=(e,r,n)=>{if(we.enabled&&we.mode==="incell"&&t.gridProps.dataItemKey){const o=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:r[t.gridProps.dataItemKey],field:n}});t.gridProps.onEditChange&&g(t.gridProps.onEditChange,{edit:o,...C(e)})}},$e=(e,r)=>{var o;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const a=l.detailExpandReducer((o=t.gridProps.detailExpand)!=null?o:{},e);t.gridProps.onDetailExpandChange&&g(t.gridProps.onDetailExpandChange,{...C(r),detailExpand:a})}},Xe=(e,r)=>{var o;const n=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(n.enabled){const a=l.groupExpandReducer((o=t.gridProps.groupExpand)!=null?o:[],e,n);t.gridProps.onGroupExpandChange&&g(t.gridProps.onGroupExpandChange,{...C(r),groupExpand:a})}},be=(e,r,n)=>{const{allowUnsort:o,mode:a}=Ge.normalize(t.gridProps.sortable||!1,r.sortable||!1),c=(t.gridProps.sort||[]).filter(h=>h.field===r.field)[0],s=n||Ge.firstLevelSortSeqMap[o][c&&c.dir||""],m=a==="single"?[]:(t.gridProps.sort||[]).filter(h=>h.field!==r.field);s!==""&&r.field&&m.push({field:r.field,dir:s}),Ie(m,e)},Je=e=>{var r;if(e.field===t.gridProps.expandField||e._expand||t.gridProps.group&&e.field===void 0){if(t.gridProps.onExpandChange){const n=t.gridProps.dataItemKey?l.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},{type:l.DETAIL_EXPAND_ACTION.SET,id:e.dataItem[t.gridProps.dataItemKey],payload:e.value}):t.gridProps.detailExpand;g(t.gridProps.onExpandChange,{...C(e.syntheticEvent),expand:n,dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}return}t.gridProps.onItemChange&&g(t.gridProps.onItemChange,{...C(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},Ye=e=>{var r;if(t.gridProps.onSelectionChange&&v.enabled){const{event:n,dataItem:o,dataIndex:a,columnIndex:c}=e,s={...C(n.syntheticEvent),dataItem:o,startColIndex:c,endColIndex:c,startRowIndex:a,endRowIndex:a,dataItems:_(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:v.mode,cell:v.cell,isDrag:!1,componentId:t.id,selectedField:t.gridProps.selectedField||""};g(t.gridProps.onSelectionChange,{...s,select:t.gridProps.dataItemKey?l.getSelectedState({event:s,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Qe=e=>{var r;if(t.gridProps.onHeaderSelectionChange&&v.enabled){const n=_();g(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((o,a)=>(t.gridProps.dataItemKey&&b.getter(t.gridProps.dataItemKey)(a)!==void 0&&(o[b.getter(t.gridProps.dataItemKey)(a)]=!0),o),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:n,selectedField:(r=t.gridProps.selectedField)!=null?r:""})}},U=(e,r)=>{t.gridProps.onSelectionChange&&R&&v.enabled&&g(t.gridProps.onSelectionChange,{...e,select:r})},Ze=e=>{var r;if(t.gridProps.onSelectionChange&&v.enabled){const n=B()[e.startRowIndex],o=B()[e.endRowIndex],a={syntheticEvent:void 0,target:E.current,selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:_(),dataItem:null,startDataItem:n,endDataItem:o,...e},c=l.getSelectedState({event:a,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey});U(a,c)}},pe=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const r=e.dataItems[0],n=e.dataItems[e.dataItems.length-1],o={},a={...e,startDataItem:r,endDataItem:n,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:f.current.length-1};e.dataItems.forEach(c=>{const m=b.getter(t.gridProps.dataItemKey)(c);o[m]=e.cell?[...Array(f.current.length).keys()]:!0}),U(a,o)}},et=e=>{if(t.gridProps.onSelectionChange&&v.enabled){const n=b.getter(t.gridProps.dataItemKey)(e.dataItem),o=0,a=f.current.length-1,c=e.dataItems.findIndex(y=>y[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),h={...e,startDataItem:c,endDataItem:c,startRowIndex:c,endRowIndex:c,startColIndex:o,endColIndex:a},u=e.mode==="multiple"?t.gridProps.select||{}:{};u[n]===!0||Array.isArray(u[n])&&u[n].length===f.current.length?delete u[n]:u[n]=e.cell?[...Array(f.current.length).keys()]:!0,U(h,u)}},tt=e=>{t.gridProps.onSelectionChange&&v.enabled&&U(e,{})},G=(e,r,n,o,a)=>{const c=t.gridProps.onDataStateChange;if(e){const s={...C(o),...r,targetEvent:a};g(e,s)}else c&&g(c,{...C(o),targetEvent:a||{},dataState:{...ft(),...n}})},V=(e,r,n)=>{G(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},r,n)},rt=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},nt=e=>{var a,c;const r=(c=(a=t.gridProps.take)!=null?a:t.gridProps.pageSize)!=null?c:0,n=(t.gridProps.skip||0)+r,o=rt();n<o&&V({skip:n,take:r},e)},ot=e=>{var o,a;const r=(a=(o=t.gridProps.take)!=null?o:t.gridProps.pageSize)!=null?a:0,n=(t.gridProps.skip||0)-r;n>=0&&V({skip:n,take:r},e)},at=e=>{V({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},Ie=(e,r)=>{G(t.gridProps.onSortChange,{sort:e},{sort:e,...t.gridProps.scrollable==="virtual"?{skip:0}:{}},r)},it=(e,r)=>{G(t.gridProps.onFilterChange,{filter:e},{filter:e||void 0,skip:0},r)},ct=e=>{const r=t.gridProps.searchFields||f.current.map(a=>a.field)||[],n=e.nativeEvent.target.value,o={logic:"or",filters:r.filter(a=>a!==void 0).map(a=>{var c;return typeof a=="string"?{field:a,value:n,operator:"contains"}:{value:n,operator:(c=a.operator)!=null?c:"contains",field:a.field,ignoreCase:a.ignoreCase}})};G(t.gridProps.onSearchChange,{search:o},{},e.syntheticEvent)},Q=(e,r)=>{const n=r.nativeEvent?r:{nativeEvent:r.nativeEvent||r.originalEvent};e.length===0&&t.gridProps.navigatable&&(ie.current=!0),G(t.gridProps.onGroupChange,{group:e},{group:e,skip:0},n)},dt=e=>{if(t.gridProps.onColumnsStateChange){const r={target:E.current,columnsState:e};g(t.gridProps.onColumnsStateChange,r)}},Z=(e,r,n)=>{const o=f.current[e],a=o.depth,c=u=>{do u++;while(u<f.current.length&&f.current[u].depth>a);return u},s=f.current.splice(e,c(e)-e);f.current.splice(e<r?c(r-s.length):r,0,...s),f.current.filter(u=>u.declarationIndex>=0).forEach((u,y)=>u.orderIndex=y);const m=f.current[e].locked&&f.current[r].locked;l.updateLeft(t.columnsMapRef,f.current,m||Y.current),l.updateRight(t.columnsMapRef,f.current,m||Y.current),ae.current&&(Y.current=!1,ae.current=!1);const h=q();if(re(),t.gridProps.onColumnReorder){const u={target:E.current,columns:h,columnId:o.id,nativeEvent:n};g(t.gridProps.onColumnReorder,u)}},F=(e,r,n)=>{const o=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(n==="forbidden"||!o||!N.current)return;const{slicedData:a,dataRef:c}=t,s=(a||c)[r];t.gridProps.onRowReorder&&g(t.gridProps.onRowReorder,{draggedDataItems:[N.current],droppedDataItem:s==null?void 0:s.dataItem,dropPosition:n,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),N.current=null},lt=(e,r,n)=>{if(t.gridProps.group===void 0)return;const o=t.gridProps.group.slice();o.splice(r,0,...o.splice(e,1)),Q(o,n)},Ce=(e,r,n)=>{const o=f.current[e].field;if(!o)return;const a=(t.gridProps.group||[]).slice();a.splice(r,0,{field:o}),Q(a,n)},st=(e,r)=>{const n=K.current.getCurrentGroupsLength;Ce(e,n,r)},p=()=>{let e=0;if(!S.current.colGroupMain)return;const r=S.current.colGroupMain.children;for(let n=0;n<r.length;n++){const o=r[n].width;if(!o)return;e+=parseFloat(o.toString())}e=Math.round(e),z.current&&z.current.setWidth(e),O.current&&O.current.setWidth(e),k.current&&(k.current.style.width=e+"px")},W=i.useCallback((e,r,n)=>{var s;if(!ut()&&!n||!e)return;const o={type:e,nativeEvent:r,columns:f.current,dataItemKey:t.gridProps.dataItemKey||"",...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...n},a=B(),c=l.populateClipboardData({event:o,data:a,selectedState:(s=t.gridProps.select)!=null?s:{},previousCopiedItems:Ee.current});e!==l.ClipboardActionType.paste&&(Ee.current=c.copiedItems),t.gridProps.onClipboard&&R&&g(t.gridProps.onClipboard,{...o,...c})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),ut=()=>{var a,c,s;if(!b.canUseDOM)return!1;const e=b.getActiveElement(x()),r=e?e.matches(".k-table-td")?e:(a=x())==null?void 0:a.body:(c=x())==null?void 0:c.body,n=r.closest(".k-grid-container"),o=r&&((s=A.current)==null?void 0:s.contains(r));return!!(r&&o&&n)},gt=(e,r,n,o,a,c)=>{p(),Y.current=!0,ae.current=!0,t.gridProps.onColumnResize&&R&&g(t.gridProps.onColumnResize,{columns:q(),nativeEvent:o,targetColumnId:c,index:e,newWidth:r,oldWidth:n,end:a,target:E.current})},ft=()=>{var e;return{filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:(e=t.gridProps.take)!=null?e:t.gridProps.pageSize,group:t.gridProps.group}},C=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),mt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),g=(e,r)=>{if(e.name==="proxy"){e.call(void 0,mt(r));return}e.call(void 0,r)},Pt=()=>{var e,r,n;if(L.current&&((e=L.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){de.current=!1,(r=document.activeElement)!=null&&r.closest(".k-grid-edit-row")?ce.current=document.activeElement:ce.current=void 0;const o=Array.from((n=L.current)==null?void 0:n.getElementsByClassName("k-grid-edit-row"));o.length>ge.current.length?J.current=o.filter(a=>!ge.current.includes(a))[0]:o.length===1&&(J.current=o[0],de.current=!0),ge.current=o}},_=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),B=()=>(t.slicedData||t.dataRef).filter(e=>e.rowType==="data").map(e=>e.dataItem),ee=()=>(oe.current||(oe.current=b.getScrollbarWidth()||void 0),oe.current),x=()=>{var e;if(b.canUseDOM)return((e=j())==null?void 0:e.ownerDocument)||document},j=()=>A.current,te=i.useCallback(e=>{var o;if(!d.current||!((o=d.current)!=null&&o.container)||t.gridProps.scrollable==="none")return;T.current&&T.current.disconnect();const{rowIndex:r}=e,n=j();if(t.gridProps.scrollable==="virtual")d.current.askedSkip=r,d.current.container.scroll(0,Math.round(d.current.askedSkip/d.current.total*d.current.container.scrollHeight));else if(n){const a=r<1?n.querySelector("tbody > tr:nth-child(1)"):n.querySelector(`tbody > tr:nth-child(${r+1})`);a&&X.current&&(X.current.scrollTop=a.offsetTop)}},[t.gridProps.scrollable]),Re=e=>JSON.stringify(e.map(r=>({id:r.id,field:r.field,title:r.title,children:r.children}))),ht=()=>Re(xt)===Re(f.current),bt=()=>{ht()||re()},It=()=>{const{data:e,total:r}=t.gridProps;return Array.isArray(e)?e.length===r:e?r===e.total:!1},Ct=(e,r)=>{var n,o;if(d.current){if(d.current.fixedScroll=t.gridProps.fixedScroll||!1,d.current.PageChange=V,d.current.realSkip=t.gridProps.skip||0,d.current.pageSize=(o=(n=t.gridProps.take)!=null?n:t.gridProps.pageSize)!=null?o:0,d.current.scrollableVirtual=t.gridProps.scrollable==="virtual",d.current.total=e,d.current.propsSkip=(t.gridProps.skip||0)+(t.gridProps.scrollable==="virtual"?d.current.topCacheCount+(d.current.attendedSkip-(t.gridProps.skip||0)):0),t.gridProps.rowHeight!==void 0&&t.gridProps.rowHeight>0&&!r){const a=t.gridProps.rowHeight*e;d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,a):a}else d.current.containerHeight=1533915;if(d.current.containerRef=X,d.current.tableBodyRef=L,d.current.table=k.current,d.current instanceof Ae.VirtualScrollFixed){const{rowHeight:a=0,detail:c,expandField:s}=t.gridProps;let{detailRowHeight:m=0}=t.gridProps;m=c&&s?m:a,It()?(d.current.total=t.dataRef.length,d.current.rowHeightService=new b.RowHeightService(t.dataRef.length,a,m,t.dataRef)):d.current.rowHeightService=new b.RowHeightService(e,a,m);const h=d.current.rowHeightService.totalHeight();d.current.containerHeight=w.firefox?Math.min(w.firefoxMaxHeight,h):h}}},Rt=()=>{const e=n=>n.map(o=>({id:o.id,field:o.field,title:o.title,hidden:!1,children:o.children?e(o.children):null})),r=t.columnsRef.current.filter(n=>n.depth===0);return e(r)},ve=i.useCallback(e=>{const r={rowIndex:ue.current};e.forEach(n=>{n.isIntersecting||te(r)})},[te]),re=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},vt=e=>e.left!==void 0?ye!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=i.useRef(null),f=t.columnsRef,d=i.useRef(),S=i.useRef(),K=i.useRef(),D=i.useRef(),M=i.useRef(),$=i.useRef(),T=i.useRef(null),L=i.useRef(null),Et=i.useRef(null),X=i.useRef(null),k=i.useRef(null),ne=i.useRef(null),A=i.useRef(null),O=i.useRef(null),z=i.useRef(null),oe=i.useRef(),ae=i.useRef(!1),ie=i.useRef(!1),J=i.useRef(),ce=i.useRef(),de=i.useRef(!1),Y=i.useRef(!0),le=i.useRef(0),se=i.useRef(),ue=i.useRef(),ge=i.useRef([]),Ee=i.useRef([]),N=i.useRef(null),yt=i.useRef(null),wt=i.useRef(null),ye=b.useDir(A),xt=i.useMemo(()=>i.Children.toArray(t.gridProps.children),[t.gridProps.children]),v=l.getSelectionOptions((Se=t.gridProps.selectable)!=null?Se:!!t.gridProps.selectedField),we=l.getEditableOptions((De=t.gridProps.editable)!=null?De:!!t.gridProps.editField);i.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:D,navigationStateRef:M,idPrefix:t.id})},[]),i.useMemo(()=>{var n;(n=d.current)==null||n.reset();const e=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,r=t.isFixedVirtualScroll?Ae.VirtualScrollFixed:Gt.VirtualScroll;d.current=new r(e||t.gridProps.rowHeight===void 0||t.gridProps.rowHeight===0)},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,t.gridProps.groupable,t.gridProps.sort,t.gridProps.rowHeight]),i.useEffect(()=>(t.gridProps.clipboard&&($.current=new l.ClipboardService(W),$.current.addEventListeners(x())),()=>{$.current&&$.current.removeEventListeners(x())}),[t.gridProps.onClipboard,t.gridProps.clipboard,W,x]),i.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(Ht.SAFARI_REGEX)&&(ne.current&&(ne.current.style.display="block"),k.current&&(k.current.style.display="block")),p(),b.setScrollbarWidth(ee()),l.tableKeyboardNavigation.onComponentDidMount({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M}),()=>{clearTimeout(se.current)}),[]),i.useEffect(()=>{var e;p(),b.setScrollbarWidth(ee()),(e=d.current)!=null&&e.tableTransform&&d.current.table&&(d.current.table.style.transform=d.current.tableTransform,d.current.tableTransform=""),Pt(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:A.current||void 0,contextStateRef:D,navigationStateRef:M,focusFirst:ie.current,newEditableRow:J.current,singleEditRow:de.current,lastActiveElement:ce.current,navigatable:t.gridProps.navigatable}),ie.current=!1,J.current=void 0}),i.useEffect(()=>{if(b.canUseDOM){const e={rootMargin:"0px",threshold:.9};T.current=window.IntersectionObserver&&new window.IntersectionObserver(ve,e)||null}},[ve]),i.useEffect(()=>{var r;let e;return b.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(bt),e.observe((r=x())==null?void 0:r.body)),()=>{e==null||e.disconnect()}},[]),i.useImperativeHandle(E,()=>({get element(){return j()},props:t.gridProps,get columns(){return q()},scrollIntoView:e=>{var o;if(!((o=d.current)!=null&&o.container)||t.gridProps.scrollable==="none")return;const{rowIndex:r}=e;ue.current=r;const n=j();if(T.current&&n){T.current.disconnect();const a=n.querySelector(`[absolute-row-index="${ue.current}"]`);a?T.current.observe(a):te(e)}},fitColumns:e=>{S.current.dblClickHandler(null,e)}})),i.useImperativeHandle(t.gridRef,()=>E.current),i.useMemo(()=>{S.current=new Tt.ColumnResize(gt)},[t.gridProps.onColumnResize]),i.useMemo(()=>{K.current=new At.CommonDragLogic(Z,lt,Ce)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.gridProps.groupable]),S.current.resizable=t.gridProps.resizable||!1,S.current.columns=f.current;const xe=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1;K.current.reorderable=t.gridProps.reorderable||!1,K.current.groupable=xe,K.current.columns=f.current,Ct(t.total,xe);const St=t.gridProps.columnsState||Rt();return i.createElement(Fe.Provider,{value:{isClient:R,rowReorder:F,activeDragRowDataItemRef:N,reorderRowDragTargetRef:yt,reorderRowDropTargetRef:wt,dir:ye,getCellPositionStyle:vt,dataItemKey:t.gridProps.dataItemKey,columnsState:St,onColumnsStateChange:dt,groupChange:Q,selectionRelease:Ze,pagerPageChange:at,onContextMenu:Ne,rowClick:_e,rowDblClick:Be,cellClick:je,headerCellClick:be,itemChange:Je,sortChange:Ie,filterChange:it,searchChange:ct,onHeaderSelectionChange:Qe,columnGroupChange:st,onKeyDown:Ue,onFocus:Ve,scrollHandler:qe,selectionChange:Ye,dispatchDetailExpand:$e,dispatchGroupExpand:Xe,columnResizeRef:S,dragLogicRef:K,navigationStateRef:M,tableElementRef:k,tableBodyElementRef:L,headerElementRef:Et,containerElementRef:X,headTableElementRef:ne,elementRef:A,footerRef:O,headerRef:z,getCachedScrollbarWidth:ee,vsRef:d}},i.createElement(l.TableKeyboardNavigationContext.Provider,{value:D.current},t.children),i.createElement(Ft.GridContextMenu,{show:P.show,dataItem:P.dataItem,field:P.field,items:Oe,offset:P.offset,onClose:me,onSelect:ze}))};exports.GridClientWrapper=Ot;exports.GridContext=Fe;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Rt=require("react"),P=require("@progress/kendo-react-common"),l=require("@progress/kendo-react-data-tools"),Ct=require("./drag/ColumnResize.js"),Et=require("./drag/CommonDragLogic.js"),vt=require("./constants/index.js"),D=require("./utils/index.js"),Se=require("./VirtualScrollFixed.js"),xt=require("./VirtualScroll.js"),yt=require("./contextMenu/GridContextMenu.js"),ke=require("./contextMenu/enums.js"),De=require("./interfaces/GridSortSettings.js");function wt(t){const I=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const m in t)if(m!=="default"){const G=Object.getOwnPropertyDescriptor(t,m);Object.defineProperty(I,m,G.get?G:{enumerable:!0,get:()=>t[m]})}}return I.default=t,Object.freeze(I)}const o=wt(Rt),Ke=o.createContext(void 0),St=t=>{var ye,we;const I=t.gridProps.isClient,[m,G]=o.useState({}),Me=e=>{e.event.preventDefault(),G({...m,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},fe=()=>{G({})},b=o.useMemo(()=>t.columnsRef.current.find(e=>e.field===m.field),[t.columnsRef,m]),me=o.useMemo(()=>{const e=t.gridProps.sortable&&(b==null?void 0:b.sortable);return D.getDefaultHeadContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[b,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Pe=o.useMemo(()=>{const e=t.gridProps.sortable&&(b==null?void 0:b.sortable);return D.getDefaultBodyContextMenuItems({sortable:!!e,selectable:l.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[b,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Te=o.useMemo(()=>{const e=(b==null?void 0:b.contextMenu)||t.gridProps.contextMenu,r=typeof e=="function"?e(m):e;if(r&&m.offset){const n=m.dataItem?ke.GridContextMenuAnchorPart.body:ke.GridContextMenuAnchorPart.head,a=r[n];return a===!1?void 0:a===!0||a===void 0?m.dataItem?Pe:me:a}},[t.gridProps.contextMenu,m,Pe,me,b]),Ae=e=>{var d;const r=e.event.item,n={target:E.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:r,...e};t.gridProps.onContextMenuItemClick&&u(t.gridProps.onContextMenuItemClick,n);const a=Z(),i={selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:a,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...l.getSelectionOptions(t.gridProps.selectable),...n};switch((d=r.data)==null?void 0:d.action){case"SortCommand":if(b){const s=r.name?r.name.toLowerCase().includes("asc")?"asc":r.name.toLowerCase().includes("desc")?"desc":void 0:void 0;be(e.event.syntheticEvent,b,s)}break;case"SelectRowCommand":Xe(i);break;case"SelectAllRowsCommand":$e(i);break;case"ClearSelectionCommand":Je(i);break}fe()},L=()=>{const e=g.current.filter(r=>r.declarationIndex>=0&&r.parentIndex===-1);return D.sanitizeColumns(e)},Ge=(e,r,n)=>{if(t.gridProps.onContextMenu&&I){const a={target:E.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:r,field:n};u(t.gridProps.onContextMenu,a)}t.gridProps.contextMenu&&Me({event:e,dataItem:r,field:n})},He=e=>{if(e.target!==e.currentTarget)return;clearTimeout(le.current),c.current&&(c.current.table=S.current);const r=e.currentTarget.scrollLeft,n=e.currentTarget.scrollTop,a=t.gridProps.scrollable==="virtual";t.gridProps.columnVirtualization&&(!a||n===de.current)&&(le.current=window.setTimeout(()=>{te()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=r),O.current&&O.current.setScrollLeft(r),F.current&&F.current.setScrollLeft(r),c.current&&n!==de.current&&c.current.scrollHandler(e),t.gridProps.onScroll&&I&&u(t.gridProps.onScroll,{...h(e)}),de.current=n},Fe=e=>{var n,a,i,d;l.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:w,navigationStateRef:M,onNavigationAction:Ne,columns:L()}),l.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:x(),contextStateRef:w,navigationStateRef:M});const r={dataItems:V(),mode:R.mode,cell:R.cell,componentId:t.id,selectedField:t.gridProps.selectedField,...h(e)};if(t.gridProps.onKeyDown&&I&&u(t.gridProps.onKeyDown,r),!t.gridProps.selectedField&&R.enabled&&t.gridProps.dataItemKey){const s=l.getSelectedStateFromKeyDown({event:r,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});if(s===t.gridProps.select)return;const C=e.target,v=l.closestTagName(C,"TD"),f=l.closestTagName(C,"TR"),k=l.getColumnIndex(v),N=l.getRowIndex(f);if(k!==void 0&&N!==void 0){const ge=Array.isArray(t.gridProps.data)?(a=t.gridProps.data)==null?void 0:a[N]:(d=(i=t.gridProps.data)==null?void 0:i.data)==null?void 0:d[N];t.gridProps.onSelectionChange&&u(t.gridProps.onSelectionChange,{...r,select:s,dataItem:ge,startRowIndex:N,startColIndex:k,startDataItem:ge,endDataItem:ge,endRowIndex:N,endColIndex:k,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}}},Oe=e=>{l.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:w})},Ne=e=>{if(e.action==="moveToNextPage"&&Qe(e.event),e.action==="moveToPrevPage"&&Ze(e.event),e.focusElement&&e.action==="reorderToRight"){const r=parseInt(e.focusElement.ariaColIndex,10)-1;r<g.current.length-1&&Y(r,r+1,e.event)}if(e.focusElement&&e.action==="reorderToLeft"){const r=parseInt(e.focusElement.ariaColIndex,10)-1;r>0&&Y(r,r-1,e.event)}if(t.gridProps.onNavigationAction&&I){const r={focusElement:e.focusElement,...h(e.event)};u(t.gridProps.onNavigationAction,r)}},Le=(e,r)=>{t.gridProps.onRowClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowClick,{dataItem:r,...h(e)})},ze=(e,r)=>{t.gridProps.onRowDoubleClick&&e.target.nodeName==="TD"&&u(t.gridProps.onRowDoubleClick,{dataItem:r,...h(e)})},qe=(e,r,n)=>{if(ve.enabled&&ve.mode==="incell"&&t.gridProps.dataItemKey){const a=l.editReducer(t.gridProps.edit,{type:l.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:r[t.gridProps.dataItemKey],field:n}});t.gridProps.onEditChange&&u(t.gridProps.onEditChange,{edit:a,...h(e)})}},Ue=(e,r)=>{var a;if(l.getDetailExpandableOptions(t.detailExpandable).enabled){const i=l.detailExpandReducer((a=t.gridProps.detailExpand)!=null?a:{},e);t.gridProps.onDetailExpandChange&&u(t.gridProps.onDetailExpandChange,{...h(r),detailExpand:i})}},Ve=(e,r)=>{var a;const n=l.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(n.enabled){const i=l.groupExpandReducer((a=t.gridProps.groupExpand)!=null?a:[],e,n);t.gridProps.onGroupExpandChange&&u(t.gridProps.onGroupExpandChange,{...h(r),groupExpand:i})}},be=(e,r,n)=>{const{allowUnsort:a,mode:i}=De.normalize(t.gridProps.sortable||!1,r.sortable||!1),d=(t.gridProps.sort||[]).filter(v=>v.field===r.field)[0],s=n||De.firstLevelSortSeqMap[a][d&&d.dir||""],C=i==="single"?[]:(t.gridProps.sort||[]).filter(v=>v.field!==r.field);s!==""&&r.field&&C.push({field:r.field,dir:s}),he(C,e)},We=e=>{var r;if(e.field===t.gridProps.expandField||e._expand||t.gridProps.group&&e.field===void 0){if(t.gridProps.onExpandChange){const n=t.gridProps.dataItemKey?l.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},{type:l.DETAIL_EXPAND_ACTION.SET,id:e.dataItem[t.gridProps.dataItemKey],payload:e.value}):t.gridProps.detailExpand;u(t.gridProps.onExpandChange,{...h(e.syntheticEvent),expand:n,dataItem:e.dataItem,dataIndex:e.dataIndex,value:e.value})}return}t.gridProps.onItemChange&&u(t.gridProps.onItemChange,{...h(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},_e=e=>{var r;if(t.gridProps.onSelectionChange&&R.enabled){const{event:n,dataItem:a,dataIndex:i,columnIndex:d}=e,s={...h(n.syntheticEvent),dataItem:a,startColIndex:d,endColIndex:d,startRowIndex:i,endRowIndex:i,dataItems:V(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:R.mode,cell:R.cell,isDrag:!1,componentId:t.id,selectedField:t.gridProps.selectedField||""};u(t.gridProps.onSelectionChange,{...s,select:t.gridProps.dataItemKey?l.getSelectedState({event:s,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},Be=e=>{var r;if(t.gridProps.onHeaderSelectionChange&&R.enabled){const n=V();u(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((a,i)=>(t.gridProps.dataItemKey&&P.getter(t.gridProps.dataItemKey)(i)!==void 0&&(a[P.getter(t.gridProps.dataItemKey)(i)]=!0),a),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:E.current,dataItems:n,selectedField:(r=t.gridProps.selectedField)!=null?r:""})}},z=(e,r)=>{t.gridProps.onSelectionChange&&I&&R.enabled&&u(t.gridProps.onSelectionChange,{...e,select:r})},je=e=>{var r;if(t.gridProps.onSelectionChange&&R.enabled){const n=Z()[e.startRowIndex],a=Z()[e.endRowIndex],i={syntheticEvent:void 0,target:E.current,selectedField:t.gridProps.selectedField||"",componentId:t.id,dataItems:V(),dataItem:null,startDataItem:n,endDataItem:a,...e},d=l.getSelectedState({event:i,selectedState:(r=t.gridProps.select)!=null?r:{},dataItemKey:t.gridProps.dataItemKey});z(i,d)}},$e=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const r=e.dataItems[0],n=e.dataItems[e.dataItems.length-1],a={},i={...e,startDataItem:r,endDataItem:n,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:g.current.length-1};e.dataItems.forEach(d=>{const C=P.getter(t.gridProps.dataItemKey)(d);a[C]=e.cell?[...Array(g.current.length).keys()]:!0}),z(i,a)}},Xe=e=>{if(t.gridProps.onSelectionChange&&R.enabled){const n=P.getter(t.gridProps.dataItemKey)(e.dataItem),a=0,i=g.current.length-1,d=e.dataItems.findIndex(k=>k[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),v={...e,startDataItem:d,endDataItem:d,startRowIndex:d,endRowIndex:d,startColIndex:a,endColIndex:i},f=e.mode==="multiple"?t.gridProps.select||{}:{};f[n]===!0||Array.isArray(f[n])&&f[n].length===g.current.length?delete f[n]:f[n]=e.cell?[...Array(g.current.length).keys()]:!0,z(v,f)}},Je=e=>{t.gridProps.onSelectionChange&&R.enabled&&z(e,{})},q=(e,r,n,a,i)=>{const d=t.gridProps.onDataStateChange;if(e){const s={...h(a),...r,targetEvent:i};u(e,s)}else d&&u(d,{...h(a),targetEvent:i||{},dataState:{...ct(),...n}})},U=(e,r,n)=>{q(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},r,n)},Ye=()=>{let e=t.gridProps.total||0;return Array.isArray(t.gridProps.data)?e=e||t.gridProps.data.length:t.gridProps.data&&(e=e||t.gridProps.data.total),e},Qe=e=>{const r=t.gridProps.take||0,n=(t.gridProps.skip||0)+r,a=Ye();n<a&&U({skip:n,take:r},e)},Ze=e=>{const r=t.gridProps.take||0,n=(t.gridProps.skip||0)-r;n>=0&&U({skip:n,take:r},e)},pe=e=>{U({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},he=(e,r)=>{q(t.gridProps.onSortChange,{sort:e},{sort:e,...t.gridProps.scrollable==="virtual"?{skip:0}:{}},r)},et=(e,r)=>{q(t.gridProps.onFilterChange,{filter:e},{filter:e||void 0,skip:0},r)},J=(e,r)=>{const n=r.nativeEvent?r:{nativeEvent:r.nativeEvent||r.originalEvent};e.length===0&&t.gridProps.navigatable&&(oe.current=!0),q(t.gridProps.onGroupChange,{group:e},{group:e,skip:0},n)},Y=(e,r,n)=>{const a=g.current[e],i=a.depth,d=f=>{do f++;while(f<g.current.length&&g.current[f].depth>i);return f},s=g.current.splice(e,d(e)-e);g.current.splice(e<r?d(r-s.length):r,0,...s),g.current.filter(f=>f.declarationIndex>=0).forEach((f,k)=>f.orderIndex=k);const C=g.current[e].locked&&g.current[r].locked;l.updateLeft(t.columnsMapRef,g.current,C||$.current),l.updateRight(t.columnsMapRef,g.current,C||$.current),ae.current&&($.current=!1,ae.current=!1);const v=L();if(te(),t.gridProps.onColumnReorder){const f={target:E.current,columns:v,columnId:a.id,nativeEvent:n};u(t.gridProps.onColumnReorder,f)}},tt=(e,r,n)=>{const a=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(n==="forbidden"||!a||!X.current)return;const{slicedData:i,dataRef:d}=t,s=(i||d)[r];t.gridProps.onRowReorder&&u(t.gridProps.onRowReorder,{draggedDataItems:[X.current],droppedDataItem:s==null?void 0:s.dataItem,dropPosition:n,nativeEvent:e.originalEvent,dragEvent:e,target:E.current}),X.current=null},rt=(e,r,n)=>{if(t.gridProps.group===void 0)return;const a=t.gridProps.group.slice();a.splice(r,0,...a.splice(e,1)),J(a,n)},Ie=(e,r,n)=>{const a=g.current[e].field;if(!a)return;const i=(t.gridProps.group||[]).slice();i.splice(r,0,{field:a}),J(i,n)},nt=(e,r)=>{const n=K.current.getCurrentGroupsLength;Ie(e,n,r)},Q=()=>{let e=0;if(!y.current.colGroupMain)return;const r=y.current.colGroupMain.children;for(let n=0;n<r.length;n++){const a=r[n].width;if(!a)return;e+=parseFloat(a.toString())}e=Math.round(e),O.current&&O.current.setWidth(e),F.current&&F.current.setWidth(e),S.current&&(S.current.style.width=e+"px")},at=(e,r)=>{if(t.gridProps.onClipboard&&I){if(!ot()||!e)return;u(t.gridProps.onClipboard,{type:e,nativeEvent:r,columns:g.current,dataItemKey:t.gridProps.dataItemKey||"",...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{}})}},ot=()=>{var i,d,s;if(!P.canUseDOM)return!1;const e=P.getActiveElement(x()),r=e?e.matches(".k-table-td")?e:(i=x())==null?void 0:i.body:(d=x())==null?void 0:d.body,n=r.closest(".k-grid-container"),a=r&&((s=A.current)==null?void 0:s.contains(r));return!!(r&&a&&n)},it=(e,r,n,a,i,d)=>{Q(),$.current=!0,ae.current=!0,t.gridProps.onColumnResize&&I&&u(t.gridProps.onColumnResize,{columns:L(),nativeEvent:a,targetColumnId:d,index:e,newWidth:r,oldWidth:n,end:i,target:E.current})},ct=()=>({filter:t.gridProps.filter,sort:t.gridProps.sort,skip:t.gridProps.skip,take:t.gridProps.take!==void 0?t.gridProps.take:t.gridProps.pageSize,group:t.gridProps.group}),h=e=>({nativeEvent:e&&e.nativeEvent,syntheticEvent:e,target:E.current}),dt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),u=(e,r)=>{if(e.name==="proxy"){e.call(void 0,dt(r));return}e.call(void 0,r)},lt=()=>{var e,r,n;if(H.current&&((e=H.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ce.current=!1,(r=document.activeElement)!=null&&r.closest(".k-grid-edit-row")?ie.current=document.activeElement:ie.current=void 0;const a=Array.from((n=H.current)==null?void 0:n.getElementsByClassName("k-grid-edit-row"));a.length>ue.current.length?j.current=a.filter(i=>!ue.current.includes(i))[0]:a.length===1&&(j.current=a[0],ce.current=!0),ue.current=a}},V=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),Z=()=>(t.slicedData||t.dataRef).filter(e=>e.rowType==="data").map(e=>e.dataItem),p=()=>(ne.current||(ne.current=P.getScrollbarWidth()||void 0),ne.current),x=()=>{var e;if(P.canUseDOM)return((e=W())==null?void 0:e.ownerDocument)||document},W=()=>A.current,ee=o.useCallback(e=>{var a;if(!c.current||!((a=c.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;T.current&&T.current.disconnect();const{rowIndex:r}=e,n=W();if(t.gridProps.scrollable==="virtual")c.current.askedSkip=r,c.current.container.scroll(0,Math.round(c.current.askedSkip/c.current.total*c.current.container.scrollHeight));else if(n){const i=r<1?n.querySelector("tbody > tr:nth-child(1)"):n.querySelector(`tbody > tr:nth-child(${r+1})`);i&&B.current&&(B.current.scrollTop=i.offsetTop)}},[t.gridProps.scrollable]),Re=e=>JSON.stringify(e.map(r=>({id:r.id,field:r.field,title:r.title,children:r.children}))),st=()=>Re(It)===Re(g.current),ut=()=>{st()||te()},gt=()=>{const{data:e,total:r}=t.gridProps;return Array.isArray(e)?e.length===r:e?r===e.total:!1},ft=(e,r)=>{if(c.current){if(c.current.fixedScroll=t.gridProps.fixedScroll||!1,c.current.PageChange=U,c.current.realSkip=t.gridProps.skip||0,c.current.pageSize=(t.gridProps.take!==void 0?t.gridProps.take:t.gridProps.pageSize)||0,c.current.scrollableVirtual=t.gridProps.scrollable==="virtual",c.current.total=e,c.current.propsSkip=(t.gridProps.skip||0)+(t.gridProps.scrollable==="virtual"?c.current.topCacheCount+(c.current.attendedSkip-(t.gridProps.skip||0)):0),t.gridProps.rowHeight!==void 0&&t.gridProps.rowHeight>0&&!r){const n=t.gridProps.rowHeight*e;c.current.containerHeight=D.firefox?Math.min(D.firefoxMaxHeight,n):n}else c.current.containerHeight=1533915;if(c.current.containerRef=B,c.current.tableBodyRef=H,c.current.table=S.current,c.current instanceof Se.VirtualScrollFixed){const{rowHeight:n=0,detail:a,expandField:i}=t.gridProps;let{detailRowHeight:d=0}=t.gridProps;d=a&&i?d:n,gt()?(c.current.total=t.dataRef.length,c.current.rowHeightService=new P.RowHeightService(t.dataRef.length,n,d,t.dataRef)):c.current.rowHeightService=new P.RowHeightService(e,n,d);const s=c.current.rowHeightService.totalHeight();c.current.containerHeight=D.firefox?Math.min(D.firefoxMaxHeight,s):s}}},Ce=o.useCallback(e=>{const r={rowIndex:se.current};e.forEach(n=>{n.isIntersecting||ee(r)})},[ee]),te=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},mt=e=>e.left!==void 0?Ee!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},E=o.useRef(null),g=t.columnsRef,c=o.useRef(),y=o.useRef(),K=o.useRef(),w=o.useRef(),M=o.useRef(),_=o.useRef(),T=o.useRef(null),H=o.useRef(null),Pt=o.useRef(null),B=o.useRef(null),S=o.useRef(null),re=o.useRef(null),A=o.useRef(null),F=o.useRef(null),O=o.useRef(null),ne=o.useRef(),ae=o.useRef(!1),oe=o.useRef(!1),j=o.useRef(),ie=o.useRef(),ce=o.useRef(!1),$=o.useRef(!0),de=o.useRef(0),le=o.useRef(),se=o.useRef(),ue=o.useRef([]),X=o.useRef(null),bt=o.useRef(null),ht=o.useRef(null),Ee=P.useDir(A),It=o.useMemo(()=>o.Children.toArray(t.gridProps.children),[t.gridProps.children]),R=l.getSelectionOptions((ye=t.gridProps.selectable)!=null?ye:!!t.gridProps.selectedField),ve=l.getEditableOptions((we=t.gridProps.editable)!=null?we:!!t.gridProps.editField);o.useMemo(()=>{l.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:w,navigationStateRef:M,idPrefix:t.id})},[]),o.useMemo(()=>{var n;(n=c.current)==null||n.reset();const e=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,r=t.isFixedVirtualScroll?Se.VirtualScrollFixed:xt.VirtualScroll;c.current=new r(e||t.gridProps.rowHeight===void 0||t.gridProps.rowHeight===0)},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,t.gridProps.groupable,t.gridProps.sort,t.gridProps.rowHeight]),o.useEffect(()=>(t.gridProps.clipboard&&(_.current=new l.ClipboardService(at),_.current.addEventListeners(x())),()=>{_.current&&_.current.removeEventListeners(x())}),[t.gridProps.onClipboard,t.gridProps.clipboard]),o.useEffect(()=>(t.gridProps.columnVirtualization&&!window.navigator.userAgent.match(vt.SAFARI_REGEX)&&(re.current&&(re.current.style.display="block"),S.current&&(S.current.style.display="block")),Q(),P.setScrollbarWidth(p()),l.tableKeyboardNavigation.onComponentDidMount({scope:A.current||void 0,contextStateRef:w,navigationStateRef:M}),()=>{clearTimeout(le.current)}),[]),o.useEffect(()=>{var e;Q(),P.setScrollbarWidth(p()),(e=c.current)!=null&&e.tableTransform&&c.current.table&&(c.current.table.style.transform=c.current.tableTransform,c.current.tableTransform=""),lt(),l.tableKeyboardNavigation.onComponentDidUpdate({scope:A.current||void 0,contextStateRef:w,navigationStateRef:M,focusFirst:oe.current,newEditableRow:j.current,singleEditRow:ce.current,lastActiveElement:ie.current,navigatable:t.gridProps.navigatable}),oe.current=!1,j.current=void 0}),o.useEffect(()=>{if(P.canUseDOM){const e={rootMargin:"0px",threshold:.9};T.current=window.IntersectionObserver&&new window.IntersectionObserver(Ce,e)||null}},[Ce]),o.useEffect(()=>{var r;let e;return P.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(ut),e.observe((r=x())==null?void 0:r.body)),()=>{e==null||e.disconnect()}},[]),o.useImperativeHandle(E,()=>({get element(){return W()},props:t.gridProps,get columns(){return L()},scrollIntoView:e=>{var a;if(!((a=c.current)!=null&&a.container)||t.gridProps.scrollable==="none")return;const{rowIndex:r}=e;se.current=r;const n=W();if(T.current&&n){T.current.disconnect();const i=n.querySelector(`[absolute-row-index="${se.current}"]`);i?T.current.observe(i):ee(e)}},fitColumns:e=>{y.current.dblClickHandler(null,e)}})),o.useImperativeHandle(t.gridRef,()=>E.current),o.useMemo(()=>{y.current=new Ct.ColumnResize(it)},[t.gridProps.onColumnResize]),o.useMemo(()=>{K.current=new Et.CommonDragLogic(Y,rt,Ie)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.gridProps.groupable]),y.current.resizable=t.gridProps.resizable||!1,y.current.columns=g.current;const xe=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1;return K.current.reorderable=t.gridProps.reorderable||!1,K.current.groupable=xe,K.current.columns=g.current,ft(t.total,xe),o.createElement(Ke.Provider,{value:{isClient:I,rowReorder:tt,activeDragRowDataItemRef:X,reorderRowDragTargetRef:bt,reorderRowDropTargetRef:ht,dir:Ee,getCellPositionStyle:mt,dataItemKey:t.gridProps.dataItemKey,groupChange:J,selectionRelease:je,pagerPageChange:pe,onContextMenu:Ge,rowClick:Le,rowDblClick:ze,cellClick:qe,headerCellClick:be,itemChange:We,sortChange:he,filterChange:et,onHeaderSelectionChange:Be,columnGroupChange:nt,onKeyDown:Fe,onFocus:Oe,scrollHandler:He,selectionChange:_e,dispatchDetailExpand:Ue,dispatchGroupExpand:Ve,columnResizeRef:y,dragLogicRef:K,navigationStateRef:M,tableElementRef:S,tableBodyElementRef:H,headerElementRef:Pt,containerElementRef:B,headTableElementRef:re,elementRef:A,footerRef:F,headerRef:O,getCachedScrollbarWidth:p,vsRef:c}},o.createElement(l.TableKeyboardNavigationContext.Provider,{value:w.current},t.children),o.createElement(yt.GridContextMenu,{show:m.show,dataItem:m.dataItem,field:m.field,items:Te,offset:m.offset,onClose:fe,onSelect:Ae}))};exports.GridClientWrapper=St;exports.GridContext=Ke;