@mui/x-data-grid 5.6.0 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1081) hide show
  1. package/CHANGELOG.md +187 -0
  2. package/DataGrid/DataGrid.d.ts +8 -3
  3. package/DataGrid/DataGrid.js +52 -4
  4. package/DataGrid/useDataGridComponent.js +27 -19
  5. package/DataGrid/useDataGridProps.d.ts +2 -1
  6. package/DataGrid/useDataGridProps.js +3 -2
  7. package/colDef/gridBooleanColDef.d.ts +1 -1
  8. package/colDef/gridBooleanOperators.d.ts +1 -1
  9. package/colDef/gridDateColDef.d.ts +5 -9
  10. package/colDef/gridDateColDef.js +2 -2
  11. package/colDef/gridDateOperators.d.ts +1 -1
  12. package/{models/colDef → colDef}/gridDefaultColumnTypes.d.ts +1 -1
  13. package/colDef/gridDefaultColumnTypes.js +20 -0
  14. package/colDef/gridNumericColDef.d.ts +1 -1
  15. package/colDef/gridNumericOperators.d.ts +2 -2
  16. package/colDef/gridNumericOperators.js +1 -1
  17. package/colDef/gridStringColDef.d.ts +1 -1
  18. package/colDef/gridStringOperators.d.ts +1 -1
  19. package/colDef/index.d.ts +1 -0
  20. package/colDef/index.js +2 -1
  21. package/components/ErrorBoundary.d.ts +2 -2
  22. package/components/ErrorOverlay.js +8 -1
  23. package/components/GridLoadingOverlay.d.ts +4 -2
  24. package/components/GridLoadingOverlay.js +11 -2
  25. package/components/GridNoResultsOverlay.d.ts +3 -2
  26. package/components/GridNoRowsOverlay.d.ts +4 -2
  27. package/components/GridNoRowsOverlay.js +11 -2
  28. package/components/GridRow.js +30 -4
  29. package/components/base/GridErrorHandler.d.ts +8 -2
  30. package/components/base/GridErrorHandler.js +19 -27
  31. package/components/cell/GridBooleanCell.d.ts +2 -1
  32. package/components/cell/GridCell.d.ts +4 -4
  33. package/components/cell/GridCell.js +6 -4
  34. package/components/cell/GridEditBooleanCell.d.ts +2 -1
  35. package/components/cell/GridEditBooleanCell.js +1 -1
  36. package/components/cell/GridEditDateCell.d.ts +2 -1
  37. package/components/cell/GridEditDateCell.js +1 -1
  38. package/components/cell/GridEditInputCell.d.ts +2 -1
  39. package/components/cell/GridEditInputCell.js +66 -5
  40. package/components/cell/GridEditSingleSelectCell.d.ts +2 -1
  41. package/components/cell/GridEditSingleSelectCell.js +78 -5
  42. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +12 -0
  43. package/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
  44. package/components/columnHeaders/GridColumnHeaderItem.js +10 -8
  45. package/components/columnHeaders/GridColumnHeaderTitle.d.ts +2 -2
  46. package/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  47. package/components/columnHeaders/GridColumnHeaders.js +3 -1
  48. package/components/columnHeaders/index.d.ts +1 -0
  49. package/components/columnHeaders/index.js +1 -0
  50. package/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  51. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  52. package/components/containers/GridOverlay.d.ts +9 -2
  53. package/components/containers/GridOverlay.js +11 -2
  54. package/components/containers/GridRoot.js +29 -17
  55. package/components/containers/GridRootStyles.js +3 -3
  56. package/components/menu/columnMenu/GridColumnMenu.js +1 -1
  57. package/components/panel/GridColumnsPanel.d.ts +4 -1
  58. package/components/panel/GridColumnsPanel.js +3 -3
  59. package/components/panel/GridPanel.d.ts +2 -2
  60. package/components/panel/GridPanelWrapper.d.ts +1 -1
  61. package/components/panel/GridPreferencesPanel.js +4 -6
  62. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -1
  63. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
  64. package/components/panel/filterPanel/filterPanelUtils.d.ts +2 -2
  65. package/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  66. package/constants/defaultGridSlotsComponents.js +2 -1
  67. package/constants/gridClasses.d.ts +19 -3
  68. package/constants/gridClasses.js +1 -1
  69. package/context/GridContextProvider.d.ts +9 -6
  70. package/hooks/core/index.d.ts +1 -1
  71. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +68 -0
  72. package/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
  73. package/hooks/core/pipeProcessing/index.d.ts +3 -0
  74. package/hooks/core/pipeProcessing/index.js +3 -0
  75. package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +27 -0
  76. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +74 -0
  77. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +7 -0
  78. package/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +6 -2
  79. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +58 -0
  80. package/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  81. package/hooks/core/strategyProcessing/index.d.ts +3 -0
  82. package/hooks/core/strategyProcessing/index.js +3 -0
  83. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +4 -0
  84. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  85. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +48 -0
  86. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +125 -0
  87. package/hooks/core/useGridInitialization.js +4 -4
  88. package/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
  89. package/hooks/features/columnMenu/useGridColumnMenu.d.ts +2 -0
  90. package/hooks/features/columnMenu/useGridColumnMenu.js +6 -7
  91. package/hooks/features/columns/gridColumnsInterfaces.d.ts +6 -1
  92. package/hooks/features/columns/gridColumnsSelector.d.ts +11 -11
  93. package/hooks/features/columns/gridColumnsSelector.js +11 -10
  94. package/hooks/features/columns/gridColumnsUtils.d.ts +14 -6
  95. package/hooks/features/columns/gridColumnsUtils.js +163 -45
  96. package/hooks/features/columns/useGridColumns.d.ts +1 -1
  97. package/hooks/features/columns/useGridColumns.js +101 -55
  98. package/hooks/features/density/useGridDensity.d.ts +2 -0
  99. package/hooks/features/density/useGridDensity.js +3 -4
  100. package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -0
  101. package/hooks/features/dimensions/useGridDimensions.js +4 -3
  102. package/hooks/features/editRows/useGridCellEditing.new.d.ts +4 -0
  103. package/hooks/features/editRows/useGridCellEditing.new.js +330 -0
  104. package/hooks/features/editRows/{useGridCellEditing.d.ts → useGridCellEditing.old.d.ts} +0 -0
  105. package/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  106. package/hooks/features/editRows/useGridEditing.new.d.ts +6 -0
  107. package/hooks/features/editRows/useGridEditing.new.js +118 -0
  108. package/hooks/features/editRows/{useGridEditing.d.ts → useGridEditing.old.d.ts} +2 -0
  109. package/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +7 -8
  110. package/hooks/features/editRows/useGridRowEditing.new.d.ts +4 -0
  111. package/hooks/features/editRows/useGridRowEditing.new.js +501 -0
  112. package/hooks/features/editRows/{useGridRowEditing.d.ts → useGridRowEditing.old.d.ts} +0 -0
  113. package/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  114. package/hooks/features/events/useGridEvents.d.ts +1 -1
  115. package/hooks/features/events/useGridEvents.js +2 -0
  116. package/hooks/features/export/serializers/csvSerializer.js +4 -4
  117. package/hooks/features/filter/gridFilterSelector.d.ts +4 -9
  118. package/hooks/features/filter/gridFilterSelector.js +1 -0
  119. package/hooks/features/filter/gridFilterState.d.ts +2 -5
  120. package/hooks/features/filter/useGridFilter.d.ts +1 -1
  121. package/hooks/features/filter/useGridFilter.js +24 -30
  122. package/hooks/features/focus/useGridFocus.d.ts +3 -1
  123. package/hooks/features/focus/useGridFocus.js +47 -12
  124. package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.d.ts +2 -5
  125. package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +29 -8
  126. package/hooks/features/pagination/gridPaginationSelector.d.ts +1 -3
  127. package/hooks/features/pagination/useGridPage.d.ts +1 -2
  128. package/hooks/features/pagination/useGridPage.js +14 -21
  129. package/hooks/features/pagination/useGridPageSize.d.ts +1 -2
  130. package/hooks/features/pagination/useGridPageSize.js +8 -29
  131. package/hooks/features/pagination/useGridPagination.d.ts +2 -0
  132. package/hooks/features/pagination/useGridPagination.js +25 -2
  133. package/hooks/features/preferencesPanel/gridPreferencePanelState.d.ts +5 -0
  134. package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +3 -1
  135. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +28 -16
  136. package/hooks/features/rows/gridRowsSelector.d.ts +1 -1
  137. package/hooks/features/rows/gridRowsState.d.ts +20 -5
  138. package/hooks/features/rows/gridRowsUtils.d.ts +8 -0
  139. package/hooks/features/rows/gridRowsUtils.js +11 -0
  140. package/hooks/features/rows/index.d.ts +1 -0
  141. package/hooks/features/rows/index.js +1 -1
  142. package/hooks/features/rows/useGridParamsApi.js +3 -10
  143. package/hooks/features/rows/useGridRows.d.ts +0 -3
  144. package/hooks/features/rows/useGridRows.js +77 -48
  145. package/hooks/features/rows/useGridRowsMeta.d.ts +3 -1
  146. package/hooks/features/rows/useGridRowsMeta.js +44 -26
  147. package/hooks/features/rows/useGridRowsPreProcessors.d.ts +3 -0
  148. package/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
  149. package/hooks/features/scroll/useGridScroll.js +4 -13
  150. package/hooks/features/selection/gridSelectionSelector.d.ts +2 -4
  151. package/hooks/features/selection/useGridSelection.d.ts +6 -2
  152. package/hooks/features/selection/useGridSelection.js +103 -40
  153. package/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  154. package/hooks/features/sorting/gridSortingSelector.d.ts +1 -3
  155. package/hooks/features/sorting/gridSortingState.d.ts +2 -5
  156. package/hooks/features/sorting/gridSortingUtils.d.ts +1 -2
  157. package/hooks/features/sorting/useGridSorting.js +10 -29
  158. package/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  159. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +8 -3
  160. package/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
  161. package/hooks/utils/useGridApi.js +10 -1
  162. package/hooks/utils/useGridInitializeState.d.ts +2 -1
  163. package/hooks/utils/useGridRootProps.d.ts +1 -1
  164. package/hooks/utils/useGridSelector.js +4 -4
  165. package/hooks/utils/useGridState.js +10 -1
  166. package/hooks/utils/{useCurrentPageRows.d.ts → useGridVisibleRows.d.ts} +9 -8
  167. package/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
  168. package/index.js +1 -1
  169. package/internals/index.d.ts +21 -24
  170. package/internals/index.js +14 -17
  171. package/legacy/DataGrid/DataGrid.js +52 -4
  172. package/legacy/DataGrid/useDataGridComponent.js +27 -19
  173. package/legacy/DataGrid/useDataGridProps.js +8 -2
  174. package/legacy/colDef/gridDateColDef.js +2 -2
  175. package/legacy/colDef/gridDefaultColumnTypes.js +21 -0
  176. package/legacy/colDef/gridNumericOperators.js +1 -1
  177. package/legacy/colDef/index.js +2 -1
  178. package/legacy/components/ErrorOverlay.js +8 -1
  179. package/legacy/components/GridLoadingOverlay.js +11 -2
  180. package/legacy/components/GridNoRowsOverlay.js +11 -2
  181. package/legacy/components/GridRow.js +31 -4
  182. package/legacy/components/base/GridErrorHandler.js +16 -26
  183. package/legacy/components/cell/GridCell.js +6 -4
  184. package/legacy/components/cell/GridEditBooleanCell.js +2 -1
  185. package/legacy/components/cell/GridEditDateCell.js +2 -1
  186. package/legacy/components/cell/GridEditInputCell.js +66 -5
  187. package/legacy/components/cell/GridEditSingleSelectCell.js +89 -12
  188. package/legacy/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
  189. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +10 -8
  190. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  191. package/legacy/components/columnHeaders/GridColumnHeaders.js +3 -1
  192. package/legacy/components/columnHeaders/index.js +1 -0
  193. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  194. package/legacy/components/containers/GridOverlay.js +11 -2
  195. package/legacy/components/containers/GridRoot.js +34 -17
  196. package/legacy/components/containers/GridRootStyles.js +3 -3
  197. package/legacy/components/menu/columnMenu/GridColumnMenu.js +1 -1
  198. package/legacy/components/panel/GridColumnsPanel.js +3 -3
  199. package/legacy/components/panel/GridPreferencesPanel.js +4 -6
  200. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +29 -26
  201. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  202. package/legacy/constants/defaultGridSlotsComponents.js +2 -1
  203. package/legacy/constants/gridClasses.js +1 -1
  204. package/legacy/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
  205. package/legacy/hooks/core/pipeProcessing/index.js +3 -0
  206. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +83 -0
  207. package/legacy/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +6 -2
  208. package/legacy/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  209. package/legacy/hooks/core/strategyProcessing/index.js +3 -0
  210. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  211. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +130 -0
  212. package/legacy/hooks/core/useGridInitialization.js +4 -4
  213. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
  214. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +8 -9
  215. package/legacy/hooks/features/columns/gridColumnsSelector.js +13 -12
  216. package/legacy/hooks/features/columns/gridColumnsUtils.js +165 -42
  217. package/legacy/hooks/features/columns/useGridColumns.js +102 -56
  218. package/legacy/hooks/features/density/useGridDensity.js +5 -6
  219. package/legacy/hooks/features/dimensions/useGridDimensions.js +4 -3
  220. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +344 -0
  221. package/legacy/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  222. package/legacy/hooks/features/editRows/useGridEditing.new.js +152 -0
  223. package/legacy/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +9 -10
  224. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +508 -0
  225. package/legacy/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  226. package/legacy/hooks/features/events/useGridEvents.js +2 -0
  227. package/legacy/hooks/features/export/serializers/csvSerializer.js +4 -4
  228. package/legacy/hooks/features/filter/gridFilterSelector.js +1 -0
  229. package/legacy/hooks/features/filter/useGridFilter.js +24 -30
  230. package/legacy/hooks/features/focus/useGridFocus.js +49 -14
  231. package/legacy/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +29 -8
  232. package/legacy/hooks/features/pagination/useGridPage.js +16 -21
  233. package/legacy/hooks/features/pagination/useGridPageSize.js +8 -29
  234. package/legacy/hooks/features/pagination/useGridPagination.js +25 -2
  235. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +28 -16
  236. package/legacy/hooks/features/rows/gridRowsUtils.js +13 -0
  237. package/legacy/hooks/features/rows/index.js +1 -1
  238. package/legacy/hooks/features/rows/useGridParamsApi.js +3 -10
  239. package/legacy/hooks/features/rows/useGridRows.js +80 -48
  240. package/legacy/hooks/features/rows/useGridRowsMeta.js +46 -28
  241. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +36 -0
  242. package/legacy/hooks/features/scroll/useGridScroll.js +4 -13
  243. package/legacy/hooks/features/selection/useGridSelection.js +106 -43
  244. package/legacy/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  245. package/legacy/hooks/features/sorting/useGridSorting.js +10 -29
  246. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  247. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
  248. package/legacy/hooks/utils/useGridApi.js +7 -0
  249. package/legacy/hooks/utils/useGridSelector.js +4 -4
  250. package/legacy/hooks/utils/useGridState.js +7 -0
  251. package/legacy/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
  252. package/legacy/index.js +1 -1
  253. package/legacy/internals/index.js +14 -17
  254. package/legacy/locales/arSD.js +62 -58
  255. package/legacy/locales/daDK.js +36 -32
  256. package/legacy/locales/faIR.js +26 -22
  257. package/legacy/locales/koKR.js +1 -1
  258. package/legacy/locales/plPL.js +30 -26
  259. package/legacy/models/colDef/index.js +1 -2
  260. package/legacy/models/events/gridEvents.js +6 -3
  261. package/legacy/models/gridEditRowModel.js +1 -0
  262. package/legacy/models/gridRows.js +1 -33
  263. package/legacy/models/index.js +2 -2
  264. package/legacy/models/params/gridEditCellParams.js +34 -1
  265. package/{modern/hooks/core/preProcessing/gridPreProcessingApi.js → legacy/models/params/gridPreferencePanelParams.js} +0 -0
  266. package/legacy/models/params/gridRowParams.js +39 -1
  267. package/legacy/models/params/index.js +2 -1
  268. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +5 -1
  269. package/legacy/utils/createSelector.js +4 -4
  270. package/legacy/utils/getGridLocalization.js +2 -2
  271. package/legacy/utils/utils.js +150 -3
  272. package/locales/arSD.js +58 -58
  273. package/locales/daDK.js +32 -32
  274. package/locales/faIR.js +22 -22
  275. package/locales/koKR.js +1 -1
  276. package/locales/plPL.js +26 -26
  277. package/models/api/gridApiCommon.d.ts +3 -3
  278. package/models/api/gridEditingApi.d.ts +127 -6
  279. package/models/api/gridFocusApi.d.ts +9 -0
  280. package/models/api/gridParamsApi.d.ts +5 -5
  281. package/models/api/gridRowApi.d.ts +8 -2
  282. package/models/api/gridRowsMetaApi.d.ts +7 -0
  283. package/models/api/gridSortApi.d.ts +1 -0
  284. package/models/api/index.d.ts +1 -1
  285. package/models/colDef/gridColDef.d.ts +38 -30
  286. package/models/colDef/index.d.ts +0 -1
  287. package/models/colDef/index.js +1 -2
  288. package/models/events/gridEventLookup.d.ts +23 -11
  289. package/models/events/gridEvents.d.ts +18 -5
  290. package/models/events/gridEvents.js +6 -3
  291. package/models/gridCell.d.ts +1 -0
  292. package/models/gridEditRowModel.d.ts +4 -3
  293. package/models/gridEditRowModel.js +1 -0
  294. package/models/gridFilterOperator.d.ts +3 -2
  295. package/models/gridRows.d.ts +17 -19
  296. package/models/gridRows.js +1 -31
  297. package/models/gridSlotsComponent.d.ts +5 -0
  298. package/models/gridSlotsComponentsProps.d.ts +1 -0
  299. package/models/gridSortModel.d.ts +3 -4
  300. package/models/index.d.ts +1 -1
  301. package/models/index.js +2 -2
  302. package/models/params/gridCellParams.d.ts +23 -14
  303. package/models/params/gridColumnHeaderParams.d.ts +3 -2
  304. package/models/params/gridEditCellParams.d.ts +52 -3
  305. package/models/params/gridEditCellParams.js +34 -1
  306. package/models/params/gridPreferencePanelParams.d.ts +3 -0
  307. package/{modern/hooks/core/rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → models/params/gridPreferencePanelParams.js} +0 -0
  308. package/models/params/gridRowParams.d.ts +73 -6
  309. package/models/params/gridRowParams.js +39 -1
  310. package/models/params/gridValueOptionsParams.d.ts +3 -3
  311. package/models/params/index.d.ts +1 -0
  312. package/models/params/index.js +2 -1
  313. package/models/props/DataGridProps.d.ts +63 -15
  314. package/modern/DataGrid/DataGrid.js +52 -4
  315. package/modern/DataGrid/useDataGridComponent.js +25 -19
  316. package/modern/DataGrid/useDataGridProps.js +3 -2
  317. package/modern/colDef/gridDateColDef.js +2 -2
  318. package/modern/colDef/gridDefaultColumnTypes.js +20 -0
  319. package/modern/colDef/gridNumericOperators.js +1 -1
  320. package/modern/colDef/index.js +2 -1
  321. package/modern/components/ErrorOverlay.js +8 -1
  322. package/modern/components/GridLoadingOverlay.js +11 -2
  323. package/modern/components/GridNoRowsOverlay.js +11 -2
  324. package/modern/components/GridRow.js +30 -4
  325. package/modern/components/base/GridErrorHandler.js +14 -22
  326. package/modern/components/cell/GridCell.js +4 -4
  327. package/modern/components/cell/GridEditBooleanCell.js +1 -1
  328. package/modern/components/cell/GridEditDateCell.js +1 -1
  329. package/modern/components/cell/GridEditInputCell.js +64 -5
  330. package/modern/components/cell/GridEditSingleSelectCell.js +74 -5
  331. package/modern/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
  332. package/modern/components/columnHeaders/GridColumnHeaderItem.js +8 -6
  333. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  334. package/modern/components/columnHeaders/GridColumnHeaders.js +3 -1
  335. package/modern/components/columnHeaders/index.js +1 -0
  336. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  337. package/modern/components/containers/GridOverlay.js +11 -2
  338. package/modern/components/containers/GridRoot.js +29 -17
  339. package/modern/components/containers/GridRootStyles.js +3 -3
  340. package/modern/components/menu/columnMenu/GridColumnMenu.js +1 -1
  341. package/modern/components/panel/GridColumnsPanel.js +3 -3
  342. package/modern/components/panel/GridPreferencesPanel.js +3 -5
  343. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
  344. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  345. package/modern/constants/defaultGridSlotsComponents.js +2 -1
  346. package/modern/constants/gridClasses.js +1 -1
  347. package/modern/hooks/core/pipeProcessing/gridPipeProcessingApi.js +1 -0
  348. package/modern/hooks/core/pipeProcessing/index.js +3 -0
  349. package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +74 -0
  350. package/modern/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +6 -2
  351. package/modern/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +1 -0
  352. package/modern/hooks/core/strategyProcessing/index.js +3 -0
  353. package/modern/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  354. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +123 -0
  355. package/modern/hooks/core/useGridInitialization.js +4 -4
  356. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
  357. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +6 -7
  358. package/modern/hooks/features/columns/gridColumnsSelector.js +11 -10
  359. package/modern/hooks/features/columns/gridColumnsUtils.js +163 -43
  360. package/modern/hooks/features/columns/useGridColumns.js +96 -52
  361. package/modern/hooks/features/density/useGridDensity.js +3 -4
  362. package/modern/hooks/features/dimensions/useGridDimensions.js +4 -3
  363. package/modern/hooks/features/editRows/useGridCellEditing.new.js +330 -0
  364. package/modern/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  365. package/modern/hooks/features/editRows/useGridEditing.new.js +118 -0
  366. package/modern/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +7 -8
  367. package/modern/hooks/features/editRows/useGridRowEditing.new.js +499 -0
  368. package/modern/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  369. package/modern/hooks/features/events/useGridEvents.js +2 -0
  370. package/modern/hooks/features/export/serializers/csvSerializer.js +4 -4
  371. package/modern/hooks/features/filter/gridFilterSelector.js +1 -0
  372. package/modern/hooks/features/filter/useGridFilter.js +20 -30
  373. package/modern/hooks/features/focus/useGridFocus.js +47 -12
  374. package/modern/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +29 -8
  375. package/modern/hooks/features/pagination/useGridPage.js +10 -13
  376. package/modern/hooks/features/pagination/useGridPageSize.js +4 -23
  377. package/modern/hooks/features/pagination/useGridPagination.js +23 -2
  378. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +24 -12
  379. package/modern/hooks/features/rows/gridRowsUtils.js +11 -0
  380. package/modern/hooks/features/rows/index.js +1 -1
  381. package/modern/hooks/features/rows/useGridParamsApi.js +3 -10
  382. package/modern/hooks/features/rows/useGridRows.js +75 -46
  383. package/modern/hooks/features/rows/useGridRowsMeta.js +38 -26
  384. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
  385. package/modern/hooks/features/scroll/useGridScroll.js +4 -9
  386. package/modern/hooks/features/selection/useGridSelection.js +99 -40
  387. package/modern/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  388. package/modern/hooks/features/sorting/useGridSorting.js +10 -29
  389. package/modern/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  390. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
  391. package/modern/hooks/utils/useGridApi.js +10 -1
  392. package/modern/hooks/utils/useGridSelector.js +4 -4
  393. package/modern/hooks/utils/useGridState.js +10 -1
  394. package/modern/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
  395. package/modern/index.js +1 -1
  396. package/modern/internals/index.js +14 -17
  397. package/modern/locales/arSD.js +58 -58
  398. package/modern/locales/daDK.js +32 -32
  399. package/modern/locales/faIR.js +22 -22
  400. package/modern/locales/koKR.js +1 -1
  401. package/modern/locales/plPL.js +26 -26
  402. package/modern/models/colDef/index.js +1 -2
  403. package/modern/models/events/gridEvents.js +6 -3
  404. package/modern/models/gridEditRowModel.js +1 -0
  405. package/modern/models/gridRows.js +1 -31
  406. package/modern/models/index.js +2 -2
  407. package/modern/models/params/gridEditCellParams.js +34 -1
  408. package/modern/models/params/gridPreferencePanelParams.js +1 -0
  409. package/modern/models/params/gridRowParams.js +39 -1
  410. package/modern/models/params/index.js +2 -1
  411. package/modern/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  412. package/modern/utils/createSelector.js +4 -4
  413. package/modern/utils/getGridLocalization.js +1 -1
  414. package/modern/utils/utils.js +150 -3
  415. package/node/DataGrid/DataGrid.js +52 -4
  416. package/node/DataGrid/useDataGridComponent.js +23 -16
  417. package/node/DataGrid/useDataGridProps.js +3 -2
  418. package/node/colDef/gridDateColDef.js +2 -2
  419. package/node/{models/colDef → colDef}/gridDefaultColumnTypes.js +8 -8
  420. package/node/colDef/gridNumericOperators.js +1 -1
  421. package/node/colDef/index.js +13 -0
  422. package/node/components/ErrorOverlay.js +10 -1
  423. package/node/components/GridLoadingOverlay.js +10 -1
  424. package/node/components/GridNoRowsOverlay.js +10 -1
  425. package/node/components/GridRow.js +29 -4
  426. package/node/components/base/GridErrorHandler.js +17 -30
  427. package/node/components/cell/GridCell.js +6 -4
  428. package/node/components/cell/GridEditBooleanCell.js +1 -1
  429. package/node/components/cell/GridEditDateCell.js +1 -1
  430. package/node/components/cell/GridEditInputCell.js +66 -5
  431. package/node/components/cell/GridEditSingleSelectCell.js +78 -5
  432. package/node/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +23 -5
  433. package/node/components/columnHeaders/GridColumnHeaderItem.js +10 -9
  434. package/node/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  435. package/node/components/columnHeaders/GridColumnHeaders.js +3 -1
  436. package/node/components/columnHeaders/index.js +13 -0
  437. package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
  438. package/node/components/containers/GridOverlay.js +10 -1
  439. package/node/components/containers/GridRoot.js +28 -17
  440. package/node/components/containers/GridRootStyles.js +3 -3
  441. package/node/components/menu/columnMenu/GridColumnMenu.js +1 -1
  442. package/node/components/panel/GridColumnsPanel.js +3 -3
  443. package/node/components/panel/GridPreferencesPanel.js +4 -5
  444. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
  445. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
  446. package/node/constants/defaultGridSlotsComponents.js +1 -0
  447. package/node/constants/gridClasses.js +1 -1
  448. package/node/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
  449. package/node/hooks/core/pipeProcessing/index.js +44 -0
  450. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +93 -0
  451. package/node/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +7 -4
  452. package/node/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  453. package/node/hooks/core/strategyProcessing/index.js +44 -0
  454. package/node/hooks/{features/sorting/useGridRegisterSortingMethod.js → core/strategyProcessing/useGridRegisterStrategyProcessor.js} +18 -9
  455. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +146 -0
  456. package/node/hooks/core/useGridInitialization.js +4 -4
  457. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
  458. package/node/hooks/features/columnMenu/useGridColumnMenu.js +10 -8
  459. package/node/hooks/features/columns/gridColumnsSelector.js +11 -9
  460. package/node/hooks/features/columns/gridColumnsUtils.js +171 -49
  461. package/node/hooks/features/columns/useGridColumns.js +104 -54
  462. package/node/hooks/features/density/useGridDensity.js +7 -6
  463. package/node/hooks/features/dimensions/useGridDimensions.js +4 -3
  464. package/node/hooks/features/editRows/useGridCellEditing.new.js +351 -0
  465. package/node/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  466. package/node/hooks/features/editRows/useGridEditing.new.js +142 -0
  467. package/node/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +12 -9
  468. package/node/hooks/features/editRows/useGridRowEditing.new.js +516 -0
  469. package/node/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +6 -6
  470. package/node/hooks/features/events/useGridEvents.js +2 -0
  471. package/node/hooks/features/export/serializers/csvSerializer.js +5 -4
  472. package/node/hooks/features/filter/gridFilterSelector.js +1 -0
  473. package/node/hooks/features/filter/useGridFilter.js +24 -29
  474. package/node/hooks/features/focus/useGridFocus.js +55 -14
  475. package/node/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +31 -8
  476. package/node/hooks/features/pagination/useGridPage.js +15 -23
  477. package/node/hooks/features/pagination/useGridPageSize.js +9 -29
  478. package/node/hooks/features/pagination/useGridPagination.js +31 -1
  479. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +35 -18
  480. package/node/hooks/features/rows/gridRowsUtils.js +18 -0
  481. package/node/hooks/features/rows/index.js +15 -1
  482. package/node/hooks/features/rows/useGridParamsApi.js +4 -10
  483. package/node/hooks/features/rows/useGridRows.js +79 -49
  484. package/node/hooks/features/rows/useGridRowsMeta.js +49 -28
  485. package/node/hooks/features/rows/useGridRowsPreProcessors.js +46 -0
  486. package/node/hooks/features/scroll/useGridScroll.js +3 -13
  487. package/node/hooks/features/selection/useGridSelection.js +107 -42
  488. package/node/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
  489. package/node/hooks/features/sorting/useGridSorting.js +10 -29
  490. package/node/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
  491. package/node/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
  492. package/node/hooks/utils/useGridApi.js +11 -1
  493. package/node/hooks/utils/useGridSelector.js +6 -4
  494. package/node/hooks/utils/useGridState.js +11 -1
  495. package/node/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +11 -10
  496. package/node/index.js +1 -1
  497. package/node/internals/index.js +77 -47
  498. package/node/locales/arSD.js +58 -58
  499. package/node/locales/daDK.js +32 -32
  500. package/node/locales/faIR.js +22 -22
  501. package/node/locales/koKR.js +1 -1
  502. package/node/locales/plPL.js +26 -26
  503. package/node/models/colDef/index.js +0 -13
  504. package/node/models/events/gridEvents.js +6 -3
  505. package/node/models/gridEditRowModel.js +1 -0
  506. package/node/models/gridRows.js +1 -34
  507. package/node/models/index.js +13 -13
  508. package/node/models/params/gridEditCellParams.js +37 -1
  509. package/node/models/params/gridPreferencePanelParams.js +5 -0
  510. package/node/models/params/gridRowParams.js +42 -1
  511. package/node/models/params/index.js +13 -0
  512. package/node/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  513. package/node/utils/createSelector.js +5 -4
  514. package/node/utils/getGridLocalization.js +2 -2
  515. package/node/utils/utils.js +152 -11
  516. package/package.json +2 -2
  517. package/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +2 -0
  518. package/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  519. package/utils/createSelector.js +4 -4
  520. package/utils/getGridLocalization.d.ts +2 -1
  521. package/utils/getGridLocalization.js +2 -2
  522. package/utils/keyboardUtils.d.ts +1 -1
  523. package/utils/utils.d.ts +27 -2
  524. package/utils/utils.js +150 -3
  525. package/utils/warning.d.ts +1 -1
  526. package/components/columnHeaders/ColumnHeaderFilterIcon.d.ts +0 -5
  527. package/hooks/core/preProcessing/gridPreProcessingApi.d.ts +0 -71
  528. package/hooks/core/preProcessing/index.d.ts +0 -3
  529. package/hooks/core/preProcessing/index.js +0 -3
  530. package/hooks/core/preProcessing/useGridPreProcessing.d.ts +0 -3
  531. package/hooks/core/preProcessing/useGridPreProcessing.js +0 -49
  532. package/hooks/core/preProcessing/useGridRegisterPreProcessor.d.ts +0 -4
  533. package/hooks/core/rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.d.ts +0 -35
  534. package/hooks/core/rowGroupsPreProcessing/index.d.ts +0 -2
  535. package/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  536. package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.d.ts +0 -3
  537. package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -72
  538. package/hooks/features/filter/useGridRegisterFilteringMethod.d.ts +0 -4
  539. package/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  540. package/hooks/features/keyboard/useGridKeyboard.d.ts +0 -10
  541. package/hooks/features/keyboard/useGridKeyboard.js +0 -70
  542. package/hooks/features/sorting/useGridRegisterSortingMethod.d.ts +0 -4
  543. package/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  544. package/hooks/utils/useGridStateInit.d.ts +0 -7
  545. package/hooks/utils/useGridStateInit.js +0 -9
  546. package/legacy/hooks/core/preProcessing/index.js +0 -3
  547. package/legacy/hooks/core/preProcessing/useGridPreProcessing.js +0 -58
  548. package/legacy/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  549. package/legacy/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -71
  550. package/legacy/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  551. package/legacy/hooks/features/keyboard/useGridKeyboard.js +0 -70
  552. package/legacy/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  553. package/legacy/hooks/utils/useGridStateInit.js +0 -9
  554. package/legacy/lib/lodash/_DataView.js +0 -8
  555. package/legacy/lib/lodash/_Hash.js +0 -33
  556. package/legacy/lib/lodash/_ListCache.js +0 -33
  557. package/legacy/lib/lodash/_Map.js +0 -8
  558. package/legacy/lib/lodash/_MapCache.js +0 -33
  559. package/legacy/lib/lodash/_Promise.js +0 -8
  560. package/legacy/lib/lodash/_Set.js +0 -8
  561. package/legacy/lib/lodash/_SetCache.js +0 -28
  562. package/legacy/lib/lodash/_Stack.js +0 -28
  563. package/legacy/lib/lodash/_Symbol.js +0 -7
  564. package/legacy/lib/lodash/_Uint8Array.js +0 -7
  565. package/legacy/lib/lodash/_WeakMap.js +0 -8
  566. package/legacy/lib/lodash/_arrayFilter.js +0 -29
  567. package/legacy/lib/lodash/_arrayLikeKeys.js +0 -46
  568. package/legacy/lib/lodash/_arrayPush.js +0 -23
  569. package/legacy/lib/lodash/_arraySome.js +0 -26
  570. package/legacy/lib/lodash/_assocIndexOf.js +0 -25
  571. package/legacy/lib/lodash/_baseGetAllKeys.js +0 -22
  572. package/legacy/lib/lodash/_baseGetTag.js +0 -29
  573. package/legacy/lib/lodash/_baseIsArguments.js +0 -20
  574. package/legacy/lib/lodash/_baseIsEqual.js +0 -32
  575. package/legacy/lib/lodash/_baseIsEqualDeep.js +0 -85
  576. package/legacy/lib/lodash/_baseIsNative.js +0 -47
  577. package/legacy/lib/lodash/_baseIsTypedArray.js +0 -49
  578. package/legacy/lib/lodash/_baseKeys.js +0 -35
  579. package/legacy/lib/lodash/_baseTimes.js +0 -23
  580. package/legacy/lib/lodash/_baseUnary.js +0 -16
  581. package/legacy/lib/lodash/_cacheHas.js +0 -15
  582. package/legacy/lib/lodash/_coreJsData.js +0 -7
  583. package/legacy/lib/lodash/_equalArrays.js +0 -84
  584. package/legacy/lib/lodash/_equalByTag.js +0 -117
  585. package/legacy/lib/lodash/_equalObjects.js +0 -92
  586. package/legacy/lib/lodash/_freeGlobal.js +0 -6
  587. package/legacy/lib/lodash/_getAllKeys.js +0 -18
  588. package/legacy/lib/lodash/_getMapData.js +0 -18
  589. package/legacy/lib/lodash/_getNative.js +0 -19
  590. package/legacy/lib/lodash/_getRawTag.js +0 -50
  591. package/legacy/lib/lodash/_getSymbols.js +0 -32
  592. package/legacy/lib/lodash/_getTag.js +0 -64
  593. package/legacy/lib/lodash/_getValue.js +0 -15
  594. package/legacy/lib/lodash/_hashClear.js +0 -17
  595. package/legacy/lib/lodash/_hashDelete.js +0 -19
  596. package/legacy/lib/lodash/_hashGet.js +0 -34
  597. package/legacy/lib/lodash/_hashHas.js +0 -25
  598. package/legacy/lib/lodash/_hashSet.js +0 -25
  599. package/legacy/lib/lodash/_isIndex.js +0 -25
  600. package/legacy/lib/lodash/_isKeyable.js +0 -18
  601. package/legacy/lib/lodash/_isMasked.js +0 -23
  602. package/legacy/lib/lodash/_isPrototype.js +0 -19
  603. package/legacy/lib/lodash/_listCacheClear.js +0 -15
  604. package/legacy/lib/lodash/_listCacheDelete.js +0 -40
  605. package/legacy/lib/lodash/_listCacheGet.js +0 -20
  606. package/legacy/lib/lodash/_listCacheHas.js +0 -18
  607. package/legacy/lib/lodash/_listCacheSet.js +0 -29
  608. package/legacy/lib/lodash/_mapCacheClear.js +0 -23
  609. package/legacy/lib/lodash/_mapCacheDelete.js +0 -20
  610. package/legacy/lib/lodash/_mapCacheGet.js +0 -18
  611. package/legacy/lib/lodash/_mapCacheHas.js +0 -18
  612. package/legacy/lib/lodash/_mapCacheSet.js +0 -23
  613. package/legacy/lib/lodash/_mapToArray.js +0 -19
  614. package/legacy/lib/lodash/_nativeCreate.js +0 -7
  615. package/legacy/lib/lodash/_nativeKeys.js +0 -7
  616. package/legacy/lib/lodash/_nodeUtil.js +0 -25
  617. package/legacy/lib/lodash/_objectToString.js +0 -24
  618. package/legacy/lib/lodash/_overArg.js +0 -17
  619. package/legacy/lib/lodash/_root.js +0 -11
  620. package/legacy/lib/lodash/_setCacheAdd.js +0 -22
  621. package/legacy/lib/lodash/_setCacheHas.js +0 -16
  622. package/legacy/lib/lodash/_setToArray.js +0 -19
  623. package/legacy/lib/lodash/_stackClear.js +0 -17
  624. package/legacy/lib/lodash/_stackDelete.js +0 -19
  625. package/legacy/lib/lodash/_stackGet.js +0 -16
  626. package/legacy/lib/lodash/_stackHas.js +0 -16
  627. package/legacy/lib/lodash/_stackSet.js +0 -40
  628. package/legacy/lib/lodash/_toSource.js +0 -30
  629. package/legacy/lib/lodash/date.default.js +0 -4
  630. package/legacy/lib/lodash/date.js +0 -2
  631. package/legacy/lib/lodash/eq.js +0 -39
  632. package/legacy/lib/lodash/function.default.js +0 -4
  633. package/legacy/lib/lodash/function.js +0 -2
  634. package/legacy/lib/lodash/isArguments.js +0 -38
  635. package/legacy/lib/lodash/isArray.js +0 -27
  636. package/legacy/lib/lodash/isArrayLike.js +0 -35
  637. package/legacy/lib/lodash/isBuffer.js +0 -40
  638. package/legacy/lib/lodash/isDeepEqual.js +0 -45
  639. package/legacy/lib/lodash/isFunction.js +0 -40
  640. package/legacy/lib/lodash/isLength.js +0 -36
  641. package/legacy/lib/lodash/isObject.js +0 -36
  642. package/legacy/lib/lodash/isObjectLike.js +0 -33
  643. package/legacy/lib/lodash/isSymbol.js +0 -31
  644. package/legacy/lib/lodash/isTypedArray.js +0 -28
  645. package/legacy/lib/lodash/keys.js +0 -39
  646. package/legacy/lib/lodash/lang.default.js +0 -28
  647. package/legacy/lib/lodash/lang.js +0 -14
  648. package/legacy/lib/lodash/now.js +0 -25
  649. package/legacy/lib/lodash/object.default.js +0 -4
  650. package/legacy/lib/lodash/object.js +0 -2
  651. package/legacy/lib/lodash/stubArray.js +0 -25
  652. package/legacy/lib/lodash/stubFalse.js +0 -20
  653. package/legacy/lib/lodash/toNumber.js +0 -70
  654. package/legacy/lib/lodash/util.default.js +0 -6
  655. package/legacy/lib/lodash/util.js +0 -3
  656. package/legacy/models/colDef/gridDefaultColumnTypes.js +0 -21
  657. package/lib/lodash/_DataView.d.ts +0 -2
  658. package/lib/lodash/_DataView.js +0 -8
  659. package/lib/lodash/_Hash.d.ts +0 -29
  660. package/lib/lodash/_Hash.js +0 -33
  661. package/lib/lodash/_ListCache.d.ts +0 -29
  662. package/lib/lodash/_ListCache.js +0 -33
  663. package/lib/lodash/_Map.d.ts +0 -2
  664. package/lib/lodash/_Map.js +0 -8
  665. package/lib/lodash/_MapCache.d.ts +0 -29
  666. package/lib/lodash/_MapCache.js +0 -33
  667. package/lib/lodash/_Promise.d.ts +0 -2
  668. package/lib/lodash/_Promise.js +0 -8
  669. package/lib/lodash/_Set.d.ts +0 -2
  670. package/lib/lodash/_Set.js +0 -8
  671. package/lib/lodash/_SetCache.d.ts +0 -28
  672. package/lib/lodash/_SetCache.js +0 -28
  673. package/lib/lodash/_Stack.d.ts +0 -32
  674. package/lib/lodash/_Stack.js +0 -28
  675. package/lib/lodash/_Symbol.d.ts +0 -3
  676. package/lib/lodash/_Symbol.js +0 -7
  677. package/lib/lodash/_Uint8Array.d.ts +0 -3
  678. package/lib/lodash/_Uint8Array.js +0 -7
  679. package/lib/lodash/_WeakMap.d.ts +0 -2
  680. package/lib/lodash/_WeakMap.js +0 -8
  681. package/lib/lodash/_arrayFilter.d.ts +0 -11
  682. package/lib/lodash/_arrayFilter.js +0 -29
  683. package/lib/lodash/_arrayLikeKeys.d.ts +0 -10
  684. package/lib/lodash/_arrayLikeKeys.js +0 -46
  685. package/lib/lodash/_arrayPush.d.ts +0 -10
  686. package/lib/lodash/_arrayPush.js +0 -23
  687. package/lib/lodash/_arraySome.d.ts +0 -12
  688. package/lib/lodash/_arraySome.js +0 -26
  689. package/lib/lodash/_assocIndexOf.d.ts +0 -10
  690. package/lib/lodash/_assocIndexOf.js +0 -25
  691. package/lib/lodash/_baseGetAllKeys.d.ts +0 -13
  692. package/lib/lodash/_baseGetAllKeys.js +0 -22
  693. package/lib/lodash/_baseGetTag.d.ts +0 -9
  694. package/lib/lodash/_baseGetTag.js +0 -29
  695. package/lib/lodash/_baseIsArguments.d.ts +0 -9
  696. package/lib/lodash/_baseIsArguments.js +0 -20
  697. package/lib/lodash/_baseIsEqual.d.ts +0 -16
  698. package/lib/lodash/_baseIsEqual.js +0 -32
  699. package/lib/lodash/_baseIsEqualDeep.d.ts +0 -16
  700. package/lib/lodash/_baseIsEqualDeep.js +0 -85
  701. package/lib/lodash/_baseIsNative.d.ts +0 -10
  702. package/lib/lodash/_baseIsNative.js +0 -47
  703. package/lib/lodash/_baseIsTypedArray.d.ts +0 -9
  704. package/lib/lodash/_baseIsTypedArray.js +0 -49
  705. package/lib/lodash/_baseKeys.d.ts +0 -9
  706. package/lib/lodash/_baseKeys.js +0 -35
  707. package/lib/lodash/_baseTimes.d.ts +0 -11
  708. package/lib/lodash/_baseTimes.js +0 -23
  709. package/lib/lodash/_baseUnary.d.ts +0 -9
  710. package/lib/lodash/_baseUnary.js +0 -16
  711. package/lib/lodash/_cacheHas.d.ts +0 -10
  712. package/lib/lodash/_cacheHas.js +0 -15
  713. package/lib/lodash/_coreJsData.d.ts +0 -3
  714. package/lib/lodash/_coreJsData.js +0 -7
  715. package/lib/lodash/_equalArrays.d.ts +0 -15
  716. package/lib/lodash/_equalArrays.js +0 -84
  717. package/lib/lodash/_equalByTag.d.ts +0 -19
  718. package/lib/lodash/_equalByTag.js +0 -117
  719. package/lib/lodash/_equalObjects.d.ts +0 -15
  720. package/lib/lodash/_equalObjects.js +0 -92
  721. package/lib/lodash/_freeGlobal.d.ts +0 -3
  722. package/lib/lodash/_freeGlobal.js +0 -5
  723. package/lib/lodash/_getAllKeys.d.ts +0 -9
  724. package/lib/lodash/_getAllKeys.js +0 -18
  725. package/lib/lodash/_getMapData.d.ts +0 -10
  726. package/lib/lodash/_getMapData.js +0 -18
  727. package/lib/lodash/_getNative.d.ts +0 -10
  728. package/lib/lodash/_getNative.js +0 -19
  729. package/lib/lodash/_getRawTag.d.ts +0 -9
  730. package/lib/lodash/_getRawTag.js +0 -50
  731. package/lib/lodash/_getSymbols.d.ts +0 -2
  732. package/lib/lodash/_getSymbols.js +0 -32
  733. package/lib/lodash/_getTag.d.ts +0 -10
  734. package/lib/lodash/_getTag.js +0 -64
  735. package/lib/lodash/_getValue.d.ts +0 -10
  736. package/lib/lodash/_getValue.js +0 -15
  737. package/lib/lodash/_hashClear.d.ts +0 -13
  738. package/lib/lodash/_hashClear.js +0 -17
  739. package/lib/lodash/_hashDelete.d.ts +0 -12
  740. package/lib/lodash/_hashDelete.js +0 -19
  741. package/lib/lodash/_hashGet.d.ts +0 -11
  742. package/lib/lodash/_hashGet.js +0 -34
  743. package/lib/lodash/_hashHas.d.ts +0 -11
  744. package/lib/lodash/_hashHas.js +0 -25
  745. package/lib/lodash/_hashSet.d.ts +0 -12
  746. package/lib/lodash/_hashSet.js +0 -25
  747. package/lib/lodash/_isIndex.d.ts +0 -10
  748. package/lib/lodash/_isIndex.js +0 -23
  749. package/lib/lodash/_isKeyable.d.ts +0 -9
  750. package/lib/lodash/_isKeyable.js +0 -15
  751. package/lib/lodash/_isMasked.d.ts +0 -9
  752. package/lib/lodash/_isMasked.js +0 -23
  753. package/lib/lodash/_isPrototype.d.ts +0 -9
  754. package/lib/lodash/_isPrototype.js +0 -19
  755. package/lib/lodash/_listCacheClear.d.ts +0 -13
  756. package/lib/lodash/_listCacheClear.js +0 -15
  757. package/lib/lodash/_listCacheDelete.d.ts +0 -11
  758. package/lib/lodash/_listCacheDelete.js +0 -40
  759. package/lib/lodash/_listCacheGet.d.ts +0 -11
  760. package/lib/lodash/_listCacheGet.js +0 -20
  761. package/lib/lodash/_listCacheHas.d.ts +0 -11
  762. package/lib/lodash/_listCacheHas.js +0 -18
  763. package/lib/lodash/_listCacheSet.d.ts +0 -12
  764. package/lib/lodash/_listCacheSet.js +0 -29
  765. package/lib/lodash/_mapCacheClear.d.ts +0 -18
  766. package/lib/lodash/_mapCacheClear.js +0 -23
  767. package/lib/lodash/_mapCacheDelete.d.ts +0 -11
  768. package/lib/lodash/_mapCacheDelete.js +0 -20
  769. package/lib/lodash/_mapCacheGet.d.ts +0 -11
  770. package/lib/lodash/_mapCacheGet.js +0 -18
  771. package/lib/lodash/_mapCacheHas.d.ts +0 -11
  772. package/lib/lodash/_mapCacheHas.js +0 -18
  773. package/lib/lodash/_mapCacheSet.d.ts +0 -12
  774. package/lib/lodash/_mapCacheSet.js +0 -23
  775. package/lib/lodash/_mapToArray.d.ts +0 -9
  776. package/lib/lodash/_mapToArray.js +0 -19
  777. package/lib/lodash/_nativeCreate.d.ts +0 -2
  778. package/lib/lodash/_nativeCreate.js +0 -7
  779. package/lib/lodash/_nativeKeys.d.ts +0 -2
  780. package/lib/lodash/_nativeKeys.js +0 -7
  781. package/lib/lodash/_nodeUtil.d.ts +0 -3
  782. package/lib/lodash/_nodeUtil.js +0 -24
  783. package/lib/lodash/_objectToString.d.ts +0 -9
  784. package/lib/lodash/_objectToString.js +0 -24
  785. package/lib/lodash/_overArg.d.ts +0 -10
  786. package/lib/lodash/_overArg.js +0 -17
  787. package/lib/lodash/_root.d.ts +0 -3
  788. package/lib/lodash/_root.js +0 -10
  789. package/lib/lodash/_setCacheAdd.d.ts +0 -12
  790. package/lib/lodash/_setCacheAdd.js +0 -22
  791. package/lib/lodash/_setCacheHas.d.ts +0 -11
  792. package/lib/lodash/_setCacheHas.js +0 -16
  793. package/lib/lodash/_setToArray.d.ts +0 -9
  794. package/lib/lodash/_setToArray.js +0 -19
  795. package/lib/lodash/_stackClear.d.ts +0 -14
  796. package/lib/lodash/_stackClear.js +0 -17
  797. package/lib/lodash/_stackDelete.d.ts +0 -24
  798. package/lib/lodash/_stackDelete.js +0 -19
  799. package/lib/lodash/_stackGet.d.ts +0 -11
  800. package/lib/lodash/_stackGet.js +0 -16
  801. package/lib/lodash/_stackHas.d.ts +0 -11
  802. package/lib/lodash/_stackHas.js +0 -16
  803. package/lib/lodash/_stackSet.d.ts +0 -28
  804. package/lib/lodash/_stackSet.js +0 -40
  805. package/lib/lodash/_toSource.d.ts +0 -9
  806. package/lib/lodash/_toSource.js +0 -30
  807. package/lib/lodash/date.d.ts +0 -2
  808. package/lib/lodash/date.default.d.ts +0 -5
  809. package/lib/lodash/date.default.js +0 -4
  810. package/lib/lodash/date.js +0 -2
  811. package/lib/lodash/eq.d.ts +0 -34
  812. package/lib/lodash/eq.js +0 -39
  813. package/lib/lodash/function.d.ts +0 -1
  814. package/lib/lodash/function.default.d.ts +0 -4
  815. package/lib/lodash/function.default.js +0 -4
  816. package/lib/lodash/function.js +0 -2
  817. package/lib/lodash/isArguments.d.ts +0 -2
  818. package/lib/lodash/isArguments.js +0 -38
  819. package/lib/lodash/isArray.d.ts +0 -25
  820. package/lib/lodash/isArray.js +0 -27
  821. package/lib/lodash/isArrayLike.d.ts +0 -27
  822. package/lib/lodash/isArrayLike.js +0 -35
  823. package/lib/lodash/isBuffer.d.ts +0 -19
  824. package/lib/lodash/isBuffer.js +0 -39
  825. package/lib/lodash/isDeepEqual.d.ts +0 -30
  826. package/lib/lodash/isDeepEqual.js +0 -45
  827. package/lib/lodash/isFunction.d.ts +0 -19
  828. package/lib/lodash/isFunction.js +0 -40
  829. package/lib/lodash/isLength.d.ts +0 -28
  830. package/lib/lodash/isLength.js +0 -36
  831. package/lib/lodash/isObject.d.ts +0 -27
  832. package/lib/lodash/isObject.js +0 -33
  833. package/lib/lodash/isObjectLike.d.ts +0 -26
  834. package/lib/lodash/isObjectLike.js +0 -31
  835. package/lib/lodash/isSymbol.d.ts +0 -19
  836. package/lib/lodash/isSymbol.js +0 -30
  837. package/lib/lodash/isTypedArray.d.ts +0 -19
  838. package/lib/lodash/isTypedArray.js +0 -28
  839. package/lib/lodash/keys.d.ts +0 -30
  840. package/lib/lodash/keys.js +0 -39
  841. package/lib/lodash/lang.d.ts +0 -14
  842. package/lib/lodash/lang.default.d.ts +0 -29
  843. package/lib/lodash/lang.default.js +0 -28
  844. package/lib/lodash/lang.js +0 -14
  845. package/lib/lodash/now.d.ts +0 -18
  846. package/lib/lodash/now.js +0 -25
  847. package/lib/lodash/object.d.ts +0 -2
  848. package/lib/lodash/object.default.d.ts +0 -5
  849. package/lib/lodash/object.default.js +0 -4
  850. package/lib/lodash/object.js +0 -2
  851. package/lib/lodash/stubArray.d.ts +0 -20
  852. package/lib/lodash/stubArray.js +0 -25
  853. package/lib/lodash/stubFalse.d.ts +0 -15
  854. package/lib/lodash/stubFalse.js +0 -20
  855. package/lib/lodash/toNumber.d.ts +0 -25
  856. package/lib/lodash/toNumber.js +0 -70
  857. package/lib/lodash/util.d.ts +0 -3
  858. package/lib/lodash/util.default.d.ts +0 -7
  859. package/lib/lodash/util.default.js +0 -6
  860. package/lib/lodash/util.js +0 -3
  861. package/models/colDef/gridDefaultColumnTypes.js +0 -20
  862. package/modern/hooks/core/preProcessing/index.js +0 -3
  863. package/modern/hooks/core/preProcessing/useGridPreProcessing.js +0 -49
  864. package/modern/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  865. package/modern/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -70
  866. package/modern/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  867. package/modern/hooks/features/keyboard/useGridKeyboard.js +0 -70
  868. package/modern/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  869. package/modern/hooks/utils/useGridStateInit.js +0 -9
  870. package/modern/lib/lodash/_DataView.js +0 -8
  871. package/modern/lib/lodash/_Hash.js +0 -33
  872. package/modern/lib/lodash/_ListCache.js +0 -33
  873. package/modern/lib/lodash/_Map.js +0 -8
  874. package/modern/lib/lodash/_MapCache.js +0 -33
  875. package/modern/lib/lodash/_Promise.js +0 -8
  876. package/modern/lib/lodash/_Set.js +0 -8
  877. package/modern/lib/lodash/_SetCache.js +0 -28
  878. package/modern/lib/lodash/_Stack.js +0 -28
  879. package/modern/lib/lodash/_Symbol.js +0 -7
  880. package/modern/lib/lodash/_Uint8Array.js +0 -7
  881. package/modern/lib/lodash/_WeakMap.js +0 -8
  882. package/modern/lib/lodash/_arrayFilter.js +0 -29
  883. package/modern/lib/lodash/_arrayLikeKeys.js +0 -46
  884. package/modern/lib/lodash/_arrayPush.js +0 -23
  885. package/modern/lib/lodash/_arraySome.js +0 -26
  886. package/modern/lib/lodash/_assocIndexOf.js +0 -25
  887. package/modern/lib/lodash/_baseGetAllKeys.js +0 -22
  888. package/modern/lib/lodash/_baseGetTag.js +0 -29
  889. package/modern/lib/lodash/_baseIsArguments.js +0 -20
  890. package/modern/lib/lodash/_baseIsEqual.js +0 -32
  891. package/modern/lib/lodash/_baseIsEqualDeep.js +0 -85
  892. package/modern/lib/lodash/_baseIsNative.js +0 -47
  893. package/modern/lib/lodash/_baseIsTypedArray.js +0 -49
  894. package/modern/lib/lodash/_baseKeys.js +0 -35
  895. package/modern/lib/lodash/_baseTimes.js +0 -23
  896. package/modern/lib/lodash/_baseUnary.js +0 -16
  897. package/modern/lib/lodash/_cacheHas.js +0 -15
  898. package/modern/lib/lodash/_coreJsData.js +0 -7
  899. package/modern/lib/lodash/_equalArrays.js +0 -84
  900. package/modern/lib/lodash/_equalByTag.js +0 -117
  901. package/modern/lib/lodash/_equalObjects.js +0 -92
  902. package/modern/lib/lodash/_freeGlobal.js +0 -5
  903. package/modern/lib/lodash/_getAllKeys.js +0 -18
  904. package/modern/lib/lodash/_getMapData.js +0 -18
  905. package/modern/lib/lodash/_getNative.js +0 -19
  906. package/modern/lib/lodash/_getRawTag.js +0 -50
  907. package/modern/lib/lodash/_getSymbols.js +0 -32
  908. package/modern/lib/lodash/_getTag.js +0 -64
  909. package/modern/lib/lodash/_getValue.js +0 -15
  910. package/modern/lib/lodash/_hashClear.js +0 -17
  911. package/modern/lib/lodash/_hashDelete.js +0 -19
  912. package/modern/lib/lodash/_hashGet.js +0 -34
  913. package/modern/lib/lodash/_hashHas.js +0 -25
  914. package/modern/lib/lodash/_hashSet.js +0 -25
  915. package/modern/lib/lodash/_isIndex.js +0 -23
  916. package/modern/lib/lodash/_isKeyable.js +0 -15
  917. package/modern/lib/lodash/_isMasked.js +0 -23
  918. package/modern/lib/lodash/_isPrototype.js +0 -19
  919. package/modern/lib/lodash/_listCacheClear.js +0 -15
  920. package/modern/lib/lodash/_listCacheDelete.js +0 -40
  921. package/modern/lib/lodash/_listCacheGet.js +0 -20
  922. package/modern/lib/lodash/_listCacheHas.js +0 -18
  923. package/modern/lib/lodash/_listCacheSet.js +0 -29
  924. package/modern/lib/lodash/_mapCacheClear.js +0 -23
  925. package/modern/lib/lodash/_mapCacheDelete.js +0 -20
  926. package/modern/lib/lodash/_mapCacheGet.js +0 -18
  927. package/modern/lib/lodash/_mapCacheHas.js +0 -18
  928. package/modern/lib/lodash/_mapCacheSet.js +0 -23
  929. package/modern/lib/lodash/_mapToArray.js +0 -19
  930. package/modern/lib/lodash/_nativeCreate.js +0 -7
  931. package/modern/lib/lodash/_nativeKeys.js +0 -7
  932. package/modern/lib/lodash/_nodeUtil.js +0 -24
  933. package/modern/lib/lodash/_objectToString.js +0 -24
  934. package/modern/lib/lodash/_overArg.js +0 -17
  935. package/modern/lib/lodash/_root.js +0 -10
  936. package/modern/lib/lodash/_setCacheAdd.js +0 -22
  937. package/modern/lib/lodash/_setCacheHas.js +0 -16
  938. package/modern/lib/lodash/_setToArray.js +0 -19
  939. package/modern/lib/lodash/_stackClear.js +0 -17
  940. package/modern/lib/lodash/_stackDelete.js +0 -19
  941. package/modern/lib/lodash/_stackGet.js +0 -16
  942. package/modern/lib/lodash/_stackHas.js +0 -16
  943. package/modern/lib/lodash/_stackSet.js +0 -40
  944. package/modern/lib/lodash/_toSource.js +0 -30
  945. package/modern/lib/lodash/date.default.js +0 -4
  946. package/modern/lib/lodash/date.js +0 -2
  947. package/modern/lib/lodash/eq.js +0 -39
  948. package/modern/lib/lodash/function.default.js +0 -4
  949. package/modern/lib/lodash/function.js +0 -2
  950. package/modern/lib/lodash/isArguments.js +0 -38
  951. package/modern/lib/lodash/isArray.js +0 -27
  952. package/modern/lib/lodash/isArrayLike.js +0 -35
  953. package/modern/lib/lodash/isBuffer.js +0 -39
  954. package/modern/lib/lodash/isDeepEqual.js +0 -45
  955. package/modern/lib/lodash/isFunction.js +0 -40
  956. package/modern/lib/lodash/isLength.js +0 -36
  957. package/modern/lib/lodash/isObject.js +0 -33
  958. package/modern/lib/lodash/isObjectLike.js +0 -31
  959. package/modern/lib/lodash/isSymbol.js +0 -30
  960. package/modern/lib/lodash/isTypedArray.js +0 -28
  961. package/modern/lib/lodash/keys.js +0 -39
  962. package/modern/lib/lodash/lang.default.js +0 -28
  963. package/modern/lib/lodash/lang.js +0 -14
  964. package/modern/lib/lodash/now.js +0 -25
  965. package/modern/lib/lodash/object.default.js +0 -4
  966. package/modern/lib/lodash/object.js +0 -2
  967. package/modern/lib/lodash/stubArray.js +0 -25
  968. package/modern/lib/lodash/stubFalse.js +0 -20
  969. package/modern/lib/lodash/toNumber.js +0 -70
  970. package/modern/lib/lodash/util.default.js +0 -6
  971. package/modern/lib/lodash/util.js +0 -3
  972. package/modern/models/colDef/gridDefaultColumnTypes.js +0 -20
  973. package/node/hooks/core/preProcessing/index.js +0 -44
  974. package/node/hooks/core/preProcessing/useGridPreProcessing.js +0 -69
  975. package/node/hooks/core/rowGroupsPreProcessing/index.js +0 -31
  976. package/node/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -87
  977. package/node/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -24
  978. package/node/hooks/features/keyboard/useGridKeyboard.js +0 -91
  979. package/node/hooks/utils/useGridStateInit.js +0 -23
  980. package/node/lib/lodash/_DataView.js +0 -20
  981. package/node/lib/lodash/_Hash.js +0 -48
  982. package/node/lib/lodash/_ListCache.js +0 -48
  983. package/node/lib/lodash/_Map.js +0 -20
  984. package/node/lib/lodash/_MapCache.js +0 -48
  985. package/node/lib/lodash/_Promise.js +0 -20
  986. package/node/lib/lodash/_Set.js +0 -20
  987. package/node/lib/lodash/_SetCache.js +0 -41
  988. package/node/lib/lodash/_Stack.js +0 -44
  989. package/node/lib/lodash/_Symbol.js +0 -18
  990. package/node/lib/lodash/_Uint8Array.js +0 -18
  991. package/node/lib/lodash/_WeakMap.js +0 -20
  992. package/node/lib/lodash/_arrayFilter.js +0 -35
  993. package/node/lib/lodash/_arrayLikeKeys.js +0 -62
  994. package/node/lib/lodash/_arrayPush.js +0 -29
  995. package/node/lib/lodash/_arraySome.js +0 -32
  996. package/node/lib/lodash/_assocIndexOf.js +0 -36
  997. package/node/lib/lodash/_baseGetAllKeys.js +0 -34
  998. package/node/lib/lodash/_baseGetTag.js +0 -42
  999. package/node/lib/lodash/_baseIsArguments.js +0 -32
  1000. package/node/lib/lodash/_baseIsEqual.js +0 -44
  1001. package/node/lib/lodash/_baseIsEqualDeep.js +0 -103
  1002. package/node/lib/lodash/_baseIsNative.js +0 -61
  1003. package/node/lib/lodash/_baseIsTypedArray.js +0 -62
  1004. package/node/lib/lodash/_baseKeys.js +0 -47
  1005. package/node/lib/lodash/_baseTimes.js +0 -29
  1006. package/node/lib/lodash/_baseUnary.js +0 -22
  1007. package/node/lib/lodash/_cacheHas.js +0 -21
  1008. package/node/lib/lodash/_coreJsData.js +0 -18
  1009. package/node/lib/lodash/_equalArrays.js +0 -97
  1010. package/node/lib/lodash/_equalByTag.js +0 -133
  1011. package/node/lib/lodash/_equalObjects.js +0 -103
  1012. package/node/lib/lodash/_freeGlobal.js +0 -10
  1013. package/node/lib/lodash/_getAllKeys.js +0 -31
  1014. package/node/lib/lodash/_getMapData.js +0 -29
  1015. package/node/lib/lodash/_getNative.js +0 -31
  1016. package/node/lib/lodash/_getRawTag.js +0 -61
  1017. package/node/lib/lodash/_getSymbols.js +0 -44
  1018. package/node/lib/lodash/_getTag.js +0 -81
  1019. package/node/lib/lodash/_getValue.js +0 -21
  1020. package/node/lib/lodash/_hashClear.js +0 -28
  1021. package/node/lib/lodash/_hashDelete.js +0 -25
  1022. package/node/lib/lodash/_hashGet.js +0 -45
  1023. package/node/lib/lodash/_hashHas.js +0 -36
  1024. package/node/lib/lodash/_hashSet.js +0 -36
  1025. package/node/lib/lodash/_isIndex.js +0 -28
  1026. package/node/lib/lodash/_isKeyable.js +0 -21
  1027. package/node/lib/lodash/_isMasked.js +0 -34
  1028. package/node/lib/lodash/_isPrototype.js +0 -24
  1029. package/node/lib/lodash/_listCacheClear.js +0 -21
  1030. package/node/lib/lodash/_listCacheDelete.js +0 -51
  1031. package/node/lib/lodash/_listCacheGet.js +0 -31
  1032. package/node/lib/lodash/_listCacheHas.js +0 -29
  1033. package/node/lib/lodash/_listCacheSet.js +0 -40
  1034. package/node/lib/lodash/_mapCacheClear.js +0 -36
  1035. package/node/lib/lodash/_mapCacheDelete.js +0 -31
  1036. package/node/lib/lodash/_mapCacheGet.js +0 -29
  1037. package/node/lib/lodash/_mapCacheHas.js +0 -29
  1038. package/node/lib/lodash/_mapCacheSet.js +0 -34
  1039. package/node/lib/lodash/_mapToArray.js +0 -25
  1040. package/node/lib/lodash/_nativeCreate.js +0 -18
  1041. package/node/lib/lodash/_nativeKeys.js +0 -18
  1042. package/node/lib/lodash/_nodeUtil.js +0 -35
  1043. package/node/lib/lodash/_objectToString.js +0 -29
  1044. package/node/lib/lodash/_overArg.js +0 -23
  1045. package/node/lib/lodash/_root.js +0 -21
  1046. package/node/lib/lodash/_setCacheAdd.js +0 -27
  1047. package/node/lib/lodash/_setCacheHas.js +0 -22
  1048. package/node/lib/lodash/_setToArray.js +0 -25
  1049. package/node/lib/lodash/_stackClear.js +0 -28
  1050. package/node/lib/lodash/_stackDelete.js +0 -25
  1051. package/node/lib/lodash/_stackGet.js +0 -22
  1052. package/node/lib/lodash/_stackHas.js +0 -22
  1053. package/node/lib/lodash/_stackSet.js +0 -53
  1054. package/node/lib/lodash/_toSource.js +0 -35
  1055. package/node/lib/lodash/date.default.js +0 -15
  1056. package/node/lib/lodash/date.js +0 -23
  1057. package/node/lib/lodash/eq.js +0 -45
  1058. package/node/lib/lodash/function.default.js +0 -15
  1059. package/node/lib/lodash/function.js +0 -23
  1060. package/node/lib/lodash/isArguments.js +0 -50
  1061. package/node/lib/lodash/isArray.js +0 -32
  1062. package/node/lib/lodash/isArrayLike.js +0 -47
  1063. package/node/lib/lodash/isBuffer.js +0 -51
  1064. package/node/lib/lodash/isDeepEqual.js +0 -56
  1065. package/node/lib/lodash/isFunction.js +0 -52
  1066. package/node/lib/lodash/isLength.js +0 -41
  1067. package/node/lib/lodash/isObject.js +0 -39
  1068. package/node/lib/lodash/isObjectLike.js +0 -37
  1069. package/node/lib/lodash/isSymbol.js +0 -42
  1070. package/node/lib/lodash/isTypedArray.js +0 -41
  1071. package/node/lib/lodash/keys.js +0 -52
  1072. package/node/lib/lodash/lang.default.js +0 -51
  1073. package/node/lib/lodash/lang.js +0 -119
  1074. package/node/lib/lodash/now.js +0 -36
  1075. package/node/lib/lodash/object.default.js +0 -15
  1076. package/node/lib/lodash/object.js +0 -23
  1077. package/node/lib/lodash/stubArray.js +0 -31
  1078. package/node/lib/lodash/stubFalse.js +0 -26
  1079. package/node/lib/lodash/toNumber.js +0 -82
  1080. package/node/lib/lodash/util.default.js +0 -18
  1081. package/node/lib/lodash/util.js +0 -31
