@progress/kendo-react-grid 13.3.0 → 13.4.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 (256) hide show
  1. package/BasePDFExport.d.ts +31 -0
  2. package/Grid.d.ts +129 -0
  3. package/GridClientContextReader.d.ts +17 -0
  4. package/GridClientWrapper.d.ts +32 -0
  5. package/GridClientWrapper.js +1 -1
  6. package/GridClientWrapper.mjs +21 -25
  7. package/GridColumn.d.ts +51 -0
  8. package/GridComponent.d.ts +14 -0
  9. package/GridComponent.js +1 -1
  10. package/GridComponent.mjs +6 -6
  11. package/GridPdfExportButton.d.ts +18 -0
  12. package/GridSearchBox.d.ts +27 -0
  13. package/GridState.d.ts +30 -0
  14. package/GridToolbar.d.ts +48 -0
  15. package/ScrollMode.d.ts +8 -0
  16. package/StatusBar.d.ts +59 -0
  17. package/VirtualScroll.d.ts +45 -0
  18. package/cells/GridDetailHierarchyCell.d.ts +16 -0
  19. package/cells/GridFilterCell.d.ts +10 -0
  20. package/cells/GridFilterCell.mjs +4 -4
  21. package/cells/datacell/GridCell.d.ts +15 -0
  22. package/cells/datacell/GridCellServer.d.ts +15 -0
  23. package/cells/datacell/GridCellServerContainer.d.ts +11 -0
  24. package/cells/datacell/useCellClientTdProps.d.ts +69 -0
  25. package/cells/datacell/utils.d.ts +20 -0
  26. package/cells/detailcell/GridDetailCell.d.ts +23 -0
  27. package/cells/detailcell/GridDetailCellServer.d.ts +11 -0
  28. package/cells/detailcell/GridDetailCellServerContainer.d.ts +12 -0
  29. package/cells/detailcell/useDetailCellClientTdProps.d.ts +23 -0
  30. package/cells/detailcell/utils.d.ts +19 -0
  31. package/cells/editcell/GridEditCell.d.ts +15 -0
  32. package/cells/editcell/GridEditCellEditor.d.ts +11 -0
  33. package/cells/editcell/GridEditCellServer.d.ts +15 -0
  34. package/cells/editcell/GridEditCellServerContainer.d.ts +11 -0
  35. package/cells/editcell/useEditCellClientTdProps.d.ts +25 -0
  36. package/cells/editcell/utils.d.ts +19 -0
  37. package/cells/groupcell/GridGroupCell.d.ts +15 -0
  38. package/cells/groupcell/GridGroupCellServer.d.ts +15 -0
  39. package/cells/groupcell/GridGroupCellServerContainer.d.ts +12 -0
  40. package/cells/groupcell/GridGroupCellToggle.d.ts +13 -0
  41. package/cells/groupcell/useGroupCellClientTdProps.d.ts +41 -0
  42. package/cells/groupcell/utils.d.ts +22 -0
  43. package/cells/hierarchycell/GridHierarchyCell.d.ts +15 -0
  44. package/cells/hierarchycell/GridHierarchyCellServer.d.ts +15 -0
  45. package/cells/hierarchycell/GridHierarchyCellServerContainer.d.ts +11 -0
  46. package/cells/hierarchycell/GridHierarchyCellToggle.d.ts +13 -0
  47. package/cells/hierarchycell/GridHierarchyCellToggle.mjs +2 -2
  48. package/cells/hierarchycell/useHierarchyCellClientTdProps.d.ts +32 -0
  49. package/cells/hierarchycell/utils.d.ts +20 -0
  50. package/cells/hooks.d.ts +25 -0
  51. package/cells/rowreordercell/GridRowReorderCell.d.ts +15 -0
  52. package/cells/rowreordercell/GridRowReorderCellServer.d.ts +15 -0
  53. package/cells/rowreordercell/GridRowReorderCellServerContainer.d.ts +11 -0
  54. package/cells/rowreordercell/useRowReorderCellClientTdProps.d.ts +27 -0
  55. package/cells/rowreordercell/utils.d.ts +15 -0
  56. package/cells/selectioncell/GridSelectionCell.d.ts +15 -0
  57. package/cells/selectioncell/GridSelectionCellInput.d.ts +13 -0
  58. package/cells/selectioncell/GridSelectionCellServer.d.ts +15 -0
  59. package/cells/selectioncell/GridSelectionCellServerContainer.d.ts +11 -0
  60. package/cells/selectioncell/useSelectionCellClientTdProps.d.ts +25 -0
  61. package/cells/selectioncell/utils.d.ts +25 -0
  62. package/codemods/v11/cell-render.js +2 -9
  63. package/codemods/v11/column-cell.js +2 -9
  64. package/codemods/v11/column-filter-cell.js +2 -9
  65. package/codemods/v11/column-footer-cell.js +2 -9
  66. package/codemods/v11/column-header-cell.js +2 -9
  67. package/codemods/v11/detail-expand-state.js +2 -9
  68. package/codemods/v11/edit-state.js +2 -9
  69. package/codemods/v11/filter-cell-render.js +2 -9
  70. package/codemods/v11/group-expand-state.js +2 -9
  71. package/codemods/v11/header-cell-render.js +2 -9
  72. package/codemods/v11/index.js +0 -7
  73. package/codemods/v11/row-render.js +2 -9
  74. package/codemods/v11/selection-state.js +2 -9
  75. package/codemods/v11/utils.js +2 -9
  76. package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +58 -0
  77. package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
  78. package/columnMenu/GridColumnMenuCheckboxFilter.mjs +0 -1
  79. package/columnMenu/GridColumnMenuColumnsChooser.d.ts +30 -0
  80. package/columnMenu/GridColumnMenuColumnsList.d.ts +34 -0
  81. package/columnMenu/GridColumnMenuFilter.d.ts +101 -0
  82. package/columnMenu/GridColumnMenuFilterCell.d.ts +29 -0
  83. package/columnMenu/GridColumnMenuFilterUI.d.ts +13 -0
  84. package/columnMenu/GridColumnMenuGroup.d.ts +61 -0
  85. package/columnMenu/GridColumnMenuGroup.mjs +3 -3
  86. package/columnMenu/GridColumnMenuItem.d.ts +48 -0
  87. package/columnMenu/GridColumnMenuItemContent.d.ts +22 -0
  88. package/columnMenu/GridColumnMenuItemGroup.d.ts +18 -0
  89. package/columnMenu/GridColumnMenuSort.d.ts +67 -0
  90. package/columnMenu/GridColumnMenuWrapper.d.ts +33 -0
  91. package/columnMenu/GridColumnMenuWrapper.mjs +5 -5
  92. package/columnMenu/adaptiveContent/GridActionSheetFooter.d.ts +26 -0
  93. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.d.ts +27 -0
  94. package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +4 -4
  95. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.d.ts +32 -0
  96. package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +3 -3
  97. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.d.ts +12 -0
  98. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
  99. package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +4 -4
  100. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.d.ts +27 -0
  101. package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +8 -8
  102. package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.d.ts +23 -0
  103. package/components/GridContainerElementContainer.d.ts +12 -0
  104. package/components/GridDragClue.d.ts +12 -0
  105. package/components/GridDraggableRowsContainer.d.ts +20 -0
  106. package/components/GridDropClue.d.ts +12 -0
  107. package/components/GridEditDialog.d.ts +22 -0
  108. package/components/GridEditDialog.mjs +1 -1
  109. package/components/GridElementContainer.d.ts +14 -0
  110. package/components/GridLoader.d.ts +17 -0
  111. package/components/PagerContainer.d.ts +12 -0
  112. package/components/VirtualScrollHeightContainer.d.ts +12 -0
  113. package/components/colGroup/GridColGroup.d.ts +12 -0
  114. package/components/icons/reorder-row-svg.d.ts +12 -0
  115. package/components/noRecords/GridNoRecords.d.ts +31 -0
  116. package/components/noRecords/GridNoRecordsContainer.d.ts +15 -0
  117. package/components/noRecords/GridNoRecordsContainer.mjs +1 -1
  118. package/components/table/GridTable.d.ts +12 -0
  119. package/components/table/GridTableBody.d.ts +12 -0
  120. package/components/table/GridTableScrollable.d.ts +12 -0
  121. package/components/utils.d.ts +21 -0
  122. package/constants/index.d.ts +15 -0
  123. package/constants/index.mjs +2 -2
  124. package/contextMenu/GridContextMenu.d.ts +205 -0
  125. package/contextMenu/GridContextMenu.mjs +19 -19
  126. package/contextMenu/enums.d.ts +36 -0
  127. package/dist/cdn/js/kendo-react-grid.js +1 -1
  128. package/drag/ColumnDraggable.d.ts +26 -0
  129. package/drag/ColumnResize.d.ts +47 -0
  130. package/drag/CommonDragLogic.d.ts +50 -0
  131. package/drag/GroupingIndicator.d.ts +26 -0
  132. package/drag/GroupingIndicator.js +1 -1
  133. package/drag/GroupingIndicator.mjs +20 -20
  134. package/filterCommon.d.ts +86 -0
  135. package/footer/Footer.d.ts +38 -0
  136. package/footer/Footer.js +1 -1
  137. package/footer/Footer.mjs +9 -9
  138. package/footer/FooterCell.d.ts +19 -0
  139. package/footer/FooterRow.d.ts +23 -0
  140. package/footer/client/FooterCellContainer.d.ts +12 -0
  141. package/header/FilterRow.d.ts +35 -0
  142. package/header/GridHeaderCell.d.ts +48 -0
  143. package/header/GridHeaderSelectionCell.d.ts +13 -0
  144. package/header/GroupPanel.d.ts +23 -0
  145. package/header/GroupPanel.js +1 -1
  146. package/header/GroupPanel.mjs +11 -11
  147. package/header/Header.d.ts +44 -0
  148. package/header/Header.js +1 -1
  149. package/header/Header.mjs +1 -1
  150. package/header/HeaderRow.d.ts +45 -0
  151. package/header/client/GridFilterCellContainer.d.ts +12 -0
  152. package/header/client/GridFilterCellElementContainer.d.ts +12 -0
  153. package/header/client/GridHeaderCellContainer.d.ts +12 -0
  154. package/header/client/GridHeaderCellElementContainer.d.ts +12 -0
  155. package/header/client/GridHeaderRowContainer.d.ts +16 -0
  156. package/header/client/GridHeaderRowReorderCell.d.ts +12 -0
  157. package/header/client/HeaderCellResizer.d.ts +11 -0
  158. package/header/client/HeaderRowDraggable.d.ts +11 -0
  159. package/index.d.mts +84 -5356
  160. package/index.d.ts +84 -5356
  161. package/interfaces/ColumnType.d.ts +13 -0
  162. package/interfaces/CompositeHighlightDescriptor.d.ts +29 -0
  163. package/interfaces/GridAIAssistantCommand.d.ts +110 -0
  164. package/interfaces/GridAICommands.d.ts +60 -0
  165. package/interfaces/GridCellProps.d.ts +112 -0
  166. package/interfaces/GridCellRenderModel.d.ts +15 -0
  167. package/interfaces/GridCellsSettings.d.ts +366 -0
  168. package/interfaces/GridColSpanProps.d.ts +21 -0
  169. package/interfaces/GridColumnChildrenProps.d.ts +18 -0
  170. package/interfaces/GridColumnMenuBaseProps.d.ts +21 -0
  171. package/interfaces/GridColumnMenuColumnProps.d.ts +32 -0
  172. package/interfaces/GridColumnMenuColumnsChooserBaseProps.d.ts +22 -0
  173. package/interfaces/GridColumnMenuFilterBaseProps.d.ts +31 -0
  174. package/interfaces/GridColumnMenuFilterUIProps.d.ts +38 -0
  175. package/interfaces/GridColumnMenuGroupBaseProps.d.ts +26 -0
  176. package/interfaces/GridColumnMenuProps.d.ts +24 -0
  177. package/interfaces/GridColumnMenuSortBaseProps.d.ts +27 -0
  178. package/interfaces/GridColumnProps.d.ts +230 -0
  179. package/interfaces/GridColumnState.d.ts +52 -0
  180. package/interfaces/GridDataType.d.ts +12 -0
  181. package/interfaces/GridDetailExpandableSettings.d.ts +11 -0
  182. package/interfaces/GridDetailRowProps.d.ts +20 -0
  183. package/interfaces/GridEditDialogProps.d.ts +30 -0
  184. package/interfaces/GridEditableSettings.d.ts +16 -0
  185. package/interfaces/GridFilterCellProps.d.ts +67 -0
  186. package/interfaces/GridFilterOperator.d.ts +13 -0
  187. package/interfaces/GridFilterOperators.d.ts +56 -0
  188. package/interfaces/GridFooterCellProps.d.ts +29 -0
  189. package/interfaces/GridGroupExpandableSettings.d.ts +22 -0
  190. package/interfaces/GridGroupableSettings.d.ts +25 -0
  191. package/interfaces/GridHeaderCellProps.d.ts +23 -0
  192. package/interfaces/GridHighlightDescriptor.d.ts +16 -0
  193. package/interfaces/GridNoRecordsProps.d.ts +16 -0
  194. package/interfaces/GridProps.d.ts +1083 -0
  195. package/interfaces/GridReorderDropDir.d.ts +11 -0
  196. package/interfaces/GridRowProps.d.ts +75 -0
  197. package/interfaces/GridRowReorderSettings.d.ts +25 -0
  198. package/interfaces/GridRowSpannableSettings.d.ts +21 -0
  199. package/interfaces/GridRowType.d.ts +16 -0
  200. package/interfaces/GridRowsSettings.d.ts +57 -0
  201. package/interfaces/GridSelectableSettings.d.ts +25 -0
  202. package/interfaces/GridSortSettings.d.ts +26 -0
  203. package/interfaces/GridStackedLayoutSettings.d.ts +60 -0
  204. package/interfaces/GridToolbarProps.d.ts +17 -0
  205. package/interfaces/VirtualScrollInterface.d.ts +29 -0
  206. package/interfaces/events.d.ts +357 -0
  207. package/interfaces/index.d.ts +15 -0
  208. package/messages/index.d.ts +365 -0
  209. package/messages/messagesMap.d.ts +14 -0
  210. package/package-metadata.d.ts +12 -0
  211. package/package-metadata.js +1 -1
  212. package/package-metadata.mjs +10 -16
  213. package/package.json +17 -17
  214. package/paging/GridPagerSettings.d.ts +89 -0
  215. package/paging/Page.d.ts +20 -0
  216. package/rows/GridDetailRow.d.ts +41 -0
  217. package/rows/GridDetailRowRenderer.d.ts +48 -0
  218. package/rows/GridRow.d.ts +13 -0
  219. package/rows/GridRowRenderer.d.ts +47 -0
  220. package/sortCommon.d.ts +20 -0
  221. package/stacked/GridStackedCell.d.ts +67 -0
  222. package/stacked/GridStackedDetailToggle.d.ts +20 -0
  223. package/stacked/GridStackedDetailToggle.mjs +2 -2
  224. package/stacked/GridStackedRow.d.ts +214 -0
  225. package/stacked/StackedModeComponents.d.ts +45 -0
  226. package/stacked/StackedModeRow.d.ts +46 -0
  227. package/toolbar-tools/GridToolbarAIAssistant.d.ts +246 -0
  228. package/toolbar-tools/GridToolbarCheckboxFilter.d.ts +89 -0
  229. package/toolbar-tools/GridToolbarCheckboxFilter.js +1 -1
  230. package/toolbar-tools/GridToolbarCheckboxFilter.mjs +0 -1
  231. package/toolbar-tools/GridToolbarColumnsChooser.d.ts +55 -0
  232. package/toolbar-tools/GridToolbarFilter.d.ts +72 -0
  233. package/toolbar-tools/GridToolbarFilter.mjs +5 -5
  234. package/toolbar-tools/GridToolbarGroup.d.ts +55 -0
  235. package/toolbar-tools/GridToolbarSeparator.d.ts +21 -0
  236. package/toolbar-tools/GridToolbarSort.d.ts +55 -0
  237. package/toolbar-tools/GridToolbarSpacer.d.ts +21 -0
  238. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.d.ts +35 -0
  239. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +3 -3
  240. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.d.ts +33 -0
  241. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +3 -3
  242. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.d.ts +34 -0
  243. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +3 -3
  244. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarGroup.d.ts +26 -0
  245. package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.d.ts +27 -0
  246. package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.d.ts +23 -0
  247. package/toolbar-tools/ai-tool/GridAIPrompt.d.ts +160 -0
  248. package/utils/GridContext.d.ts +12 -0
  249. package/utils/_clientModule.d.ts +11 -0
  250. package/utils/_serverModule.d.ts +12 -0
  251. package/utils/handleAIResponse.d.ts +221 -0
  252. package/utils/index.d.ts +185 -0
  253. package/utils/index.js +1 -1
  254. package/utils/index.mjs +2 -2
  255. package/utils/premium.d.ts +31 -0
  256. package/utils/virtualColumns.d.ts +18 -0
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridProps } from './interfaces/index.js';
9
+ import * as React from 'react';
10
+ /**
11
+ * @hidden
12
+ */
13
+ interface BasePDFExportProps {
14
+ gridProps: GridProps;
15
+ innerGrid?: any;
16
+ pdf: GridProps;
17
+ onPdfExport: (event: {
18
+ target: HTMLDivElement | null;
19
+ }) => Promise<void>;
20
+ }
21
+ /**
22
+ * @hidden
23
+ */
24
+ interface BasePDFExportHandle {
25
+ save: () => void;
26
+ }
27
+ /**
28
+ * @hidden
29
+ */
30
+ declare const BasePDFExport: React.ForwardRefExoticComponent<BasePDFExportProps & React.RefAttributes<BasePDFExportHandle>>;
31
+ export { BasePDFExport, BasePDFExportProps, BasePDFExportHandle };
package/Grid.d.ts ADDED
@@ -0,0 +1,129 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridProps } from './interfaces/GridProps.js';
9
+ import { GridColumnProps } from './interfaces/GridColumnProps.js';
10
+ import * as React from 'react';
11
+ /**
12
+ * Represent the `ref` of the Grid component.
13
+ */
14
+ export interface GridHandle {
15
+ /**
16
+ * Returns the HTML element of the Grid component.
17
+ */
18
+ element: HTMLDivElement | null;
19
+ /**
20
+ * The props values of the Spreadsheet.
21
+ */
22
+ props: GridProps;
23
+ /**
24
+ * A getter of the current columns. Gets the current column width or current columns, or any other [`GridColumnProps`](https://www.telerik.com/kendo-react-ui/components/grid/api/gridcolumnprops) for each defined column. Can be used on each Grid instance. To obtain the instance of the rendered Grid, use the `ref` callback. The following example demonstrates how to reorder the columns by dragging their handlers and check the properties afterwards. You can check the result in the browser console.
25
+ *
26
+ * @example
27
+ * ```jsx
28
+ * const App = () => {
29
+ * const [data, setData] = useState([
30
+ * { foo: 'A1', bar: 'B1' },
31
+ * { foo: 'A2', bar: 'B2' },
32
+ * { foo: 'A3', bar: 'B2' }
33
+ * ]);
34
+ *
35
+ * const grid = useRef<GridHandle>();
36
+ *
37
+ * return (
38
+ * <div>
39
+ * <Grid data={data} reorderable={true} ref={grid}>
40
+ * <GridColumn field="foo" />
41
+ * <GridColumn field="bar" />
42
+ * </Grid>
43
+ * <Button onClick={() => console.log(JSON.stringify(grid.current?.columns))}>
44
+ * log current properties into browser console.
45
+ * </Button>
46
+ * </div>
47
+ * );
48
+ * };
49
+ *
50
+ * export default App;
51
+ * ```
52
+ */
53
+ columns: GridColumnProps[];
54
+ /**
55
+ * Method to allow the scroll to be set to a specific row index when the Grid is scrollable. It is zero based.
56
+ *
57
+ * @param options - Object, containing the rowIndex to which is going to be scrolled.
58
+ */
59
+ scrollIntoView: (options: {
60
+ rowIndex: number;
61
+ }) => void;
62
+ /**
63
+ * Method to fit columns according to their content.
64
+ *
65
+ * @param columnIds - Array of column ids to be fitted.
66
+ */
67
+ fitColumns: (columnIds: string[]) => void;
68
+ /**
69
+ * Method to trigger a PDF export of the Grid.
70
+ * The 'pdf' prop of the Grid should be set to true or object of setting that will be applied the exported Grid.
71
+ */
72
+ exportAsPdf: () => void;
73
+ /**
74
+ * Gets the total number of items in the grid data source.
75
+ * Used for pagination calculations and AI operations.
76
+ *
77
+ * @returns The total count of data items
78
+ *
79
+ * @example
80
+ * ```jsx
81
+ * const grid = useRef<GridHandle>(null);
82
+ * const total = grid.current?.getTotal();
83
+ * console.log(`Total items: ${total}`);
84
+ * ```
85
+ */
86
+ getTotal: () => number;
87
+ /**
88
+ * Gets all leaf-level data items in the grid.
89
+ * Returns actual data rows excluding group headers/footers.
90
+ * Useful for AI operations and data processing.
91
+ *
92
+ * @returns Array of data items
93
+ *
94
+ * @example
95
+ * ```jsx
96
+ * const grid = useRef<GridHandle>(null);
97
+ * const dataItems = grid.current?.getLeafDataItems();
98
+ * console.log(`Leaf items: ${dataItems.length}`);
99
+ * ```
100
+ */
101
+ getLeafDataItems: () => any[];
102
+ }
103
+ /**
104
+ * Represents the [KendoReact Grid component](https://www.telerik.com/kendo-react-ui/components/grid).
105
+ *
106
+ * @remarks
107
+ * Supported children components are: {@link GridColumn}, {@link GridToolbar}, {@link GridNoRecords}, {@link StatusBar}.
108
+ *
109
+ * @example
110
+ * ```jsx
111
+ * const App = () => {
112
+ * const [data, setData] = useState([
113
+ * { foo: 'A1', bar: 'B1' },
114
+ * { foo: 'A2', bar: 'B2' },
115
+ * { foo: 'A3', bar: 'B2' }
116
+ * ]);
117
+ *
118
+ * return (
119
+ * <Grid data={data} reorderable={true}>
120
+ * <GridColumn field="foo" />
121
+ * <GridColumn field="bar" />
122
+ * </Grid>
123
+ * );
124
+ * };
125
+ *
126
+ * export default App;
127
+ * ```
128
+ */
129
+ export declare const Grid: React.ForwardRefExoticComponent<GridProps & React.RefAttributes<GridHandle | null>>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridComponentProps, GridProps } from './interfaces/GridProps.js';
9
+ import * as React from 'react';
10
+ type GridClientContextReaderProps = Omit<GridProps, 'children'> & {
11
+ children: React.ReactElement<GridComponentProps>;
12
+ };
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const GridClientContextReader: (props: GridClientContextReaderProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
17
+ export {};
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { DataItemWrapper } from '@progress/kendo-react-common';
9
+ import { GridColumnState } from './interfaces/index.js';
10
+ import { ExtendedColumnProps } from './GridColumn.js';
11
+ import { GridComponentProps } from './interfaces/GridProps.js';
12
+ import * as React from 'react';
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const GridClientWrapper: (props: {
17
+ gridProps: GridComponentProps;
18
+ innerGrid?: any;
19
+ columnsRef: ExtendedColumnProps[];
20
+ hiddenColumnsRef: ExtendedColumnProps[];
21
+ columnsMapRef: number[][];
22
+ columnsState: GridColumnState[];
23
+ dataRef: Array<DataItemWrapper>;
24
+ children?: React.ReactNode;
25
+ id: string;
26
+ virtualTotal: number;
27
+ gridRef: any;
28
+ detailExpandable?: boolean;
29
+ isAllData: boolean;
30
+ virtualPageSize: number;
31
+ isVirtualScroll: boolean;
32
+ }) => React.JSX.Element;
@@ -6,4 +6,4 @@
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
8
  "use client";
9
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Nt=require("react"),R=require("@progress/kendo-react-common"),Wt=require("@progress/kendo-data-query"),c=require("@progress/kendo-react-data-tools"),qt=require("./drag/ColumnResize.js"),Ut=require("./drag/CommonDragLogic.js"),W=require("./utils/index.js"),jt=require("./VirtualScroll.js"),Bt=require("./contextMenu/GridContextMenu.js"),Ne=require("./contextMenu/enums.js"),We=require("./sortCommon.js"),Vt=require("./BasePDFExport.js"),_t=require("./utils/GridContext.js"),$t=require("./filterCommon.js");function Jt(t){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const h in t)if(h!=="default"){const D=Object.getOwnPropertyDescriptor(t,h);Object.defineProperty(v,h,D.get?D:{enumerable:!0,get:()=>t[h]})}}return v.default=t,Object.freeze(v)}const d=Jt(Nt),Qt=(t,v,h,D)=>{const Q=Object.keys(v.cells).map(M=>h.findIndex(U=>U.field===M)),q=Object.keys(v.cells).length>0?Q:!0;return t.reduce((M,U)=>(M[U[D!=null?D:"id"]]=q,M),{})},qe=(t,v,h,D)=>v.reduce((q,M)=>({...q,...Qt(Wt.filterBy(t,M),M,h,D)}),{}),Xt=t=>{const v=t.gridProps.isClient,[h,D]=d.useState({}),Q=R.useAdaptiveModeContext(),q=d.useRef(null),M=e=>{e.event.preventDefault(),D({...h,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},U=()=>{D({})},w=d.useMemo(()=>t.columnsRef.find(e=>e.field===h.field),[t.columnsRef,h]),xe=d.useMemo(()=>{const e=t.gridProps.sortable&&(w==null?void 0:w.sortable);return W.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[w,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Se=d.useMemo(()=>{const e=t.gridProps.sortable&&(w==null?void 0:w.sortable);return W.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:W.isRowReorderEnabled(t.gridProps.rowReorderable)})},[w,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),p=d.useMemo(()=>{const e=(w==null?void 0:w.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(h):e;if(n&&h.offset){const o=h.dataItem?Ne.GridContextMenuAnchorPart.body:Ne.GridContextMenuAnchorPart.head,r=n[o],i=h.dataItem?Se:xe;return r===!1?void 0:r===!0||r===void 0?i:r}},[t.gridProps.contextMenu,h,Se,xe,w]),Ue=e=>{var l,m,s,g,u,E,P,K,N;const n=e.event.item,o={target:S.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&f(t.gridProps.onContextMenuItemClick,o);const r=x(),i={selectedField:"",componentId:t.id,dataItems:r,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...c.getSelectionOptions(t.gridProps.selectable),...o},a=r.findIndex(Z=>Z===e.dataItem);switch((l=n.data)==null?void 0:l.action){case"SortCommand":if(w){const Z=(m=n.name)==null?void 0:m.toLowerCase().includes("asc"),Lt=((s=n.name)==null?void 0:s.toLowerCase().includes("desc"))?"desc":void 0,zt=Z?"asc":Lt,Ft=n.name?zt:void 0;De(e.event.syntheticEvent,w,Ft)}break;case"SelectRowCommand":dt(i);break;case"SelectAllRowsCommand":at(i);break;case"ExportPDFCommand":ue();break;case"ClearSelectionCommand":lt(i);break;case"ReorderRowCommand":Y.current=e.dataItem,(g=n.name)!=null&&g.toLowerCase().includes("rowup")&&a>0&&X(e.event.syntheticEvent,a-1,"before"),(u=n.name)!=null&&u.toLowerCase().includes("rowdown")&&a<r.length-1&&X(e.event.syntheticEvent,a+1,"after"),(E=n.name)!=null&&E.toLowerCase().includes("rowtop")&&X(e.event.syntheticEvent,0,"before"),(P=n.name)!=null&&P.toLowerCase().includes("rowbottom")&&X(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":oe(c.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((K=n.name)!=null&&K.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":oe(c.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((N=n.name)!=null&&N.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}U()},ee=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return W.sanitizeColumns(e)},je=(e,n,o)=>{if(t.gridProps.onContextMenu&&v){const r={target:S.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};f(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&M({event:e,dataItem:n,field:o})},Be=e=>{if(e.target!==e.currentTarget)return;clearTimeout(Ie.current),I.current&&(I.current.table=L.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!k||o===Ce.current)&&(Ie.current=window.setTimeout(()=>{V()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),F.current&&F.current.setScrollLeft(n),z.current&&z.current.setScrollLeft(n),I.current&&o!==Ce.current&&I.current.scrollHandler(e),t.gridProps.onScroll&&v&&f(t.gridProps.onScroll,{...C(e)}),Ce.current=o},Ve=e=>{c.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:A,navigationStateRef:_,onNavigationAction:$e,columns:ee()}),c.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:T(),contextStateRef:A,navigationStateRef:_});const n={dataItems:x(),mode:b.mode,cell:b.cell,componentId:t.id,selectedField:"",...C(e)};t.gridProps.onKeyDown&&v&&f(t.gridProps.onKeyDown,n)},_e=e=>{c.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:A})},$e=e=>{const{columnsRef:n}=t;if(e.action==="moveToNextPage"&&gt(e.event),e.action==="moveToPrevPage"&&ft(e.event),e.focusElement&&(e.action==="reorderToRight"||e.action==="reorderToLeft")){const o=parseInt(e.focusElement.ariaColIndex,10)-1;if(!n[o].reorderable)return;if(e.action==="reorderToRight"&&o<t.columnsRef.length-1){if(n[o+1].disableReorder)return;ne(o,o+1,e.event)}if(e.action==="reorderToLeft"&&o>0){if(n[o-1].disableReorder)return;ne(o,o-1,e.event)}}if(e.action==="select"&&rt(e.event),t.gridProps.onNavigationAction&&v){const o={focusElement:e.focusElement,...C(e.event)};f(t.gridProps.onNavigationAction,o)}},Je=(e,n)=>{t.gridProps.onRowClick&&c.closestTagName(e.target,"TD")&&f(t.gridProps.onRowClick,{dataItem:n,...C(e)})},Qe=(e,n)=>{t.gridProps.onRowDoubleClick&&c.closestTagName(e.target,"TD")&&f(t.gridProps.onRowDoubleClick,{dataItem:n,...C(e)})},Xe=e=>{t.gridProps.onItemChange&&f(t.gridProps.onItemChange,{...C(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},Ye=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&f(t.gridProps.onEditChange,{edit:{},...C(e.syntheticEvent)})},Ze=(e,n,o)=>{if(Fe.enabled&&Fe.mode==="incell"&&t.gridProps.dataItemKey){const r=c.editReducer(t.gridProps.edit,{type:c.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&f(t.gridProps.onEditChange,{edit:r,...C(e)})}},pe=(e,n)=>{var r;if(c.getDetailExpandableOptions(t.detailExpandable).enabled){const i=c.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&f(t.gridProps.onDetailExpandChange,{...C(n),detailExpand:i})}},et=(e,n)=>{var r;const o=c.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const i=c.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&f(t.gridProps.onGroupExpandChange,{...C(n),groupExpand:i})}},De=(e,n,o)=>{const{allowUnsort:r,mode:i}=We.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),a=(t.gridProps.sort||[]).filter(s=>s.field===n.field)[0],l=o||We.firstLevelSortSeqMap[r][a&&a.dir||""],m=i==="single"?[]:(t.gridProps.sort||[]).filter(s=>s.field!==n.field);l!==""&&n.field&&m.push({field:n.field,dir:l}),ke(m,e)},tt=e=>{t.gridProps.onItemChange&&f(t.gridProps.onItemChange,{...C(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},nt=e=>{var n;if(t.gridProps.onSelectionChange&&b.enabled){const{event:o,dataItem:r,dataIndex:i,columnIndex:a}=e,l={...C(o),dataItem:r,startColIndex:a,endColIndex:a,startRowIndex:i,endRowIndex:i,dataItems:x(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:b.mode,cell:b.cell,isDrag:!1,componentId:t.id,selectedField:""};f(t.gridProps.onSelectionChange,{...l,select:t.gridProps.dataItemKey?c.getSelectedState({event:l,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},rt=e=>{var s,g;if(!b.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:x(),mode:b.mode,cell:b.cell,componentId:t.id,selectedField:"",...C(e)},o=c.getSelectedStateFromKeyDown({event:n,selectedState:(s=t.gridProps.select)!=null?s:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,i=c.closestTagName(r,"TD"),a=c.closestTagName(r,"TR"),l=c.getColumnIndex(i),m=c.getRowIndex(a);if(l!==void 0&&m!==void 0){const u=(g=W.getDataAsArray(t.gridProps.data))==null?void 0:g[m];t.gridProps.onSelectionChange&&f(t.gridProps.onSelectionChange,{...n,select:o,dataItem:u,startRowIndex:m,startColIndex:l,startDataItem:u,endDataItem:u,endRowIndex:m,endColIndex:l,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},ot=e=>{if(t.gridProps.onHeaderSelectionChange&&b.enabled){const n=x();f(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((o,r)=>(t.gridProps.dataItemKey&&R.getter(t.gridProps.dataItemKey)(r)!==void 0&&(o[R.getter(t.gridProps.dataItemKey)(r)]=!0),o),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:S.current,dataItems:n})}},j=(e,n)=>{t.gridProps.onSelectionChange&&b.enabled&&f(t.gridProps.onSelectionChange,{...e,select:n})},it=e=>{var n;if(t.gridProps.onSelectionChange&&b.enabled){const o=x()[e.startRowIndex],r=x()[e.endRowIndex],i={syntheticEvent:void 0,target:S.current,selectedField:"",componentId:t.id,dataItems:x(),dataItem:null,startDataItem:o,endDataItem:r,...e},a=c.getSelectedState({event:i,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});j(i,a)}},at=e=>{if(t.gridProps.onSelectionChange&&b.enabled){const n=e.dataItems[0],o=e.dataItems[e.dataItems.length-1],r={},i={...e,startDataItem:n,endDataItem:o,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(a=>{const m=R.getter(t.gridProps.dataItemKey)(a);r[m]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),j(i,r)}},dt=e=>{if(t.gridProps.onSelectionChange&&b.enabled){const o=R.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,i=t.columnsRef.length-1,a=e.dataItems.findIndex(u=>u[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),s={...e,startDataItem:a,endDataItem:a,startRowIndex:a,endRowIndex:a,startColIndex:r,endColIndex:i},g=e.mode==="multiple"?t.gridProps.select||{}:{};g[o]===!0||Array.isArray(g[o])&&g[o].length===t.columnsRef.length?delete g[o]:g[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,j(s,g)}},ct=e=>{if(!b.enabled)return;const n=x(),o={syntheticEvent:void 0,nativeEvent:void 0,target:S.current,selectedField:"",componentId:t.id,dataItems:n,dataItem:null,startDataItem:null,endDataItem:null,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,mode:b.mode,cell:b.cell};if(!e||e.length===0){const u={...o,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1};j(u,{});return}const r=qe(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey),i={};Object.keys(r).forEach(u=>{r[u]&&(i[u]=b.cell?[...Array(t.columnsRef.length).keys()]:!0)});let a=-1,l=-1,m=n[0]||null,s=n[n.length-1]||null;if(t.gridProps.dataItemKey){const u=R.getter(t.gridProps.dataItemKey);for(let E=0;E<n.length;E++){const P=u(n[E]);P!==void 0&&r[P]&&(a===-1&&(a=E,m=n[E]),l=E,s=n[E])}}const g={...o,startRowIndex:a,endRowIndex:l,startColIndex:0,endColIndex:t.columnsRef.length-1,startDataItem:m,endDataItem:s};j(g,i)},lt=e=>{t.gridProps.onSelectionChange&&b.enabled&&j(e,{})},B=(e,n,o,r,i)=>{ut();const a=t.gridProps.onDataStateChange;if(e){const l={...C(r),...n,targetEvent:i};f(e,l)}else a&&f(a,{...C(r),targetEvent:i||{},dataState:{...wt(),...o}})},te=(e,n,o)=>{var r;k&&t.gridProps.pageable&&((r=I.current)==null||r.reset()),B(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},st=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,V()):te(e,n,o)},se=()=>{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},ut=()=>{k&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},gt=e=>{var i,a;const n=(a=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?a:0,o=(t.gridProps.skip||0)+n,r=se();o<r&&te({skip:o,take:n},e)},ft=e=>{var r,i;const n=(i=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?i:0,o=(t.gridProps.skip||0)-n;o>=0&&te({skip:o,take:n},e)},mt=e=>{te({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},ke=(e,n)=>{B(t.gridProps.onSortChange,{sort:e},{sort:e,...k&&!t.gridProps.pageable?{skip:0}:{}},n)},ht=(e,n)=>{B(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},Pt=e=>{if(!e||e.length===0){Ke({});return}const n=qe(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey);Ke({...n})},Ke=e=>{B(t.gridProps.onHighlightChange,{highlight:e},{},{})},bt=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(i=>i.field)||[],o=e.nativeEvent.target.value,r={logic:"or",filters:n.filter(i=>i!==void 0).map(i=>{var a;return typeof i=="string"?{field:i,value:o,operator:"contains"}:{value:o,operator:(a=i.operator)!=null?a:"contains",field:i.field,ignoreCase:i.ignoreCase}})};B(t.gridProps.onSearchChange,{search:r},{skip:0},e.syntheticEvent)},ue=()=>{var e;(e=q.current)==null||e.save()},Rt=async e=>{var n,o;(n=t.gridProps)!=null&&n.onPdfExport&&await((o=t.gridProps)==null?void 0:o.onPdfExport(e))},ge=(e,n)=>{const o=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};let r={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(r={take:void 0}),e.length===0&&t.gridProps.navigatable&&(be.current=!0),B(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},fe=e=>{if(t.gridProps.onColumnsStateChange){const n={target:S.current,columnsState:e};f(t.gridProps.onColumnsStateChange,n)}},ne=(e,n,o)=>{const{columnsRef:r,columnsState:i}=t,a=r[e],l=W.getFlatColumnsState(i),m=a.depth,s=P=>{do P++;while(P<r.length&&r[P].depth>m);return P},g=r.splice(e,s(e)-e);r.splice(e<n?s(n-g.length):n,0,...g),r.filter(P=>P.declarationIndex>=0).forEach((P,K)=>{P.orderIndex=K;const N=l.find(Z=>Z.id===P.id);N&&(N.orderIndex=K)});const u=r[e].locked&&r[n].locked;c.updateLeft(t.columnsMapRef,r,u||ce.current),c.updateRight(t.columnsMapRef,r,u||ce.current),Pe.current&&(ce.current=!1,Pe.current=!1);const E=ee();if(V(),t.gridProps.onColumnReorder){const P={target:S.current,columns:E,columnId:a.id,nativeEvent:o};f(t.gridProps.onColumnReorder,P)}fe(i)},X=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!Y.current)return;const i=t.dataRef[n];t.gridProps.onRowReorder&&f(t.gridProps.onRowReorder,{draggedDataItems:[Y.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:S.current}),Y.current=null},vt=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),ge(r,o)},Me=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const i=(t.gridProps.group||[]).slice();i.splice(n,0,{field:r}),ge(i,o)},Ct=(e,n)=>{const o=G.current.getCurrentGroupsLength;Me(e,o,n)},me=()=>{var o,r,i,a,l,m;if(t.gridProps.dataLayoutMode==="stacked"){const s=((o=H.current)==null?void 0:o.offsetWidth)||0;if((r=y.current)!=null&&r.colGroupMain&&s){const g=y.current.colGroupMain.children,u=g.length-1;if(u>=0){let E=0;for(let K=0;K<u;K++){const N=parseFloat((g[K].width||0).toString())||g[K].clientWidth;E+=N}const P=Math.max(0,s-E);g[u].width=P+"px",(a=(i=y.current.colGroupHeader)==null?void 0:i.children)!=null&&a[u]&&(y.current.colGroupHeader.children[u].width=P+"px"),(m=(l=y.current.colGroupFooter)==null?void 0:l.children)!=null&&m[u]&&(y.current.colGroupFooter.children[u].width=P+"px")}}F.current&&F.current.setWidth(s),z.current&&z.current.setWidth(s),L.current&&(L.current.style.width=s?s+"px":"");return}let e=0;if(!y.current.colGroupMain)return;const n=y.current.colGroupMain.children;for(let s=0;s<n.length;s++){const g=n[s].width;if(!g){e=0;break}e+=parseFloat(g.toString())}e=Math.round(e),F.current&&F.current.setWidth(e),z.current&&z.current.setWidth(e),L.current&&(L.current.style.width=e?e+"px":"")},Te=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=H.current)==null?void 0:e.offsetWidth)||0)},re=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=O.current)==null?void 0:e.offsetHeight)||0)},It=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=W.calcRowHeight(J.current);n&&(e.current=n,V())}},oe=d.useCallback((e,n,o,r,i)=>{var s;if(!Et()&&!o||!e)return;const a={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},l=x(),m=c.populateClipboardData({event:a,data:l,selectedState:(s=t.gridProps.select)!=null?s:{},previousCopiedItems:Le.current});e!==c.ClipboardActionType.paste&&(Le.current=m.copiedItems),t.gridProps.onClipboard&&v&&f(t.gridProps.onClipboard,{...a,...m})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Et=()=>{var i,a,l;if(!R.canUseDOM)return!1;const e=R.getActiveElement(T()),n=e?e.matches(".k-table-td")?e:(i=T())==null?void 0:i.body:(a=T())==null?void 0:a.body,o=n.closest(".k-grid-container"),r=n&&((l=H.current)==null?void 0:l.contains(n));return!!(n&&r&&o)},He=(e,n,o,r,i,a,l)=>{me(),ce.current=!0,Pe.current=!0,t.gridProps.onColumnResize&&v&&f(t.gridProps.onColumnResize,{columns:ee(),nativeEvent:r,targetColumnId:l,index:e,newWidth:n,oldWidth:o,end:i,target:S.current}),i&&fe(a)},wt=()=>{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:S.current}),yt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),f=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(yt(n))},xt=()=>{var e,n,o;if(J.current&&((e=J.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ve.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?Re.current=document.activeElement:Re.current=void 0;const r=Array.from((o=J.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>we.current.length?de.current=r.filter(i=>!we.current.includes(i))[0]:r.length===1&&(de.current=r[0],ve.current=!0),we.current=r}},x=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),T=()=>{var e;if(R.canUseDOM)return((e=ie())==null?void 0:e.ownerDocument)||document},ie=()=>H.current,he=d.useCallback(e=>{var r,i;if(!I.current||!((r=I.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;$.current&&$.current.disconnect();const{rowIndex:n}=e,o=ie();if(k){const a=((i=I.current.rowHeightService)==null?void 0:i.offset(n))||0;I.current.container.scroll(0,a)}else if(o){const a=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);a&&O.current&&(O.current.scrollTop=a.offsetTop)}},[t.gridProps.scrollable]),Ge=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),St=()=>Ge(At)===Ge(t.columnsRef),Dt=()=>{le.current=window.innerWidth,St()||V()},kt=()=>{var a;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=I.current,i=t.gridProps.rowHeight||((a=o.minRowHeightRef)==null?void 0:a.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=st,r.pageSize=n,r.scrollableVirtual=k,r.container=O.current,r.tableBody=J.current,r.scrollHeightContainer=Oe.current,r.table=L.current,(!r.rowHeightService||r.total!==e)&&i&&(r.total=e,r.rowHeightService=new R.RowHeightService(e,i)))},Ae=d.useCallback(e=>{const n={rowIndex:Ee.current};e.forEach(o=>{o.boundingClientRect.height!==o.intersectionRect.height&&he(n)})},[he]),V=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},Kt=e=>e.left!==void 0?ye!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},S=d.useRef(null),I=d.useRef(void 0),y=d.useRef(void 0),G=d.useRef(void 0),A=d.useRef(void 0),_=d.useRef(void 0),ae=d.useRef(void 0),$=d.useRef(null),J=d.useRef(null),Mt=d.useRef(null),O=d.useRef(null),L=d.useRef(null),Tt=d.useRef(null),H=d.useRef(null),Oe=d.useRef(null),z=d.useRef(null),F=d.useRef(null),Pe=d.useRef(!1),be=d.useRef(!1),de=d.useRef(void 0),Re=d.useRef(void 0),ve=d.useRef(!1),ce=d.useRef(!0),Ce=d.useRef(0),Ie=d.useRef(void 0),Ee=d.useRef(void 0),we=d.useRef([]),Le=d.useRef([]),le=d.useRef(0),Y=d.useRef(null),Ht=d.useRef(null),Gt=d.useRef(null),ye=R.useDir(H),k=t.isVirtualScroll,At=d.useMemo(()=>d.Children.toArray(t.gridProps.children),[t.gridProps.children]),ze=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,b=c.getSelectionOptions(t.gridProps.selectable),Fe=c.getEditableOptions(t.gridProps.editable),Ot=le.current&&Q&&le.current<=Q.medium&&t.gridProps.adaptive;return d.useMemo(()=>{c.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:A,navigationStateRef:_,idPrefix:t.id}),I.current=new jt.VirtualScroll},[]),d.useMemo(()=>{var e;(e=I.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,ze,t.gridProps.sort,t.gridProps.rowHeight]),d.useEffect(()=>(t.gridProps.clipboard&&(ae.current=new c.ClipboardService(oe),ae.current.addEventListeners(T())),()=>{ae.current&&ae.current.removeEventListeners(T())}),[t.gridProps.onClipboard,t.gridProps.clipboard,oe,T]),d.useEffect(()=>(Te(),me(),R.setScrollbarWidth(),c.tableKeyboardNavigation.onComponentDidMount({scope:H.current||void 0,contextStateRef:A,navigationStateRef:_}),()=>{clearTimeout(Ie.current)}),[]),d.useEffect(()=>{var e;Te(),me(),R.setScrollbarWidth(),k&&(re(),It(),(e=I.current)==null||e.update()),xt(),c.tableKeyboardNavigation.onComponentDidUpdate({scope:H.current||void 0,contextStateRef:A,navigationStateRef:_,focusFirst:be.current,newEditableRow:de.current,singleEditRow:ve.current,lastActiveElement:Re.current,navigatable:t.gridProps.navigatable}),be.current=!1,de.current=void 0}),d.useEffect(()=>{if(R.canUseDOM){const e={rootMargin:"0px",threshold:.9};$.current=window.IntersectionObserver&&new window.IntersectionObserver(Ae,e)||null}},[Ae]),d.useEffect(()=>{var n;let e;return R.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{Dt(),k&&re()}),e.observe((n=T())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),d.useEffect(()=>{if(!R.canUseDOM||!window.ResizeObserver||!k||!O.current)return;const e=()=>{var i,a;const o=((i=t.gridProps.containerHeightRef)==null?void 0:i.current)||0;re();const r=((a=t.gridProps.containerHeightRef)==null?void 0:a.current)||0;(o===0&&r>0||Math.abs(r-o)>10)&&V()},n=new window.ResizeObserver(e);return n.observe(O.current),()=>{n.disconnect()}},[k,re]),d.useImperativeHandle(S,()=>({get element(){return ie()},props:t.gridProps,get columns(){return ee()},scrollIntoView:e=>{var r;if(!((r=I.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;Ee.current=n;const o=ie();if($.current&&o){$.current.disconnect();const i=o.querySelector(`[absolute-row-index="${Ee.current}"]`);i?$.current.observe(i):he(e)}},fitColumns:e=>{y.current.dblClickHandler(null,e)},exportAsPdf:ue,getTotal:se,getLeafDataItems:x})),d.useImperativeHandle(t.gridRef,()=>S.current),d.useMemo(()=>{y.current=new qt.ColumnResize(He)},[t.gridProps.onColumnResize,t.columnsRef]),d.useMemo(()=>{G.current=new Ut.CommonDragLogic(ne,vt,Me)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),y.current.resizable=t.gridProps.resizable||!1,y.current.columns=t.columnsRef,y.current.columnsState=R.cloneArray(t.columnsState),G.current.reorderable=t.gridProps.reorderable||!1,G.current.groupable=ze,G.current.columns=t.columnsRef,G.current.dir=ye,kt(),d.createElement(_t.GridContext.Provider,{value:{isClient:v,rowReorder:X,activeDragRowDataItemRef:Y,reorderRowDragTargetRef:Ht,reorderRowDropTargetRef:Gt,dir:ye,getCellPositionStyle:Kt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,hiddenColumnsRef:t.hiddenColumnsRef,onColumnsStateChange:fe,groupable:t.gridProps.groupable,group:t.gridProps.group,reorderable:t.gridProps.reorderable,defaultGroup:t.gridProps.defaultGroup,groupChange:ge,selectionRelease:it,pagerPageChange:mt,onContextMenu:je,rowClick:Je,rowDblClick:Qe,cellClick:Ze,headerCellClick:De,itemChange:tt,onDialogEditCancel:Ye,onDialogEditSubmit:Xe,columnReorder:ne,onResize:He,getTotal:se,sortable:t.gridProps.sortable,pageable:t.gridProps.pageable,pageSize:t.gridProps.pageSize,sort:t.gridProps.sort,skip:t.gridProps.skip,take:t.gridProps.take,defaultSort:t.gridProps.defaultSort,sortChange:ke,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||$t.operators,getLeafDataItems:x,filterChange:ht,applyHighlightDescriptor:Pt,applySelectionDescriptor:ct,highlight:t.gridProps.highlight,select:t.gridProps.select,searchChange:bt,exportAsPdf:ue,onHeaderSelectionChange:ot,columnGroupChange:Ct,onKeyDown:Ve,onFocus:_e,scrollHandler:Be,selectionChange:nt,mobileMode:Ot,adaptiveColumnMenuRef:le.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:pe,dispatchGroupExpand:et,columnResizeRef:y,dragLogicRef:G,navigationStateRef:_,tableElementRef:L,tableBodyElementRef:J,headerElementRef:Mt,containerElementRef:O,headTableElementRef:Tt,elementRef:H,virtualScrollHeightContainerRef:Oe,footerRef:z,headerRef:F,vsRef:I}},d.createElement(c.TableKeyboardNavigationContext.Provider,{value:A.current},t.children),d.createElement(Bt.GridContextMenu,{show:h.show&&(p==null?void 0:p.length),dataItem:h.dataItem,field:h.field,items:p,offset:h.offset,onClose:U,onSelect:Ue}),t.gridProps.pdf&&d.createElement(Vt.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:Rt,ref:e=>q.current=e}))};exports.GridClientWrapper=Xt;
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Nt=require("react"),R=require("@progress/kendo-react-common"),Wt=require("@progress/kendo-data-query"),c=require("@progress/kendo-react-data-tools"),qt=require("./drag/ColumnResize.js"),Ut=require("./drag/CommonDragLogic.js"),W=require("./utils/index.js"),jt=require("./VirtualScroll.js"),Bt=require("./contextMenu/GridContextMenu.js"),Ne=require("./contextMenu/enums.js"),We=require("./sortCommon.js"),Vt=require("./BasePDFExport.js"),_t=require("./utils/GridContext.js"),$t=require("./filterCommon.js");function Jt(t){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const h in t)if(h!=="default"){const D=Object.getOwnPropertyDescriptor(t,h);Object.defineProperty(v,h,D.get?D:{enumerable:!0,get:()=>t[h]})}}return v.default=t,Object.freeze(v)}const d=Jt(Nt),Qt=(t,v,h,D)=>{const Q=Object.keys(v.cells).map(M=>h.findIndex(U=>U.field===M)),q=Object.keys(v.cells).length>0?Q:!0;return t.reduce((M,U)=>(M[U[D!=null?D:"id"]]=q,M),{})},qe=(t,v,h,D)=>v.reduce((q,M)=>({...q,...Qt(Wt.filterBy(t,M),M,h,D)}),{}),Xt=t=>{const v=t.gridProps.isClient,[h,D]=d.useState({}),Q=R.useAdaptiveModeContext(),q=d.useRef(null),M=e=>{e.event.preventDefault(),D({...h,show:!0,offset:{left:e.event.pageX,top:e.event.pageY},dataItem:e.dataItem,field:e.field})},U=()=>{D({})},w=d.useMemo(()=>t.columnsRef.find(e=>e.field===h.field),[t.columnsRef,h]),xe=d.useMemo(()=>{const e=t.gridProps.sortable&&(w==null?void 0:w.sortable);return W.getDefaultHeadContextMenuItems({pdf:!!t.gridProps.pdf,sortable:!!e,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard})},[w,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),Se=d.useMemo(()=>(t.gridProps.sortable&&(w==null||w.sortable),W.getDefaultBodyContextMenuItems({pdf:!!t.gridProps.pdf,selectable:c.getSelectionOptions(t.gridProps.selectable).enabled,clipboard:!!t.gridProps.clipboard,rowReorderable:W.isRowReorderEnabled(t.gridProps.rowReorderable)})),[w,t.gridProps.sortable,t.gridProps.selectable,t.gridProps.clipboard]),p=d.useMemo(()=>{const e=(w==null?void 0:w.contextMenu)||t.gridProps.contextMenu,n=typeof e=="function"?e(h):e;if(n&&h.offset){const o=h.dataItem?Ne.GridContextMenuAnchorPart.body:Ne.GridContextMenuAnchorPart.head,r=n[o],i=h.dataItem?Se:xe;return r===!1?void 0:r===!0||r===void 0?i:r}},[t.gridProps.contextMenu,h,Se,xe,w]),Ue=e=>{var l,m,s,g,u,E,P,K,N;const n=e.event.item,o={target:S.current,syntheticEvent:e.event.syntheticEvent,nativeEvent:e.event.nativeEvent,menuItem:n,...e};t.gridProps.onContextMenuItemClick&&f(t.gridProps.onContextMenuItemClick,o);const r=x(),i={selectedField:"",componentId:t.id,dataItems:r,dataItem:e.dataItem,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,...c.getSelectionOptions(t.gridProps.selectable),...o},a=r.findIndex(Z=>Z===e.dataItem);switch((l=n.data)==null?void 0:l.action){case"SortCommand":if(w){const Z=(m=n.name)==null?void 0:m.toLowerCase().includes("asc"),Lt=((s=n.name)==null?void 0:s.toLowerCase().includes("desc"))?"desc":void 0,zt=Z?"asc":Lt,Ft=n.name?zt:void 0;De(e.event.syntheticEvent,w,Ft)}break;case"SelectRowCommand":dt(i);break;case"SelectAllRowsCommand":at(i);break;case"ExportPDFCommand":ue();break;case"ClearSelectionCommand":lt(i);break;case"ReorderRowCommand":Y.current=e.dataItem,(g=n.name)!=null&&g.toLowerCase().includes("rowup")&&a>0&&X(e.event.syntheticEvent,a-1,"before"),(u=n.name)!=null&&u.toLowerCase().includes("rowdown")&&a<r.length-1&&X(e.event.syntheticEvent,a+1,"after"),(E=n.name)!=null&&E.toLowerCase().includes("rowtop")&&X(e.event.syntheticEvent,0,"before"),(P=n.name)!=null&&P.toLowerCase().includes("rowbottom")&&X(e.event.syntheticEvent,r.length-1,"after");break;case"CopySelectionCommand":oe(c.ClipboardActionType.copy,e.event.nativeEvent,{copyHeaders:!((K=n.name)!=null&&K.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break;case"PasteCommand":oe(c.ClipboardActionType.paste,e.event.nativeEvent,{copyHeaders:!((N=n.name)!=null&&N.toLowerCase().includes("noheaders"))},e.dataItem,e.field);break}U()},ee=()=>{const e=t.columnsRef.filter(n=>n.declarationIndex>=0&&n.parentIndex===-1);return W.sanitizeColumns(e)},je=(e,n,o)=>{if(t.gridProps.onContextMenu&&v){const r={target:S.current,syntheticEvent:e,nativeEvent:e.nativeEvent,dataItem:n,field:o};f(t.gridProps.onContextMenu,r)}t.gridProps.contextMenu&&M({event:e,dataItem:n,field:o})},Be=e=>{if(e.target!==e.currentTarget)return;clearTimeout(Ie.current),I.current&&(I.current.table=L.current);const n=e.currentTarget.scrollLeft,o=e.currentTarget.scrollTop;t.gridProps.columnVirtualization&&(!k||o===Ce.current)&&(Ie.current=window.setTimeout(()=>{V()},0)),t.gridProps.scrollLeftRef&&(t.gridProps.scrollLeftRef.current=n),F.current&&F.current.setScrollLeft(n),z.current&&z.current.setScrollLeft(n),I.current&&o!==Ce.current&&I.current.scrollHandler(e),t.gridProps.onScroll&&v&&f(t.gridProps.onScroll,{...C(e)}),Ce.current=o},Ve=e=>{c.tableKeyboardNavigation.onKeyDown(e,{navigatable:t.gridProps.navigatable||!1,contextStateRef:A,navigationStateRef:_,onNavigationAction:$e,columns:ee()}),c.tableKeyboardNavigation.onGetSnapshotBeforeUpdate({document:T(),contextStateRef:A,navigationStateRef:_});const n={dataItems:x(),mode:b.mode,cell:b.cell,componentId:t.id,selectedField:"",...C(e)};t.gridProps.onKeyDown&&v&&f(t.gridProps.onKeyDown,n)},_e=e=>{c.tableKeyboardNavigation.onFocus(e,{navigatable:!!t.gridProps.navigatable,contextStateRef:A})},$e=e=>{const{columnsRef:n}=t;if(e.action==="moveToNextPage"&&gt(e.event),e.action==="moveToPrevPage"&&ft(e.event),e.focusElement&&(e.action==="reorderToRight"||e.action==="reorderToLeft")){const o=parseInt(e.focusElement.ariaColIndex,10)-1;if(!n[o].reorderable)return;if(e.action==="reorderToRight"&&o<t.columnsRef.length-1){if(n[o+1].disableReorder)return;ne(o,o+1,e.event)}if(e.action==="reorderToLeft"&&o>0){if(n[o-1].disableReorder)return;ne(o,o-1,e.event)}}if(e.action==="select"&&rt(e.event),t.gridProps.onNavigationAction&&v){const o={focusElement:e.focusElement,...C(e.event)};f(t.gridProps.onNavigationAction,o)}},Je=(e,n)=>{t.gridProps.onRowClick&&c.closestTagName(e.target,"TD")&&f(t.gridProps.onRowClick,{dataItem:n,...C(e)})},Qe=(e,n)=>{t.gridProps.onRowDoubleClick&&c.closestTagName(e.target,"TD")&&f(t.gridProps.onRowDoubleClick,{dataItem:n,...C(e)})},Xe=e=>{t.gridProps.onItemChange&&f(t.gridProps.onItemChange,{...C(e.syntheticEvent),dataItem:e.dataItem,field:void 0,value:void 0})},Ye=e=>{t.gridProps.onItemChange&&t.gridProps.onEditChange&&f(t.gridProps.onEditChange,{edit:{},...C(e.syntheticEvent)})},Ze=(e,n,o)=>{if(Fe.enabled&&Fe.mode==="incell"&&t.gridProps.dataItemKey){const r=c.editReducer(t.gridProps.edit,{type:c.EDIT_ACTION.ENTER_FIELD_EDIT,payload:{id:n[t.gridProps.dataItemKey],field:o}});t.gridProps.onEditChange&&f(t.gridProps.onEditChange,{edit:r,...C(e)})}},pe=(e,n)=>{var r;if(c.getDetailExpandableOptions(t.detailExpandable).enabled){const i=c.detailExpandReducer((r=t.gridProps.detailExpand)!=null?r:{},e);t.gridProps.onDetailExpandChange&&f(t.gridProps.onDetailExpandChange,{...C(n),detailExpand:i})}},et=(e,n)=>{var r;const o=c.getGroupExpandableOptions(typeof t.gridProps.groupable=="object"?t.gridProps.groupable.expandable!==!1:t.gridProps.groupable);if(o.enabled){const i=c.groupExpandReducer((r=t.gridProps.groupExpand)!=null?r:[],e,o);t.gridProps.onGroupExpandChange&&f(t.gridProps.onGroupExpandChange,{...C(n),groupExpand:i})}},De=(e,n,o)=>{const{allowUnsort:r,mode:i}=We.normalizeSortable(t.gridProps.sortable||!1,n.sortable||!1),a=(t.gridProps.sort||[]).filter(s=>s.field===n.field)[0],l=o||We.firstLevelSortSeqMap[r][a&&a.dir||""],m=i==="single"?[]:(t.gridProps.sort||[]).filter(s=>s.field!==n.field);l!==""&&n.field&&m.push({field:n.field,dir:l}),ke(m,e)},tt=e=>{t.gridProps.onItemChange&&f(t.gridProps.onItemChange,{...C(e.syntheticEvent),dataItem:e.dataItem,dataIndex:e.dataIndex,field:e.field,value:e.value})},nt=e=>{var n;if(t.gridProps.onSelectionChange&&b.enabled){const{event:o,dataItem:r,dataIndex:i,columnIndex:a}=e,l={...C(o),dataItem:r,startColIndex:a,endColIndex:a,startRowIndex:i,endRowIndex:i,dataItems:x(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:b.mode,cell:b.cell,isDrag:!1,componentId:t.id,selectedField:""};f(t.gridProps.onSelectionChange,{...l,select:t.gridProps.dataItemKey?c.getSelectedState({event:l,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey}):{}})}},rt=e=>{var s,g;if(!b.enabled||!t.gridProps.dataItemKey)return;const n={dataItems:x(),mode:b.mode,cell:b.cell,componentId:t.id,selectedField:"",...C(e)},o=c.getSelectedStateFromKeyDown({event:n,selectedState:(s=t.gridProps.select)!=null?s:{},dataItemKey:t.gridProps.dataItemKey});if(o===t.gridProps.select)return;const r=e.target,i=c.closestTagName(r,"TD"),a=c.closestTagName(r,"TR"),l=c.getColumnIndex(i),m=c.getRowIndex(a);if(l!==void 0&&m!==void 0){const u=(g=W.getDataAsArray(t.gridProps.data))==null?void 0:g[m];t.gridProps.onSelectionChange&&f(t.gridProps.onSelectionChange,{...n,select:o,dataItem:u,startRowIndex:m,startColIndex:l,startDataItem:u,endDataItem:u,endRowIndex:m,endColIndex:l,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isDrag:!1})}},ot=e=>{if(t.gridProps.onHeaderSelectionChange&&b.enabled){const n=x();f(t.gridProps.onHeaderSelectionChange,{select:e.syntheticEvent.target.checked?n.reduce((o,r)=>(t.gridProps.dataItemKey&&R.getter(t.gridProps.dataItemKey)(r)!==void 0&&(o[R.getter(t.gridProps.dataItemKey)(r)]=!0),o),{}):{},field:e.field,nativeEvent:e.syntheticEvent&&e.syntheticEvent.nativeEvent,syntheticEvent:e.syntheticEvent,target:S.current,dataItems:n})}},j=(e,n)=>{t.gridProps.onSelectionChange&&b.enabled&&f(t.gridProps.onSelectionChange,{...e,select:n})},it=e=>{var n;if(t.gridProps.onSelectionChange&&b.enabled){const o=x()[e.startRowIndex],r=x()[e.endRowIndex],i={syntheticEvent:void 0,target:S.current,selectedField:"",componentId:t.id,dataItems:x(),dataItem:null,startDataItem:o,endDataItem:r,...e},a=c.getSelectedState({event:i,selectedState:(n=t.gridProps.select)!=null?n:{},dataItemKey:t.gridProps.dataItemKey});j(i,a)}},at=e=>{if(t.gridProps.onSelectionChange&&b.enabled){const n=e.dataItems[0],o=e.dataItems[e.dataItems.length-1],r={},i={...e,startDataItem:n,endDataItem:o,startRowIndex:0,endRowIndex:e.dataItems.length-1,startColIndex:0,endColIndex:t.columnsRef.length-1};e.dataItems.forEach(a=>{const m=R.getter(t.gridProps.dataItemKey)(a);r[m]=e.cell?[...Array(t.columnsRef.length).keys()]:!0}),j(i,r)}},dt=e=>{if(t.gridProps.onSelectionChange&&b.enabled){const o=R.getter(t.gridProps.dataItemKey)(e.dataItem),r=0,i=t.columnsRef.length-1,a=e.dataItems.findIndex(u=>u[t.gridProps.dataItemKey]===e.dataItem[t.gridProps.dataItemKey]),s={...e,startDataItem:a,endDataItem:a,startRowIndex:a,endRowIndex:a,startColIndex:r,endColIndex:i},g=e.mode==="multiple"?t.gridProps.select||{}:{};g[o]===!0||Array.isArray(g[o])&&g[o].length===t.columnsRef.length?delete g[o]:g[o]=e.cell?[...Array(t.columnsRef.length).keys()]:!0,j(s,g)}},ct=e=>{if(!b.enabled)return;const n=x(),o={syntheticEvent:void 0,nativeEvent:void 0,target:S.current,selectedField:"",componentId:t.id,dataItems:n,dataItem:null,startDataItem:null,endDataItem:null,ctrlKey:!1,altKey:!1,metaKey:!1,shiftKey:!1,isDrag:!1,mode:b.mode,cell:b.cell};if(!e||e.length===0){const u={...o,startRowIndex:-1,endRowIndex:-1,startColIndex:-1,endColIndex:-1};j(u,{});return}const r=qe(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey),i={};Object.keys(r).forEach(u=>{r[u]&&(i[u]=b.cell?[...Array(t.columnsRef.length).keys()]:!0)});let a=-1,l=-1,m=n[0]||null,s=n[n.length-1]||null;if(t.gridProps.dataItemKey){const u=R.getter(t.gridProps.dataItemKey);for(let E=0;E<n.length;E++){const P=u(n[E]);P!==void 0&&r[P]&&(a===-1&&(a=E,m=n[E]),l=E,s=n[E])}}const g={...o,startRowIndex:a,endRowIndex:l,startColIndex:0,endColIndex:t.columnsRef.length-1,startDataItem:m,endDataItem:s};j(g,i)},lt=e=>{t.gridProps.onSelectionChange&&b.enabled&&j(e,{})},B=(e,n,o,r,i)=>{ut();const a=t.gridProps.onDataStateChange;if(e){const l={...C(r),...n,targetEvent:i};f(e,l)}else a&&f(a,{...C(r),targetEvent:i||{},dataState:{...wt(),...o}})},te=(e,n,o)=>{var r;k&&t.gridProps.pageable&&((r=I.current)==null||r.reset()),B(t.gridProps.onPageChange,{page:e},{skip:e.skip,take:e.take},n,o)},st=(e,n,o)=>{var r;t.gridProps.pageable||(r=t.gridProps.group)!=null&&r.length?t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=e.skip,V()):te(e,n,o)},se=()=>{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},ut=()=>{k&&t.gridProps.virtualSkipRef&&(t.gridProps.virtualSkipRef.current=0)},gt=e=>{var i,a;const n=(a=(i=t.gridProps.take)!=null?i:t.gridProps.pageSize)!=null?a:0,o=(t.gridProps.skip||0)+n,r=se();o<r&&te({skip:o,take:n},e)},ft=e=>{var r,i;const n=(i=(r=t.gridProps.take)!=null?r:t.gridProps.pageSize)!=null?i:0,o=(t.gridProps.skip||0)-n;o>=0&&te({skip:o,take:n},e)},mt=e=>{te({skip:e.skip,take:e.take},e.syntheticEvent,e.targetEvent)},ke=(e,n)=>{B(t.gridProps.onSortChange,{sort:e},{sort:e,...k&&!t.gridProps.pageable?{skip:0}:{}},n)},ht=(e,n)=>{B(t.gridProps.onFilterChange,{filter:e},{filter:e,skip:0},n)},Pt=e=>{if(!e||e.length===0){Ke({});return}const n=qe(t.gridProps.data,e,t.columnsRef,t.gridProps.dataItemKey);Ke({...n})},Ke=e=>{B(t.gridProps.onHighlightChange,{highlight:e},{},{})},bt=e=>{const n=t.gridProps.searchFields||t.columnsRef.map(i=>i.field)||[],o=e.nativeEvent.target.value,r={logic:"or",filters:n.filter(i=>i!==void 0).map(i=>{var a;return typeof i=="string"?{field:i,value:o,operator:"contains"}:{value:o,operator:(a=i.operator)!=null?a:"contains",field:i.field,ignoreCase:i.ignoreCase}})};B(t.gridProps.onSearchChange,{search:r},{skip:0},e.syntheticEvent)},ue=()=>{var e;(e=q.current)==null||e.save()},Rt=async e=>{var n,o;(n=t.gridProps)!=null&&n.onPdfExport&&await((o=t.gridProps)==null?void 0:o.onPdfExport(e))},ge=(e,n)=>{const o=n.nativeEvent?n:{nativeEvent:n.nativeEvent||n.originalEvent};let r={};t.isVirtualScroll&&e.length&&!t.gridProps.pageable&&(r={take:void 0}),e.length===0&&t.gridProps.navigatable&&(be.current=!0),B(t.gridProps.onGroupChange,{group:e},{group:e,skip:0,...r},o)},fe=e=>{if(t.gridProps.onColumnsStateChange){const n={target:S.current,columnsState:e};f(t.gridProps.onColumnsStateChange,n)}},ne=(e,n,o)=>{const{columnsRef:r,columnsState:i}=t,a=r[e],l=W.getFlatColumnsState(i),m=a.depth,s=P=>{do P++;while(P<r.length&&r[P].depth>m);return P},g=r.splice(e,s(e)-e);r.splice(e<n?s(n-g.length):n,0,...g),r.filter(P=>P.declarationIndex>=0).forEach((P,K)=>{P.orderIndex=K;const N=l.find(Z=>Z.id===P.id);N&&(N.orderIndex=K)});const u=r[e].locked&&r[n].locked;c.updateLeft(t.columnsMapRef,r,u||ce.current),c.updateRight(t.columnsMapRef,r,u||ce.current),Pe.current&&(ce.current=!1,Pe.current=!1);const E=ee();if(V(),t.gridProps.onColumnReorder){const P={target:S.current,columns:E,columnId:a.id,nativeEvent:o};f(t.gridProps.onColumnReorder,P)}fe(i)},X=(e,n,o)=>{const r=typeof t.gridProps.rowReorderable=="object"?t.gridProps.rowReorderable.enabled:t.gridProps.rowReorderable;if(o==="forbidden"||!r||!Y.current)return;const i=t.dataRef[n];t.gridProps.onRowReorder&&f(t.gridProps.onRowReorder,{draggedDataItems:[Y.current],droppedDataItem:i==null?void 0:i.dataItem,dropPosition:o,nativeEvent:e.originalEvent,dragEvent:e,target:S.current}),Y.current=null},vt=(e,n,o)=>{if(t.gridProps.group===void 0)return;const r=t.gridProps.group.slice();r.splice(n,0,...r.splice(e,1)),ge(r,o)},Me=(e,n,o)=>{const r=t.columnsRef[e].field;if(!r)return;const i=(t.gridProps.group||[]).slice();i.splice(n,0,{field:r}),ge(i,o)},Ct=(e,n)=>{const o=G.current.getCurrentGroupsLength;Me(e,o,n)},me=()=>{var o,r,i,a,l,m;if(t.gridProps.dataLayoutMode==="stacked"){const s=((o=H.current)==null?void 0:o.offsetWidth)||0;if((r=y.current)!=null&&r.colGroupMain&&s){const g=y.current.colGroupMain.children,u=g.length-1;if(u>=0){let E=0;for(let K=0;K<u;K++){const N=parseFloat((g[K].width||0).toString())||g[K].clientWidth;E+=N}const P=Math.max(0,s-E);g[u].width=P+"px",(a=(i=y.current.colGroupHeader)==null?void 0:i.children)!=null&&a[u]&&(y.current.colGroupHeader.children[u].width=P+"px"),(m=(l=y.current.colGroupFooter)==null?void 0:l.children)!=null&&m[u]&&(y.current.colGroupFooter.children[u].width=P+"px")}}F.current&&F.current.setWidth(s),z.current&&z.current.setWidth(s),L.current&&(L.current.style.width=s?s+"px":"");return}let e=0;if(!y.current.colGroupMain)return;const n=y.current.colGroupMain.children;for(let s=0;s<n.length;s++){const g=n[s].width;if(!g){e=0;break}e+=parseFloat(g.toString())}e=Math.round(e),F.current&&F.current.setWidth(e),z.current&&z.current.setWidth(e),L.current&&(L.current.style.width=e?e+"px":"")},Te=()=>{var e;t.gridProps.widthRef&&(t.gridProps.widthRef.current=((e=H.current)==null?void 0:e.offsetWidth)||0)},re=()=>{var e;t.gridProps.containerHeightRef&&(t.gridProps.containerHeightRef.current=((e=O.current)==null?void 0:e.offsetHeight)||0)},It=()=>{const e=t.gridProps.minRowHeightRef;if(e&&!e.current&&!t.gridProps.rowHeight){const n=W.calcRowHeight(J.current);n&&(e.current=n,V())}},oe=d.useCallback((e,n,o,r,i)=>{var s;if(!Et()&&!o||!e)return;const a={type:e,nativeEvent:n,columns:t.columnsRef,dataItemKey:t.gridProps.dataItemKey||"",dataItem:r,field:i,...typeof t.gridProps.clipboard!="boolean"?t.gridProps.clipboard:{},...o},l=x(),m=c.populateClipboardData({event:a,data:l,selectedState:(s=t.gridProps.select)!=null?s:{},previousCopiedItems:Le.current});e!==c.ClipboardActionType.paste&&(Le.current=m.copiedItems),t.gridProps.onClipboard&&v&&f(t.gridProps.onClipboard,{...a,...m})},[t.gridProps.select,t.gridProps.dataItemKey,t.gridProps.data,t.gridProps.clipboard,t.gridProps.onClipboard]),Et=()=>{var i,a,l;if(!R.canUseDOM)return!1;const e=R.getActiveElement(T()),n=e?e.matches(".k-table-td")?e:(i=T())==null?void 0:i.body:(a=T())==null?void 0:a.body,o=n.closest(".k-grid-container"),r=n&&((l=H.current)==null?void 0:l.contains(n));return!!(n&&r&&o)},He=(e,n,o,r,i,a,l)=>{me(),ce.current=!0,Pe.current=!0,t.gridProps.onColumnResize&&v&&f(t.gridProps.onColumnResize,{columns:ee(),nativeEvent:r,targetColumnId:l,index:e,newWidth:n,oldWidth:o,end:i,target:S.current}),i&&fe(a)},wt=()=>{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:S.current}),yt=e=>({...e,nativeEvent:void 0,syntheticEvent:void 0,target:void 0,targetEvent:void 0,focusElement:void 0}),f=(e,n)=>{if(t.gridProps.isClient){e(n);return}e(yt(n))},xt=()=>{var e,n,o;if(J.current&&((e=J.current)==null?void 0:e.getElementsByClassName("k-grid-edit-row").length)>0){ve.current=!1,(n=document.activeElement)!=null&&n.closest(".k-grid-edit-row")?Re.current=document.activeElement:Re.current=void 0;const r=Array.from((o=J.current)==null?void 0:o.getElementsByClassName("k-grid-edit-row"));r.length>we.current.length?de.current=r.filter(i=>!we.current.includes(i))[0]:r.length===1&&(de.current=r[0],ve.current=!0),we.current=r}},x=()=>t.dataRef.filter(e=>e.rowType==="data").map(e=>e.dataItem),T=()=>{var e;if(R.canUseDOM)return((e=ie())==null?void 0:e.ownerDocument)||document},ie=()=>H.current,he=d.useCallback(e=>{var r,i;if(!I.current||!((r=I.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;$.current&&$.current.disconnect();const{rowIndex:n}=e,o=ie();if(k){const a=((i=I.current.rowHeightService)==null?void 0:i.offset(n))||0;I.current.container.scroll(0,a)}else if(o){const a=n<1?o.querySelector("tbody > tr:nth-child(1)"):o.querySelector(`tbody > tr:nth-child(${n+1})`);a&&O.current&&(O.current.scrollTop=a.offsetTop)}},[t.gridProps.scrollable]),Ge=e=>JSON.stringify(e.map(n=>({id:n.id,field:n.field,title:n.title,children:n.children}))),St=()=>Ge(At)===Ge(t.columnsRef),Dt=()=>{le.current=window.innerWidth,St()||V()},kt=()=>{var a;const{virtualTotal:e,virtualPageSize:n,gridProps:o}=t,r=I.current,i=t.gridProps.rowHeight||((a=o.minRowHeightRef)==null?void 0:a.current)||0;r&&(r.fixedScroll=o.fixedScroll||!1,r.PageChange=st,r.pageSize=n,r.scrollableVirtual=k,r.container=O.current,r.tableBody=J.current,r.scrollHeightContainer=Oe.current,r.table=L.current,(!r.rowHeightService||r.total!==e)&&i&&(r.total=e,r.rowHeightService=new R.RowHeightService(e,i)))},Ae=d.useCallback(e=>{const n={rowIndex:Ee.current};e.forEach(o=>{o.boundingClientRect.height!==o.intersectionRect.height&&he(n)})},[he]),V=()=>{t.gridProps.forceUpdate&&t.gridProps.forceUpdate()},Kt=e=>e.left!==void 0?ye!=="rtl"?{left:e.left,right:e.right}:{left:e.right,right:e.left}:{},S=d.useRef(null),I=d.useRef(void 0),y=d.useRef(void 0),G=d.useRef(void 0),A=d.useRef(void 0),_=d.useRef(void 0),ae=d.useRef(void 0),$=d.useRef(null),J=d.useRef(null),Mt=d.useRef(null),O=d.useRef(null),L=d.useRef(null),Tt=d.useRef(null),H=d.useRef(null),Oe=d.useRef(null),z=d.useRef(null),F=d.useRef(null),Pe=d.useRef(!1),be=d.useRef(!1),de=d.useRef(void 0),Re=d.useRef(void 0),ve=d.useRef(!1),ce=d.useRef(!0),Ce=d.useRef(0),Ie=d.useRef(void 0),Ee=d.useRef(void 0),we=d.useRef([]),Le=d.useRef([]),le=d.useRef(0),Y=d.useRef(null),Ht=d.useRef(null),Gt=d.useRef(null),ye=R.useDir(H),k=t.isVirtualScroll,At=d.useMemo(()=>d.Children.toArray(t.gridProps.children),[t.gridProps.children]),ze=t.gridProps.groupable===!0||typeof t.gridProps.groupable=="object"&&t.gridProps.groupable.enabled!==!1,b=c.getSelectionOptions(t.gridProps.selectable),Fe=c.getEditableOptions(t.gridProps.editable),Ot=le.current&&Q&&le.current<=Q.medium&&t.gridProps.adaptive;return d.useMemo(()=>{c.tableKeyboardNavigation.onConstructor({navigatable:!!t.gridProps.navigatable,contextStateRef:A,navigationStateRef:_,idPrefix:t.id}),I.current=new jt.VirtualScroll},[]),d.useMemo(()=>{var e;(e=I.current)==null||e.reset()},[t.gridProps.scrollable,t.gridProps.total,t.gridProps.filter,t.gridProps.group,ze,t.gridProps.sort,t.gridProps.rowHeight]),d.useEffect(()=>(t.gridProps.clipboard&&(ae.current=new c.ClipboardService(oe),ae.current.addEventListeners(T())),()=>{ae.current&&ae.current.removeEventListeners(T())}),[t.gridProps.onClipboard,t.gridProps.clipboard,oe,T]),d.useEffect(()=>(Te(),me(),R.setScrollbarWidth(),c.tableKeyboardNavigation.onComponentDidMount({scope:H.current||void 0,contextStateRef:A,navigationStateRef:_}),()=>{clearTimeout(Ie.current)}),[]),d.useEffect(()=>{var e;Te(),me(),R.setScrollbarWidth(),k&&(re(),It(),(e=I.current)==null||e.update()),xt(),c.tableKeyboardNavigation.onComponentDidUpdate({scope:H.current||void 0,contextStateRef:A,navigationStateRef:_,focusFirst:be.current,newEditableRow:de.current,singleEditRow:ve.current,lastActiveElement:Re.current,navigatable:t.gridProps.navigatable}),be.current=!1,de.current=void 0}),d.useEffect(()=>{if(R.canUseDOM){const e={rootMargin:"0px",threshold:.9};$.current=window.IntersectionObserver&&new window.IntersectionObserver(Ae,e)||null}},[Ae]),d.useEffect(()=>{var n;let e;return R.canUseDOM&&window.ResizeObserver&&(e=new window.ResizeObserver(()=>{Dt(),k&&re()}),e.observe((n=T())==null?void 0:n.body)),()=>{e==null||e.disconnect()}},[]),d.useEffect(()=>{if(!R.canUseDOM||!window.ResizeObserver||!k||!O.current)return;const e=()=>{var i,a;const o=((i=t.gridProps.containerHeightRef)==null?void 0:i.current)||0;re();const r=((a=t.gridProps.containerHeightRef)==null?void 0:a.current)||0;(o===0&&r>0||Math.abs(r-o)>10)&&V()},n=new window.ResizeObserver(e);return n.observe(O.current),()=>{n.disconnect()}},[k,re]),d.useImperativeHandle(S,()=>({get element(){return ie()},props:t.gridProps,get columns(){return ee()},scrollIntoView:e=>{var r;if(!((r=I.current)!=null&&r.container)||t.gridProps.scrollable==="none")return;const{rowIndex:n}=e;Ee.current=n;const o=ie();if($.current&&o){$.current.disconnect();const i=o.querySelector(`[absolute-row-index="${Ee.current}"]`);i?$.current.observe(i):he(e)}},fitColumns:e=>{y.current.dblClickHandler(null,e)},exportAsPdf:ue,getTotal:se,getLeafDataItems:x})),d.useImperativeHandle(t.gridRef,()=>S.current),d.useMemo(()=>{y.current=new qt.ColumnResize(He)},[t.gridProps.onColumnResize,t.columnsRef]),d.useMemo(()=>{G.current=new Ut.CommonDragLogic(ne,vt,Me)},[t.gridProps.onColumnReorder,t.gridProps.onGroupChange,t.gridProps.group,t.columnsRef,t.gridProps.groupable]),y.current.resizable=t.gridProps.resizable||!1,y.current.columns=t.columnsRef,y.current.columnsState=R.cloneArray(t.columnsState),G.current.reorderable=t.gridProps.reorderable||!1,G.current.groupable=ze,G.current.columns=t.columnsRef,G.current.dir=ye,kt(),d.createElement(_t.GridContext.Provider,{value:{isClient:v,rowReorder:X,activeDragRowDataItemRef:Y,reorderRowDragTargetRef:Ht,reorderRowDropTargetRef:Gt,dir:ye,getCellPositionStyle:Kt,dataItemKey:t.gridProps.dataItemKey,columnsState:t.columnsState,columnsRef:t.columnsRef,hiddenColumnsRef:t.hiddenColumnsRef,onColumnsStateChange:fe,groupable:t.gridProps.groupable,group:t.gridProps.group,reorderable:t.gridProps.reorderable,defaultGroup:t.gridProps.defaultGroup,groupChange:ge,selectionRelease:it,pagerPageChange:mt,onContextMenu:je,rowClick:Je,rowDblClick:Qe,cellClick:Ze,headerCellClick:De,itemChange:tt,onDialogEditCancel:Ye,onDialogEditSubmit:Xe,columnReorder:ne,onResize:He,getTotal:se,sortable:t.gridProps.sortable,pageable:t.gridProps.pageable,pageSize:t.gridProps.pageSize,sort:t.gridProps.sort,skip:t.gridProps.skip,take:t.gridProps.take,defaultSort:t.gridProps.defaultSort,sortChange:ke,filterable:t.gridProps.filterable,filter:t.gridProps.filter,defaultFilter:t.gridProps.defaultFilter,filterOperators:t.gridProps.filterOperators||$t.operators,getLeafDataItems:x,filterChange:ht,applyHighlightDescriptor:Pt,applySelectionDescriptor:ct,highlight:t.gridProps.highlight,select:t.gridProps.select,searchChange:bt,exportAsPdf:ue,onHeaderSelectionChange:ot,columnGroupChange:Ct,onKeyDown:Ve,onFocus:_e,scrollHandler:Be,selectionChange:nt,mobileMode:Ot,adaptiveColumnMenuRef:le.current,adpativeTitle:t.gridProps.adaptiveTitle,adaptive:t.gridProps.adaptive,dispatchDetailExpand:pe,dispatchGroupExpand:et,columnResizeRef:y,dragLogicRef:G,navigationStateRef:_,tableElementRef:L,tableBodyElementRef:J,headerElementRef:Mt,containerElementRef:O,headTableElementRef:Tt,elementRef:H,virtualScrollHeightContainerRef:Oe,footerRef:z,headerRef:F,vsRef:I}},d.createElement(c.TableKeyboardNavigationContext.Provider,{value:A.current},t.children),d.createElement(Bt.GridContextMenu,{show:h.show&&(p==null?void 0:p.length),dataItem:h.dataItem,field:h.field,items:p,offset:h.offset,onClose:U,onSelect:Ue}),t.gridProps.pdf&&d.createElement(Vt.BasePDFExport,{gridProps:t.gridProps,innerGrid:t.innerGrid,pdf:typeof t.gridProps.pdf=="object"?t.gridProps.pdf:{},onPdfExport:Rt,ref:e=>q.current=e}))};exports.GridClientWrapper=Xt;
@@ -7,12 +7,12 @@
7
7
  */
8
8
  "use client";
9
9
  import * as d from "react";
10
- import { useAdaptiveModeContext as Vt, canUseDOM as Q, getActiveElement as jt, useDir as qt, setScrollbarWidth as Ue, cloneArray as _t, getter as Z, RowHeightService as $t } from "@progress/kendo-react-common";
10
+ import { useAdaptiveModeContext as Vt, canUseDOM as Q, getActiveElement as jt, useDir as qt, setScrollbarWidth as Ue, cloneArray as _t, RowHeightService as $t, getter as Z } from "@progress/kendo-react-common";
11
11
  import { filterBy as Jt } from "@progress/kendo-data-query";
12
- import { getSelectionOptions as se, populateClipboardData as Xt, ClipboardActionType as ke, getEditableOptions as Yt, tableKeyboardNavigation as _, ClipboardService as Qt, TableKeyboardNavigationContext as Zt, closestTagName as ue, editReducer as pt, EDIT_ACTION as en, getDetailExpandableOptions as tn, detailExpandReducer as nn, getGroupExpandableOptions as rn, groupExpandReducer as on, getSelectedState as Ve, getSelectedStateFromKeyDown as an, getColumnIndex as dn, getRowIndex as cn, updateLeft as ln, updateRight as sn } from "@progress/kendo-react-data-tools";
12
+ import { getSelectionOptions as se, populateClipboardData as Xt, ClipboardActionType as ke, getEditableOptions as Yt, tableKeyboardNavigation as _, ClipboardService as Qt, TableKeyboardNavigationContext as Zt, updateLeft as pt, updateRight as en, getGroupExpandableOptions as tn, groupExpandReducer as nn, getDetailExpandableOptions as rn, detailExpandReducer as on, getSelectedState as Ve, editReducer as an, EDIT_ACTION as dn, closestTagName as ue, getSelectedStateFromKeyDown as cn, getColumnIndex as ln, getRowIndex as sn } from "@progress/kendo-react-data-tools";
13
13
  import { ColumnResize as un } from "./drag/ColumnResize.mjs";
14
14
  import { CommonDragLogic as gn } from "./drag/CommonDragLogic.mjs";
15
- import { getDefaultHeadContextMenuItems as fn, getDefaultBodyContextMenuItems as mn, isRowReorderEnabled as hn, sanitizeColumns as Pn, getDataAsArray as Rn, getFlatColumnsState as bn, calcRowHeight as vn } from "./utils/index.mjs";
15
+ import { getDefaultHeadContextMenuItems as fn, getDefaultBodyContextMenuItems as mn, isRowReorderEnabled as hn, calcRowHeight as Pn, sanitizeColumns as Rn, getFlatColumnsState as bn, getDataAsArray as vn } from "./utils/index.mjs";
16
16
  import { VirtualScroll as In } from "./VirtualScroll.mjs";
17
17
  import { GridContextMenu as Cn } from "./contextMenu/GridContextMenu.mjs";
18
18
  import { GridContextMenuAnchorPart as je } from "./contextMenu/enums.mjs";
@@ -48,16 +48,12 @@ const kn = (t, E, P, D) => {
48
48
  selectable: se(t.gridProps.selectable).enabled,
49
49
  clipboard: !!t.gridProps.clipboard
50
50
  });
51
- }, [I, t.gridProps.sortable, t.gridProps.selectable, t.gridProps.clipboard]), Ke = d.useMemo(() => {
52
- const e = t.gridProps.sortable && (I == null ? void 0 : I.sortable);
53
- return mn({
54
- pdf: !!t.gridProps.pdf,
55
- sortable: !!e,
56
- selectable: se(t.gridProps.selectable).enabled,
57
- clipboard: !!t.gridProps.clipboard,
58
- rowReorderable: hn(t.gridProps.rowReorderable)
59
- });
60
- }, [I, t.gridProps.sortable, t.gridProps.selectable, t.gridProps.clipboard]), p = d.useMemo(() => {
51
+ }, [I, t.gridProps.sortable, t.gridProps.selectable, t.gridProps.clipboard]), Ke = d.useMemo(() => (t.gridProps.sortable && (I == null || I.sortable), mn({
52
+ pdf: !!t.gridProps.pdf,
53
+ selectable: se(t.gridProps.selectable).enabled,
54
+ clipboard: !!t.gridProps.clipboard,
55
+ rowReorderable: hn(t.gridProps.rowReorderable)
56
+ })), [I, t.gridProps.sortable, t.gridProps.selectable, t.gridProps.clipboard]), p = d.useMemo(() => {
61
57
  const e = (I == null ? void 0 : I.contextMenu) || t.gridProps.contextMenu, n = typeof e == "function" ? e(P) : e;
62
58
  if (n && P.offset) {
63
59
  const o = P.dataItem ? je.body : je.head, r = n[o], i = P.dataItem ? Ke : De;
@@ -138,7 +134,7 @@ const kn = (t, E, P, D) => {
138
134
  W();
139
135
  }, ee = () => {
140
136
  const e = t.columnsRef.filter((n) => n.declarationIndex >= 0 && n.parentIndex === -1);
141
- return Pn(e);
137
+ return Rn(e);
142
138
  }, $e = (e, n, o) => {
143
139
  if (t.gridProps.onContextMenu && E) {
144
140
  const r = {
@@ -239,8 +235,8 @@ const kn = (t, E, P, D) => {
239
235
  });
240
236
  }, nt = (e, n, o) => {
241
237
  if (Be.enabled && Be.mode === "incell" && t.gridProps.dataItemKey) {
242
- const r = pt(t.gridProps.edit, {
243
- type: en.ENTER_FIELD_EDIT,
238
+ const r = an(t.gridProps.edit, {
239
+ type: dn.ENTER_FIELD_EDIT,
244
240
  payload: { id: n[t.gridProps.dataItemKey], field: o }
245
241
  });
246
242
  t.gridProps.onEditChange && g(t.gridProps.onEditChange, {
@@ -250,8 +246,8 @@ const kn = (t, E, P, D) => {
250
246
  }
251
247
  }, rt = (e, n) => {
252
248
  var r;
253
- if (tn(t.detailExpandable).enabled) {
254
- const i = nn((r = t.gridProps.detailExpand) != null ? r : {}, e);
249
+ if (rn(t.detailExpandable).enabled) {
250
+ const i = on((r = t.gridProps.detailExpand) != null ? r : {}, e);
255
251
  t.gridProps.onDetailExpandChange && g(t.gridProps.onDetailExpandChange, {
256
252
  ...R(n),
257
253
  detailExpand: i
@@ -259,11 +255,11 @@ const kn = (t, E, P, D) => {
259
255
  }
260
256
  }, ot = (e, n) => {
261
257
  var r;
262
- const o = rn(
258
+ const o = tn(
263
259
  typeof t.gridProps.groupable == "object" ? t.gridProps.groupable.expandable !== !1 : t.gridProps.groupable
264
260
  );
265
261
  if (o.enabled) {
266
- const i = on((r = t.gridProps.groupExpand) != null ? r : [], e, o);
262
+ const i = nn((r = t.gridProps.groupExpand) != null ? r : [], e, o);
267
263
  t.gridProps.onGroupExpandChange && g(t.gridProps.onGroupExpandChange, {
268
264
  ...R(n),
269
265
  groupExpand: i
@@ -324,16 +320,16 @@ const kn = (t, E, P, D) => {
324
320
  componentId: t.id,
325
321
  selectedField: "",
326
322
  ...R(e)
327
- }, o = an({
323
+ }, o = cn({
328
324
  event: n,
329
325
  selectedState: (l = t.gridProps.select) != null ? l : {},
330
326
  dataItemKey: t.gridProps.dataItemKey
331
327
  });
332
328
  if (o === t.gridProps.select)
333
329
  return;
334
- const r = e.target, i = ue(r, "TD"), a = ue(r, "TR"), c = dn(i), f = cn(a);
330
+ const r = e.target, i = ue(r, "TD"), a = ue(r, "TR"), c = ln(i), f = sn(a);
335
331
  if (c !== void 0 && f !== void 0) {
336
- const s = (u = Rn(t.gridProps.data)) == null ? void 0 : u[f];
332
+ const s = (u = vn(t.gridProps.data)) == null ? void 0 : u[f];
337
333
  t.gridProps.onSelectionChange && g(t.gridProps.onSelectionChange, {
338
334
  ...n,
339
335
  select: o,
@@ -613,7 +609,7 @@ const kn = (t, E, P, D) => {
613
609
  z && (z.orderIndex = S);
614
610
  });
615
611
  const s = r[e].locked && r[n].locked;
616
- ln(t.columnsMapRef, r, s || ce.current), sn(t.columnsMapRef, r, s || ce.current), be.current && (ce.current = !1, be.current = !1);
612
+ pt(t.columnsMapRef, r, s || ce.current), en(t.columnsMapRef, r, s || ce.current), be.current && (ce.current = !1, be.current = !1);
617
613
  const v = ee();
618
614
  if (U(), t.gridProps.onColumnReorder) {
619
615
  const m = {
@@ -693,7 +689,7 @@ const kn = (t, E, P, D) => {
693
689
  }, xt = () => {
694
690
  const e = t.gridProps.minRowHeightRef;
695
691
  if (e && !e.current && !t.gridProps.rowHeight) {
696
- const n = vn(q.current);
692
+ const n = Pn(q.current);
697
693
  n && (e.current = n, U());
698
694
  }
699
695
  }, oe = d.useCallback(
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridColumnProps } from './interfaces/GridColumnProps.js';
9
+ import { GridRowSpannableSettings } from './interfaces/GridRowSpannableSettings.js';
10
+ import * as React from 'react';
11
+ /**
12
+ * Represents the GridColumn component.
13
+ *
14
+ * @returns null
15
+ */
16
+ export declare const GridColumn: React.FunctionComponent<GridColumnProps>;
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const gridDefaultProps: {
21
+ filterable: boolean;
22
+ editable: boolean;
23
+ sortable: boolean;
24
+ resizable: boolean;
25
+ reorderable: boolean;
26
+ groupable: boolean;
27
+ };
28
+ /**
29
+ * @hidden
30
+ */
31
+ export interface ExtendedColumnProps extends GridColumnProps {
32
+ declarationIndex: number;
33
+ parentIndex: number;
34
+ rowSpan: number;
35
+ depth: number;
36
+ colSpan: number;
37
+ kFirst?: boolean;
38
+ index: number;
39
+ headerColSpan: number;
40
+ children: ExtendedColumnProps[];
41
+ left: number;
42
+ right: number;
43
+ rightBorder: boolean;
44
+ ariaColumnIndex: number;
45
+ isAccessible: boolean;
46
+ /** @hidden _internal usage only */
47
+ _type?: 'edit' | 'expand';
48
+ rowSpannable?: Required<GridRowSpannableSettings>;
49
+ defaultCell?: any;
50
+ defaultHeaderCell?: any;
51
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { GridComponentProps } from './interfaces/GridProps.js';
9
+ import { GridHandle } from './Grid.js';
10
+ import * as React from 'react';
11
+ /**
12
+ * @hidden
13
+ */
14
+ export declare const GridComponent: React.ForwardRefExoticComponent<GridComponentProps & React.RefAttributes<GridHandle | null>>;