@mui/x-data-grid 5.6.1 → 5.9.0

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 (1071) hide show
  1. package/CHANGELOG.md +275 -53
  2. package/DataGrid/DataGrid.d.ts +8 -3
  3. package/DataGrid/DataGrid.js +35 -2
  4. package/DataGrid/useDataGridComponent.js +13 -7
  5. package/DataGrid/useDataGridProps.d.ts +2 -1
  6. package/LICENSE +21 -0
  7. package/README.md +1 -1
  8. package/colDef/gridBooleanColDef.d.ts +1 -1
  9. package/colDef/gridBooleanOperators.d.ts +1 -1
  10. package/colDef/gridDateColDef.d.ts +5 -9
  11. package/colDef/gridDateColDef.js +2 -2
  12. package/colDef/gridDateOperators.d.ts +1 -1
  13. package/{models/colDef → colDef}/gridDefaultColumnTypes.d.ts +1 -1
  14. package/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
  15. package/colDef/gridNumericColDef.d.ts +1 -1
  16. package/colDef/gridNumericOperators.d.ts +2 -2
  17. package/colDef/gridStringColDef.d.ts +1 -1
  18. package/colDef/gridStringOperators.d.ts +1 -1
  19. package/colDef/index.d.ts +1 -0
  20. package/colDef/index.js +2 -1
  21. package/components/ErrorOverlay.js +8 -1
  22. package/components/GridLoadingOverlay.d.ts +4 -2
  23. package/components/GridLoadingOverlay.js +11 -2
  24. package/components/GridNoResultsOverlay.d.ts +3 -2
  25. package/components/GridNoRowsOverlay.d.ts +4 -2
  26. package/components/GridNoRowsOverlay.js +11 -2
  27. package/components/GridRow.d.ts +4 -0
  28. package/components/GridRow.js +50 -24
  29. package/components/base/GridErrorHandler.js +6 -25
  30. package/components/base/GridOverlays.js +4 -3
  31. package/components/cell/GridActionsCell.d.ts +5 -1
  32. package/components/cell/GridActionsCell.js +170 -21
  33. package/components/cell/GridActionsCellItem.d.ts +66 -4
  34. package/components/cell/GridActionsCellItem.js +7 -5
  35. package/components/cell/GridCell.d.ts +5 -4
  36. package/components/cell/GridCell.js +30 -9
  37. package/components/cell/GridEditBooleanCell.js +1 -1
  38. package/components/cell/GridEditDateCell.js +1 -1
  39. package/components/cell/GridEditInputCell.js +66 -5
  40. package/components/cell/GridEditSingleSelectCell.js +97 -16
  41. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +12 -0
  42. package/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
  43. package/components/columnHeaders/GridColumnHeaderItem.js +9 -12
  44. package/components/columnHeaders/GridColumnHeaderTitle.d.ts +2 -2
  45. package/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  46. package/components/columnHeaders/GridColumnHeaders.d.ts +0 -1
  47. package/components/columnHeaders/GridColumnHeaders.js +4 -2
  48. package/components/columnHeaders/index.d.ts +1 -0
  49. package/components/columnHeaders/index.js +1 -0
  50. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +3 -3
  51. package/components/columnSelection/GridCellCheckboxRenderer.js +22 -5
  52. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  53. package/components/containers/GridOverlay.d.ts +9 -2
  54. package/components/containers/GridOverlay.js +11 -2
  55. package/components/containers/GridRoot.js +29 -17
  56. package/components/containers/GridRootStyles.js +2 -2
  57. package/components/menu/columnMenu/GridColumnMenu.js +1 -1
  58. package/components/panel/GridColumnsPanel.d.ts +4 -1
  59. package/components/panel/GridColumnsPanel.js +3 -3
  60. package/components/panel/GridPanel.d.ts +2 -2
  61. package/components/panel/GridPanel.js +1 -0
  62. package/components/panel/GridPanelWrapper.d.ts +1 -1
  63. package/components/panel/GridPreferencesPanel.js +4 -6
  64. package/components/panel/filterPanel/GridFilterForm.js +14 -10
  65. package/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
  66. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -15
  67. package/components/panel/filterPanel/GridFilterInputValue.js +22 -15
  68. package/components/toolbar/GridToolbarDensitySelector.js +1 -1
  69. package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
  70. package/components/virtualization/GridVirtualScroller.js +2 -0
  71. package/components/virtualization/GridVirtualScrollerContent.js +1 -3
  72. package/constants/defaultGridSlotsComponents.js +2 -1
  73. package/constants/gridClasses.d.ts +15 -3
  74. package/constants/gridDetailPanelToggleField.d.ts +1 -0
  75. package/constants/gridDetailPanelToggleField.js +2 -0
  76. package/hooks/core/index.d.ts +1 -1
  77. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +85 -0
  78. package/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
  79. package/hooks/core/pipeProcessing/index.d.ts +4 -0
  80. package/hooks/core/pipeProcessing/index.js +4 -0
  81. package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +32 -0
  82. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +108 -0
  83. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +3 -0
  84. package/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeApplier.js} +2 -2
  85. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +4 -0
  86. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +27 -0
  87. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +58 -0
  88. package/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  89. package/hooks/core/strategyProcessing/index.d.ts +3 -0
  90. package/hooks/core/strategyProcessing/index.js +3 -0
  91. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +4 -0
  92. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  93. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +48 -0
  94. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +125 -0
  95. package/hooks/core/useGridInitialization.js +4 -4
  96. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +0 -1
  97. package/hooks/features/columnHeaders/useGridColumnHeaders.js +77 -11
  98. package/hooks/features/columns/gridColumnsInterfaces.d.ts +8 -1
  99. package/hooks/features/columns/gridColumnsSelector.d.ts +6 -6
  100. package/hooks/features/columns/gridColumnsUtils.d.ts +33 -7
  101. package/hooks/features/columns/gridColumnsUtils.js +210 -41
  102. package/hooks/features/columns/useGridColumnSpanning.d.ts +7 -0
  103. package/hooks/features/columns/useGridColumnSpanning.js +109 -0
  104. package/hooks/features/columns/useGridColumns.d.ts +1 -1
  105. package/hooks/features/columns/useGridColumns.js +117 -65
  106. package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -0
  107. package/hooks/features/dimensions/useGridDimensions.js +5 -4
  108. package/hooks/features/editRows/useGridCellEditing.new.d.ts +4 -0
  109. package/hooks/features/editRows/useGridCellEditing.new.js +338 -0
  110. package/hooks/features/editRows/{useGridCellEditing.d.ts → useGridCellEditing.old.d.ts} +0 -0
  111. package/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  112. package/hooks/features/editRows/useGridEditing.new.d.ts +6 -0
  113. package/hooks/features/editRows/useGridEditing.new.js +122 -0
  114. package/hooks/features/editRows/{useGridEditing.d.ts → useGridEditing.old.d.ts} +0 -0
  115. package/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  116. package/hooks/features/editRows/useGridRowEditing.new.d.ts +4 -0
  117. package/hooks/features/editRows/useGridRowEditing.new.js +509 -0
  118. package/hooks/features/editRows/{useGridRowEditing.d.ts → useGridRowEditing.old.d.ts} +0 -0
  119. package/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  120. package/hooks/features/events/useGridEvents.d.ts +1 -1
  121. package/hooks/features/events/useGridEvents.js +2 -0
  122. package/hooks/features/filter/gridFilterSelector.d.ts +3 -9
  123. package/hooks/features/filter/gridFilterState.d.ts +2 -5
  124. package/hooks/features/filter/useGridFilter.d.ts +1 -1
  125. package/hooks/features/filter/useGridFilter.js +38 -39
  126. package/hooks/features/focus/useGridFocus.d.ts +1 -1
  127. package/hooks/features/focus/useGridFocus.js +47 -1
  128. package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.d.ts +3 -5
  129. package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +66 -13
  130. package/hooks/features/pagination/gridPaginationSelector.d.ts +1 -3
  131. package/hooks/features/pagination/useGridPage.js +9 -4
  132. package/hooks/features/pagination/useGridPageSize.js +3 -3
  133. package/hooks/features/preferencesPanel/gridPreferencePanelState.d.ts +5 -0
  134. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +18 -5
  135. package/hooks/features/rows/gridRowsSelector.d.ts +2 -1
  136. package/hooks/features/rows/gridRowsSelector.js +1 -0
  137. package/hooks/features/rows/gridRowsState.d.ts +24 -5
  138. package/hooks/features/rows/gridRowsUtils.d.ts +8 -0
  139. package/hooks/features/rows/gridRowsUtils.js +11 -0
  140. package/hooks/features/rows/index.d.ts +1 -0
  141. package/hooks/features/rows/index.js +1 -1
  142. package/hooks/features/rows/useGridRows.d.ts +2 -5
  143. package/hooks/features/rows/useGridRows.js +71 -49
  144. package/hooks/features/rows/useGridRowsMeta.js +7 -14
  145. package/hooks/features/rows/useGridRowsPreProcessors.d.ts +3 -0
  146. package/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
  147. package/hooks/features/scroll/useGridScroll.d.ts +2 -0
  148. package/hooks/features/scroll/useGridScroll.js +27 -14
  149. package/hooks/features/selection/gridSelectionSelector.d.ts +1 -3
  150. package/hooks/features/selection/useGridSelection.d.ts +4 -2
  151. package/hooks/features/selection/useGridSelection.js +79 -27
  152. package/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  153. package/hooks/features/sorting/gridSortingSelector.d.ts +1 -3
  154. package/hooks/features/sorting/gridSortingState.d.ts +2 -5
  155. package/hooks/features/sorting/gridSortingUtils.d.ts +1 -2
  156. package/hooks/features/sorting/useGridSorting.js +18 -37
  157. package/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  158. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +7 -0
  159. package/hooks/features/virtualization/useGridVirtualScroller.js +59 -30
  160. package/hooks/utils/useGridRootProps.d.ts +1 -1
  161. package/hooks/utils/useGridVisibleRows.d.ts +2 -2
  162. package/index.js +1 -1
  163. package/internals/index.d.ts +14 -13
  164. package/internals/index.js +7 -6
  165. package/legacy/DataGrid/DataGrid.js +35 -2
  166. package/legacy/DataGrid/useDataGridComponent.js +13 -7
  167. package/legacy/colDef/gridDateColDef.js +2 -2
  168. package/legacy/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
  169. package/legacy/colDef/index.js +2 -1
  170. package/legacy/components/ErrorOverlay.js +8 -1
  171. package/legacy/components/GridLoadingOverlay.js +11 -2
  172. package/legacy/components/GridNoRowsOverlay.js +11 -2
  173. package/legacy/components/GridRow.js +48 -24
  174. package/legacy/components/base/GridErrorHandler.js +3 -24
  175. package/legacy/components/base/GridOverlays.js +4 -3
  176. package/legacy/components/cell/GridActionsCell.js +188 -27
  177. package/legacy/components/cell/GridActionsCellItem.js +7 -5
  178. package/legacy/components/cell/GridCell.js +31 -9
  179. package/legacy/components/cell/GridEditBooleanCell.js +2 -1
  180. package/legacy/components/cell/GridEditDateCell.js +2 -1
  181. package/legacy/components/cell/GridEditInputCell.js +66 -5
  182. package/legacy/components/cell/GridEditSingleSelectCell.js +109 -24
  183. package/legacy/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
  184. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +9 -12
  185. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  186. package/legacy/components/columnHeaders/GridColumnHeaders.js +5 -4
  187. package/legacy/components/columnHeaders/index.js +1 -0
  188. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +23 -5
  189. package/legacy/components/containers/GridOverlay.js +11 -2
  190. package/legacy/components/containers/GridRoot.js +34 -17
  191. package/legacy/components/containers/GridRootStyles.js +2 -2
  192. package/legacy/components/menu/columnMenu/GridColumnMenu.js +1 -1
  193. package/legacy/components/panel/GridColumnsPanel.js +3 -3
  194. package/legacy/components/panel/GridPanel.js +1 -0
  195. package/legacy/components/panel/GridPreferencesPanel.js +4 -6
  196. package/legacy/components/panel/filterPanel/GridFilterForm.js +14 -10
  197. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
  198. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -17
  199. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +22 -17
  200. package/legacy/components/toolbar/GridToolbarDensitySelector.js +1 -1
  201. package/legacy/components/virtualization/GridVirtualScroller.js +2 -0
  202. package/legacy/components/virtualization/GridVirtualScrollerContent.js +1 -3
  203. package/legacy/constants/defaultGridSlotsComponents.js +2 -1
  204. package/legacy/constants/gridDetailPanelToggleField.js +2 -0
  205. package/legacy/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
  206. package/legacy/hooks/core/pipeProcessing/index.js +4 -0
  207. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +119 -0
  208. package/legacy/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeApplier.js} +2 -2
  209. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +27 -0
  210. package/legacy/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  211. package/legacy/hooks/core/strategyProcessing/index.js +3 -0
  212. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  213. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +130 -0
  214. package/legacy/hooks/core/useGridInitialization.js +4 -4
  215. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +90 -11
  216. package/legacy/hooks/features/columns/gridColumnsUtils.js +222 -44
  217. package/legacy/hooks/features/columns/useGridColumnSpanning.js +107 -0
  218. package/legacy/hooks/features/columns/useGridColumns.js +118 -66
  219. package/legacy/hooks/features/dimensions/useGridDimensions.js +5 -4
  220. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +350 -0
  221. package/legacy/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  222. package/legacy/hooks/features/editRows/useGridEditing.new.js +156 -0
  223. package/legacy/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  224. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +516 -0
  225. package/legacy/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  226. package/legacy/hooks/features/events/useGridEvents.js +2 -0
  227. package/legacy/hooks/features/filter/useGridFilter.js +38 -39
  228. package/legacy/hooks/features/focus/useGridFocus.js +47 -1
  229. package/legacy/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +66 -12
  230. package/legacy/hooks/features/pagination/useGridPage.js +11 -4
  231. package/legacy/hooks/features/pagination/useGridPageSize.js +3 -3
  232. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +18 -5
  233. package/legacy/hooks/features/rows/gridRowsSelector.js +3 -0
  234. package/legacy/hooks/features/rows/gridRowsUtils.js +13 -0
  235. package/legacy/hooks/features/rows/index.js +1 -1
  236. package/legacy/hooks/features/rows/useGridRows.js +75 -53
  237. package/legacy/hooks/features/rows/useGridRowsMeta.js +7 -14
  238. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +36 -0
  239. package/legacy/hooks/features/scroll/useGridScroll.js +27 -14
  240. package/legacy/hooks/features/selection/useGridSelection.js +81 -27
  241. package/legacy/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  242. package/legacy/hooks/features/sorting/useGridSorting.js +14 -35
  243. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  244. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +70 -40
  245. package/legacy/index.js +1 -1
  246. package/legacy/internals/index.js +7 -6
  247. package/legacy/locales/arSD.js +62 -58
  248. package/legacy/locales/daDK.js +36 -32
  249. package/legacy/locales/faIR.js +26 -22
  250. package/legacy/locales/huHU.js +120 -0
  251. package/legacy/locales/index.js +1 -0
  252. package/legacy/locales/koKR.js +1 -1
  253. package/legacy/locales/plPL.js +30 -26
  254. package/{modern/hooks/core/preProcessing/gridPreProcessingApi.js → legacy/models/api/gridColumnSpanning.js} +0 -0
  255. package/legacy/models/colDef/index.js +1 -2
  256. package/legacy/models/events/gridEvents.js +6 -4
  257. package/{modern/hooks/core/rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → legacy/models/gridColumnSpanning.js} +0 -0
  258. package/legacy/models/gridEditRowModel.js +1 -0
  259. package/legacy/models/gridRows.js +1 -33
  260. package/legacy/models/index.js +2 -2
  261. package/legacy/models/params/gridEditCellParams.js +34 -1
  262. package/legacy/models/params/gridPreferencePanelParams.js +1 -0
  263. package/legacy/models/params/gridRowParams.js +39 -1
  264. package/legacy/models/params/index.js +2 -1
  265. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +5 -1
  266. package/legacy/utils/utils.js +150 -3
  267. package/locales/arSD.js +58 -58
  268. package/locales/daDK.js +32 -32
  269. package/locales/faIR.js +22 -22
  270. package/locales/huHU.d.ts +2 -0
  271. package/locales/huHU.js +108 -0
  272. package/locales/index.d.ts +1 -0
  273. package/locales/index.js +1 -0
  274. package/locales/koKR.js +1 -1
  275. package/locales/plPL.js +26 -26
  276. package/models/api/gridApiCommon.d.ts +4 -3
  277. package/models/api/gridColumnSpanning.d.ts +28 -0
  278. package/models/api/gridColumnSpanning.js +1 -0
  279. package/models/api/gridEditingApi.d.ts +174 -7
  280. package/models/api/gridFocusApi.d.ts +9 -0
  281. package/models/api/gridParamsApi.d.ts +5 -5
  282. package/models/api/gridRowApi.d.ts +2 -2
  283. package/models/api/index.d.ts +1 -1
  284. package/models/colDef/gridColDef.d.ts +42 -28
  285. package/models/colDef/index.d.ts +0 -1
  286. package/models/colDef/index.js +1 -2
  287. package/models/events/gridEventLookup.d.ts +20 -13
  288. package/models/events/gridEvents.d.ts +22 -14
  289. package/models/events/gridEvents.js +6 -4
  290. package/models/gridCell.d.ts +1 -0
  291. package/models/gridColumnSpanning.d.ts +12 -0
  292. package/models/gridColumnSpanning.js +1 -0
  293. package/models/gridEditRowModel.d.ts +4 -3
  294. package/models/gridEditRowModel.js +1 -0
  295. package/models/gridFilterOperator.d.ts +3 -2
  296. package/models/gridRows.d.ts +10 -18
  297. package/models/gridRows.js +1 -31
  298. package/models/gridSlotsComponent.d.ts +5 -0
  299. package/models/gridSlotsComponentsProps.d.ts +1 -0
  300. package/models/gridSortModel.d.ts +3 -4
  301. package/models/index.d.ts +1 -1
  302. package/models/index.js +2 -2
  303. package/models/params/gridCellParams.d.ts +34 -15
  304. package/models/params/gridColumnHeaderParams.d.ts +3 -2
  305. package/models/params/gridEditCellParams.d.ts +52 -3
  306. package/models/params/gridEditCellParams.js +34 -1
  307. package/models/params/gridPreferencePanelParams.d.ts +3 -0
  308. package/models/params/gridPreferencePanelParams.js +1 -0
  309. package/models/params/gridRowParams.d.ts +51 -7
  310. package/models/params/gridRowParams.js +39 -1
  311. package/models/params/gridValueOptionsParams.d.ts +3 -3
  312. package/models/params/index.d.ts +1 -0
  313. package/models/params/index.js +2 -1
  314. package/models/props/DataGridProps.d.ts +45 -13
  315. package/modern/DataGrid/DataGrid.js +35 -2
  316. package/modern/DataGrid/useDataGridComponent.js +11 -7
  317. package/modern/colDef/gridDateColDef.js +2 -2
  318. package/modern/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
  319. package/modern/colDef/index.js +2 -1
  320. package/modern/components/ErrorOverlay.js +8 -1
  321. package/modern/components/GridLoadingOverlay.js +11 -2
  322. package/modern/components/GridNoRowsOverlay.js +11 -2
  323. package/modern/components/GridRow.js +48 -22
  324. package/modern/components/base/GridErrorHandler.js +1 -20
  325. package/modern/components/base/GridOverlays.js +4 -3
  326. package/modern/components/cell/GridActionsCell.js +168 -21
  327. package/modern/components/cell/GridActionsCellItem.js +7 -5
  328. package/modern/components/cell/GridCell.js +30 -9
  329. package/modern/components/cell/GridEditBooleanCell.js +1 -1
  330. package/modern/components/cell/GridEditDateCell.js +1 -1
  331. package/modern/components/cell/GridEditInputCell.js +64 -5
  332. package/modern/components/cell/GridEditSingleSelectCell.js +91 -14
  333. package/modern/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
  334. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -10
  335. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  336. package/modern/components/columnHeaders/GridColumnHeaders.js +4 -2
  337. package/modern/components/columnHeaders/index.js +1 -0
  338. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +22 -5
  339. package/modern/components/containers/GridOverlay.js +11 -2
  340. package/modern/components/containers/GridRoot.js +29 -17
  341. package/modern/components/containers/GridRootStyles.js +2 -2
  342. package/modern/components/menu/columnMenu/GridColumnMenu.js +1 -1
  343. package/modern/components/panel/GridColumnsPanel.js +3 -3
  344. package/modern/components/panel/GridPanel.js +1 -0
  345. package/modern/components/panel/GridPreferencesPanel.js +3 -5
  346. package/modern/components/panel/filterPanel/GridFilterForm.js +10 -6
  347. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +11 -6
  348. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +20 -13
  349. package/modern/components/panel/filterPanel/GridFilterInputValue.js +20 -13
  350. package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -1
  351. package/modern/components/virtualization/GridVirtualScroller.js +2 -0
  352. package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -3
  353. package/modern/constants/defaultGridSlotsComponents.js +2 -1
  354. package/modern/constants/gridDetailPanelToggleField.js +2 -0
  355. package/modern/hooks/core/pipeProcessing/gridPipeProcessingApi.js +1 -0
  356. package/modern/hooks/core/pipeProcessing/index.js +4 -0
  357. package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +108 -0
  358. package/modern/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeApplier.js} +2 -2
  359. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +27 -0
  360. package/modern/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +1 -0
  361. package/modern/hooks/core/strategyProcessing/index.js +3 -0
  362. package/modern/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  363. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +123 -0
  364. package/modern/hooks/core/useGridInitialization.js +4 -4
  365. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +77 -11
  366. package/modern/hooks/features/columns/gridColumnsUtils.js +210 -39
  367. package/modern/hooks/features/columns/useGridColumnSpanning.js +107 -0
  368. package/modern/hooks/features/columns/useGridColumns.js +112 -62
  369. package/modern/hooks/features/dimensions/useGridDimensions.js +5 -4
  370. package/modern/hooks/features/editRows/useGridCellEditing.new.js +338 -0
  371. package/modern/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  372. package/modern/hooks/features/editRows/useGridEditing.new.js +122 -0
  373. package/modern/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  374. package/modern/hooks/features/editRows/useGridRowEditing.new.js +507 -0
  375. package/modern/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  376. package/modern/hooks/features/events/useGridEvents.js +2 -0
  377. package/modern/hooks/features/filter/useGridFilter.js +34 -39
  378. package/modern/hooks/features/focus/useGridFocus.js +47 -1
  379. package/modern/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +64 -13
  380. package/modern/hooks/features/pagination/useGridPage.js +9 -4
  381. package/modern/hooks/features/pagination/useGridPageSize.js +3 -3
  382. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +18 -5
  383. package/modern/hooks/features/rows/gridRowsSelector.js +1 -0
  384. package/modern/hooks/features/rows/gridRowsUtils.js +11 -0
  385. package/modern/hooks/features/rows/index.js +1 -1
  386. package/modern/hooks/features/rows/useGridRows.js +69 -47
  387. package/modern/hooks/features/rows/useGridRowsMeta.js +7 -14
  388. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
  389. package/modern/hooks/features/scroll/useGridScroll.js +25 -10
  390. package/modern/hooks/features/selection/useGridSelection.js +79 -27
  391. package/modern/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  392. package/modern/hooks/features/sorting/useGridSorting.js +18 -37
  393. package/modern/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  394. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +59 -26
  395. package/modern/index.js +1 -1
  396. package/modern/internals/index.js +7 -6
  397. package/modern/locales/arSD.js +58 -58
  398. package/modern/locales/daDK.js +32 -32
  399. package/modern/locales/faIR.js +22 -22
  400. package/modern/locales/huHU.js +108 -0
  401. package/modern/locales/index.js +1 -0
  402. package/modern/locales/koKR.js +1 -1
  403. package/modern/locales/plPL.js +26 -26
  404. package/modern/models/api/gridColumnSpanning.js +1 -0
  405. package/modern/models/colDef/index.js +1 -2
  406. package/modern/models/events/gridEvents.js +6 -4
  407. package/modern/models/gridColumnSpanning.js +1 -0
  408. package/modern/models/gridEditRowModel.js +1 -0
  409. package/modern/models/gridRows.js +1 -31
  410. package/modern/models/index.js +2 -2
  411. package/modern/models/params/gridEditCellParams.js +34 -1
  412. package/modern/models/params/gridPreferencePanelParams.js +1 -0
  413. package/modern/models/params/gridRowParams.js +39 -1
  414. package/modern/models/params/index.js +2 -1
  415. package/modern/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  416. package/modern/utils/utils.js +150 -3
  417. package/node/DataGrid/DataGrid.js +35 -2
  418. package/node/DataGrid/useDataGridComponent.js +17 -9
  419. package/node/colDef/gridDateColDef.js +2 -2
  420. package/node/{models/colDef → colDef}/gridDefaultColumnTypes.js +6 -6
  421. package/node/colDef/index.js +13 -0
  422. package/node/components/ErrorOverlay.js +10 -1
  423. package/node/components/GridLoadingOverlay.js +10 -1
  424. package/node/components/GridNoRowsOverlay.js +10 -1
  425. package/node/components/GridRow.js +51 -24
  426. package/node/components/base/GridErrorHandler.js +7 -30
  427. package/node/components/base/GridOverlays.js +3 -2
  428. package/node/components/cell/GridActionsCell.js +172 -21
  429. package/node/components/cell/GridActionsCellItem.js +7 -4
  430. package/node/components/cell/GridCell.js +30 -9
  431. package/node/components/cell/GridEditBooleanCell.js +1 -1
  432. package/node/components/cell/GridEditDateCell.js +1 -1
  433. package/node/components/cell/GridEditInputCell.js +66 -5
  434. package/node/components/cell/GridEditSingleSelectCell.js +98 -16
  435. package/node/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +23 -5
  436. package/node/components/columnHeaders/GridColumnHeaderItem.js +9 -13
  437. package/node/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  438. package/node/components/columnHeaders/GridColumnHeaders.js +4 -2
  439. package/node/components/columnHeaders/index.js +13 -0
  440. package/node/components/columnSelection/GridCellCheckboxRenderer.js +22 -5
  441. package/node/components/containers/GridOverlay.js +10 -1
  442. package/node/components/containers/GridRoot.js +28 -17
  443. package/node/components/containers/GridRootStyles.js +2 -2
  444. package/node/components/menu/columnMenu/GridColumnMenu.js +1 -1
  445. package/node/components/panel/GridColumnsPanel.js +3 -3
  446. package/node/components/panel/GridPanel.js +1 -0
  447. package/node/components/panel/GridPreferencesPanel.js +4 -5
  448. package/node/components/panel/filterPanel/GridFilterForm.js +15 -10
  449. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +14 -8
  450. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +23 -15
  451. package/node/components/panel/filterPanel/GridFilterInputValue.js +23 -15
  452. package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
  453. package/node/components/virtualization/GridVirtualScroller.js +2 -0
  454. package/node/components/virtualization/GridVirtualScrollerContent.js +1 -3
  455. package/node/constants/defaultGridSlotsComponents.js +1 -0
  456. package/node/constants/gridDetailPanelToggleField.js +9 -0
  457. package/node/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
  458. package/node/hooks/core/pipeProcessing/index.js +57 -0
  459. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +124 -0
  460. package/node/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeApplier.js} +4 -4
  461. package/node/hooks/{features/filter/useGridRegisterFilteringMethod.js → core/pipeProcessing/useGridRegisterPipeProcessor.js} +27 -9
  462. package/node/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  463. package/node/hooks/core/strategyProcessing/index.js +44 -0
  464. package/node/hooks/{features/sorting/useGridRegisterSortingMethod.js → core/strategyProcessing/useGridRegisterStrategyProcessor.js} +18 -9
  465. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +146 -0
  466. package/node/hooks/core/useGridInitialization.js +4 -4
  467. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +81 -11
  468. package/node/hooks/features/columns/gridColumnsUtils.js +222 -46
  469. package/node/hooks/features/columns/useGridColumnSpanning.js +130 -0
  470. package/node/hooks/features/columns/useGridColumns.js +120 -64
  471. package/node/hooks/features/dimensions/useGridDimensions.js +5 -4
  472. package/node/hooks/features/editRows/useGridCellEditing.new.js +359 -0
  473. package/node/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  474. package/node/hooks/features/editRows/useGridEditing.new.js +146 -0
  475. package/node/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  476. package/node/hooks/features/editRows/useGridRowEditing.new.js +523 -0
  477. package/node/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +6 -6
  478. package/node/hooks/features/events/useGridEvents.js +2 -0
  479. package/node/hooks/features/filter/useGridFilter.js +38 -38
  480. package/node/hooks/features/focus/useGridFocus.js +50 -1
  481. package/node/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +69 -13
  482. package/node/hooks/features/pagination/useGridPage.js +8 -3
  483. package/node/hooks/features/pagination/useGridPageSize.js +3 -3
  484. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +20 -5
  485. package/node/hooks/features/rows/gridRowsSelector.js +3 -1
  486. package/node/hooks/features/rows/gridRowsUtils.js +18 -0
  487. package/node/hooks/features/rows/index.js +15 -1
  488. package/node/hooks/features/rows/useGridRows.js +72 -50
  489. package/node/hooks/features/rows/useGridRowsMeta.js +7 -15
  490. package/node/hooks/features/rows/useGridRowsPreProcessors.js +46 -0
  491. package/node/hooks/features/scroll/useGridScroll.js +28 -14
  492. package/node/hooks/features/selection/useGridSelection.js +79 -26
  493. package/node/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  494. package/node/hooks/features/sorting/useGridSorting.js +18 -37
  495. package/node/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  496. package/node/hooks/features/virtualization/useGridVirtualScroller.js +64 -30
  497. package/node/index.js +1 -1
  498. package/node/internals/index.js +41 -27
  499. package/node/locales/arSD.js +58 -58
  500. package/node/locales/daDK.js +32 -32
  501. package/node/locales/faIR.js +22 -22
  502. package/node/locales/huHU.js +118 -0
  503. package/node/locales/index.js +13 -0
  504. package/node/locales/koKR.js +1 -1
  505. package/node/locales/plPL.js +26 -26
  506. package/node/models/api/gridColumnSpanning.js +5 -0
  507. package/node/models/colDef/index.js +0 -13
  508. package/node/models/events/gridEvents.js +6 -4
  509. package/node/models/gridColumnSpanning.js +5 -0
  510. package/node/models/gridEditRowModel.js +1 -0
  511. package/node/models/gridRows.js +1 -34
  512. package/node/models/index.js +13 -13
  513. package/node/models/params/gridEditCellParams.js +37 -1
  514. package/node/models/params/gridPreferencePanelParams.js +5 -0
  515. package/node/models/params/gridRowParams.js +42 -1
  516. package/node/models/params/index.js +13 -0
  517. package/node/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  518. package/node/utils/utils.js +152 -11
  519. package/package.json +4 -4
  520. package/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +2 -0
  521. package/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  522. package/utils/domUtils.d.ts +2 -2
  523. package/utils/utils.d.ts +27 -2
  524. package/utils/utils.js +150 -3
  525. package/components/columnHeaders/ColumnHeaderFilterIcon.d.ts +0 -5
  526. package/hooks/core/preProcessing/gridPreProcessingApi.d.ts +0 -71
  527. package/hooks/core/preProcessing/index.d.ts +0 -3
  528. package/hooks/core/preProcessing/index.js +0 -3
  529. package/hooks/core/preProcessing/useGridPreProcessing.d.ts +0 -3
  530. package/hooks/core/preProcessing/useGridPreProcessing.js +0 -49
  531. package/hooks/core/preProcessing/useGridRegisterPreProcessor.d.ts +0 -4
  532. package/hooks/core/rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.d.ts +0 -35
  533. package/hooks/core/rowGroupsPreProcessing/index.d.ts +0 -2
  534. package/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  535. package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.d.ts +0 -3
  536. package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -72
  537. package/hooks/features/filter/useGridRegisterFilteringMethod.d.ts +0 -4
  538. package/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  539. package/hooks/features/keyboard/useGridKeyboard.d.ts +0 -10
  540. package/hooks/features/keyboard/useGridKeyboard.js +0 -70
  541. package/hooks/features/sorting/useGridRegisterSortingMethod.d.ts +0 -4
  542. package/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  543. package/legacy/hooks/core/preProcessing/index.js +0 -3
  544. package/legacy/hooks/core/preProcessing/useGridPreProcessing.js +0 -58
  545. package/legacy/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  546. package/legacy/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -71
  547. package/legacy/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  548. package/legacy/hooks/features/keyboard/useGridKeyboard.js +0 -70
  549. package/legacy/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  550. package/legacy/lib/lodash/_DataView.js +0 -8
  551. package/legacy/lib/lodash/_Hash.js +0 -33
  552. package/legacy/lib/lodash/_ListCache.js +0 -33
  553. package/legacy/lib/lodash/_Map.js +0 -8
  554. package/legacy/lib/lodash/_MapCache.js +0 -33
  555. package/legacy/lib/lodash/_Promise.js +0 -8
  556. package/legacy/lib/lodash/_Set.js +0 -8
  557. package/legacy/lib/lodash/_SetCache.js +0 -28
  558. package/legacy/lib/lodash/_Stack.js +0 -28
  559. package/legacy/lib/lodash/_Symbol.js +0 -7
  560. package/legacy/lib/lodash/_Uint8Array.js +0 -7
  561. package/legacy/lib/lodash/_WeakMap.js +0 -8
  562. package/legacy/lib/lodash/_arrayFilter.js +0 -29
  563. package/legacy/lib/lodash/_arrayLikeKeys.js +0 -46
  564. package/legacy/lib/lodash/_arrayPush.js +0 -23
  565. package/legacy/lib/lodash/_arraySome.js +0 -26
  566. package/legacy/lib/lodash/_assocIndexOf.js +0 -25
  567. package/legacy/lib/lodash/_baseGetAllKeys.js +0 -22
  568. package/legacy/lib/lodash/_baseGetTag.js +0 -29
  569. package/legacy/lib/lodash/_baseIsArguments.js +0 -20
  570. package/legacy/lib/lodash/_baseIsEqual.js +0 -32
  571. package/legacy/lib/lodash/_baseIsEqualDeep.js +0 -85
  572. package/legacy/lib/lodash/_baseIsNative.js +0 -47
  573. package/legacy/lib/lodash/_baseIsTypedArray.js +0 -49
  574. package/legacy/lib/lodash/_baseKeys.js +0 -35
  575. package/legacy/lib/lodash/_baseTimes.js +0 -23
  576. package/legacy/lib/lodash/_baseUnary.js +0 -16
  577. package/legacy/lib/lodash/_cacheHas.js +0 -15
  578. package/legacy/lib/lodash/_coreJsData.js +0 -7
  579. package/legacy/lib/lodash/_equalArrays.js +0 -84
  580. package/legacy/lib/lodash/_equalByTag.js +0 -117
  581. package/legacy/lib/lodash/_equalObjects.js +0 -92
  582. package/legacy/lib/lodash/_freeGlobal.js +0 -6
  583. package/legacy/lib/lodash/_getAllKeys.js +0 -18
  584. package/legacy/lib/lodash/_getMapData.js +0 -18
  585. package/legacy/lib/lodash/_getNative.js +0 -19
  586. package/legacy/lib/lodash/_getRawTag.js +0 -50
  587. package/legacy/lib/lodash/_getSymbols.js +0 -32
  588. package/legacy/lib/lodash/_getTag.js +0 -64
  589. package/legacy/lib/lodash/_getValue.js +0 -15
  590. package/legacy/lib/lodash/_hashClear.js +0 -17
  591. package/legacy/lib/lodash/_hashDelete.js +0 -19
  592. package/legacy/lib/lodash/_hashGet.js +0 -34
  593. package/legacy/lib/lodash/_hashHas.js +0 -25
  594. package/legacy/lib/lodash/_hashSet.js +0 -25
  595. package/legacy/lib/lodash/_isIndex.js +0 -25
  596. package/legacy/lib/lodash/_isKeyable.js +0 -18
  597. package/legacy/lib/lodash/_isMasked.js +0 -23
  598. package/legacy/lib/lodash/_isPrototype.js +0 -19
  599. package/legacy/lib/lodash/_listCacheClear.js +0 -15
  600. package/legacy/lib/lodash/_listCacheDelete.js +0 -40
  601. package/legacy/lib/lodash/_listCacheGet.js +0 -20
  602. package/legacy/lib/lodash/_listCacheHas.js +0 -18
  603. package/legacy/lib/lodash/_listCacheSet.js +0 -29
  604. package/legacy/lib/lodash/_mapCacheClear.js +0 -23
  605. package/legacy/lib/lodash/_mapCacheDelete.js +0 -20
  606. package/legacy/lib/lodash/_mapCacheGet.js +0 -18
  607. package/legacy/lib/lodash/_mapCacheHas.js +0 -18
  608. package/legacy/lib/lodash/_mapCacheSet.js +0 -23
  609. package/legacy/lib/lodash/_mapToArray.js +0 -19
  610. package/legacy/lib/lodash/_nativeCreate.js +0 -7
  611. package/legacy/lib/lodash/_nativeKeys.js +0 -7
  612. package/legacy/lib/lodash/_nodeUtil.js +0 -25
  613. package/legacy/lib/lodash/_objectToString.js +0 -24
  614. package/legacy/lib/lodash/_overArg.js +0 -17
  615. package/legacy/lib/lodash/_root.js +0 -11
  616. package/legacy/lib/lodash/_setCacheAdd.js +0 -22
  617. package/legacy/lib/lodash/_setCacheHas.js +0 -16
  618. package/legacy/lib/lodash/_setToArray.js +0 -19
  619. package/legacy/lib/lodash/_stackClear.js +0 -17
  620. package/legacy/lib/lodash/_stackDelete.js +0 -19
  621. package/legacy/lib/lodash/_stackGet.js +0 -16
  622. package/legacy/lib/lodash/_stackHas.js +0 -16
  623. package/legacy/lib/lodash/_stackSet.js +0 -40
  624. package/legacy/lib/lodash/_toSource.js +0 -30
  625. package/legacy/lib/lodash/date.default.js +0 -4
  626. package/legacy/lib/lodash/date.js +0 -2
  627. package/legacy/lib/lodash/eq.js +0 -39
  628. package/legacy/lib/lodash/function.default.js +0 -4
  629. package/legacy/lib/lodash/function.js +0 -2
  630. package/legacy/lib/lodash/isArguments.js +0 -38
  631. package/legacy/lib/lodash/isArray.js +0 -27
  632. package/legacy/lib/lodash/isArrayLike.js +0 -35
  633. package/legacy/lib/lodash/isBuffer.js +0 -40
  634. package/legacy/lib/lodash/isDeepEqual.js +0 -45
  635. package/legacy/lib/lodash/isFunction.js +0 -40
  636. package/legacy/lib/lodash/isLength.js +0 -36
  637. package/legacy/lib/lodash/isObject.js +0 -36
  638. package/legacy/lib/lodash/isObjectLike.js +0 -33
  639. package/legacy/lib/lodash/isSymbol.js +0 -31
  640. package/legacy/lib/lodash/isTypedArray.js +0 -28
  641. package/legacy/lib/lodash/keys.js +0 -39
  642. package/legacy/lib/lodash/lang.default.js +0 -28
  643. package/legacy/lib/lodash/lang.js +0 -14
  644. package/legacy/lib/lodash/now.js +0 -25
  645. package/legacy/lib/lodash/object.default.js +0 -4
  646. package/legacy/lib/lodash/object.js +0 -2
  647. package/legacy/lib/lodash/stubArray.js +0 -25
  648. package/legacy/lib/lodash/stubFalse.js +0 -20
  649. package/legacy/lib/lodash/toNumber.js +0 -70
  650. package/legacy/lib/lodash/util.default.js +0 -6
  651. package/legacy/lib/lodash/util.js +0 -3
  652. package/lib/lodash/_DataView.d.ts +0 -2
  653. package/lib/lodash/_DataView.js +0 -8
  654. package/lib/lodash/_Hash.d.ts +0 -29
  655. package/lib/lodash/_Hash.js +0 -33
  656. package/lib/lodash/_ListCache.d.ts +0 -29
  657. package/lib/lodash/_ListCache.js +0 -33
  658. package/lib/lodash/_Map.d.ts +0 -2
  659. package/lib/lodash/_Map.js +0 -8
  660. package/lib/lodash/_MapCache.d.ts +0 -29
  661. package/lib/lodash/_MapCache.js +0 -33
  662. package/lib/lodash/_Promise.d.ts +0 -2
  663. package/lib/lodash/_Promise.js +0 -8
  664. package/lib/lodash/_Set.d.ts +0 -2
  665. package/lib/lodash/_Set.js +0 -8
  666. package/lib/lodash/_SetCache.d.ts +0 -28
  667. package/lib/lodash/_SetCache.js +0 -28
  668. package/lib/lodash/_Stack.d.ts +0 -32
  669. package/lib/lodash/_Stack.js +0 -28
  670. package/lib/lodash/_Symbol.d.ts +0 -3
  671. package/lib/lodash/_Symbol.js +0 -7
  672. package/lib/lodash/_Uint8Array.d.ts +0 -3
  673. package/lib/lodash/_Uint8Array.js +0 -7
  674. package/lib/lodash/_WeakMap.d.ts +0 -2
  675. package/lib/lodash/_WeakMap.js +0 -8
  676. package/lib/lodash/_arrayFilter.d.ts +0 -11
  677. package/lib/lodash/_arrayFilter.js +0 -29
  678. package/lib/lodash/_arrayLikeKeys.d.ts +0 -10
  679. package/lib/lodash/_arrayLikeKeys.js +0 -46
  680. package/lib/lodash/_arrayPush.d.ts +0 -10
  681. package/lib/lodash/_arrayPush.js +0 -23
  682. package/lib/lodash/_arraySome.d.ts +0 -12
  683. package/lib/lodash/_arraySome.js +0 -26
  684. package/lib/lodash/_assocIndexOf.d.ts +0 -10
  685. package/lib/lodash/_assocIndexOf.js +0 -25
  686. package/lib/lodash/_baseGetAllKeys.d.ts +0 -13
  687. package/lib/lodash/_baseGetAllKeys.js +0 -22
  688. package/lib/lodash/_baseGetTag.d.ts +0 -9
  689. package/lib/lodash/_baseGetTag.js +0 -29
  690. package/lib/lodash/_baseIsArguments.d.ts +0 -9
  691. package/lib/lodash/_baseIsArguments.js +0 -20
  692. package/lib/lodash/_baseIsEqual.d.ts +0 -16
  693. package/lib/lodash/_baseIsEqual.js +0 -32
  694. package/lib/lodash/_baseIsEqualDeep.d.ts +0 -16
  695. package/lib/lodash/_baseIsEqualDeep.js +0 -85
  696. package/lib/lodash/_baseIsNative.d.ts +0 -10
  697. package/lib/lodash/_baseIsNative.js +0 -47
  698. package/lib/lodash/_baseIsTypedArray.d.ts +0 -9
  699. package/lib/lodash/_baseIsTypedArray.js +0 -49
  700. package/lib/lodash/_baseKeys.d.ts +0 -9
  701. package/lib/lodash/_baseKeys.js +0 -35
  702. package/lib/lodash/_baseTimes.d.ts +0 -11
  703. package/lib/lodash/_baseTimes.js +0 -23
  704. package/lib/lodash/_baseUnary.d.ts +0 -9
  705. package/lib/lodash/_baseUnary.js +0 -16
  706. package/lib/lodash/_cacheHas.d.ts +0 -10
  707. package/lib/lodash/_cacheHas.js +0 -15
  708. package/lib/lodash/_coreJsData.d.ts +0 -3
  709. package/lib/lodash/_coreJsData.js +0 -7
  710. package/lib/lodash/_equalArrays.d.ts +0 -15
  711. package/lib/lodash/_equalArrays.js +0 -84
  712. package/lib/lodash/_equalByTag.d.ts +0 -19
  713. package/lib/lodash/_equalByTag.js +0 -117
  714. package/lib/lodash/_equalObjects.d.ts +0 -15
  715. package/lib/lodash/_equalObjects.js +0 -92
  716. package/lib/lodash/_freeGlobal.d.ts +0 -3
  717. package/lib/lodash/_freeGlobal.js +0 -5
  718. package/lib/lodash/_getAllKeys.d.ts +0 -9
  719. package/lib/lodash/_getAllKeys.js +0 -18
  720. package/lib/lodash/_getMapData.d.ts +0 -10
  721. package/lib/lodash/_getMapData.js +0 -18
  722. package/lib/lodash/_getNative.d.ts +0 -10
  723. package/lib/lodash/_getNative.js +0 -19
  724. package/lib/lodash/_getRawTag.d.ts +0 -9
  725. package/lib/lodash/_getRawTag.js +0 -50
  726. package/lib/lodash/_getSymbols.d.ts +0 -2
  727. package/lib/lodash/_getSymbols.js +0 -32
  728. package/lib/lodash/_getTag.d.ts +0 -10
  729. package/lib/lodash/_getTag.js +0 -64
  730. package/lib/lodash/_getValue.d.ts +0 -10
  731. package/lib/lodash/_getValue.js +0 -15
  732. package/lib/lodash/_hashClear.d.ts +0 -13
  733. package/lib/lodash/_hashClear.js +0 -17
  734. package/lib/lodash/_hashDelete.d.ts +0 -12
  735. package/lib/lodash/_hashDelete.js +0 -19
  736. package/lib/lodash/_hashGet.d.ts +0 -11
  737. package/lib/lodash/_hashGet.js +0 -34
  738. package/lib/lodash/_hashHas.d.ts +0 -11
  739. package/lib/lodash/_hashHas.js +0 -25
  740. package/lib/lodash/_hashSet.d.ts +0 -12
  741. package/lib/lodash/_hashSet.js +0 -25
  742. package/lib/lodash/_isIndex.d.ts +0 -10
  743. package/lib/lodash/_isIndex.js +0 -23
  744. package/lib/lodash/_isKeyable.d.ts +0 -9
  745. package/lib/lodash/_isKeyable.js +0 -15
  746. package/lib/lodash/_isMasked.d.ts +0 -9
  747. package/lib/lodash/_isMasked.js +0 -23
  748. package/lib/lodash/_isPrototype.d.ts +0 -9
  749. package/lib/lodash/_isPrototype.js +0 -19
  750. package/lib/lodash/_listCacheClear.d.ts +0 -13
  751. package/lib/lodash/_listCacheClear.js +0 -15
  752. package/lib/lodash/_listCacheDelete.d.ts +0 -11
  753. package/lib/lodash/_listCacheDelete.js +0 -40
  754. package/lib/lodash/_listCacheGet.d.ts +0 -11
  755. package/lib/lodash/_listCacheGet.js +0 -20
  756. package/lib/lodash/_listCacheHas.d.ts +0 -11
  757. package/lib/lodash/_listCacheHas.js +0 -18
  758. package/lib/lodash/_listCacheSet.d.ts +0 -12
  759. package/lib/lodash/_listCacheSet.js +0 -29
  760. package/lib/lodash/_mapCacheClear.d.ts +0 -18
  761. package/lib/lodash/_mapCacheClear.js +0 -23
  762. package/lib/lodash/_mapCacheDelete.d.ts +0 -11
  763. package/lib/lodash/_mapCacheDelete.js +0 -20
  764. package/lib/lodash/_mapCacheGet.d.ts +0 -11
  765. package/lib/lodash/_mapCacheGet.js +0 -18
  766. package/lib/lodash/_mapCacheHas.d.ts +0 -11
  767. package/lib/lodash/_mapCacheHas.js +0 -18
  768. package/lib/lodash/_mapCacheSet.d.ts +0 -12
  769. package/lib/lodash/_mapCacheSet.js +0 -23
  770. package/lib/lodash/_mapToArray.d.ts +0 -9
  771. package/lib/lodash/_mapToArray.js +0 -19
  772. package/lib/lodash/_nativeCreate.d.ts +0 -2
  773. package/lib/lodash/_nativeCreate.js +0 -7
  774. package/lib/lodash/_nativeKeys.d.ts +0 -2
  775. package/lib/lodash/_nativeKeys.js +0 -7
  776. package/lib/lodash/_nodeUtil.d.ts +0 -3
  777. package/lib/lodash/_nodeUtil.js +0 -24
  778. package/lib/lodash/_objectToString.d.ts +0 -9
  779. package/lib/lodash/_objectToString.js +0 -24
  780. package/lib/lodash/_overArg.d.ts +0 -10
  781. package/lib/lodash/_overArg.js +0 -17
  782. package/lib/lodash/_root.d.ts +0 -3
  783. package/lib/lodash/_root.js +0 -10
  784. package/lib/lodash/_setCacheAdd.d.ts +0 -12
  785. package/lib/lodash/_setCacheAdd.js +0 -22
  786. package/lib/lodash/_setCacheHas.d.ts +0 -11
  787. package/lib/lodash/_setCacheHas.js +0 -16
  788. package/lib/lodash/_setToArray.d.ts +0 -9
  789. package/lib/lodash/_setToArray.js +0 -19
  790. package/lib/lodash/_stackClear.d.ts +0 -14
  791. package/lib/lodash/_stackClear.js +0 -17
  792. package/lib/lodash/_stackDelete.d.ts +0 -24
  793. package/lib/lodash/_stackDelete.js +0 -19
  794. package/lib/lodash/_stackGet.d.ts +0 -11
  795. package/lib/lodash/_stackGet.js +0 -16
  796. package/lib/lodash/_stackHas.d.ts +0 -11
  797. package/lib/lodash/_stackHas.js +0 -16
  798. package/lib/lodash/_stackSet.d.ts +0 -28
  799. package/lib/lodash/_stackSet.js +0 -40
  800. package/lib/lodash/_toSource.d.ts +0 -9
  801. package/lib/lodash/_toSource.js +0 -30
  802. package/lib/lodash/date.d.ts +0 -2
  803. package/lib/lodash/date.default.d.ts +0 -5
  804. package/lib/lodash/date.default.js +0 -4
  805. package/lib/lodash/date.js +0 -2
  806. package/lib/lodash/eq.d.ts +0 -34
  807. package/lib/lodash/eq.js +0 -39
  808. package/lib/lodash/function.d.ts +0 -1
  809. package/lib/lodash/function.default.d.ts +0 -4
  810. package/lib/lodash/function.default.js +0 -4
  811. package/lib/lodash/function.js +0 -2
  812. package/lib/lodash/isArguments.d.ts +0 -2
  813. package/lib/lodash/isArguments.js +0 -38
  814. package/lib/lodash/isArray.d.ts +0 -25
  815. package/lib/lodash/isArray.js +0 -27
  816. package/lib/lodash/isArrayLike.d.ts +0 -27
  817. package/lib/lodash/isArrayLike.js +0 -35
  818. package/lib/lodash/isBuffer.d.ts +0 -19
  819. package/lib/lodash/isBuffer.js +0 -39
  820. package/lib/lodash/isDeepEqual.d.ts +0 -30
  821. package/lib/lodash/isDeepEqual.js +0 -45
  822. package/lib/lodash/isFunction.d.ts +0 -19
  823. package/lib/lodash/isFunction.js +0 -40
  824. package/lib/lodash/isLength.d.ts +0 -28
  825. package/lib/lodash/isLength.js +0 -36
  826. package/lib/lodash/isObject.d.ts +0 -27
  827. package/lib/lodash/isObject.js +0 -33
  828. package/lib/lodash/isObjectLike.d.ts +0 -26
  829. package/lib/lodash/isObjectLike.js +0 -31
  830. package/lib/lodash/isSymbol.d.ts +0 -19
  831. package/lib/lodash/isSymbol.js +0 -30
  832. package/lib/lodash/isTypedArray.d.ts +0 -19
  833. package/lib/lodash/isTypedArray.js +0 -28
  834. package/lib/lodash/keys.d.ts +0 -30
  835. package/lib/lodash/keys.js +0 -39
  836. package/lib/lodash/lang.d.ts +0 -14
  837. package/lib/lodash/lang.default.d.ts +0 -29
  838. package/lib/lodash/lang.default.js +0 -28
  839. package/lib/lodash/lang.js +0 -14
  840. package/lib/lodash/now.d.ts +0 -18
  841. package/lib/lodash/now.js +0 -25
  842. package/lib/lodash/object.d.ts +0 -2
  843. package/lib/lodash/object.default.d.ts +0 -5
  844. package/lib/lodash/object.default.js +0 -4
  845. package/lib/lodash/object.js +0 -2
  846. package/lib/lodash/stubArray.d.ts +0 -20
  847. package/lib/lodash/stubArray.js +0 -25
  848. package/lib/lodash/stubFalse.d.ts +0 -15
  849. package/lib/lodash/stubFalse.js +0 -20
  850. package/lib/lodash/toNumber.d.ts +0 -25
  851. package/lib/lodash/toNumber.js +0 -70
  852. package/lib/lodash/util.d.ts +0 -3
  853. package/lib/lodash/util.default.d.ts +0 -7
  854. package/lib/lodash/util.default.js +0 -6
  855. package/lib/lodash/util.js +0 -3
  856. package/modern/hooks/core/preProcessing/index.js +0 -3
  857. package/modern/hooks/core/preProcessing/useGridPreProcessing.js +0 -49
  858. package/modern/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  859. package/modern/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -70
  860. package/modern/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  861. package/modern/hooks/features/keyboard/useGridKeyboard.js +0 -70
  862. package/modern/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  863. package/modern/lib/lodash/_DataView.js +0 -8
  864. package/modern/lib/lodash/_Hash.js +0 -33
  865. package/modern/lib/lodash/_ListCache.js +0 -33
  866. package/modern/lib/lodash/_Map.js +0 -8
  867. package/modern/lib/lodash/_MapCache.js +0 -33
  868. package/modern/lib/lodash/_Promise.js +0 -8
  869. package/modern/lib/lodash/_Set.js +0 -8
  870. package/modern/lib/lodash/_SetCache.js +0 -28
  871. package/modern/lib/lodash/_Stack.js +0 -28
  872. package/modern/lib/lodash/_Symbol.js +0 -7
  873. package/modern/lib/lodash/_Uint8Array.js +0 -7
  874. package/modern/lib/lodash/_WeakMap.js +0 -8
  875. package/modern/lib/lodash/_arrayFilter.js +0 -29
  876. package/modern/lib/lodash/_arrayLikeKeys.js +0 -46
  877. package/modern/lib/lodash/_arrayPush.js +0 -23
  878. package/modern/lib/lodash/_arraySome.js +0 -26
  879. package/modern/lib/lodash/_assocIndexOf.js +0 -25
  880. package/modern/lib/lodash/_baseGetAllKeys.js +0 -22
  881. package/modern/lib/lodash/_baseGetTag.js +0 -29
  882. package/modern/lib/lodash/_baseIsArguments.js +0 -20
  883. package/modern/lib/lodash/_baseIsEqual.js +0 -32
  884. package/modern/lib/lodash/_baseIsEqualDeep.js +0 -85
  885. package/modern/lib/lodash/_baseIsNative.js +0 -47
  886. package/modern/lib/lodash/_baseIsTypedArray.js +0 -49
  887. package/modern/lib/lodash/_baseKeys.js +0 -35
  888. package/modern/lib/lodash/_baseTimes.js +0 -23
  889. package/modern/lib/lodash/_baseUnary.js +0 -16
  890. package/modern/lib/lodash/_cacheHas.js +0 -15
  891. package/modern/lib/lodash/_coreJsData.js +0 -7
  892. package/modern/lib/lodash/_equalArrays.js +0 -84
  893. package/modern/lib/lodash/_equalByTag.js +0 -117
  894. package/modern/lib/lodash/_equalObjects.js +0 -92
  895. package/modern/lib/lodash/_freeGlobal.js +0 -5
  896. package/modern/lib/lodash/_getAllKeys.js +0 -18
  897. package/modern/lib/lodash/_getMapData.js +0 -18
  898. package/modern/lib/lodash/_getNative.js +0 -19
  899. package/modern/lib/lodash/_getRawTag.js +0 -50
  900. package/modern/lib/lodash/_getSymbols.js +0 -32
  901. package/modern/lib/lodash/_getTag.js +0 -64
  902. package/modern/lib/lodash/_getValue.js +0 -15
  903. package/modern/lib/lodash/_hashClear.js +0 -17
  904. package/modern/lib/lodash/_hashDelete.js +0 -19
  905. package/modern/lib/lodash/_hashGet.js +0 -34
  906. package/modern/lib/lodash/_hashHas.js +0 -25
  907. package/modern/lib/lodash/_hashSet.js +0 -25
  908. package/modern/lib/lodash/_isIndex.js +0 -23
  909. package/modern/lib/lodash/_isKeyable.js +0 -15
  910. package/modern/lib/lodash/_isMasked.js +0 -23
  911. package/modern/lib/lodash/_isPrototype.js +0 -19
  912. package/modern/lib/lodash/_listCacheClear.js +0 -15
  913. package/modern/lib/lodash/_listCacheDelete.js +0 -40
  914. package/modern/lib/lodash/_listCacheGet.js +0 -20
  915. package/modern/lib/lodash/_listCacheHas.js +0 -18
  916. package/modern/lib/lodash/_listCacheSet.js +0 -29
  917. package/modern/lib/lodash/_mapCacheClear.js +0 -23
  918. package/modern/lib/lodash/_mapCacheDelete.js +0 -20
  919. package/modern/lib/lodash/_mapCacheGet.js +0 -18
  920. package/modern/lib/lodash/_mapCacheHas.js +0 -18
  921. package/modern/lib/lodash/_mapCacheSet.js +0 -23
  922. package/modern/lib/lodash/_mapToArray.js +0 -19
  923. package/modern/lib/lodash/_nativeCreate.js +0 -7
  924. package/modern/lib/lodash/_nativeKeys.js +0 -7
  925. package/modern/lib/lodash/_nodeUtil.js +0 -24
  926. package/modern/lib/lodash/_objectToString.js +0 -24
  927. package/modern/lib/lodash/_overArg.js +0 -17
  928. package/modern/lib/lodash/_root.js +0 -10
  929. package/modern/lib/lodash/_setCacheAdd.js +0 -22
  930. package/modern/lib/lodash/_setCacheHas.js +0 -16
  931. package/modern/lib/lodash/_setToArray.js +0 -19
  932. package/modern/lib/lodash/_stackClear.js +0 -17
  933. package/modern/lib/lodash/_stackDelete.js +0 -19
  934. package/modern/lib/lodash/_stackGet.js +0 -16
  935. package/modern/lib/lodash/_stackHas.js +0 -16
  936. package/modern/lib/lodash/_stackSet.js +0 -40
  937. package/modern/lib/lodash/_toSource.js +0 -30
  938. package/modern/lib/lodash/date.default.js +0 -4
  939. package/modern/lib/lodash/date.js +0 -2
  940. package/modern/lib/lodash/eq.js +0 -39
  941. package/modern/lib/lodash/function.default.js +0 -4
  942. package/modern/lib/lodash/function.js +0 -2
  943. package/modern/lib/lodash/isArguments.js +0 -38
  944. package/modern/lib/lodash/isArray.js +0 -27
  945. package/modern/lib/lodash/isArrayLike.js +0 -35
  946. package/modern/lib/lodash/isBuffer.js +0 -39
  947. package/modern/lib/lodash/isDeepEqual.js +0 -45
  948. package/modern/lib/lodash/isFunction.js +0 -40
  949. package/modern/lib/lodash/isLength.js +0 -36
  950. package/modern/lib/lodash/isObject.js +0 -33
  951. package/modern/lib/lodash/isObjectLike.js +0 -31
  952. package/modern/lib/lodash/isSymbol.js +0 -30
  953. package/modern/lib/lodash/isTypedArray.js +0 -28
  954. package/modern/lib/lodash/keys.js +0 -39
  955. package/modern/lib/lodash/lang.default.js +0 -28
  956. package/modern/lib/lodash/lang.js +0 -14
  957. package/modern/lib/lodash/now.js +0 -25
  958. package/modern/lib/lodash/object.default.js +0 -4
  959. package/modern/lib/lodash/object.js +0 -2
  960. package/modern/lib/lodash/stubArray.js +0 -25
  961. package/modern/lib/lodash/stubFalse.js +0 -20
  962. package/modern/lib/lodash/toNumber.js +0 -70
  963. package/modern/lib/lodash/util.default.js +0 -6
  964. package/modern/lib/lodash/util.js +0 -3
  965. package/node/hooks/core/preProcessing/index.js +0 -44
  966. package/node/hooks/core/preProcessing/useGridPreProcessing.js +0 -69
  967. package/node/hooks/core/rowGroupsPreProcessing/index.js +0 -31
  968. package/node/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -87
  969. package/node/hooks/features/keyboard/useGridKeyboard.js +0 -91
  970. package/node/lib/lodash/_DataView.js +0 -20
  971. package/node/lib/lodash/_Hash.js +0 -48
  972. package/node/lib/lodash/_ListCache.js +0 -48
  973. package/node/lib/lodash/_Map.js +0 -20
  974. package/node/lib/lodash/_MapCache.js +0 -48
  975. package/node/lib/lodash/_Promise.js +0 -20
  976. package/node/lib/lodash/_Set.js +0 -20
  977. package/node/lib/lodash/_SetCache.js +0 -41
  978. package/node/lib/lodash/_Stack.js +0 -44
  979. package/node/lib/lodash/_Symbol.js +0 -18
  980. package/node/lib/lodash/_Uint8Array.js +0 -18
  981. package/node/lib/lodash/_WeakMap.js +0 -20
  982. package/node/lib/lodash/_arrayFilter.js +0 -35
  983. package/node/lib/lodash/_arrayLikeKeys.js +0 -62
  984. package/node/lib/lodash/_arrayPush.js +0 -29
  985. package/node/lib/lodash/_arraySome.js +0 -32
  986. package/node/lib/lodash/_assocIndexOf.js +0 -36
  987. package/node/lib/lodash/_baseGetAllKeys.js +0 -34
  988. package/node/lib/lodash/_baseGetTag.js +0 -42
  989. package/node/lib/lodash/_baseIsArguments.js +0 -32
  990. package/node/lib/lodash/_baseIsEqual.js +0 -44
  991. package/node/lib/lodash/_baseIsEqualDeep.js +0 -103
  992. package/node/lib/lodash/_baseIsNative.js +0 -61
  993. package/node/lib/lodash/_baseIsTypedArray.js +0 -62
  994. package/node/lib/lodash/_baseKeys.js +0 -47
  995. package/node/lib/lodash/_baseTimes.js +0 -29
  996. package/node/lib/lodash/_baseUnary.js +0 -22
  997. package/node/lib/lodash/_cacheHas.js +0 -21
  998. package/node/lib/lodash/_coreJsData.js +0 -18
  999. package/node/lib/lodash/_equalArrays.js +0 -97
  1000. package/node/lib/lodash/_equalByTag.js +0 -133
  1001. package/node/lib/lodash/_equalObjects.js +0 -103
  1002. package/node/lib/lodash/_freeGlobal.js +0 -10
  1003. package/node/lib/lodash/_getAllKeys.js +0 -31
  1004. package/node/lib/lodash/_getMapData.js +0 -29
  1005. package/node/lib/lodash/_getNative.js +0 -31
  1006. package/node/lib/lodash/_getRawTag.js +0 -61
  1007. package/node/lib/lodash/_getSymbols.js +0 -44
  1008. package/node/lib/lodash/_getTag.js +0 -81
  1009. package/node/lib/lodash/_getValue.js +0 -21
  1010. package/node/lib/lodash/_hashClear.js +0 -28
  1011. package/node/lib/lodash/_hashDelete.js +0 -25
  1012. package/node/lib/lodash/_hashGet.js +0 -45
  1013. package/node/lib/lodash/_hashHas.js +0 -36
  1014. package/node/lib/lodash/_hashSet.js +0 -36
  1015. package/node/lib/lodash/_isIndex.js +0 -28
  1016. package/node/lib/lodash/_isKeyable.js +0 -21
  1017. package/node/lib/lodash/_isMasked.js +0 -34
  1018. package/node/lib/lodash/_isPrototype.js +0 -24
  1019. package/node/lib/lodash/_listCacheClear.js +0 -21
  1020. package/node/lib/lodash/_listCacheDelete.js +0 -51
  1021. package/node/lib/lodash/_listCacheGet.js +0 -31
  1022. package/node/lib/lodash/_listCacheHas.js +0 -29
  1023. package/node/lib/lodash/_listCacheSet.js +0 -40
  1024. package/node/lib/lodash/_mapCacheClear.js +0 -36
  1025. package/node/lib/lodash/_mapCacheDelete.js +0 -31
  1026. package/node/lib/lodash/_mapCacheGet.js +0 -29
  1027. package/node/lib/lodash/_mapCacheHas.js +0 -29
  1028. package/node/lib/lodash/_mapCacheSet.js +0 -34
  1029. package/node/lib/lodash/_mapToArray.js +0 -25
  1030. package/node/lib/lodash/_nativeCreate.js +0 -18
  1031. package/node/lib/lodash/_nativeKeys.js +0 -18
  1032. package/node/lib/lodash/_nodeUtil.js +0 -35
  1033. package/node/lib/lodash/_objectToString.js +0 -29
  1034. package/node/lib/lodash/_overArg.js +0 -23
  1035. package/node/lib/lodash/_root.js +0 -21
  1036. package/node/lib/lodash/_setCacheAdd.js +0 -27
  1037. package/node/lib/lodash/_setCacheHas.js +0 -22
  1038. package/node/lib/lodash/_setToArray.js +0 -25
  1039. package/node/lib/lodash/_stackClear.js +0 -28
  1040. package/node/lib/lodash/_stackDelete.js +0 -25
  1041. package/node/lib/lodash/_stackGet.js +0 -22
  1042. package/node/lib/lodash/_stackHas.js +0 -22
  1043. package/node/lib/lodash/_stackSet.js +0 -53
  1044. package/node/lib/lodash/_toSource.js +0 -35
  1045. package/node/lib/lodash/date.default.js +0 -15
  1046. package/node/lib/lodash/date.js +0 -23
  1047. package/node/lib/lodash/eq.js +0 -45
  1048. package/node/lib/lodash/function.default.js +0 -15
  1049. package/node/lib/lodash/function.js +0 -23
  1050. package/node/lib/lodash/isArguments.js +0 -50
  1051. package/node/lib/lodash/isArray.js +0 -32
  1052. package/node/lib/lodash/isArrayLike.js +0 -47
  1053. package/node/lib/lodash/isBuffer.js +0 -51
  1054. package/node/lib/lodash/isDeepEqual.js +0 -56
  1055. package/node/lib/lodash/isFunction.js +0 -52
  1056. package/node/lib/lodash/isLength.js +0 -41
  1057. package/node/lib/lodash/isObject.js +0 -39
  1058. package/node/lib/lodash/isObjectLike.js +0 -37
  1059. package/node/lib/lodash/isSymbol.js +0 -42
  1060. package/node/lib/lodash/isTypedArray.js +0 -41
  1061. package/node/lib/lodash/keys.js +0 -52
  1062. package/node/lib/lodash/lang.default.js +0 -51
  1063. package/node/lib/lodash/lang.js +0 -119
  1064. package/node/lib/lodash/now.js +0 -36
  1065. package/node/lib/lodash/object.default.js +0 -15
  1066. package/node/lib/lodash/object.js +0 -23
  1067. package/node/lib/lodash/stubArray.js +0 -31
  1068. package/node/lib/lodash/stubFalse.js +0 -26
  1069. package/node/lib/lodash/toNumber.js +0 -82
  1070. package/node/lib/lodash/util.default.js +0 -18
  1071. package/node/lib/lodash/util.js +0 -31