@@ -1,14 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { DEFAULT_GRID_COL_TYPE_KEY, getGridDefaultColumnTypes } from '../../../models';
2
+ import { DEFAULT_GRID_COL_TYPE_KEY, getGridDefaultColumnTypes } from '../../../colDef';
3
3
  import { gridColumnsSelector, gridColumnVisibilityModelSelector } from './gridColumnsSelector';
4
4
  import { clamp } from '../../../utils/utils';
5
+ export const COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
5
6
  export const computeColumnTypes = (customColumnTypes = {}) => {
6
- const allColumnTypes = _extends({}, getGridDefaultColumnTypes(), customColumnTypes);
7
+ const mergedColumnTypes = _extends({}, getGridDefaultColumnTypes());
7
8
 
8
- const mergedColumnTypes = {};
9
- Object.entries(allColumnTypes).forEach(([colType, colTypeDef]) => {
10
- colTypeDef = _extends({}, allColumnTypes[colTypeDef.extendType || DEFAULT_GRID_COL_TYPE_KEY], colTypeDef);
11
- mergedColumnTypes[colType] = colTypeDef;
9
+ Object.entries(customColumnTypes).forEach(([colType, colTypeDef]) => {
10
+ if (mergedColumnTypes[colType]) {
11
+ mergedColumnTypes[colType] = _extends({}, mergedColumnTypes[colType], colTypeDef);
12
+ } else {
13
+ mergedColumnTypes[colType] = _extends({}, mergedColumnTypes[colTypeDef.extendType || DEFAULT_GRID_COL_TYPE_KEY], colTypeDef);
14
+ }
12
15
  });
13
16
  return mergedColumnTypes;
14
17
  };
@@ -165,6 +168,55 @@ export const hydrateColumnsWidth = (rawState, viewportInnerWidth) => {
165
168
  });
166
169
  };
