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