@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
@@ -3,11 +3,12 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import { GridEvents } from '../../../models/events';
6
- import { checkGridRowIdIsValid } from '../../../models/gridRows';
7
6
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
8
7
  import { useGridLogger } from '../../utils/useGridLogger';
9
- import { gridRowCountSelector, gridRowsLookupSelector, gridRowTreeSelector, gridRowIdsSelector } from './gridRowsSelector';
8
+ import { gridRowCountSelector, gridRowsLookupSelector, gridRowTreeSelector, gridRowIdsSelector, gridRowGroupingNameSelector } from './gridRowsSelector';
10
9
  import { GridSignature, useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
10
+ import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
11
+ import { checkGridRowIdIsValid } from './gridRowsUtils';
11
12
 
12
13
  function getGridRowId(rowModel, getRowId, detailErrorMessage) {
13
14
  var id = getRowId ? getRowId(rowModel) : rowModel.id;
@@ -46,17 +47,15 @@ var convertGridRowsPropToState = function convertGridRowsPropToState(_ref) {
46
47
  var getRowsStateFromCache = function getRowsStateFromCache(rowsCache, previousTree, apiRef, rowCountProp) {
47
48
  var value = rowsCache.state.value;
48
49
  var rowCount = rowCountProp != null ? rowCountProp : 0;
49
- var groupingResponse = apiRef.current.unstable_groupRows(_extends({}, value, {
50
+ var groupingResponse = apiRef.current.unstable_applyStrategyProcessor('rowTreeCreation', _extends({}, value, {
50
51
  previousTree: previousTree
51
52
  }));
52
- var dataTopLevelRowCount = Object.values(groupingResponse.tree).filter(function (node) {
53
+ var dataTopLevelRowCount = groupingResponse.treeDepth === 1 ? groupingResponse.ids.length : Object.values(groupingResponse.tree).filter(function (node) {
53
54
  return node.parent == null;
54
55
  }).length;
55
- var totalRowCount = rowCount > groupingResponse.ids.length ? rowCount : groupingResponse.ids.length;
56
- var totalTopLevelRowCount = rowCount > dataTopLevelRowCount ? rowCount : dataTopLevelRowCount;
57
56
  return _extends({}, groupingResponse, {
58
- totalRowCount: totalRowCount,
59
- totalTopLevelRowCount: totalTopLevelRowCount
57
+ totalRowCount: Math.max(rowCount, groupingResponse.ids.length),
58
+ totalTopLevelRowCount: Math.max(rowCount, dataTopLevelRowCount)
60
59
  });
61
60
  };
62
61
 
@@ -82,10 +81,6 @@ export var rowsStateInitializer = function rowsStateInitializer(state, props, ap
82
81
 
83
82
  });
84
83
  };
85
- /**
86
- * @requires useGridRowGroupsPreProcessing (method)
87
- */
88
-
89
84
  export var useGridRows = function useGridRows(apiRef, props) {
90
85
  if (process.env.NODE_ENV !== 'production') {
91
86
  // Freeze rows for immutability
@@ -95,11 +90,19 @@ export var useGridRows = function useGridRows(apiRef, props) {
95
90
  var logger = useGridLogger(apiRef, 'useGridRows');
96
91
  var rowsCache = React.useRef(apiRef.current.state.rowsCache); // To avoid listing rowsCache as useEffect dep
97
92
 
93
+ var currentPage = useGridVisibleRows(apiRef, props);
98
94
  var getRow = React.useCallback(function (id) {
99
- var _gridRowsLookupSelect;
95
+ var _ref2;
100
96
 
101
- return (_gridRowsLookupSelect = gridRowsLookupSelector(apiRef)[id]) != null ? _gridRowsLookupSelect : null;
97
+ return (_ref2 = gridRowsLookupSelector(apiRef)[id]) != null ? _ref2 : null;
102
98
  }, [apiRef]);
99
+ var lookup = React.useMemo(function () {
100
+ return currentPage.rows.reduce(function (acc, _ref3, index) {
101
+ var id = _ref3.id;
102
+ acc[id] = index;
103
+ return acc;
104
+ }, {});
105
+ }, [currentPage.rows]);
103
106
  var throttledRowsChange = React.useCallback(function (newState, throttle) {
104
107
  var run = function run() {
105
108
  rowsCache.current.timeout = null;
@@ -134,6 +137,10 @@ export var useGridRows = function useGridRows(apiRef, props) {
134
137
 
135
138
  run();
136
139
  }, [props.throttleRowsMs, props.rowCount, apiRef]);
140
+ /**
141
+ * API METHODS
142
+ */
143
+
137
144
  var setRows = React.useCallback(function (rows) {
138
145
  logger.debug("Updating all rows, new length ".concat(rows.length));
139
146
  throttledRowsChange(convertGridRowsPropToState({
@@ -146,7 +153,7 @@ export var useGridRows = function useGridRows(apiRef, props) {
146
153
  if (props.signature === GridSignature.DataGrid && updates.length > 1) {
147
154
  // TODO: Add test with direct call to `apiRef.current.updateRows` in DataGrid after enabling the `apiRef` on the free plan.
148
155
  throw new Error(["MUI: You can't update several rows at once in `apiRef.current.updateRows` on the DataGrid.", 'You need to upgrade to the DataGridPro component to unlock this feature.'].join('\n'));
149
- } // we removes duplicate updates. A server can batch updates, and send several updates for the same row in one fn call.
156
+ } // we remove duplicate updates. A server can batch updates, and send several updates for the same row in one fn call.
150
157
 
151
158
 
152
159
  var uniqUpdates = new Map();
@@ -208,6 +215,9 @@ export var useGridRows = function useGridRows(apiRef, props) {
208
215
  var getAllRowIds = React.useCallback(function () {
209
216
  return gridRowIdsSelector(apiRef);
210
217
  }, [apiRef]);
218
+ var getRowIndexRelativeToVisibleRows = React.useCallback(function (id) {
219
+ return lookup[id];
220
+ }, [lookup]);
211
221
  var setRowChildrenExpansion = React.useCallback(function (id, isExpanded) {
212
222
  var currentNode = apiRef.current.getRowNode(id);
213
223
 
@@ -234,6 +244,61 @@ export var useGridRows = function useGridRows(apiRef, props) {
234
244
 
235
245
  return (_gridRowTreeSelector$ = gridRowTreeSelector(apiRef)[id]) != null ? _gridRowTreeSelector$ : null;
236
246
  }, [apiRef]);
247
+ var rowApi = {
248
+ getRow: getRow,
249
+ getRowModels: getRowModels,
250
+ getRowsCount: getRowsCount,
251
+ getAllRowIds: getAllRowIds,
252
+ setRows: setRows,
253
+ updateRows: updateRows,
254
+ setRowChildrenExpansion: setRowChildrenExpansion,
255
+ getRowNode: getRowNode,
256
+ getRowIndexRelativeToVisibleRows: getRowIndexRelativeToVisibleRows
257
+ };
258
+ /**
259
+ * EVENTS
260
+ */
261
+
262
+ var groupRows = React.useCallback(function () {
263
+ logger.info("Row grouping pre-processing have changed, regenerating the row tree");
264
+ var rows;
265
+
266
+ if (rowsCache.current.state.rowsBeforePartialUpdates === props.rows) {
267
+ // The `props.rows` has not changed since the last row grouping
268
+ // We can keep the potential updates stored in `inputRowsAfterUpdates` on the new grouping
269
+ rows = undefined;
270
+ } else {
271
+ // The `props.rows` has changed since the last row grouping
272
+ // We must use the new `props.rows` on the new grouping
273
+ // 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
274
+ rows = props.rows;
275
+ }
276
+
277
+ throttledRowsChange(convertGridRowsPropToState({
278
+ rows: rows,
279
+ getRowId: props.getRowId,
280
+ prevState: rowsCache.current.state
281
+ }), false);
282
+ }, [logger, throttledRowsChange, props.getRowId, props.rows]);
283
+ var handleStrategyProcessorChange = React.useCallback(function (methodName) {
284
+ if (methodName === 'rowTreeCreation') {
285
+ groupRows();
286
+ }
287
+ }, [groupRows]);
288
+ var handleStrategyActivityChange = React.useCallback(function () {
289
+ // `rowTreeCreation` is the only processor ran when `strategyAvailabilityChange` is fired.
290
+ // All the other processors listen to `rowsSet` which will be published by the `groupRows` method below.
291
+ if (apiRef.current.unstable_getActiveStrategy('rowTree') !== gridRowGroupingNameSelector(apiRef)) {
292
+ groupRows();
293
+ }
294
+ }, [apiRef, groupRows]);
295
+ useGridApiEventHandler(apiRef, GridEvents.activeStrategyProcessorChange, handleStrategyProcessorChange);
296
+ useGridApiEventHandler(apiRef, GridEvents.strategyAvailabilityChange, handleStrategyActivityChange);
297
+ useGridApiMethod(apiRef, rowApi, 'GridRowApi');
298
+ /**
299
+ * EFFECTS
300
+ */
301
+
237
302
  React.useEffect(function () {
238
303
  return function () {
239
304
  if (rowsCache.current.timeout !== null) {
@@ -263,37 +328,4 @@ export var useGridRows = function useGridRows(apiRef, props) {
263
328
  prevState: rowsCache.current.state
264
329
  }), false);
265
330
  }, [props.rows, props.rowCount, props.getRowId, logger, throttledRowsChange]);
266
- var handleGroupRows = React.useCallback(function () {
267
- logger.info("Row grouping pre-processing have changed, regenerating the row tree");
268
- var rows;
269
-
270
- if (rowsCache.current.state.rowsBeforePartialUpdates === props.rows) {
271
- // The `props.rows` has not changed since the last row grouping
272
- // We can keep the potential updates stored in `inputRowsAfterUpdates` on the new grouping
273
- rows = undefined;
274
- } else {
275
- // The `props.rows` has changed since the last row grouping
276
- // We must use the new `props.rows` on the new grouping
277
- // 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
278
- rows = props.rows;
279
- }
280
-
281
- throttledRowsChange(convertGridRowsPropToState({
282
- rows: rows,
283
- getRowId: props.getRowId,
284
- prevState: rowsCache.current.state
285
- }), false);
286
- }, [logger, throttledRowsChange, props.getRowId, props.rows]);
287
- useGridApiEventHandler(apiRef, GridEvents.rowGroupsPreProcessingChange, handleGroupRows);
288
- var rowApi = {
289
- getRow: getRow,
290
- getRowModels: getRowModels,
291
- getRowsCount: getRowsCount,
292
- getAllRowIds: getAllRowIds,
293
- setRows: setRows,
294
- updateRows: updateRows,
295
- setRowChildrenExpansion: setRowChildrenExpansion,
296
- getRowNode: getRowNode
297
- };
298
- useGridApiMethod(apiRef, rowApi, 'GridRowApi');
299
331
  };
@@ -1,15 +1,22 @@
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 var rowsMetaStateInitializer = function rowsMetaStateInitializer(state) {
13
+ return _extends({}, state, {
14
+ rowsMeta: {
15
+ currentPageTotalHeight: 0,
16
+ positions: []
17
+ }
18
+ });
19
+ };
13
20
  /**
14
21
  * @requires useGridPageSize (method)
15
22
  * @requires useGridPage (method)
@@ -17,33 +24,19 @@ import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
17
24
 
18
25
  export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
19
26
  var getRowHeight = props.getRowHeight,
20
- pagination = props.pagination,
21
- paginationMode = props.paginationMode;
27
+ getRowSpacing = props.getRowSpacing;
22
28
  var rowsHeightLookup = React.useRef({});
23
29
  var rowHeight = useGridSelector(apiRef, gridDensityRowHeightSelector);
24
30
  var filterState = useGridSelector(apiRef, gridFilterStateSelector);
25
31
  var paginationState = useGridSelector(apiRef, gridPaginationSelector);
26
32
  var sortingState = useGridSelector(apiRef, gridSortingStateSelector);
27
- useGridStateInit(apiRef, function (state) {
28
- return _extends({}, state, {
29
- rowsMeta: {
30
- currentPageTotalHeight: 0,
31
- positions: []
32
- }
33
- });
34
- });
33
+ var currentPage = useGridVisibleRows(apiRef, props);
35
34
  var hydrateRowsMeta = React.useCallback(function () {
36
- var _getCurrentPageRows = getCurrentPageRows(apiRef, {
37
- pagination: pagination,
38
- paginationMode: paginationMode
39
- }),
40
- rows = _getCurrentPageRows.rows;
41
-
42
35
  apiRef.current.setState(function (state) {
43
36
  var positions = [];
44
37
  var densityFactor = gridDensityFactorSelector(state, apiRef.current.instanceId);
45
38
  var currentRowHeight = gridDensityRowHeightSelector(state, apiRef.current.instanceId);
46
- var currentPageTotalHeight = rows.reduce(function (acc, row) {
39
+ var currentPageTotalHeight = currentPage.rows.reduce(function (acc, row) {
47
40
  positions.push(acc);
48
41
  var baseRowHeight;
49
42
  var isResized = rowsHeightLookup.current[row.id] && rowsHeightLookup.current[row.id].isResized || false;
@@ -62,17 +55,32 @@ export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
62
55
  densityFactor: densityFactor
63
56
  }))) != null ? _getRowHeight : currentRowHeight;
64
57
  }
65
- }
58
+ } // We use an object to make simple to check if a height is already added or not
66
59
 
67
- var heights = apiRef.current.unstable_applyPreProcessors('rowHeight', {
60
+
61
+ var initialHeights = {
68
62
  base: baseRowHeight
69
- }, // We use an object to make simple to check if a size was already added or not
70
- row);
71
- var finalRowHeight = Object.values(heights).reduce(function (acc2, value) {
63
+ };
64
+
65
+ if (getRowSpacing) {
66
+ var _spacing$top, _spacing$bottom;
67
+
68
+ var index = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
69
+ var spacing = getRowSpacing(_extends({}, row, {
70
+ isFirstVisible: index === 0,
71
+ isLastVisible: index === currentPage.rows.length - 1
72
+ }));
73
+ initialHeights.spacingTop = (_spacing$top = spacing.top) != null ? _spacing$top : 0;
74
+ initialHeights.spacingBottom = (_spacing$bottom = spacing.bottom) != null ? _spacing$bottom : 0;
75
+ }
76
+
77
+ var sizes = apiRef.current.unstable_applyPipeProcessors('rowHeight', initialHeights, row);
78
+ var finalRowHeight = Object.values(sizes).reduce(function (acc2, value) {
72
79
  return acc2 + value;
73
80
  }, 0);
74
81
  rowsHeightLookup.current[row.id] = {
75
82
  value: baseRowHeight,
83
+ sizes: sizes,
76
84
  isResized: isResized
77
85
  };
78
86
  return acc + finalRowHeight;
@@ -85,7 +93,7 @@ export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
85
93
  });
86
94
  });
87
95
  apiRef.current.forceUpdate();
88
- }, [apiRef, pagination, paginationMode, getRowHeight]);
96
+ }, [apiRef, currentPage.rows, getRowSpacing, getRowHeight]);
89
97
 
90
98
  var getTargetRowHeight = function getTargetRowHeight(rowId) {
91
99
  var _rowsHeightLookup$cur;
@@ -93,10 +101,19 @@ export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
93
101
  return ((_rowsHeightLookup$cur = rowsHeightLookup.current[rowId]) == null ? void 0 : _rowsHeightLookup$cur.value) || rowHeight;
94
102
  };
95
103
 
104
+ var getRowInternalSizes = function getRowInternalSizes(rowId) {
105
+ var _rowsHeightLookup$cur2;
106
+
107
+ return (_rowsHeightLookup$cur2 = rowsHeightLookup.current[rowId]) == null ? void 0 : _rowsHeightLookup$cur2.sizes;
108
+ };
109
+
96
110
  var setRowHeight = React.useCallback(function (id, height) {
97
111
  rowsHeightLookup.current[id] = {
98
112
  value: height,
99
- isResized: true
113
+ isResized: true,
114
+ sizes: _extends({}, rowsHeightLookup.current[id].sizes, {
115
+ base: height
116
+ })
100
117
  };
101
118
  hydrateRowsMeta();
102
119
  }, [hydrateRowsMeta]); // The effect is used to build the rows meta data - currentPageTotalHeight and positions.
@@ -105,16 +122,17 @@ export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
105
122
  React.useEffect(function () {
106
123
  hydrateRowsMeta();
107
124
  }, [rowHeight, filterState, paginationState, sortingState, hydrateRowsMeta]);
108
- var handlePreProcessorRegister = React.useCallback(function (name) {
125
+ var handlepipeProcessorRegister = React.useCallback(function (name) {
109
126
  if (name !== 'rowHeight') {
110
127
  return;
111
128
  }
112
129
 
113
130
  hydrateRowsMeta();
114
131
  }, [hydrateRowsMeta]);
115
- useGridApiEventHandler(apiRef, GridEvents.preProcessorRegister, handlePreProcessorRegister);
132
+ useGridApiEventHandler(apiRef, GridEvents.pipeProcessorRegister, handlepipeProcessorRegister);
116
133
  var rowsMetaApi = {
117
134
  unstable_getRowHeight: getTargetRowHeight,
135
+ unstable_getRowInternalSizes: getRowInternalSizes,
118
136
  unstable_setRowHeight: setRowHeight
119
137
  };
120
138
  useGridApiMethod(apiRef, rowsMetaApi, 'GridRowsMetaApi');
@@ -0,0 +1,36 @@
1
+ import { GRID_DEFAULT_STRATEGY, useGridRegisterStrategyProcessor } from '../../core/strategyProcessing';
2
+
3
+ var flatRowTreeCreationMethod = function flatRowTreeCreationMethod(_ref) {
4
+ var ids = _ref.ids,
5
+ idRowsLookup = _ref.idRowsLookup,
6
+ previousTree = _ref.previousTree;
7
+ var tree = {};
8
+
9
+ for (var i = 0; i < ids.length; i += 1) {
10
+ var rowId = ids[i];
11
+
12
+ if (previousTree && previousTree[rowId]) {
13
+ tree[rowId] = previousTree[rowId];
14
+ } else {
15
+ tree[rowId] = {
16
+ id: rowId,
17
+ depth: 0,
18
+ parent: null,
19
+ groupingKey: '',
20
+ groupingField: null
21
+ };
22
+ }
23
+ }
24
+
25
+ return {
26
+ groupingName: GRID_DEFAULT_STRATEGY,
27
+ tree: tree,
28
+ treeDepth: 1,
29
+ idRowsLookup: idRowsLookup,
30
+ ids: ids
31
+ };
32
+ };
33
+
34
+ export var useGridRowsPreProcessors = function useGridRowsPreProcessors(apiRef) {
35
+ useGridRegisterStrategyProcessor(apiRef, GRID_DEFAULT_STRATEGY, 'rowTreeCreation', flatRowTreeCreationMethod);
36
+ };
@@ -5,8 +5,7 @@ import { gridColumnPositionsSelector, gridVisibleColumnDefinitionsSelector } fro
5
5
  import { gridPageSelector, gridPageSizeSelector } from '../pagination/gridPaginationSelector';
6
6
  import { gridRowCountSelector } from '../rows/gridRowsSelector';
7
7
  import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
8
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
9
- import { useGridNativeEventListener } from '../../utils/useGridNativeEventListener'; // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
8
+ import { useGridApiMethod } from '../../utils/useGridApiMethod'; // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
10
9
  // Similar to https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
11
10
 
12
11
  function scrollIntoView(dimensions) {
@@ -41,8 +40,9 @@ export var useGridScroll = function useGridScroll(apiRef, props) {
41
40
  var scrollToIndexes = React.useCallback(function (params) {
42
41
  var totalRowCount = gridRowCountSelector(apiRef);
43
42
  var visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
43
+ var scrollToHeader = params.rowIndex == null;
44
44
 
45
- if (totalRowCount === 0 || visibleColumns.length === 0) {
45
+ if (!scrollToHeader && totalRowCount === 0 || visibleColumns.length === 0) {
46
46
  return false;
47
47
  }
48
48
 
@@ -73,7 +73,7 @@ export var useGridScroll = function useGridScroll(apiRef, props) {
73
73
  });
74
74
  }
75
75
 
76
- scrollCoordinates = apiRef.current.unstable_applyPreProcessors('scrollToIndexes', scrollCoordinates, params);
76
+ scrollCoordinates = apiRef.current.unstable_applyPipeProcessors('scrollToIndexes', scrollCoordinates, params);
77
77
 
78
78
  if (_typeof(scrollCoordinates.left) !== undefined || _typeof(scrollCoordinates.top) !== undefined) {
79
79
  apiRef.current.scroll(scrollCoordinates);
@@ -115,13 +115,4 @@ export var useGridScroll = function useGridScroll(apiRef, props) {
115
115
  getScrollPosition: getScrollPosition
116
116
  };
117
117
  useGridApiMethod(apiRef, scrollApi, 'GridScrollApi');
118
- var preventScroll = React.useCallback(function (event) {
119
- event.target.scrollLeft = 0;
120
- event.target.scrollTop = 0;
121
- }, []);
122
- useGridNativeEventListener(apiRef, function () {
123
- var _apiRef$current, _apiRef$current$rende, _apiRef$current$rende2;
124
-
125
- return (_apiRef$current = apiRef.current) == null ? void 0 : (_apiRef$current$rende = _apiRef$current.renderingZoneRef) == null ? void 0 : (_apiRef$current$rende2 = _apiRef$current$rende.current) == null ? void 0 : _apiRef$current$rende2.parentElement;
126
- }, 'scroll', preventScroll);
127
118
  };
@@ -6,38 +6,50 @@ import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
6
6
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
7
7
  import { useGridLogger } from '../../utils/useGridLogger';
8
8
  import { gridRowsLookupSelector } from '../rows/gridRowsSelector';
9
- import { isGridCellRoot } from '../../../utils/domUtils';
10
9
  import { gridSelectionStateSelector, selectedGridRowsSelector, selectedIdsLookupSelector } from './gridSelectionSelector';
11
10
  import { gridPaginatedVisibleSortedGridRowIdsSelector } from '../pagination';
11
+ import { gridFocusCellSelector } from '../focus/gridFocusStateSelector';
12
12
  import { gridVisibleSortedRowIdsSelector } from '../filter/gridFilterSelector';
13
13
  import { GRID_CHECKBOX_SELECTION_COL_DEF, GRID_ACTIONS_COLUMN_TYPE } from '../../../colDef';
14
- import { useGridStateInit } from '../../utils/useGridStateInit';
15
14
  import { GridCellModes } from '../../../models/gridEditRowModel';
16
- import { isKeyboardEvent } from '../../../utils/keyboardUtils';
17
- import { getCurrentPageRows } from '../../utils/useCurrentPageRows';
15
+ import { isKeyboardEvent, isNavigationKey } from '../../../utils/keyboardUtils';
16
+ import { getVisibleRows, useGridVisibleRows } from '../../utils/useGridVisibleRows';
17
+
18
+ var getSelectionModelPropValue = function getSelectionModelPropValue(selectionModelProp, prevSelectionModel) {
19
+ if (selectionModelProp == null) {
20
+ return selectionModelProp;
21
+ }
22
+
23
+ if (Array.isArray(selectionModelProp)) {
24
+ return selectionModelProp;
25
+ }
26
+
27
+ if (prevSelectionModel && prevSelectionModel[0] === selectionModelProp) {
28
+ return prevSelectionModel;
29
+ }
30
+
31
+ return [selectionModelProp];
32
+ };
33
+
34
+ export var selectionStateInitializer = function selectionStateInitializer(state, props) {
35
+ var _getSelectionModelPro;
36
+
37
+ return _extends({}, state, {
38
+ selection: (_getSelectionModelPro = getSelectionModelPropValue(props.selectionModel)) != null ? _getSelectionModelPro : []
39
+ });
40
+ };
18
41
  /**
19
- * @requires useGridRows (state, method)
20
- * @requires useGridParamsApi (method)
42
+ * @requires useGridRows (state, method) - can be after
43
+ * @requires useGridParamsApi (method) - can be after
44
+ * @requires useGridFocus (state) - can be after
45
+ * @requires useGridKeyboardNavigation (`cellKeyDown` event must first be consumed by it)
21
46
  */
22
47
 
23
48
  export var useGridSelection = function useGridSelection(apiRef, props) {
24
49
  var logger = useGridLogger(apiRef, 'useGridSelection');
25
50
  var propSelectionModel = React.useMemo(function () {
26
- if (props.selectionModel == null) {
27
- return props.selectionModel;
28
- }
29
-
30
- if (Array.isArray(props.selectionModel)) {
31
- return props.selectionModel;
32
- }
33
-
34
- return [props.selectionModel];
35
- }, [props.selectionModel]);
36
- useGridStateInit(apiRef, function (state) {
37
- return _extends({}, state, {
38
- selection: propSelectionModel != null ? propSelectionModel : []
39
- });
40
- });
51
+ return getSelectionModelPropValue(props.selectionModel, gridSelectionStateSelector(apiRef.current.state));
52
+ }, [apiRef, props.selectionModel]);
41
53
  var lastRowToggled = React.useRef(null);
42
54
  apiRef.current.unstable_updateControlState({
43
55
  stateId: 'selection',
@@ -53,7 +65,8 @@ export var useGridSelection = function useGridSelection(apiRef, props) {
53
65
  pagination = props.pagination,
54
66
  paginationMode = props.paginationMode;
55
67
  var canHaveMultipleSelection = !disableMultipleSelection || checkboxSelection;
56
- var expandRowRangeSelection = React.useCallback(function (id) {
68
+ var visibleRows = useGridVisibleRows(apiRef, props);
69
+ var expandMouseRowRangeSelection = React.useCallback(function (id) {
57
70
  var _lastRowToggled$curre;
58
71
 
59
72
  var endId = id;
@@ -69,6 +82,10 @@ export var useGridSelection = function useGridSelection(apiRef, props) {
69
82
  return rowId === endId;
70
83
  });
71
84
 
85
+ if (startIndex === endIndex) {
86
+ return;
87
+ }
88
+
72
89
  if (startIndex > endIndex) {
73
90
  endId = visibleRowIds[endIndex + 1];
74
91
  } else {
@@ -177,17 +194,18 @@ export var useGridSelection = function useGridSelection(apiRef, props) {
177
194
  return;
178
195
  }
179
196
 
180
- logger.debug("Expanding selection from row ".concat(startId, " to row ").concat(endId));
181
- var visibleRowIds = gridVisibleSortedRowIdsSelector(apiRef);
182
- var startIndex = visibleRowIds.indexOf(startId);
183
- var endIndex = visibleRowIds.indexOf(endId);
197
+ logger.debug("Expanding selection from row ".concat(startId, " to row ").concat(endId)); // Using rows from all pages allow to select a range across several pages
198
+
199
+ var allPagesRowIds = gridVisibleSortedRowIdsSelector(apiRef);
200
+ var startIndex = allPagesRowIds.indexOf(startId);
201
+ var endIndex = allPagesRowIds.indexOf(endId);
184
202
 
185
203
  var _ref2 = startIndex > endIndex ? [endIndex, startIndex] : [startIndex, endIndex],
186
204
  _ref3 = _slicedToArray(_ref2, 2),
187
205
  start = _ref3[0],
188
206
  end = _ref3[1];
189
207
 
190
- var rowsBetweenStartAndEnd = visibleRowIds.slice(start, end + 1);
208
+ var rowsBetweenStartAndEnd = allPagesRowIds.slice(start, end + 1);
191
209
  apiRef.current.selectRows(rowsBetweenStartAndEnd, isSelected, resetSelection);
192
210
  }, [apiRef, logger]);
193
211
  var selectionApi = {
@@ -261,11 +279,11 @@ export var useGridSelection = function useGridSelection(apiRef, props) {
261
279
  }
262
280
 
263
281
  if (event.shiftKey && (canHaveMultipleSelection || checkboxSelection)) {
264
- expandRowRangeSelection(params.id);
282
+ expandMouseRowRangeSelection(params.id);
265
283
  } else {
266
284
  handleSingleRowSelection(params.id, event);
267
285
  }
268
- }, [disableSelectionOnClick, canHaveMultipleSelection, checkboxSelection, apiRef, expandRowRangeSelection, handleSingleRowSelection]);
286
+ }, [disableSelectionOnClick, canHaveMultipleSelection, checkboxSelection, apiRef, expandMouseRowRangeSelection, handleSingleRowSelection]);
269
287
  var preventSelectionOnShift = React.useCallback(function (params, event) {
270
288
  if (canHaveMultipleSelection && event.shiftKey) {
271
289
  var _window$getSelection;
@@ -275,35 +293,80 @@ export var useGridSelection = function useGridSelection(apiRef, props) {
275
293
  }, [canHaveMultipleSelection]);
276
294
  var handleRowSelectionCheckboxChange = React.useCallback(function (params, event) {
277
295
  if (event.nativeEvent.shiftKey) {
278
- expandRowRangeSelection(params.id);
296
+ expandMouseRowRangeSelection(params.id);
279
297
  } else {
280
298
  apiRef.current.selectRow(params.id, params.value);
281
299
  }
282
- }, [apiRef, expandRowRangeSelection]);
300
+ }, [apiRef, expandMouseRowRangeSelection]);
283
301
  var handleHeaderSelectionCheckboxChange = React.useCallback(function (params) {
284
302
  var shouldLimitSelectionToCurrentPage = props.checkboxSelectionVisibleOnly && props.pagination;
285
303
  var rowsToBeSelected = shouldLimitSelectionToCurrentPage ? gridPaginatedVisibleSortedGridRowIdsSelector(apiRef) : gridVisibleSortedRowIdsSelector(apiRef);
286
304
  apiRef.current.selectRows(rowsToBeSelected, params.value);
287
305
  }, [apiRef, props.checkboxSelectionVisibleOnly, props.pagination]);
288
306
  var handleCellKeyDown = React.useCallback(function (params, event) {
289
- // Ignore portal
307
+ // Get the most recent cell mode because it may have been changed by another listener
308
+ if (apiRef.current.getCellMode(params.id, params.field) === GridCellModes.Edit) {
309
+ return;
310
+ } // Ignore portal
290
311
  // Do not apply shortcuts if the focus is not on the cell root component
291
- // TODO replace with !event.currentTarget.contains(event.target as Element)
292
- if (!isGridCellRoot(event.target)) {
312
+
313
+
314
+ if (!event.currentTarget.contains(event.target)) {
293
315
  return;
294
- } // Get the most recent params because the cell mode may have changed by another listener
316
+ }
295
317
 
318
+ if (isNavigationKey(event.key) && event.shiftKey) {
319
+ // The cell that has focus after the keyboard navigation
320
+ var focusCell = gridFocusCellSelector(apiRef);
296
321
 
297
- var cellParams = apiRef.current.getCellParams(params.id, params.field);
298
- var isEditMode = cellParams.cellMode === GridCellModes.Edit;
322
+ if (focusCell && focusCell.id !== params.id) {
323
+ event.preventDefault();
324
+ var isNextRowSelected = apiRef.current.isRowSelected(focusCell.id);
299
325
 
300
- if (isEditMode) {
301
- return;
326
+ if (!canHaveMultipleSelection) {
327
+ apiRef.current.selectRow(focusCell.id, !isNextRowSelected, true);
328
+ return;
329
+ }
330
+
331
+ var newRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(focusCell.id);
332
+ var previousRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(params.id);
333
+ var start;
334
+ var end;
335
+
336
+ if (newRowIndex > previousRowIndex) {
337
+ if (isNextRowSelected) {
338
+ // We are navigating to the bottom of the page and adding selected rows
339
+ start = previousRowIndex;
340
+ end = newRowIndex - 1;
341
+ } else {
342
+ // We are navigating to the bottom of the page and removing selected rows
343
+ start = previousRowIndex;
344
+ end = newRowIndex;
345
+ }
346
+ } else {
347
+ // eslint-disable-next-line no-lonely-if
348
+ if (isNextRowSelected) {
349
+ // We are navigating to the top of the page and removing selected rows
350
+ start = newRowIndex + 1;
351
+ end = previousRowIndex;
352
+ } else {
353
+ // We are navigating to the top of the page and adding selected rows
354
+ start = newRowIndex;
355
+ end = previousRowIndex;
356
+ }
357
+ }
358
+
359
+ var rowsBetweenStartAndEnd = visibleRows.rows.slice(start, end + 1).map(function (row) {
360
+ return row.id;
361
+ });
362
+ apiRef.current.selectRows(rowsBetweenStartAndEnd, !isNextRowSelected);
363
+ return;
364
+ }
302
365
  }
303
366
 
304
367
  if (event.key === ' ' && event.shiftKey) {
305
368
  event.preventDefault();
306
- handleSingleRowSelection(cellParams.id, event);
369
+ handleSingleRowSelection(params.id, event);
307
370
  return;
308
371
  }
309
372
 
@@ -311,7 +374,7 @@ export var useGridSelection = function useGridSelection(apiRef, props) {
311
374
  event.preventDefault();
312
375
  selectRows(apiRef.current.getAllRowIds(), true);
313
376
  }
314
- }, [apiRef, handleSingleRowSelection, selectRows]);
377
+ }, [apiRef, handleSingleRowSelection, selectRows, visibleRows.rows, canHaveMultipleSelection]);
315
378
  useGridApiEventHandler(apiRef, GridEvents.visibleRowsSet, removeOutdatedSelection);
316
379
  useGridApiEventHandler(apiRef, GridEvents.cellClick, handleCellClick);
317
380
  useGridApiEventHandler(apiRef, GridEvents.rowSelectionCheckboxChange, handleRowSelectionCheckboxChange);
@@ -350,11 +413,11 @@ export var useGridSelection = function useGridSelection(apiRef, props) {
350
413
  var currentSelection = gridSelectionStateSelector(apiRef.current.state);
351
414
 
352
415
  if (!canHaveMultipleSelection && currentSelection.length > 1) {
353
- var _getCurrentPageRows = getCurrentPageRows(apiRef, {
416
+ var _getVisibleRows = getVisibleRows(apiRef, {
354
417
  pagination: pagination,
355
418
  paginationMode: paginationMode
356
419
  }),
357
- currentPageRows = _getCurrentPageRows.rows;
420
+ currentPageRows = _getVisibleRows.rows;
358
421
 
359
422
  var currentPageRowsLookup = currentPageRows.reduce(function (acc, _ref4) {
360
423
  var id = _ref4.id;