167
170
  let columnTypeWarnedOnce = false;
171
+ /**
172
+ * Apply the order and the dimensions of the initial state.
173
+ * The columns not registered in `orderedFields` will be placed after the imported columns.
174
+ */
175
+
176
+ export const applyInitialState = (columnsState, initialState) => {
177
+ if (!initialState) {
178
+ return columnsState;
179
+ }
180
+
181
+ const {
182
+ orderedFields = [],
183
+ dimensions = {}
184
+ } = initialState;
185
+ const columnsWithUpdatedDimensions = Object.keys(dimensions);
186
+
187
+ if (columnsWithUpdatedDimensions.length === 0 && orderedFields.length === 0) {
188
+ return columnsState;
189
+ }
190
+
191
+ const orderedFieldsLookup = {};
192
+ const cleanOrderedFields = [];
193
+
194
+ for (let i = 0; i < orderedFields.length; i += 1) {
195
+ const field = orderedFields[i]; // Ignores the fields in the initialState that matches no field on the current column state
196
+
197
+ if (columnsState.lookup[field]) {
198
+ orderedFieldsLookup[field] = true;
199
+ cleanOrderedFields.push(field);
200
+ }
201
+ }
202
+
203
+ const newOrderedFields = cleanOrderedFields.length === 0 ? columnsState.all : [...cleanOrderedFields, ...columnsState.all.filter(field => !orderedFieldsLookup[field])];
204
+
205
+ const newColumnLookup = _extends({}, columnsState.lookup);
206
+
207
+ for (let i = 0; i < columnsWithUpdatedDimensions.length; i += 1) {
208
+ const field = columnsWithUpdatedDimensions[i];
209
+ newColumnLookup[field] = _extends({}, newColumnLookup[field], dimensions[field], {
210
+ hasBeenResized: true
211
+ });
212
+ }
213
+
214
+ const newColumnsState = {
215
+ all: newOrderedFields,
216
+ lookup: newColumnLookup
217
+ };
218
+ return newColumnsState;
219
+ };
168
220
  /**
169
221
  * @deprecated Should have been internal only, you can inline the logic.
170
222
  */