@@ -1,12 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { GridEvents } from '../../../models/events';
4
- import { checkGridRowIdIsValid } from '../../../models/gridRows';
5
4
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
5
  import { useGridLogger } from '../../utils/useGridLogger';
7
- import { gridRowCountSelector, gridRowsLookupSelector, gridRowTreeSelector, gridRowIdsSelector } from './gridRowsSelector';
6
+ import { gridRowCountSelector, gridRowsLookupSelector, gridRowTreeSelector, gridRowIdsSelector, gridRowGroupingNameSelector } from './gridRowsSelector';
8
7
  import { GridSignature, useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
9
8
  import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
9
+ import { checkGridRowIdIsValid } from './gridRowsUtils';
10
10
 
11
11
  function getGridRowId(rowModel, getRowId, detailErrorMessage) {
12
12
  const id = getRowId ? getRowId(rowModel) : rowModel.id;
@@ -43,16 +43,17 @@ const convertGridRowsPropToState = ({
43
43
  };
44
44
  };
45
45
 
46
- const getRowsStateFromCache = (rowsCache, previousTree, apiRef, rowCountProp) => {
46
+ const getRowsStateFromCache = (rowsCache, previousTree, apiRef, rowCountProp, loadingProp) => {
47
47
  const {
48
48
  value
49
49
  } = rowsCache.state;
50
50
  const rowCount = rowCountProp ?? 0;
51
- const groupingResponse = apiRef.current.unstable_groupRows(_extends({}, value, {
51
+ const groupingResponse = apiRef.current.unstable_applyStrategyProcessor('rowTreeCreation', _extends({}, value, {
52
52
  previousTree
53
53
  }));
54
54
  const dataTopLevelRowCount = groupingResponse.treeDepth === 1 ? groupingResponse.ids.length : Object.values(groupingResponse.tree).filter(node => node.parent == null).length;
55
55
  return _extends({}, groupingResponse, {
56
+ loading: loadingProp,
56
57
  totalRowCount: Math.max(rowCount, groupingResponse.ids.length),
57
58
  totalTopLevelRowCount: Math.max(rowCount, dataTopLevelRowCount)
58
59
  });
@@ -75,15 +76,11 @@ export const rowsStateInitializer = (state, props, apiRef) => {
75
76
  lastUpdateMs: Date.now()
76
77
  };
77
78
  return _extends({}, state, {
78
- rows: getRowsStateFromCache(rowsCache, null, apiRef, props.rowCount),
79
+ rows: getRowsStateFromCache(rowsCache, null, apiRef, props.rowCount, props.loading),
79
80
  rowsCache // TODO remove from state
80
81
 
81
82
  });
82
83
  };
83
- /**
84
- * @requires useGridRowGroupsPreProcessing (method)
85
- */
86
-
87
84
  export const useGridRows = (apiRef, props) => {
88
85
  if (process.env.NODE_ENV !== 'production') {
89
86
  // Freeze rows for immutability
@@ -101,13 +98,12 @@ export const useGridRows = (apiRef, props) => {
101
98
  acc[id] = index;
102
99
  return acc;
103
100
  }, {}), [currentPage.rows]);
104
- const getRowIndexRelativeToVisibleRows = React.useCallback(id => lookup[id], [lookup]);
105
101
  const throttledRowsChange = React.useCallback((newState, throttle) => {
106
102
  const run = () => {
107
103
  rowsCache.current.timeout = null;
108
104
  rowsCache.current.lastUpdateMs = Date.now();
109
105
  apiRef.current.setState(state => _extends({}, state, {
110
- rows: getRowsStateFromCache(rowsCache.current, gridRowTreeSelector(apiRef), apiRef, props.rowCount)
106
+ rows: getRowsStateFromCache(rowsCache.current, gridRowTreeSelector(apiRef), apiRef, props.rowCount, props.loading)
111
107
  }));
112
108
  apiRef.current.publishEvent(GridEvents.rowsSet);
113
109
  apiRef.current.forceUpdate();
@@ -133,7 +129,11 @@ export const useGridRows = (apiRef, props) => {
133
129
  }
134
130
 
135
131
  run();
136
- }, [props.throttleRowsMs, props.rowCount, apiRef]);
132
+ }, [props.throttleRowsMs, props.rowCount, props.loading, apiRef]);
133
+ /**
134
+ * API METHODS
135
+ */
136
+
137
137
  const setRows = React.useCallback(rows => {
138
138
  logger.debug(`Updating all rows, new length ${rows.length}`);
139
139
  throttledRowsChange(convertGridRowsPropToState({
@@ -146,7 +146,7 @@ export const useGridRows = (apiRef, props) => {
146
146
  if (props.signature === GridSignature.DataGrid && updates.length > 1) {
147
147
  // TODO: Add test with direct call to `apiRef.current.updateRows` in DataGrid after enabling the `apiRef` on the free plan.
148
148
  throw new Error(["MUI: You can't update several rows at once in `apiRef.current.updateRows` on the DataGrid.", 'You need to upgrade to the DataGridPro component to unlock this feature.'].join('\n'));
149
- } // we removes duplicate updates. A server can batch updates, and send several updates for the same row in one fn call.
149
+ } // we remove duplicate updates. A server can batch updates, and send several updates for the same row in one fn call.
150
150
 
151
151
 
152
152
  const uniqUpdates = new Map();
@@ -200,6 +200,7 @@ export const useGridRows = (apiRef, props) => {
200
200
  }, [apiRef]);
201
201
  const getRowsCount = React.useCallback(() => gridRowCountSelector(apiRef), [apiRef]);
202
202
  const getAllRowIds = React.useCallback(() => gridRowIdsSelector(apiRef), [apiRef]);
203
+ const getRowIndexRelativeToVisibleRows = React.useCallback(id => lookup[id], [lookup]);
203
204
  const setRowChildrenExpansion = React.useCallback((id, isExpanded) => {
204
205
  const currentNode = apiRef.current.getRowNode(id);
205
206
 
@@ -224,6 +225,61 @@ export const useGridRows = (apiRef, props) => {
224
225
  apiRef.current.publishEvent(GridEvents.rowExpansionChange, newNode);
225
226
  }, [apiRef]);
226
227
  const getRowNode = React.useCallback(id => gridRowTreeSelector(apiRef)[id] ?? null, [apiRef]);
228
+ const rowApi = {
229
+ getRow,
230
+ getRowModels,
231
+ getRowsCount,
232
+ getAllRowIds,
233
+ setRows,
234
+ updateRows,
235
+ setRowChildrenExpansion,
236
+ getRowNode,
237
+ getRowIndexRelativeToVisibleRows
238
+ };
239
+ /**
240
+ * EVENTS
241
+ */
242
+
243
+ const groupRows = React.useCallback(() => {
244
+ logger.info(`Row grouping pre-processing have changed, regenerating the row tree`);
245
+ let rows;
246
+
247
+ if (rowsCache.current.state.rowsBeforePartialUpdates === props.rows) {
248
+ // The `props.rows` has not changed since the last row grouping
249
+ // We can keep the potential updates stored in `inputRowsAfterUpdates` on the new grouping
250
+ rows = undefined;
251
+ } else {
252
+ // The `props.rows` has changed since the last row grouping
253
+ // We must use the new `props.rows` on the new grouping
254
+ // This occurs because this event is triggered before the `useEffect` on the rows when both the grouping pre-processing and the rows changes on the same render
255
+ rows = props.rows;
256
+ }
257
+
258
+ throttledRowsChange(convertGridRowsPropToState({
259
+ rows,
260
+ getRowId: props.getRowId,
261
+ prevState: rowsCache.current.state
262
+ }), false);
263
+ }, [logger, throttledRowsChange, props.getRowId, props.rows]);
264
+ const handleStrategyProcessorChange = React.useCallback(methodName => {
265
+ if (methodName === 'rowTreeCreation') {
266
+ groupRows();
267
+ }
268
+ }, [groupRows]);
269
+ const handleStrategyActivityChange = React.useCallback(() => {
270
+ // `rowTreeCreation` is the only processor ran when `strategyAvailabilityChange` is fired.
271
+ // All the other processors listen to `rowsSet` which will be published by the `groupRows` method below.
272
+ if (apiRef.current.unstable_getActiveStrategy('rowTree') !== gridRowGroupingNameSelector(apiRef)) {
273
+ groupRows();
274
+ }
275
+ }, [apiRef, groupRows]);
276
+ useGridApiEventHandler(apiRef, GridEvents.activeStrategyProcessorChange, handleStrategyProcessorChange);
277
+ useGridApiEventHandler(apiRef, GridEvents.strategyAvailabilityChange, handleStrategyActivityChange);
278
+ useGridApiMethod(apiRef, rowApi, 'GridRowApi');
279
+ /**
280
+ * EFFECTS
281
+ */
282
+
227
283
  React.useEffect(() => {
228
284
  return () => {
229
285
  if (rowsCache.current.timeout !== null) {
@@ -253,38 +309,4 @@ export const useGridRows = (apiRef, props) => {
253
309
  prevState: rowsCache.current.state
254
310
  }), false);
255
311
  }, [props.rows, props.rowCount, props.getRowId, logger, throttledRowsChange]);
256
- const handleGroupRows = React.useCallback(() => {
257
- logger.info(`Row grouping pre-processing have changed, regenerating the row tree`);
258
- let rows;
259
-
260
- if (rowsCache.current.state.rowsBeforePartialUpdates === props.rows) {
261
- // The `props.rows` has not changed since the last row grouping
262
- // We can keep the potential updates stored in `inputRowsAfterUpdates` on the new grouping
263
- rows = undefined;
264
- } else {
265
- // The `props.rows` has changed since the last row grouping
266
- // We must use the new `props.rows` on the new grouping
267
- // This occurs because this event is triggered before the `useEffect` on the rows when both the grouping pre-processing and the rows changes on the same render
268
- rows = props.rows;
269
- }
270
-
271
- throttledRowsChange(convertGridRowsPropToState({
272
- rows,
273
- getRowId: props.getRowId,
274
- prevState: rowsCache.current.state
275
- }), false);
276
- }, [logger, throttledRowsChange, props.getRowId, props.rows]);
277
- useGridApiEventHandler(apiRef, GridEvents.rowGroupsPreProcessingChange, handleGroupRows);
278
- const rowApi = {
279
- getRow,
280
- getRowModels,
281
- getRowsCount,
282
- getAllRowIds,
283
- setRows,
284
- updateRows,
285
- setRowChildrenExpansion,
286
- getRowNode,
287
- getRowIndexRelativeToVisibleRows
288
- };
289
- useGridApiMethod(apiRef, rowApi, 'GridRowApi');
290
312
  };
@@ -7,8 +7,7 @@ import { gridDensityRowHeightSelector, gridDensityFactorSelector } from '../dens
7
7
  import { gridFilterStateSelector } from '../filter/gridFilterSelector';
8
8
  import { gridPaginationSelector } from '../pagination/gridPaginationSelector';
9
9
  import { gridSortingStateSelector } from '../sorting/gridSortingSelector';
10
- import { GridEvents } from '../../../models/events/gridEvents';
11
- import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
10
+ import { useGridRegisterPipeApplier } from '../../core/pipeProcessing';
12
11
  export const rowsMetaStateInitializer = state => _extends({}, state, {
13
12
  rowsMeta: {
14
13
  currentPageTotalHeight: 0,
@@ -61,16 +60,17 @@ export const useGridRowsMeta = (apiRef, props) => {
61
60
  };
62
61
 
63
62
  if (getRowSpacing) {
64
- const index = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
63
+ const indexRelativeToCurrentPage = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
65
64
  const spacing = getRowSpacing(_extends({}, row, {
66
- isFirstVisible: index === 0,
67
- isLastVisible: index === currentPage.rows.length - 1
65
+ isFirstVisible: indexRelativeToCurrentPage === 0,
66
+ isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
67
+ indexRelativeToCurrentPage
68
68
  }));
69
69
  initialHeights.spacingTop = spacing.top ?? 0;
70
70
  initialHeights.spacingBottom = spacing.bottom ?? 0;
71
71
  }
72
72
 
73
- const sizes = apiRef.current.unstable_applyPreProcessors('rowHeight', initialHeights, row);
73
+ const sizes = apiRef.current.unstable_applyPipeProcessors('rowHeight', initialHeights, row);
74
74
  const finalRowHeight = Object.values(sizes).reduce((acc2, value) => acc2 + value, 0);
75
75
  rowsHeightLookup.current[row.id] = {
76
76
  value: baseRowHeight,
@@ -108,14 +108,7 @@ export const useGridRowsMeta = (apiRef, props) => {
108
108
  React.useEffect(() => {
109
109
  hydrateRowsMeta();
110
110
  }, [rowHeight, filterState, paginationState, sortingState, hydrateRowsMeta]);
111
- const handlePreProcessorRegister = React.useCallback(name => {
112
- if (name !== 'rowHeight') {
113
- return;
114
- }
115
-
116
- hydrateRowsMeta();
117
- }, [hydrateRowsMeta]);
118
- useGridApiEventHandler(apiRef, GridEvents.preProcessorRegister, handlePreProcessorRegister);
111
+ useGridRegisterPipeApplier(apiRef, 'rowHeight', hydrateRowsMeta);
119
112
  const rowsMetaApi = {
120
113
  unstable_getRowHeight: getTargetRowHeight,
121
114
  unstable_getRowInternalSizes: getRowInternalSizes,
@@ -0,0 +1,37 @@
1
+ import { GRID_DEFAULT_STRATEGY, useGridRegisterStrategyProcessor } from '../../core/strategyProcessing';
2
+
3
+ const flatRowTreeCreationMethod = ({
4
+ ids,
5
+ idRowsLookup,
6
+ previousTree
7
+ }) => {
8
+ const tree = {};
9
+
10
+ for (let i = 0; i < ids.length; i += 1) {
11
+ const rowId = ids[i];
12
+
13
+ if (previousTree && previousTree[rowId]) {
14
+ tree[rowId] = previousTree[rowId];
15
+ } else {
16
+ tree[rowId] = {
17
+ id: rowId,
18
+ depth: 0,
19
+ parent: null,
20
+ groupingKey: '',
21
+ groupingField: null
22
+ };
23
+ }
24
+ }
25
+
26
+ return {
27
+ groupingName: GRID_DEFAULT_STRATEGY,
28
+ tree,
29
+ treeDepth: 1,
30
+ idRowsLookup,
31
+ ids
32
+ };
33
+ };
34
+
35
+ export const useGridRowsPreProcessors = apiRef => {
36
+ useGridRegisterStrategyProcessor(apiRef, GRID_DEFAULT_STRATEGY, 'rowTreeCreation', flatRowTreeCreationMethod);
37
+ };
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { useGridLogger } from '../../utils/useGridLogger';
3
3
  import { gridColumnPositionsSelector, gridVisibleColumnDefinitionsSelector } from '../columns/gridColumnsSelector';
4
+ import { useGridSelector } from '../../utils/useGridSelector';
4
5
  import { gridPageSelector, gridPageSizeSelector } from '../pagination/gridPaginationSelector';
5
6
  import { gridRowCountSelector } from '../rows/gridRowsSelector';
6
7
  import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
7
8
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
8
- import { useGridNativeEventListener } from '../../utils/useGridNativeEventListener'; // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
9
+ import { gridVisibleSortedRowEntriesSelector } from '../filter/gridFilterSelector'; // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
9
10
  // Similar to https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
10
11
 
11
12
  function scrollIntoView(dimensions) {
@@ -32,6 +33,8 @@ function scrollIntoView(dimensions) {
32
33
  * @requires useGridColumns (state) - can be after, async only
33
34
  * @requires useGridRows (state) - can be after, async only
34
35
  * @requires useGridRowsMeta (state) - can be after, async only
36
+ * @requires useGridFilter (state)
37
+ * @requires useGridColumnSpanning (method)
35
38
  */
36
39
 
37
40
 
@@ -39,11 +42,13 @@ export const useGridScroll = (apiRef, props) => {
39
42
  const logger = useGridLogger(apiRef, 'useGridScroll');
40
43
  const colRef = apiRef.current.columnHeadersElementRef;
41
44
  const windowRef = apiRef.current.windowRef;
45
+ const visibleSortedRows = useGridSelector(apiRef, gridVisibleSortedRowEntriesSelector);
42
46
  const scrollToIndexes = React.useCallback(params => {
43
47
  const totalRowCount = gridRowCountSelector(apiRef);
44
48
  const visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
49
+ const scrollToHeader = params.rowIndex == null;
45
50
 
46
- if (totalRowCount === 0 || visibleColumns.length === 0) {
51
+ if (!scrollToHeader && totalRowCount === 0 || visibleColumns.length === 0) {
47
52
  return false;
48
53
  }
49
54
 
@@ -52,10 +57,25 @@ export const useGridScroll = (apiRef, props) => {
52
57
 
53
58
  if (params.colIndex != null) {
54
59
  const columnPositions = gridColumnPositionsSelector(apiRef);
60
+ let cellWidth;
61
+
62
+ if (typeof params.rowIndex !== 'undefined') {
63
+ const rowId = visibleSortedRows[params.rowIndex]?.id;
64
+ const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, params.colIndex);
65
+
66
+ if (cellColSpanInfo && !cellColSpanInfo.spannedByColSpan) {
67
+ cellWidth = cellColSpanInfo.cellProps.width;
68
+ }
69
+ }
70
+
71
+ if (typeof cellWidth === 'undefined') {
72
+ cellWidth = visibleColumns[params.colIndex].computedWidth;
73
+ }
74
+
55
75
  scrollCoordinates.left = scrollIntoView({
56
76
  clientHeight: windowRef.current.clientWidth,
57
77
  scrollTop: windowRef.current.scrollLeft,
58
- offsetHeight: visibleColumns[params.colIndex].computedWidth,
78
+ offsetHeight: cellWidth,
59
79
  offsetTop: columnPositions[params.colIndex]
60
80
  });
61
81
  }
@@ -74,7 +94,7 @@ export const useGridScroll = (apiRef, props) => {
74
94
  });
75
95
  }
76
96
 
77
- scrollCoordinates = apiRef.current.unstable_applyPreProcessors('scrollToIndexes', scrollCoordinates, params);
97
+ scrollCoordinates = apiRef.current.unstable_applyPipeProcessors('scrollToIndexes', scrollCoordinates, params);
78
98
 
79
99
  if (typeof scrollCoordinates.left !== undefined || typeof scrollCoordinates.top !== undefined) {
80
100
  apiRef.current.scroll(scrollCoordinates);
@@ -82,7 +102,7 @@ export const useGridScroll = (apiRef, props) => {
82
102
  }
83
103
 
84
104
  return false;
85
- }, [logger, apiRef, windowRef, props.pagination]);
105
+ }, [logger, apiRef, windowRef, props.pagination, visibleSortedRows]);
86
106
  const scroll = React.useCallback(params => {
87
107
  if (windowRef.current && params.left != null && colRef.current) {
88
108
  colRef.current.scrollLeft = params.left;
@@ -116,9 +136,4 @@ export const useGridScroll = (apiRef, props) => {
116
136
  getScrollPosition
117
137
  };
118
138
  useGridApiMethod(apiRef, scrollApi, 'GridScrollApi');
119
- const preventScroll = React.useCallback(event => {
120
- event.target.scrollLeft = 0;
121
- event.target.scrollTop = 0;
122
- }, []);
123
- useGridNativeEventListener(apiRef, () => apiRef.current?.renderingZoneRef?.current?.parentElement, 'scroll', preventScroll);
124
139
  };
@@ -5,14 +5,15 @@ import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
5
5
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
6
  import { useGridLogger } from '../../utils/useGridLogger';
7
7
  import { gridRowsLookupSelector } from '../rows/gridRowsSelector';
8
- import { isGridCellRoot } from '../../../utils/domUtils';
9
8
  import { gridSelectionStateSelector, selectedGridRowsSelector, selectedIdsLookupSelector } from './gridSelectionSelector';
10
9
  import { gridPaginatedVisibleSortedGridRowIdsSelector } from '../pagination';
10
+ import { gridFocusCellSelector } from '../focus/gridFocusStateSelector';
11
11
  import { gridVisibleSortedRowIdsSelector } from '../filter/gridFilterSelector';
12
12
  import { GRID_CHECKBOX_SELECTION_COL_DEF, GRID_ACTIONS_COLUMN_TYPE } from '../../../colDef';
13
13
  import { GridCellModes } from '../../../models/gridEditRowModel';
14
- import { isKeyboardEvent } from '../../../utils/keyboardUtils';
15
- import { getVisibleRows } from '../../utils/useGridVisibleRows';
14
+ import { isKeyboardEvent, isNavigationKey } from '../../../utils/keyboardUtils';
15
+ import { getVisibleRows, useGridVisibleRows } from '../../utils/useGridVisibleRows';
16
+ import { GRID_DETAIL_PANEL_TOGGLE_FIELD } from '../../../constants/gridDetailPanelToggleField';
16
17
 
17
18
  const getSelectionModelPropValue = (selectionModelProp, prevSelectionModel) => {
18
19
  if (selectionModelProp == null) {
@@ -34,8 +35,10 @@ export const selectionStateInitializer = (state, props) => _extends({}, state, {
34
35
  selection: getSelectionModelPropValue(props.selectionModel) ?? []
35
36
  });
36
37
  /**
37
- * @requires useGridRows (state, method)
38
- * @requires useGridParamsApi (method)
38
+ * @requires useGridRows (state, method) - can be after
39
+ * @requires useGridParamsApi (method) - can be after
40
+ * @requires useGridFocus (state) - can be after
41
+ * @requires useGridKeyboardNavigation (`cellKeyDown` event must first be consumed by it)
39
42
  */
40
43
 
41
44
  export const useGridSelection = (apiRef, props) => {
@@ -60,7 +63,8 @@ export const useGridSelection = (apiRef, props) => {
60
63
  paginationMode
61
64
  } = props;
62
65
  const canHaveMultipleSelection = !disableMultipleSelection || checkboxSelection;
63
- const expandRowRangeSelection = React.useCallback(id => {
66
+ const visibleRows = useGridVisibleRows(apiRef, props);
67
+ const expandMouseRowRangeSelection = React.useCallback(id => {
64
68
  let endId = id;
65
69
  const startId = lastRowToggled.current ?? id;
66
70
  const isSelected = apiRef.current.isRowSelected(id);
@@ -70,6 +74,10 @@ export const useGridSelection = (apiRef, props) => {
70
74
  const startIndex = visibleRowIds.findIndex(rowId => rowId === startId);
71
75
  const endIndex = visibleRowIds.findIndex(rowId => rowId === endId);
72
76
 
77
+ if (startIndex === endIndex) {
78
+ return;
79
+ }
80
+
73
81
  if (startIndex > endIndex) {
74
82
  endId = visibleRowIds[endIndex + 1];
75
83
  } else {
@@ -161,12 +169,13 @@ export const useGridSelection = (apiRef, props) => {
161
169
  return;
162
170
  }
163
171
 
164
- logger.debug(`Expanding selection from row ${startId} to row ${endId}`);
165
- const visibleRowIds = gridVisibleSortedRowIdsSelector(apiRef);
166
- const startIndex = visibleRowIds.indexOf(startId);
167
- const endIndex = visibleRowIds.indexOf(endId);
172
+ logger.debug(`Expanding selection from row ${startId} to row ${endId}`); // Using rows from all pages allow to select a range across several pages
173
+
174
+ const allPagesRowIds = gridVisibleSortedRowIdsSelector(apiRef);
175
+ const startIndex = allPagesRowIds.indexOf(startId);
176
+ const endIndex = allPagesRowIds.indexOf(endId);
168
177
  const [start, end] = startIndex > endIndex ? [endIndex, startIndex] : [startIndex, endIndex];
169
- const rowsBetweenStartAndEnd = visibleRowIds.slice(start, end + 1);
178
+ const rowsBetweenStartAndEnd = allPagesRowIds.slice(start, end + 1);
170
179
  apiRef.current.selectRows(rowsBetweenStartAndEnd, isSelected, resetSelection);
171
180
  }, [apiRef, logger]);
172
181
  const selectionApi = {
@@ -226,7 +235,7 @@ export const useGridSelection = (apiRef, props) => {
226
235
  return;
227
236
  }
228
237
 
229
- if (params.field === '__detail_panel_toggle__') {
238
+ if (params.field === GRID_DETAIL_PANEL_TOGGLE_FIELD) {
230
239
  // click to open the detail panel should not select the row
231
240
  return;
232
241
  }
@@ -240,11 +249,11 @@ export const useGridSelection = (apiRef, props) => {
240
249
  }
241
250
 
242
251
  if (event.shiftKey && (canHaveMultipleSelection || checkboxSelection)) {
243
- expandRowRangeSelection(params.id);
252
+ expandMouseRowRangeSelection(params.id);
244
253
  } else {
245
254
  handleSingleRowSelection(params.id, event);
246
255
  }
247
- }, [disableSelectionOnClick, canHaveMultipleSelection, checkboxSelection, apiRef, expandRowRangeSelection, handleSingleRowSelection]);
256
+ }, [disableSelectionOnClick, canHaveMultipleSelection, checkboxSelection, apiRef, expandMouseRowRangeSelection, handleSingleRowSelection]);
248
257
  const preventSelectionOnShift = React.useCallback((params, event) => {
249
258
  if (canHaveMultipleSelection && event.shiftKey) {
250
259
  window.getSelection()?.removeAllRanges();
@@ -252,35 +261,78 @@ export const useGridSelection = (apiRef, props) => {
252
261
  }, [canHaveMultipleSelection]);
253
262
  const handleRowSelectionCheckboxChange = React.useCallback((params, event) => {
254
263
  if (event.nativeEvent.shiftKey) {
255
- expandRowRangeSelection(params.id);
264
+ expandMouseRowRangeSelection(params.id);
256
265
  } else {
257
266
  apiRef.current.selectRow(params.id, params.value);
258
267
  }
259
- }, [apiRef, expandRowRangeSelection]);
268
+ }, [apiRef, expandMouseRowRangeSelection]);
260
269
  const handleHeaderSelectionCheckboxChange = React.useCallback(params => {
261
270
  const shouldLimitSelectionToCurrentPage = props.checkboxSelectionVisibleOnly && props.pagination;
262
271
  const rowsToBeSelected = shouldLimitSelectionToCurrentPage ? gridPaginatedVisibleSortedGridRowIdsSelector(apiRef) : gridVisibleSortedRowIdsSelector(apiRef);
263
272
  apiRef.current.selectRows(rowsToBeSelected, params.value);
264
273
  }, [apiRef, props.checkboxSelectionVisibleOnly, props.pagination]);
265
274
  const handleCellKeyDown = React.useCallback((params, event) => {
266
- // Ignore portal
275
+ // Get the most recent cell mode because it may have been changed by another listener
276
+ if (apiRef.current.getCellMode(params.id, params.field) === GridCellModes.Edit) {
277
+ return;
278
+ } // Ignore portal
267
279
  // Do not apply shortcuts if the focus is not on the cell root component
268
- // TODO replace with !event.currentTarget.contains(event.target as Element)
269
- if (!isGridCellRoot(event.target)) {
280
+
281
+
282
+ if (!event.currentTarget.contains(event.target)) {
270
283
  return;
271
- } // Get the most recent params because the cell mode may have changed by another listener
284
+ }
272
285
 
286
+ if (isNavigationKey(event.key) && event.shiftKey) {
287
+ // The cell that has focus after the keyboard navigation
288
+ const focusCell = gridFocusCellSelector(apiRef);
273
289
 
274
- const cellParams = apiRef.current.getCellParams(params.id, params.field);
275
- const isEditMode = cellParams.cellMode === GridCellModes.Edit;
290
+ if (focusCell && focusCell.id !== params.id) {
291
+ event.preventDefault();
292
+ const isNextRowSelected = apiRef.current.isRowSelected(focusCell.id);
276
293
 
277
- if (isEditMode) {
278
- return;
294
+ if (!canHaveMultipleSelection) {
295
+ apiRef.current.selectRow(focusCell.id, !isNextRowSelected, true);
296
+ return;
297
+ }
298
+
299
+ const newRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(focusCell.id);
300
+ const previousRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(params.id);
301
+ let start;
302
+ let end;
303
+
304
+ if (newRowIndex > previousRowIndex) {
305
+ if (isNextRowSelected) {
306
+ // We are navigating to the bottom of the page and adding selected rows
307
+ start = previousRowIndex;
308
+ end = newRowIndex - 1;
309
+ } else {
310
+ // We are navigating to the bottom of the page and removing selected rows
311
+ start = previousRowIndex;
312
+ end = newRowIndex;
313
+ }
314
+ } else {
315
+ // eslint-disable-next-line no-lonely-if
316
+ if (isNextRowSelected) {
317
+ // We are navigating to the top of the page and removing selected rows
318
+ start = newRowIndex + 1;
319
+ end = previousRowIndex;
320
+ } else {
321
+ // We are navigating to the top of the page and adding selected rows
322
+ start = newRowIndex;
323
+ end = previousRowIndex;
324
+ }
325
+ }
326
+
327
+ const rowsBetweenStartAndEnd = visibleRows.rows.slice(start, end + 1).map(row => row.id);
328
+ apiRef.current.selectRows(rowsBetweenStartAndEnd, !isNextRowSelected);
329
+ return;
330
+ }
279
331
  }
280
332
 
281
333
  if (event.key === ' ' && event.shiftKey) {
282
334
  event.preventDefault();
283
- handleSingleRowSelection(cellParams.id, event);
335
+ handleSingleRowSelection(params.id, event);
284
336
  return;
285
337
  }
286
338
 
@@ -288,8 +340,8 @@ export const useGridSelection = (apiRef, props) => {
288
340
  event.preventDefault();
289
341
  selectRows(apiRef.current.getAllRowIds(), true);
290
342
  }
291
- }, [apiRef, handleSingleRowSelection, selectRows]);
292
- useGridApiEventHandler(apiRef, GridEvents.visibleRowsSet, removeOutdatedSelection);
343
+ }, [apiRef, handleSingleRowSelection, selectRows, visibleRows.rows, canHaveMultipleSelection]);
344
+ useGridApiEventHandler(apiRef, GridEvents.sortedRowsSet, removeOutdatedSelection);
293
345
  useGridApiEventHandler(apiRef, GridEvents.cellClick, handleCellClick);
294
346
  useGridApiEventHandler(apiRef, GridEvents.rowSelectionCheckboxChange, handleRowSelectionCheckboxChange);
295
347
  useGridApiEventHandler(apiRef, GridEvents.headerSelectionCheckboxChange, handleHeaderSelectionCheckboxChange);
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { unstable_composeClasses as composeClasses } from '@mui/material';
4
- import { useGridRegisterPreProcessor } from '../../core/preProcessing';
4
+ import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
5
5
  import { getDataGridUtilityClass } from '../../../constants';
6
6
  import { GRID_CHECKBOX_SELECTION_COL_DEF } from '../../../colDef';
7
7
 
@@ -43,5 +43,5 @@ export const useGridSelectionPreProcessors = (apiRef, props) => {
43
43
 
44
44
  return columnsState;
45
45
  }, [apiRef, classes, props.checkboxSelection]);
46
- useGridRegisterPreProcessor(apiRef, 'hydrateColumns', updateSelectionColumn);
46
+ useGridRegisterPipeProcessor(apiRef, 'hydrateColumns', updateSelectionColumn);
47
47
  };