@@ -190,14 +242,16 @@ export const getGridColDef = (columnTypes, type) => {
190
242
  export const createColumnsState = ({
191
243
  apiRef,
192
244
  columnsToUpsert,
193
- columnsTypes,
245
+ initialState,
246
+ columnTypes,
194
247
  currentColumnVisibilityModel = gridColumnVisibilityModelSelector(apiRef),
195
248
  shouldRegenColumnVisibilityModelFromColumns,
196
- reset
249
+ keepOnlyColumnsToUpsert = false
197
250
  }) => {
251
+ const isInsideStateInitializer = !apiRef.current.state.columns;
198
252
  let columnsStateWithoutColumnVisibilityModel;
199
253
 
200
- if (reset) {
254
+ if (isInsideStateInitializer) {
201
255
  columnsStateWithoutColumnVisibilityModel = {
202
256
  all: [],
203
257
  lookup: {}
@@ -205,71 +259,137 @@ export const createColumnsState = ({
205
259
  } else {
206
260
  const currentState = gridColumnsSelector(apiRef.current.state);
207
261
  columnsStateWithoutColumnVisibilityModel = {
208
- all: [...currentState.all],
209
- lookup: _extends({}, currentState.lookup)
262
+ all: keepOnlyColumnsToUpsert ? [] : [...currentState.all],
263
+ lookup: _extends({}, currentState.lookup) // Will be cleaned later if keepOnlyColumnsToUpsert=true
264
+
210
265
  };
211
266
  }
212
267
 
268
+ let columnsToKeep = {};
269
+
270
+ if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
271
+ columnsToKeep = Object.keys(columnsStateWithoutColumnVisibilityModel.lookup).reduce((acc, key) => _extends({}, acc, {
272
+ [key]: false
273
+ }), {});
274
+ }
275
+
213
276
  const columnsToUpsertLookup = {};
214
277
  columnsToUpsert.forEach(newColumn => {
215
- columnsToUpsertLookup[newColumn.field] = true;
216
-
217
- if (columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] == null) {
278
+ const {
279
+ field
280
+ } = newColumn;
281
+ columnsToUpsertLookup[field] = true;
282
+ columnsToKeep[field] = true;
283
+ let existingState = columnsStateWithoutColumnVisibilityModel.lookup[field];
284
+
285
+ if (existingState == null) {
218
286
  // New Column
219
- columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = _extends({}, getGridColDef(columnsTypes, newColumn.type), newColumn);
220
- columnsStateWithoutColumnVisibilityModel.all.push(newColumn.field);
221
- } else {
222
- columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = _extends({}, columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field], newColumn);
287
+ existingState = _extends({}, getGridColDef(columnTypes, newColumn.type), {
288
+ // TODO v6: Inline `getGridColDef`
289
+ field,
290
+ hasBeenResized: false
291
+ });
292
+ columnsStateWithoutColumnVisibilityModel.all.push(field);
293
+ } else if (keepOnlyColumnsToUpsert) {
294
+ columnsStateWithoutColumnVisibilityModel.all.push(field);
223
295
  }
296
+
297
+ let hasValidDimension = false;
298
+
299
+ if (!existingState.hasBeenResized) {
300
+ hasValidDimension = COLUMNS_DIMENSION_PROPERTIES.some(key => newColumn[key] !== undefined);
301
+ }
302
+
303
+ columnsStateWithoutColumnVisibilityModel.lookup[field] = _extends({}, existingState, {
304
+ hide: newColumn.hide == null ? false : newColumn.hide
305
+ }, newColumn, {
306
+ hasBeenResized: existingState.hasBeenResized || hasValidDimension
307
+ });
224
308
  });
225
309
 
310
+ if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
311
+ Object.keys(columnsStateWithoutColumnVisibilityModel.lookup).forEach(field => {
312
+ if (!columnsToKeep[field]) {
313
+ delete columnsStateWithoutColumnVisibilityModel.lookup[field];
314
+ }
315
+ });
316
+ }
317
+
226
318
  const columnsLookupBeforePreProcessing = _extends({}, columnsStateWithoutColumnVisibilityModel.lookup);
227
319
 
228
- const columnsStateWithPreProcessing = apiRef.current.unstable_applyPreProcessors('hydrateColumns', columnsStateWithoutColumnVisibilityModel); // TODO v6: remove the sync between the columns `hide` option and the model.
320
+ const columnsStateWithPreProcessing = apiRef.current.unstable_applyPipeProcessors('hydrateColumns', columnsStateWithoutColumnVisibilityModel); // TODO v6: remove the sync between the columns `hide` option and the model.
229
321
 
230
322
  let columnVisibilityModel = {};
231
323
 
232
324
  if (shouldRegenColumnVisibilityModelFromColumns) {
233
- if (reset) {
234
- columnsStateWithPreProcessing.all.forEach(field => {
235
- columnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
236
- });
237
- } else {
238
- const newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
325
+ let hasModelChanged = false;
239
326
 
240
- let hasModelChanged = false;
241
- columnsStateWithPreProcessing.all.forEach(field => {
242
- // If neither the `columnsToUpsert` nor the pre-processors updated the column,
243
- // Then we don't want to update the visibility status of the column in the model.
244
- if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
245
- return;
246
- }
327
+ const newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
247
328
 
248
- const isVisibleBefore = currentColumnVisibilityModel[field] ?? true;
249
- const isVisibleAfter = !columnsStateWithPreProcessing.lookup[field].hide;
250
-
251
- if (isVisibleAfter !== isVisibleBefore) {
329
+ if (isInsideStateInitializer) {
330
+ columnsStateWithPreProcessing.all.forEach(field => {
331
+ newColumnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
332
+ });
333
+ } else if (keepOnlyColumnsToUpsert) {
334
+ // At this point, `keepOnlyColumnsToUpsert` has a new meaning: keep the columns
335
+ // passed via `columnToUpsert` + columns added by the pre-processors. We do the following
336
+ // cleanup because a given column may have been removed from the `columns` prop but it still
337
+ // exists in the state.
338
+ Object.keys(newColumnVisibilityModel).forEach(field => {
339
+ if (!columnsStateWithPreProcessing.lookup[field]) {
340
+ delete newColumnVisibilityModel[field];
252
341
  hasModelChanged = true;
253
- newColumnVisibilityModel[field] = isVisibleAfter;
254
342
  }
255
343
  });
344
+ }
256
345
 
257
- if (hasModelChanged) {
258
- columnVisibilityModel = newColumnVisibilityModel;
259
- } else {
260
- columnVisibilityModel = currentColumnVisibilityModel;
346
+ columnsStateWithPreProcessing.all.forEach(field => {
347
+ // If neither the `columnsToUpsert` nor the pre-processors updated the column,
348
+ // Then we don't want to update the visibility status of the column in the model.
349
+ if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
350
+ return;
351
+ } // We always assume that a column not in the model is visible by default. However, there's an
352
+ // edge case where the column is not in the model but it also doesn't exist in the `columns`
353
+ // prop, meaning that the column is being added. In that case, we assume that the column was
354
+ // not visible before for it be added to the model.
355
+
356
+
357
+ let isVisibleBefore = currentColumnVisibilityModel[field];
358
+
359
+ if (isVisibleBefore === undefined) {
360
+ if (isInsideStateInitializer) {
361
+ isVisibleBefore = true;
362
+ } else {
363
+ const currentState = gridColumnsSelector(apiRef.current.state);
364
+ isVisibleBefore = !!currentState.lookup[field];
365
+ }
261
366
  }
367
+
368
+ const isVisibleAfter = !columnsStateWithPreProcessing.lookup[field].hide;
369
+
370
+ if (isVisibleAfter !== isVisibleBefore) {
371
+ hasModelChanged = true;
372
+ newColumnVisibilityModel[field] = isVisibleAfter;
373
+ }
374
+ });
375
+
376
+ if (hasModelChanged || isInsideStateInitializer) {
377
+ columnVisibilityModel = newColumnVisibilityModel;
378
+ } else {
379
+ columnVisibilityModel = currentColumnVisibilityModel;
262
380
  }
263
381
  } else {
264
382
  columnVisibilityModel = currentColumnVisibilityModel;
265
383
  }
266
384
 
267
- const columnsState = _extends({}, columnsStateWithPreProcessing, {
385
+ const columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
386
+
387
+ const columnsState = _extends({}, columnsStateWithPortableColumns, {
268
388
  columnVisibilityModel
269
389
  });
270
390
 
271
391
  return hydrateColumnsWidth(columnsState, apiRef.current.getRootDimensions?.()?.viewportInnerSize.width ?? 0);
272
392
  };
273
- export const setColumnsState = columnsState => state => _extends({}, state, {
393
+ export const mergeColumnsState = columnsState => state => _extends({}, state, {
274
394
  columns: columnsState
275
395
  });
@@ -5,18 +5,21 @@ import { useGridApiMethod } from '../../utils/useGridApiMethod';
5
5
  import { useGridLogger } from '../../utils/useGridLogger';
6
6
  import { gridColumnFieldsSelector, gridColumnDefinitionsSelector, gridColumnLookupSelector, gridColumnsMetaSelector, gridColumnsSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector } from './gridColumnsSelector';
7
7
  import { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';
8
- import { useGridRegisterPreProcessor } from '../../core/preProcessing';
9
- import { hydrateColumnsWidth, computeColumnTypes, createColumnsState, setColumnsState } from './gridColumnsUtils';
8
+ import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
9
+ import { hydrateColumnsWidth, computeColumnTypes, createColumnsState, mergeColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';
10
+ import { GridPreferencePanelsValue } from '../preferencesPanel';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
10
12
  export const columnsStateInitializer = (state, props, apiRef) => {
11
- const shouldUseVisibleColumnModel = !!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel;
13
+ const isUsingColumnVisibilityModel = !!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel;
12
14
  const columnsTypes = computeColumnTypes(props.columnTypes);
13
15
  const columnsState = createColumnsState({
14
16
  apiRef,
15
- columnsTypes,
17
+ columnTypes: columnsTypes,
16
18
  columnsToUpsert: props.columns,
17
- shouldRegenColumnVisibilityModelFromColumns: !shouldUseVisibleColumnModel,
19
+ initialState: props.initialState?.columns,
20
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
18
21
  currentColumnVisibilityModel: props.columnVisibilityModel ?? props.initialState?.columns?.columnVisibilityModel ?? {},
19
- reset: true
22
+ keepOnlyColumnsToUpsert: true
20
23
  });
21
24
  return _extends({}, state, {
22
25
  columns: columnsState
@@ -30,13 +33,15 @@ export const columnsStateInitializer = (state, props, apiRef) => {
30
33
 
31
34
  export function useGridColumns(apiRef, props) {
32
35
  const logger = useGridLogger(apiRef, 'useGridColumns');
33
- const columnsTypes = React.useMemo(() => computeColumnTypes(props.columnTypes), [props.columnTypes]);
36
+ const columnTypes = React.useMemo(() => computeColumnTypes(props.columnTypes), [props.columnTypes]);
37
+ const previousColumnsProp = React.useRef(props.columns);
38
+ const previousColumnTypesProp = React.useRef(columnTypes);
34
39
  /**
35
40
  * If `initialState.columns.columnVisibilityModel` or `columnVisibilityModel` was defined during the 1st render, we are directly updating the model
36
41
  * If not, we keep the old behavior and update the `GridColDef.hide` option (which will update the state model through the `GridColDef.hide` => `columnVisibilityModel` sync in `createColumnsState`
37
42
  */
38
43
 
39
- const shouldUseVisibleColumnModel = React.useRef(!!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel).current;
44
+ const isUsingColumnVisibilityModel = React.useRef(!!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel);
40
45
  apiRef.current.unstable_updateControlState({
41
46
  stateId: 'visibleColumns',
42
47
  propModel: props.columnVisibilityModel,
@@ -46,7 +51,7 @@ export function useGridColumns(apiRef, props) {
46
51
  });
47
52
  const setGridColumnsState = React.useCallback(columnsState => {
48
53
  logger.debug('Updating columns state.');
49
- apiRef.current.setState(setColumnsState(columnsState));
54
+ apiRef.current.setState(mergeColumnsState(columnsState));
50
55
  apiRef.current.forceUpdate();
51
56
  apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
52
57
  }, [logger, apiRef]);
@@ -73,32 +78,34 @@ export function useGridColumns(apiRef, props) {
73
78
  apiRef.current.setState(state => _extends({}, state, {
74
79
  columns: createColumnsState({
75
80
  apiRef,
76
- columnsTypes,
81
+ columnTypes,
77
82
  columnsToUpsert: [],
83
+ initialState: undefined,
78
84
  shouldRegenColumnVisibilityModelFromColumns: false,
79
85
  currentColumnVisibilityModel: model,
80
- reset: false
86
+ keepOnlyColumnsToUpsert: false
81
87
  })
82
88
  }));
83
89
  apiRef.current.forceUpdate();
84
90
  }
85
- }, [apiRef, columnsTypes]);
91
+ }, [apiRef, columnTypes]);
86
92
  const updateColumns = React.useCallback(columns => {
87
93
  const columnsState = createColumnsState({
88
94
  apiRef,
89
- columnsTypes,
95
+ columnTypes,
90
96
  columnsToUpsert: columns,
97
+ initialState: undefined,
91
98
  shouldRegenColumnVisibilityModelFromColumns: true,
92
- reset: false
99
+ keepOnlyColumnsToUpsert: false
93
100
  });
94
101
  setGridColumnsState(columnsState);
95
- }, [apiRef, setGridColumnsState, columnsTypes]);
102
+ }, [apiRef, setGridColumnsState, columnTypes]);
96
103
  const updateColumn = React.useCallback(column => apiRef.current.updateColumns([column]), [apiRef]);
97
104
  const setColumnVisibility = React.useCallback((field, isVisible) => {
98
105
  // We keep updating the `hide` option of `GridColDef` when not controlling the model to avoid any breaking change.
99
106
  // `updateColumns` take care of updating the model itself if needs be.
100
107
  // TODO v6: stop using the `hide` field even when the model is not defined
101
- if (shouldUseVisibleColumnModel) {
108
+ if (isUsingColumnVisibilityModel.current) {
102
109
  const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
103
110
  const isCurrentlyVisible = columnVisibilityModel[field] ?? true;
104
111
 
@@ -124,7 +131,7 @@ export function useGridColumns(apiRef, props) {
124
131
  };
125
132
  apiRef.current.publishEvent(GridEvents.columnVisibilityChange, params);
126
133
  }
127
- }, [apiRef, shouldUseVisibleColumnModel]);
134
+ }, [apiRef]);
128
135
  const setColumnIndex = React.useCallback((field, targetIndexPosition) => {
129
136
  const allColumns = gridColumnFieldsSelector(apiRef);
130
137
  const oldIndexPosition = allColumns.findIndex(col => col === field);
@@ -183,51 +190,79 @@ export function useGridColumns(apiRef, props) {
183
190
  */
184
191
 
185
192
  const stateExportPreProcessing = React.useCallback(prevState => {
186
- if (!shouldUseVisibleColumnModel) {
187
- return prevState;
193
+ const columnsStateToExport = {};
194
+
195
+ if (isUsingColumnVisibilityModel.current) {
196
+ const columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
197
+ const hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(value => value === false);
198
+
199
+ if (hasHiddenColumns) {
200
+ columnsStateToExport.columnVisibilityModel = columnVisibilityModelToExport;
201
+ }
188
202
  }
189
203
 
190
- const columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
191
- const hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(value => value === false);
204
+ columnsStateToExport.orderedFields = gridColumnFieldsSelector(apiRef);
205
+ const columns = gridColumnDefinitionsSelector(apiRef);
206
+ const dimensions = {};
207
+ columns.forEach(colDef => {
208
+ if (colDef.hasBeenResized) {
209
+ const colDefDimensions = {};
210
+ COLUMNS_DIMENSION_PROPERTIES.forEach(propertyName => {
211
+ colDefDimensions[propertyName] = colDef[propertyName];
212
+ });
213
+ dimensions[colDef.field] = colDefDimensions;
214
+ }
215
+ });
192
216
 
193
- if (!hasHiddenColumns) {
194
- return prevState;
217
+ if (Object.keys(dimensions).length > 0) {
218
+ columnsStateToExport.dimensions = dimensions;
195
219
  }
196
220
 
197
221
  return _extends({}, prevState, {
198
- columns: {
199
- columnVisibilityModel: columnVisibilityModelToExport
200
- }
222
+ columns: columnsStateToExport
201
223
  });
202
- }, [apiRef, shouldUseVisibleColumnModel]);
224
+ }, [apiRef]);
203
225
  const stateRestorePreProcessing = React.useCallback((params, context) => {
204
- if (!shouldUseVisibleColumnModel) {
226
+ const columnVisibilityModelToImport = isUsingColumnVisibilityModel.current ? context.stateToRestore.columns?.columnVisibilityModel : undefined;
227
+ const initialState = context.stateToRestore.columns;
228
+
229
+ if (columnVisibilityModelToImport == null && initialState == null) {
205
230
  return params;
206
231
  }
207
232
 
208
- const columnVisibilityModel = context.stateToRestore.columns?.columnVisibilityModel;
233
+ const columnsState = createColumnsState({
234
+ apiRef,
235
+ columnTypes,
236
+ columnsToUpsert: [],
237
+ initialState,
238
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel.current,
239
+ currentColumnVisibilityModel: columnVisibilityModelToImport,
240
+ keepOnlyColumnsToUpsert: false
241
+ });
242
+ apiRef.current.setState(mergeColumnsState(columnsState));
209
243
 
210
- if (columnVisibilityModel != null) {
211
- const columnsState = createColumnsState({
212
- apiRef,
213
- columnsTypes,
214
- columnsToUpsert: [],
215
- shouldRegenColumnVisibilityModelFromColumns: false,
216
- currentColumnVisibilityModel: columnVisibilityModel,
217
- reset: false
218
- });
219
- apiRef.current.setState(setColumnsState(columnsState));
244
+ if (initialState != null) {
245
+ apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
220
246
  }
221
247
 
222
248
  return params;
223
- }, [apiRef, shouldUseVisibleColumnModel, columnsTypes]);
224
- useGridRegisterPreProcessor(apiRef, 'exportState', stateExportPreProcessing);
225
- useGridRegisterPreProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
249
+ }, [apiRef, columnTypes]);
250
+ const preferencePanelPreProcessing = React.useCallback((initialValue, value) => {
251
+ if (value === GridPreferencePanelsValue.columns) {
252
+ const ColumnsPanel = props.components.ColumnsPanel;
253
+ return /*#__PURE__*/_jsx(ColumnsPanel, _extends({}, props.componentsProps?.columnsPanel));
254
+ }
255
+
256
+ return initialValue;
257
+ }, [props.components.ColumnsPanel, props.componentsProps?.columnsPanel]);
258
+ useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);
259
+ useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
260
+ useGridRegisterPipeProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);
226
261
  /**
227
262
  * EVENTS
228
263
  */
229
264
 
230
- const handlePreProcessorRegister = React.useCallback(name => {
265
+ const handlepipeProcessorRegister = React.useCallback(name => {
231
266
  if (name !== 'hydrateColumns') {
232
267
  return;
233
268
  }
@@ -235,13 +270,14 @@ export function useGridColumns(apiRef, props) {
235
270
  logger.info(`Columns pre-processing have changed, regenerating the columns`);
236
271
  const columnsState = createColumnsState({
237
272
  apiRef,
238
- columnsTypes,
273
+ columnTypes,
239
274
  columnsToUpsert: [],
240
- shouldRegenColumnVisibilityModelFromColumns: !shouldUseVisibleColumnModel,
241
- reset: false
275
+ initialState: undefined,
276
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel.current,
277
+ keepOnlyColumnsToUpsert: false
242
278
  });
243
279
  setGridColumnsState(columnsState);
244
- }, [apiRef, logger, setGridColumnsState, columnsTypes, shouldUseVisibleColumnModel]);
280
+ }, [apiRef, logger, setGridColumnsState, columnTypes]);
245
281
  const prevInnerWidth = React.useRef(null);
246
282
 
247
283
  const handleGridSizeChange = viewportInnerSize => {
@@ -251,7 +287,7 @@ export function useGridColumns(apiRef, props) {
251
287
  }
252
288
  };
253
289
 
254
- useGridApiEventHandler(apiRef, GridEvents.preProcessorRegister, handlePreProcessorRegister);
290
+ useGridApiEventHandler(apiRef, GridEvents.pipeProcessorRegister, handlepipeProcessorRegister);
255
291
  useGridApiEventHandler(apiRef, GridEvents.viewportInnerSizeChange, handleGridSizeChange);
256
292
  useGridApiOptionHandler(apiRef, GridEvents.columnVisibilityChange, props.onColumnVisibilityChange);
257
293
  /**
@@ -268,16 +304,24 @@ export function useGridColumns(apiRef, props) {
268
304
  }
269
305
 
270
306
  logger.info(`GridColumns have changed, new length ${props.columns.length}`);
307
+
308
+ if (previousColumnsProp.current === props.columns && previousColumnTypesProp.current === columnTypes) {
309
+ return;
310
+ }
311
+
271
312
  const columnsState = createColumnsState({
272
313
  apiRef,
273
- columnsTypes,
314
+ columnTypes,
315
+ initialState: undefined,
274
316
  // If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`
275
- shouldRegenColumnVisibilityModelFromColumns: !shouldUseVisibleColumnModel,
317
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel.current,
276
318
  columnsToUpsert: props.columns,
277
- reset: true
319
+ keepOnlyColumnsToUpsert: true
278
320
  });
321
+ previousColumnsProp.current = props.columns;
322
+ previousColumnTypesProp.current = columnTypes;
279
323
  setGridColumnsState(columnsState);
280
- }, [logger, apiRef, setGridColumnsState, props.columns, columnsTypes, shouldUseVisibleColumnModel]);
324
+ }, [logger, apiRef, setGridColumnsState, props.columns, columnTypes]);
281
325
  React.useEffect(() => {
282
326
  if (props.columnVisibilityModel !== undefined) {
283
327
  apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);
@@ -3,7 +3,6 @@ import * as React from 'react';
3
3
  import { GridDensityTypes } from '../../../models/gridDensity';
4
4
  import { useGridLogger } from '../../utils/useGridLogger';
5
5
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
- import { useGridStateInit } from '../../utils/useGridStateInit';
7
6
  import { gridDensitySelector } from './densitySelector';
8
7
  import { isDeepEqual } from '../../../utils/utils';
9
8
  export const COMPACT_DENSITY_FACTOR = 0.7;
@@ -37,11 +36,11 @@ const getUpdatedDensityState = (newDensity, newHeaderHeight, newRowHeight) => {
37
36
  }
38
37
  };
39
38
 
39
+ export const densityStateInitializer = (state, props) => _extends({}, state, {
40
+ density: getUpdatedDensityState(props.density, props.headerHeight, props.rowHeight)
41
+ });
40
42
  export const useGridDensity = (apiRef, props) => {
41
43
  const logger = useGridLogger(apiRef, 'useDensity');
42
- useGridStateInit(apiRef, state => _extends({}, state, {
43
- density: getUpdatedDensityState(props.density, props.headerHeight, props.rowHeight)
44
- }));
45
44
  const setDensity = React.useCallback((newDensity, newHeaderHeight = props.headerHeight, newRowHeight = props.rowHeight) => {
46
45
  logger.debug(`Set grid density to ${newDensity}`);
47
46
  apiRef.current.setState(state => {
@@ -7,7 +7,7 @@ import { useGridLogger } from '../../utils/useGridLogger';
7
7
  import { gridColumnsTotalWidthSelector } from '../columns';
8
8
  import { gridDensityHeaderHeightSelector, gridDensityRowHeightSelector } from '../density';
9
9
  import { useGridSelector } from '../../utils';
10
- import { getCurrentPageRows } from '../../utils/useCurrentPageRows';
10
+ import { getVisibleRows } from '../../utils/useGridVisibleRows';
11
11
  import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
12
12
  const isTestEnvironment = process.env.NODE_ENV === 'test';
13
13
 
@@ -114,7 +114,7 @@ export function useGridDimensions(apiRef, props) {
114
114
  return 0;
115
115
  }
116
116
 
117
- const currentPage = getCurrentPageRows(apiRef, {
117
+ const currentPage = getVisibleRows(apiRef, {
118
118
  pagination: props.pagination,
119
119
  paginationMode: props.paginationMode
120
120
  }); // TODO: Use a combination of scrollTop, dimensions.viewportInnerSize.height and rowsMeta.possitions
@@ -132,7 +132,8 @@ export function useGridDimensions(apiRef, props) {
132
132
  const dimensionsApi = {
133
133
  resize,
134
134
  getRootDimensions,
135
- unstable_getViewportPageSize: getViewportPageSize
135
+ unstable_getViewportPageSize: getViewportPageSize,
136
+ unstable_updateGridDimensionsRef: updateGridDimensionsRef
136
137
  };
137
138
  useGridApiMethod(apiRef, dimensionsApi, 'GridDimensionsApi');
138
139
  const debounceResize = React.useMemo(() => debounce(resize, 60), [resize]);