@mui/x-data-grid 5.6.1 → 5.7.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 (778) hide show
  1. package/CHANGELOG.md +71 -1
  2. package/DataGrid/DataGrid.js +10 -0
  3. package/DataGrid/useDataGridComponent.js +8 -2
  4. package/components/ErrorOverlay.js +8 -1
  5. package/components/GridLoadingOverlay.d.ts +4 -2
  6. package/components/GridLoadingOverlay.js +11 -2
  7. package/components/GridNoResultsOverlay.d.ts +3 -2
  8. package/components/GridNoRowsOverlay.d.ts +4 -2
  9. package/components/GridNoRowsOverlay.js +11 -2
  10. package/components/base/GridErrorHandler.js +6 -25
  11. package/components/cell/GridEditBooleanCell.js +1 -1
  12. package/components/cell/GridEditDateCell.js +1 -1
  13. package/components/cell/GridEditInputCell.js +66 -5
  14. package/components/cell/GridEditSingleSelectCell.js +76 -4
  15. package/components/columnHeaders/GridColumnHeaderTitle.d.ts +2 -2
  16. package/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  17. package/components/columnHeaders/GridColumnHeaders.js +3 -1
  18. package/components/containers/GridOverlay.d.ts +9 -2
  19. package/components/containers/GridOverlay.js +11 -2
  20. package/components/containers/GridRootStyles.js +2 -2
  21. package/components/panel/GridColumnsPanel.d.ts +4 -1
  22. package/components/panel/GridColumnsPanel.js +3 -3
  23. package/components/panel/GridPanelWrapper.d.ts +1 -1
  24. package/components/panel/GridPreferencesPanel.js +4 -6
  25. package/hooks/core/preProcessing/gridPreProcessingApi.d.ts +11 -15
  26. package/hooks/core/preProcessing/useGridPreProcessing.d.ts +3 -0
  27. package/hooks/core/preProcessing/useGridPreProcessing.js +5 -1
  28. package/hooks/core/preProcessing/useGridRegisterPreProcessor.d.ts +5 -2
  29. package/hooks/core/preProcessing/useGridRegisterPreProcessor.js +4 -0
  30. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +58 -0
  31. package/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  32. package/hooks/core/strategyProcessing/index.d.ts +3 -0
  33. package/hooks/core/strategyProcessing/index.js +3 -0
  34. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +4 -0
  35. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  36. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +37 -0
  37. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +114 -0
  38. package/hooks/core/useGridInitialization.js +2 -2
  39. package/hooks/features/columns/gridColumnsInterfaces.d.ts +6 -1
  40. package/hooks/features/columns/gridColumnsUtils.d.ts +12 -4
  41. package/hooks/features/columns/gridColumnsUtils.js +113 -29
  42. package/hooks/features/columns/useGridColumns.d.ts +1 -1
  43. package/hooks/features/columns/useGridColumns.js +79 -42
  44. package/hooks/features/editRows/useGridCellEditing.new.d.ts +4 -0
  45. package/hooks/features/editRows/useGridCellEditing.new.js +315 -0
  46. package/hooks/features/editRows/{useGridCellEditing.d.ts → useGridCellEditing.old.d.ts} +0 -0
  47. package/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  48. package/hooks/features/editRows/useGridEditing.new.d.ts +6 -0
  49. package/hooks/features/editRows/useGridEditing.new.js +118 -0
  50. package/hooks/features/editRows/{useGridEditing.d.ts → useGridEditing.old.d.ts} +0 -0
  51. package/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  52. package/hooks/features/editRows/useGridRowEditing.new.d.ts +4 -0
  53. package/hooks/features/editRows/useGridRowEditing.new.js +486 -0
  54. package/hooks/features/editRows/{useGridRowEditing.d.ts → useGridRowEditing.old.d.ts} +0 -0
  55. package/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  56. package/hooks/features/filter/gridFilterState.d.ts +2 -5
  57. package/hooks/features/filter/useGridFilter.d.ts +1 -1
  58. package/hooks/features/filter/useGridFilter.js +21 -27
  59. package/hooks/features/focus/useGridFocus.d.ts +1 -1
  60. package/hooks/features/focus/useGridFocus.js +37 -1
  61. package/hooks/features/preferencesPanel/gridPreferencePanelState.d.ts +5 -0
  62. package/hooks/features/rows/gridRowsState.d.ts +20 -5
  63. package/hooks/features/rows/useGridRows.d.ts +0 -3
  64. package/hooks/features/rows/useGridRows.js +63 -42
  65. package/hooks/features/rows/useGridRowsPreProcessors.d.ts +3 -0
  66. package/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
  67. package/hooks/features/selection/useGridSelection.js +4 -0
  68. package/hooks/features/sorting/gridSortingState.d.ts +2 -5
  69. package/hooks/features/sorting/useGridSorting.js +7 -26
  70. package/hooks/features/virtualization/useGridVirtualScroller.js +5 -3
  71. package/index.js +1 -1
  72. package/internals/index.d.ts +10 -7
  73. package/internals/index.js +4 -3
  74. package/legacy/DataGrid/DataGrid.js +10 -0
  75. package/legacy/DataGrid/useDataGridComponent.js +8 -2
  76. package/legacy/components/ErrorOverlay.js +8 -1
  77. package/legacy/components/GridLoadingOverlay.js +11 -2
  78. package/legacy/components/GridNoRowsOverlay.js +11 -2
  79. package/legacy/components/base/GridErrorHandler.js +3 -24
  80. package/legacy/components/cell/GridEditBooleanCell.js +2 -1
  81. package/legacy/components/cell/GridEditDateCell.js +2 -1
  82. package/legacy/components/cell/GridEditInputCell.js +66 -5
  83. package/legacy/components/cell/GridEditSingleSelectCell.js +83 -7
  84. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  85. package/legacy/components/columnHeaders/GridColumnHeaders.js +3 -1
  86. package/legacy/components/containers/GridOverlay.js +11 -2
  87. package/legacy/components/containers/GridRootStyles.js +2 -2
  88. package/legacy/components/panel/GridColumnsPanel.js +3 -3
  89. package/legacy/components/panel/GridPreferencesPanel.js +4 -6
  90. package/legacy/hooks/core/preProcessing/useGridPreProcessing.js +5 -1
  91. package/legacy/hooks/core/preProcessing/useGridRegisterPreProcessor.js +4 -0
  92. package/legacy/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  93. package/legacy/hooks/core/strategyProcessing/index.js +3 -0
  94. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  95. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +119 -0
  96. package/legacy/hooks/core/useGridInitialization.js +2 -2
  97. package/legacy/hooks/features/columns/gridColumnsUtils.js +117 -27
  98. package/legacy/hooks/features/columns/useGridColumns.js +80 -43
  99. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +329 -0
  100. package/legacy/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  101. package/legacy/hooks/features/editRows/useGridEditing.new.js +152 -0
  102. package/legacy/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  103. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +493 -0
  104. package/legacy/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  105. package/legacy/hooks/features/filter/useGridFilter.js +21 -27
  106. package/legacy/hooks/features/focus/useGridFocus.js +37 -1
  107. package/legacy/hooks/features/rows/useGridRows.js +65 -44
  108. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +36 -0
  109. package/legacy/hooks/features/selection/useGridSelection.js +4 -0
  110. package/legacy/hooks/features/sorting/useGridSorting.js +7 -26
  111. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +5 -3
  112. package/legacy/index.js +1 -1
  113. package/legacy/internals/index.js +4 -3
  114. package/legacy/locales/arSD.js +62 -58
  115. package/legacy/locales/faIR.js +26 -22
  116. package/legacy/locales/koKR.js +1 -1
  117. package/legacy/locales/plPL.js +30 -26
  118. package/legacy/models/events/gridEvents.js +2 -1
  119. package/legacy/models/gridEditRowModel.js +1 -0
  120. package/legacy/models/params/gridEditCellParams.js +34 -1
  121. package/legacy/models/params/gridRowParams.js +39 -1
  122. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +5 -1
  123. package/legacy/utils/utils.js +150 -3
  124. package/locales/arSD.js +58 -58
  125. package/locales/faIR.js +22 -22
  126. package/locales/koKR.js +1 -1
  127. package/locales/plPL.js +26 -26
  128. package/models/api/gridApiCommon.d.ts +2 -2
  129. package/models/api/gridEditingApi.d.ts +125 -4
  130. package/models/api/gridFocusApi.d.ts +9 -0
  131. package/models/api/index.d.ts +1 -1
  132. package/models/colDef/gridColDef.d.ts +4 -0
  133. package/models/events/gridEventLookup.d.ts +11 -5
  134. package/models/events/gridEvents.d.ts +9 -2
  135. package/models/events/gridEvents.js +2 -1
  136. package/models/gridEditRowModel.d.ts +4 -3
  137. package/models/gridEditRowModel.js +1 -0
  138. package/models/params/gridCellParams.d.ts +10 -1
  139. package/models/params/gridEditCellParams.d.ts +50 -0
  140. package/models/params/gridEditCellParams.js +34 -1
  141. package/models/params/gridRowParams.d.ts +41 -1
  142. package/models/params/gridRowParams.js +39 -1
  143. package/models/props/DataGridProps.d.ts +13 -1
  144. package/modern/DataGrid/DataGrid.js +10 -0
  145. package/modern/DataGrid/useDataGridComponent.js +6 -2
  146. package/modern/components/ErrorOverlay.js +8 -1
  147. package/modern/components/GridLoadingOverlay.js +11 -2
  148. package/modern/components/GridNoRowsOverlay.js +11 -2
  149. package/modern/components/base/GridErrorHandler.js +1 -20
  150. package/modern/components/cell/GridEditBooleanCell.js +1 -1
  151. package/modern/components/cell/GridEditDateCell.js +1 -1
  152. package/modern/components/cell/GridEditInputCell.js +64 -5
  153. package/modern/components/cell/GridEditSingleSelectCell.js +72 -4
  154. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  155. package/modern/components/columnHeaders/GridColumnHeaders.js +3 -1
  156. package/modern/components/containers/GridOverlay.js +11 -2
  157. package/modern/components/containers/GridRootStyles.js +2 -2
  158. package/modern/components/panel/GridColumnsPanel.js +3 -3
  159. package/modern/components/panel/GridPreferencesPanel.js +3 -5
  160. package/modern/hooks/core/preProcessing/useGridPreProcessing.js +5 -1
  161. package/modern/hooks/core/preProcessing/useGridRegisterPreProcessor.js +4 -0
  162. package/modern/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  163. package/modern/hooks/core/strategyProcessing/index.js +3 -0
  164. package/modern/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
  165. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +112 -0
  166. package/modern/hooks/core/useGridInitialization.js +2 -2
  167. package/modern/hooks/features/columns/gridColumnsUtils.js +113 -27
  168. package/modern/hooks/features/columns/useGridColumns.js +74 -39
  169. package/modern/hooks/features/editRows/useGridCellEditing.new.js +315 -0
  170. package/modern/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  171. package/modern/hooks/features/editRows/useGridEditing.new.js +118 -0
  172. package/modern/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  173. package/modern/hooks/features/editRows/useGridRowEditing.new.js +484 -0
  174. package/modern/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
  175. package/modern/hooks/features/filter/useGridFilter.js +17 -27
  176. package/modern/hooks/features/focus/useGridFocus.js +37 -1
  177. package/modern/hooks/features/rows/useGridRows.js +63 -42
  178. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
  179. package/modern/hooks/features/selection/useGridSelection.js +4 -0
  180. package/modern/hooks/features/sorting/useGridSorting.js +7 -26
  181. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +5 -3
  182. package/modern/index.js +1 -1
  183. package/modern/internals/index.js +4 -3
  184. package/modern/locales/arSD.js +58 -58
  185. package/modern/locales/faIR.js +22 -22
  186. package/modern/locales/koKR.js +1 -1
  187. package/modern/locales/plPL.js +26 -26
  188. package/modern/models/events/gridEvents.js +2 -1
  189. package/modern/models/gridEditRowModel.js +1 -0
  190. package/modern/models/params/gridEditCellParams.js +34 -1
  191. package/modern/models/params/gridRowParams.js +39 -1
  192. package/modern/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  193. package/modern/utils/utils.js +150 -3
  194. package/node/DataGrid/DataGrid.js +10 -0
  195. package/node/DataGrid/useDataGridComponent.js +11 -3
  196. package/node/components/ErrorOverlay.js +10 -1
  197. package/node/components/GridLoadingOverlay.js +10 -1
  198. package/node/components/GridNoRowsOverlay.js +10 -1
  199. package/node/components/base/GridErrorHandler.js +7 -30
  200. package/node/components/cell/GridEditBooleanCell.js +1 -1
  201. package/node/components/cell/GridEditDateCell.js +1 -1
  202. package/node/components/cell/GridEditInputCell.js +66 -5
  203. package/node/components/cell/GridEditSingleSelectCell.js +76 -4
  204. package/node/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  205. package/node/components/columnHeaders/GridColumnHeaders.js +3 -1
  206. package/node/components/containers/GridOverlay.js +10 -1
  207. package/node/components/containers/GridRootStyles.js +2 -2
  208. package/node/components/panel/GridColumnsPanel.js +3 -3
  209. package/node/components/panel/GridPreferencesPanel.js +4 -5
  210. package/node/hooks/core/preProcessing/useGridPreProcessing.js +4 -1
  211. package/node/hooks/core/preProcessing/useGridRegisterPreProcessor.js +3 -0
  212. package/node/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
  213. package/node/hooks/core/strategyProcessing/index.js +44 -0
  214. package/node/hooks/{features/sorting/useGridRegisterSortingMethod.js → core/strategyProcessing/useGridRegisterStrategyProcessor.js} +18 -9
  215. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +135 -0
  216. package/node/hooks/core/useGridInitialization.js +2 -2
  217. package/node/hooks/features/columns/gridColumnsUtils.js +118 -31
  218. package/node/hooks/features/columns/useGridColumns.js +82 -41
  219. package/node/hooks/features/editRows/useGridCellEditing.new.js +334 -0
  220. package/node/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
  221. package/node/hooks/features/editRows/useGridEditing.new.js +142 -0
  222. package/node/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +4 -4
  223. package/node/hooks/features/editRows/useGridRowEditing.new.js +499 -0
  224. package/node/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +6 -6
  225. package/node/hooks/features/filter/useGridFilter.js +21 -26
  226. package/node/hooks/features/focus/useGridFocus.js +40 -1
  227. package/node/hooks/features/rows/useGridRows.js +62 -41
  228. package/node/hooks/features/rows/useGridRowsPreProcessors.js +46 -0
  229. package/node/hooks/features/selection/useGridSelection.js +4 -0
  230. package/node/hooks/features/sorting/useGridSorting.js +7 -26
  231. package/node/hooks/features/virtualization/useGridVirtualScroller.js +5 -3
  232. package/node/index.js +1 -1
  233. package/node/internals/index.js +29 -15
  234. package/node/locales/arSD.js +58 -58
  235. package/node/locales/faIR.js +22 -22
  236. package/node/locales/koKR.js +1 -1
  237. package/node/locales/plPL.js +26 -26
  238. package/node/models/events/gridEvents.js +2 -1
  239. package/node/models/gridEditRowModel.js +1 -0
  240. package/node/models/params/gridEditCellParams.js +37 -1
  241. package/node/models/params/gridRowParams.js +42 -1
  242. package/node/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  243. package/node/utils/utils.js +152 -11
  244. package/package.json +1 -1
  245. package/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +2 -0
  246. package/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
  247. package/utils/utils.d.ts +27 -2
  248. package/utils/utils.js +150 -3
  249. package/hooks/core/rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.d.ts +0 -35
  250. package/hooks/core/rowGroupsPreProcessing/index.d.ts +0 -2
  251. package/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  252. package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.d.ts +0 -3
  253. package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -72
  254. package/hooks/features/filter/useGridRegisterFilteringMethod.d.ts +0 -4
  255. package/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  256. package/hooks/features/sorting/useGridRegisterSortingMethod.d.ts +0 -4
  257. package/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  258. package/legacy/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  259. package/legacy/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -71
  260. package/legacy/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  261. package/legacy/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  262. package/legacy/lib/lodash/_DataView.js +0 -8
  263. package/legacy/lib/lodash/_Hash.js +0 -33
  264. package/legacy/lib/lodash/_ListCache.js +0 -33
  265. package/legacy/lib/lodash/_Map.js +0 -8
  266. package/legacy/lib/lodash/_MapCache.js +0 -33
  267. package/legacy/lib/lodash/_Promise.js +0 -8
  268. package/legacy/lib/lodash/_Set.js +0 -8
  269. package/legacy/lib/lodash/_SetCache.js +0 -28
  270. package/legacy/lib/lodash/_Stack.js +0 -28
  271. package/legacy/lib/lodash/_Symbol.js +0 -7
  272. package/legacy/lib/lodash/_Uint8Array.js +0 -7
  273. package/legacy/lib/lodash/_WeakMap.js +0 -8
  274. package/legacy/lib/lodash/_arrayFilter.js +0 -29
  275. package/legacy/lib/lodash/_arrayLikeKeys.js +0 -46
  276. package/legacy/lib/lodash/_arrayPush.js +0 -23
  277. package/legacy/lib/lodash/_arraySome.js +0 -26
  278. package/legacy/lib/lodash/_assocIndexOf.js +0 -25
  279. package/legacy/lib/lodash/_baseGetAllKeys.js +0 -22
  280. package/legacy/lib/lodash/_baseGetTag.js +0 -29
  281. package/legacy/lib/lodash/_baseIsArguments.js +0 -20
  282. package/legacy/lib/lodash/_baseIsEqual.js +0 -32
  283. package/legacy/lib/lodash/_baseIsEqualDeep.js +0 -85
  284. package/legacy/lib/lodash/_baseIsNative.js +0 -47
  285. package/legacy/lib/lodash/_baseIsTypedArray.js +0 -49
  286. package/legacy/lib/lodash/_baseKeys.js +0 -35
  287. package/legacy/lib/lodash/_baseTimes.js +0 -23
  288. package/legacy/lib/lodash/_baseUnary.js +0 -16
  289. package/legacy/lib/lodash/_cacheHas.js +0 -15
  290. package/legacy/lib/lodash/_coreJsData.js +0 -7
  291. package/legacy/lib/lodash/_equalArrays.js +0 -84
  292. package/legacy/lib/lodash/_equalByTag.js +0 -117
  293. package/legacy/lib/lodash/_equalObjects.js +0 -92
  294. package/legacy/lib/lodash/_freeGlobal.js +0 -6
  295. package/legacy/lib/lodash/_getAllKeys.js +0 -18
  296. package/legacy/lib/lodash/_getMapData.js +0 -18
  297. package/legacy/lib/lodash/_getNative.js +0 -19
  298. package/legacy/lib/lodash/_getRawTag.js +0 -50
  299. package/legacy/lib/lodash/_getSymbols.js +0 -32
  300. package/legacy/lib/lodash/_getTag.js +0 -64
  301. package/legacy/lib/lodash/_getValue.js +0 -15
  302. package/legacy/lib/lodash/_hashClear.js +0 -17
  303. package/legacy/lib/lodash/_hashDelete.js +0 -19
  304. package/legacy/lib/lodash/_hashGet.js +0 -34
  305. package/legacy/lib/lodash/_hashHas.js +0 -25
  306. package/legacy/lib/lodash/_hashSet.js +0 -25
  307. package/legacy/lib/lodash/_isIndex.js +0 -25
  308. package/legacy/lib/lodash/_isKeyable.js +0 -18
  309. package/legacy/lib/lodash/_isMasked.js +0 -23
  310. package/legacy/lib/lodash/_isPrototype.js +0 -19
  311. package/legacy/lib/lodash/_listCacheClear.js +0 -15
  312. package/legacy/lib/lodash/_listCacheDelete.js +0 -40
  313. package/legacy/lib/lodash/_listCacheGet.js +0 -20
  314. package/legacy/lib/lodash/_listCacheHas.js +0 -18
  315. package/legacy/lib/lodash/_listCacheSet.js +0 -29
  316. package/legacy/lib/lodash/_mapCacheClear.js +0 -23
  317. package/legacy/lib/lodash/_mapCacheDelete.js +0 -20
  318. package/legacy/lib/lodash/_mapCacheGet.js +0 -18
  319. package/legacy/lib/lodash/_mapCacheHas.js +0 -18
  320. package/legacy/lib/lodash/_mapCacheSet.js +0 -23
  321. package/legacy/lib/lodash/_mapToArray.js +0 -19
  322. package/legacy/lib/lodash/_nativeCreate.js +0 -7
  323. package/legacy/lib/lodash/_nativeKeys.js +0 -7
  324. package/legacy/lib/lodash/_nodeUtil.js +0 -25
  325. package/legacy/lib/lodash/_objectToString.js +0 -24
  326. package/legacy/lib/lodash/_overArg.js +0 -17
  327. package/legacy/lib/lodash/_root.js +0 -11
  328. package/legacy/lib/lodash/_setCacheAdd.js +0 -22
  329. package/legacy/lib/lodash/_setCacheHas.js +0 -16
  330. package/legacy/lib/lodash/_setToArray.js +0 -19
  331. package/legacy/lib/lodash/_stackClear.js +0 -17
  332. package/legacy/lib/lodash/_stackDelete.js +0 -19
  333. package/legacy/lib/lodash/_stackGet.js +0 -16
  334. package/legacy/lib/lodash/_stackHas.js +0 -16
  335. package/legacy/lib/lodash/_stackSet.js +0 -40
  336. package/legacy/lib/lodash/_toSource.js +0 -30
  337. package/legacy/lib/lodash/date.default.js +0 -4
  338. package/legacy/lib/lodash/date.js +0 -2
  339. package/legacy/lib/lodash/eq.js +0 -39
  340. package/legacy/lib/lodash/function.default.js +0 -4
  341. package/legacy/lib/lodash/function.js +0 -2
  342. package/legacy/lib/lodash/isArguments.js +0 -38
  343. package/legacy/lib/lodash/isArray.js +0 -27
  344. package/legacy/lib/lodash/isArrayLike.js +0 -35
  345. package/legacy/lib/lodash/isBuffer.js +0 -40
  346. package/legacy/lib/lodash/isDeepEqual.js +0 -45
  347. package/legacy/lib/lodash/isFunction.js +0 -40
  348. package/legacy/lib/lodash/isLength.js +0 -36
  349. package/legacy/lib/lodash/isObject.js +0 -36
  350. package/legacy/lib/lodash/isObjectLike.js +0 -33
  351. package/legacy/lib/lodash/isSymbol.js +0 -31
  352. package/legacy/lib/lodash/isTypedArray.js +0 -28
  353. package/legacy/lib/lodash/keys.js +0 -39
  354. package/legacy/lib/lodash/lang.default.js +0 -28
  355. package/legacy/lib/lodash/lang.js +0 -14
  356. package/legacy/lib/lodash/now.js +0 -25
  357. package/legacy/lib/lodash/object.default.js +0 -4
  358. package/legacy/lib/lodash/object.js +0 -2
  359. package/legacy/lib/lodash/stubArray.js +0 -25
  360. package/legacy/lib/lodash/stubFalse.js +0 -20
  361. package/legacy/lib/lodash/toNumber.js +0 -70
  362. package/legacy/lib/lodash/util.default.js +0 -6
  363. package/legacy/lib/lodash/util.js +0 -3
  364. package/lib/lodash/_DataView.d.ts +0 -2
  365. package/lib/lodash/_DataView.js +0 -8
  366. package/lib/lodash/_Hash.d.ts +0 -29
  367. package/lib/lodash/_Hash.js +0 -33
  368. package/lib/lodash/_ListCache.d.ts +0 -29
  369. package/lib/lodash/_ListCache.js +0 -33
  370. package/lib/lodash/_Map.d.ts +0 -2
  371. package/lib/lodash/_Map.js +0 -8
  372. package/lib/lodash/_MapCache.d.ts +0 -29
  373. package/lib/lodash/_MapCache.js +0 -33
  374. package/lib/lodash/_Promise.d.ts +0 -2
  375. package/lib/lodash/_Promise.js +0 -8
  376. package/lib/lodash/_Set.d.ts +0 -2
  377. package/lib/lodash/_Set.js +0 -8
  378. package/lib/lodash/_SetCache.d.ts +0 -28
  379. package/lib/lodash/_SetCache.js +0 -28
  380. package/lib/lodash/_Stack.d.ts +0 -32
  381. package/lib/lodash/_Stack.js +0 -28
  382. package/lib/lodash/_Symbol.d.ts +0 -3
  383. package/lib/lodash/_Symbol.js +0 -7
  384. package/lib/lodash/_Uint8Array.d.ts +0 -3
  385. package/lib/lodash/_Uint8Array.js +0 -7
  386. package/lib/lodash/_WeakMap.d.ts +0 -2
  387. package/lib/lodash/_WeakMap.js +0 -8
  388. package/lib/lodash/_arrayFilter.d.ts +0 -11
  389. package/lib/lodash/_arrayFilter.js +0 -29
  390. package/lib/lodash/_arrayLikeKeys.d.ts +0 -10
  391. package/lib/lodash/_arrayLikeKeys.js +0 -46
  392. package/lib/lodash/_arrayPush.d.ts +0 -10
  393. package/lib/lodash/_arrayPush.js +0 -23
  394. package/lib/lodash/_arraySome.d.ts +0 -12
  395. package/lib/lodash/_arraySome.js +0 -26
  396. package/lib/lodash/_assocIndexOf.d.ts +0 -10
  397. package/lib/lodash/_assocIndexOf.js +0 -25
  398. package/lib/lodash/_baseGetAllKeys.d.ts +0 -13
  399. package/lib/lodash/_baseGetAllKeys.js +0 -22
  400. package/lib/lodash/_baseGetTag.d.ts +0 -9
  401. package/lib/lodash/_baseGetTag.js +0 -29
  402. package/lib/lodash/_baseIsArguments.d.ts +0 -9
  403. package/lib/lodash/_baseIsArguments.js +0 -20
  404. package/lib/lodash/_baseIsEqual.d.ts +0 -16
  405. package/lib/lodash/_baseIsEqual.js +0 -32
  406. package/lib/lodash/_baseIsEqualDeep.d.ts +0 -16
  407. package/lib/lodash/_baseIsEqualDeep.js +0 -85
  408. package/lib/lodash/_baseIsNative.d.ts +0 -10
  409. package/lib/lodash/_baseIsNative.js +0 -47
  410. package/lib/lodash/_baseIsTypedArray.d.ts +0 -9
  411. package/lib/lodash/_baseIsTypedArray.js +0 -49
  412. package/lib/lodash/_baseKeys.d.ts +0 -9
  413. package/lib/lodash/_baseKeys.js +0 -35
  414. package/lib/lodash/_baseTimes.d.ts +0 -11
  415. package/lib/lodash/_baseTimes.js +0 -23
  416. package/lib/lodash/_baseUnary.d.ts +0 -9
  417. package/lib/lodash/_baseUnary.js +0 -16
  418. package/lib/lodash/_cacheHas.d.ts +0 -10
  419. package/lib/lodash/_cacheHas.js +0 -15
  420. package/lib/lodash/_coreJsData.d.ts +0 -3
  421. package/lib/lodash/_coreJsData.js +0 -7
  422. package/lib/lodash/_equalArrays.d.ts +0 -15
  423. package/lib/lodash/_equalArrays.js +0 -84
  424. package/lib/lodash/_equalByTag.d.ts +0 -19
  425. package/lib/lodash/_equalByTag.js +0 -117
  426. package/lib/lodash/_equalObjects.d.ts +0 -15
  427. package/lib/lodash/_equalObjects.js +0 -92
  428. package/lib/lodash/_freeGlobal.d.ts +0 -3
  429. package/lib/lodash/_freeGlobal.js +0 -5
  430. package/lib/lodash/_getAllKeys.d.ts +0 -9
  431. package/lib/lodash/_getAllKeys.js +0 -18
  432. package/lib/lodash/_getMapData.d.ts +0 -10
  433. package/lib/lodash/_getMapData.js +0 -18
  434. package/lib/lodash/_getNative.d.ts +0 -10
  435. package/lib/lodash/_getNative.js +0 -19
  436. package/lib/lodash/_getRawTag.d.ts +0 -9
  437. package/lib/lodash/_getRawTag.js +0 -50
  438. package/lib/lodash/_getSymbols.d.ts +0 -2
  439. package/lib/lodash/_getSymbols.js +0 -32
  440. package/lib/lodash/_getTag.d.ts +0 -10
  441. package/lib/lodash/_getTag.js +0 -64
  442. package/lib/lodash/_getValue.d.ts +0 -10
  443. package/lib/lodash/_getValue.js +0 -15
  444. package/lib/lodash/_hashClear.d.ts +0 -13
  445. package/lib/lodash/_hashClear.js +0 -17
  446. package/lib/lodash/_hashDelete.d.ts +0 -12
  447. package/lib/lodash/_hashDelete.js +0 -19
  448. package/lib/lodash/_hashGet.d.ts +0 -11
  449. package/lib/lodash/_hashGet.js +0 -34
  450. package/lib/lodash/_hashHas.d.ts +0 -11
  451. package/lib/lodash/_hashHas.js +0 -25
  452. package/lib/lodash/_hashSet.d.ts +0 -12
  453. package/lib/lodash/_hashSet.js +0 -25
  454. package/lib/lodash/_isIndex.d.ts +0 -10
  455. package/lib/lodash/_isIndex.js +0 -23
  456. package/lib/lodash/_isKeyable.d.ts +0 -9
  457. package/lib/lodash/_isKeyable.js +0 -15
  458. package/lib/lodash/_isMasked.d.ts +0 -9
  459. package/lib/lodash/_isMasked.js +0 -23
  460. package/lib/lodash/_isPrototype.d.ts +0 -9
  461. package/lib/lodash/_isPrototype.js +0 -19
  462. package/lib/lodash/_listCacheClear.d.ts +0 -13
  463. package/lib/lodash/_listCacheClear.js +0 -15
  464. package/lib/lodash/_listCacheDelete.d.ts +0 -11
  465. package/lib/lodash/_listCacheDelete.js +0 -40
  466. package/lib/lodash/_listCacheGet.d.ts +0 -11
  467. package/lib/lodash/_listCacheGet.js +0 -20
  468. package/lib/lodash/_listCacheHas.d.ts +0 -11
  469. package/lib/lodash/_listCacheHas.js +0 -18
  470. package/lib/lodash/_listCacheSet.d.ts +0 -12
  471. package/lib/lodash/_listCacheSet.js +0 -29
  472. package/lib/lodash/_mapCacheClear.d.ts +0 -18
  473. package/lib/lodash/_mapCacheClear.js +0 -23
  474. package/lib/lodash/_mapCacheDelete.d.ts +0 -11
  475. package/lib/lodash/_mapCacheDelete.js +0 -20
  476. package/lib/lodash/_mapCacheGet.d.ts +0 -11
  477. package/lib/lodash/_mapCacheGet.js +0 -18
  478. package/lib/lodash/_mapCacheHas.d.ts +0 -11
  479. package/lib/lodash/_mapCacheHas.js +0 -18
  480. package/lib/lodash/_mapCacheSet.d.ts +0 -12
  481. package/lib/lodash/_mapCacheSet.js +0 -23
  482. package/lib/lodash/_mapToArray.d.ts +0 -9
  483. package/lib/lodash/_mapToArray.js +0 -19
  484. package/lib/lodash/_nativeCreate.d.ts +0 -2
  485. package/lib/lodash/_nativeCreate.js +0 -7
  486. package/lib/lodash/_nativeKeys.d.ts +0 -2
  487. package/lib/lodash/_nativeKeys.js +0 -7
  488. package/lib/lodash/_nodeUtil.d.ts +0 -3
  489. package/lib/lodash/_nodeUtil.js +0 -24
  490. package/lib/lodash/_objectToString.d.ts +0 -9
  491. package/lib/lodash/_objectToString.js +0 -24
  492. package/lib/lodash/_overArg.d.ts +0 -10
  493. package/lib/lodash/_overArg.js +0 -17
  494. package/lib/lodash/_root.d.ts +0 -3
  495. package/lib/lodash/_root.js +0 -10
  496. package/lib/lodash/_setCacheAdd.d.ts +0 -12
  497. package/lib/lodash/_setCacheAdd.js +0 -22
  498. package/lib/lodash/_setCacheHas.d.ts +0 -11
  499. package/lib/lodash/_setCacheHas.js +0 -16
  500. package/lib/lodash/_setToArray.d.ts +0 -9
  501. package/lib/lodash/_setToArray.js +0 -19
  502. package/lib/lodash/_stackClear.d.ts +0 -14
  503. package/lib/lodash/_stackClear.js +0 -17
  504. package/lib/lodash/_stackDelete.d.ts +0 -24
  505. package/lib/lodash/_stackDelete.js +0 -19
  506. package/lib/lodash/_stackGet.d.ts +0 -11
  507. package/lib/lodash/_stackGet.js +0 -16
  508. package/lib/lodash/_stackHas.d.ts +0 -11
  509. package/lib/lodash/_stackHas.js +0 -16
  510. package/lib/lodash/_stackSet.d.ts +0 -28
  511. package/lib/lodash/_stackSet.js +0 -40
  512. package/lib/lodash/_toSource.d.ts +0 -9
  513. package/lib/lodash/_toSource.js +0 -30
  514. package/lib/lodash/date.d.ts +0 -2
  515. package/lib/lodash/date.default.d.ts +0 -5
  516. package/lib/lodash/date.default.js +0 -4
  517. package/lib/lodash/date.js +0 -2
  518. package/lib/lodash/eq.d.ts +0 -34
  519. package/lib/lodash/eq.js +0 -39
  520. package/lib/lodash/function.d.ts +0 -1
  521. package/lib/lodash/function.default.d.ts +0 -4
  522. package/lib/lodash/function.default.js +0 -4
  523. package/lib/lodash/function.js +0 -2
  524. package/lib/lodash/isArguments.d.ts +0 -2
  525. package/lib/lodash/isArguments.js +0 -38
  526. package/lib/lodash/isArray.d.ts +0 -25
  527. package/lib/lodash/isArray.js +0 -27
  528. package/lib/lodash/isArrayLike.d.ts +0 -27
  529. package/lib/lodash/isArrayLike.js +0 -35
  530. package/lib/lodash/isBuffer.d.ts +0 -19
  531. package/lib/lodash/isBuffer.js +0 -39
  532. package/lib/lodash/isDeepEqual.d.ts +0 -30
  533. package/lib/lodash/isDeepEqual.js +0 -45
  534. package/lib/lodash/isFunction.d.ts +0 -19
  535. package/lib/lodash/isFunction.js +0 -40
  536. package/lib/lodash/isLength.d.ts +0 -28
  537. package/lib/lodash/isLength.js +0 -36
  538. package/lib/lodash/isObject.d.ts +0 -27
  539. package/lib/lodash/isObject.js +0 -33
  540. package/lib/lodash/isObjectLike.d.ts +0 -26
  541. package/lib/lodash/isObjectLike.js +0 -31
  542. package/lib/lodash/isSymbol.d.ts +0 -19
  543. package/lib/lodash/isSymbol.js +0 -30
  544. package/lib/lodash/isTypedArray.d.ts +0 -19
  545. package/lib/lodash/isTypedArray.js +0 -28
  546. package/lib/lodash/keys.d.ts +0 -30
  547. package/lib/lodash/keys.js +0 -39
  548. package/lib/lodash/lang.d.ts +0 -14
  549. package/lib/lodash/lang.default.d.ts +0 -29
  550. package/lib/lodash/lang.default.js +0 -28
  551. package/lib/lodash/lang.js +0 -14
  552. package/lib/lodash/now.d.ts +0 -18
  553. package/lib/lodash/now.js +0 -25
  554. package/lib/lodash/object.d.ts +0 -2
  555. package/lib/lodash/object.default.d.ts +0 -5
  556. package/lib/lodash/object.default.js +0 -4
  557. package/lib/lodash/object.js +0 -2
  558. package/lib/lodash/stubArray.d.ts +0 -20
  559. package/lib/lodash/stubArray.js +0 -25
  560. package/lib/lodash/stubFalse.d.ts +0 -15
  561. package/lib/lodash/stubFalse.js +0 -20
  562. package/lib/lodash/toNumber.d.ts +0 -25
  563. package/lib/lodash/toNumber.js +0 -70
  564. package/lib/lodash/util.d.ts +0 -3
  565. package/lib/lodash/util.default.d.ts +0 -7
  566. package/lib/lodash/util.default.js +0 -6
  567. package/lib/lodash/util.js +0 -3
  568. package/modern/hooks/core/rowGroupsPreProcessing/index.js +0 -2
  569. package/modern/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -70
  570. package/modern/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
  571. package/modern/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
  572. package/modern/lib/lodash/_DataView.js +0 -8
  573. package/modern/lib/lodash/_Hash.js +0 -33
  574. package/modern/lib/lodash/_ListCache.js +0 -33
  575. package/modern/lib/lodash/_Map.js +0 -8
  576. package/modern/lib/lodash/_MapCache.js +0 -33
  577. package/modern/lib/lodash/_Promise.js +0 -8
  578. package/modern/lib/lodash/_Set.js +0 -8
  579. package/modern/lib/lodash/_SetCache.js +0 -28
  580. package/modern/lib/lodash/_Stack.js +0 -28
  581. package/modern/lib/lodash/_Symbol.js +0 -7
  582. package/modern/lib/lodash/_Uint8Array.js +0 -7
  583. package/modern/lib/lodash/_WeakMap.js +0 -8
  584. package/modern/lib/lodash/_arrayFilter.js +0 -29
  585. package/modern/lib/lodash/_arrayLikeKeys.js +0 -46
  586. package/modern/lib/lodash/_arrayPush.js +0 -23
  587. package/modern/lib/lodash/_arraySome.js +0 -26
  588. package/modern/lib/lodash/_assocIndexOf.js +0 -25
  589. package/modern/lib/lodash/_baseGetAllKeys.js +0 -22
  590. package/modern/lib/lodash/_baseGetTag.js +0 -29
  591. package/modern/lib/lodash/_baseIsArguments.js +0 -20
  592. package/modern/lib/lodash/_baseIsEqual.js +0 -32
  593. package/modern/lib/lodash/_baseIsEqualDeep.js +0 -85
  594. package/modern/lib/lodash/_baseIsNative.js +0 -47
  595. package/modern/lib/lodash/_baseIsTypedArray.js +0 -49
  596. package/modern/lib/lodash/_baseKeys.js +0 -35
  597. package/modern/lib/lodash/_baseTimes.js +0 -23
  598. package/modern/lib/lodash/_baseUnary.js +0 -16
  599. package/modern/lib/lodash/_cacheHas.js +0 -15
  600. package/modern/lib/lodash/_coreJsData.js +0 -7
  601. package/modern/lib/lodash/_equalArrays.js +0 -84
  602. package/modern/lib/lodash/_equalByTag.js +0 -117
  603. package/modern/lib/lodash/_equalObjects.js +0 -92
  604. package/modern/lib/lodash/_freeGlobal.js +0 -5
  605. package/modern/lib/lodash/_getAllKeys.js +0 -18
  606. package/modern/lib/lodash/_getMapData.js +0 -18
  607. package/modern/lib/lodash/_getNative.js +0 -19
  608. package/modern/lib/lodash/_getRawTag.js +0 -50
  609. package/modern/lib/lodash/_getSymbols.js +0 -32
  610. package/modern/lib/lodash/_getTag.js +0 -64
  611. package/modern/lib/lodash/_getValue.js +0 -15
  612. package/modern/lib/lodash/_hashClear.js +0 -17
  613. package/modern/lib/lodash/_hashDelete.js +0 -19
  614. package/modern/lib/lodash/_hashGet.js +0 -34
  615. package/modern/lib/lodash/_hashHas.js +0 -25
  616. package/modern/lib/lodash/_hashSet.js +0 -25
  617. package/modern/lib/lodash/_isIndex.js +0 -23
  618. package/modern/lib/lodash/_isKeyable.js +0 -15
  619. package/modern/lib/lodash/_isMasked.js +0 -23
  620. package/modern/lib/lodash/_isPrototype.js +0 -19
  621. package/modern/lib/lodash/_listCacheClear.js +0 -15
  622. package/modern/lib/lodash/_listCacheDelete.js +0 -40
  623. package/modern/lib/lodash/_listCacheGet.js +0 -20
  624. package/modern/lib/lodash/_listCacheHas.js +0 -18
  625. package/modern/lib/lodash/_listCacheSet.js +0 -29
  626. package/modern/lib/lodash/_mapCacheClear.js +0 -23
  627. package/modern/lib/lodash/_mapCacheDelete.js +0 -20
  628. package/modern/lib/lodash/_mapCacheGet.js +0 -18
  629. package/modern/lib/lodash/_mapCacheHas.js +0 -18
  630. package/modern/lib/lodash/_mapCacheSet.js +0 -23
  631. package/modern/lib/lodash/_mapToArray.js +0 -19
  632. package/modern/lib/lodash/_nativeCreate.js +0 -7
  633. package/modern/lib/lodash/_nativeKeys.js +0 -7
  634. package/modern/lib/lodash/_nodeUtil.js +0 -24
  635. package/modern/lib/lodash/_objectToString.js +0 -24
  636. package/modern/lib/lodash/_overArg.js +0 -17
  637. package/modern/lib/lodash/_root.js +0 -10
  638. package/modern/lib/lodash/_setCacheAdd.js +0 -22
  639. package/modern/lib/lodash/_setCacheHas.js +0 -16
  640. package/modern/lib/lodash/_setToArray.js +0 -19
  641. package/modern/lib/lodash/_stackClear.js +0 -17
  642. package/modern/lib/lodash/_stackDelete.js +0 -19
  643. package/modern/lib/lodash/_stackGet.js +0 -16
  644. package/modern/lib/lodash/_stackHas.js +0 -16
  645. package/modern/lib/lodash/_stackSet.js +0 -40
  646. package/modern/lib/lodash/_toSource.js +0 -30
  647. package/modern/lib/lodash/date.default.js +0 -4
  648. package/modern/lib/lodash/date.js +0 -2
  649. package/modern/lib/lodash/eq.js +0 -39
  650. package/modern/lib/lodash/function.default.js +0 -4
  651. package/modern/lib/lodash/function.js +0 -2
  652. package/modern/lib/lodash/isArguments.js +0 -38
  653. package/modern/lib/lodash/isArray.js +0 -27
  654. package/modern/lib/lodash/isArrayLike.js +0 -35
  655. package/modern/lib/lodash/isBuffer.js +0 -39
  656. package/modern/lib/lodash/isDeepEqual.js +0 -45
  657. package/modern/lib/lodash/isFunction.js +0 -40
  658. package/modern/lib/lodash/isLength.js +0 -36
  659. package/modern/lib/lodash/isObject.js +0 -33
  660. package/modern/lib/lodash/isObjectLike.js +0 -31
  661. package/modern/lib/lodash/isSymbol.js +0 -30
  662. package/modern/lib/lodash/isTypedArray.js +0 -28
  663. package/modern/lib/lodash/keys.js +0 -39
  664. package/modern/lib/lodash/lang.default.js +0 -28
  665. package/modern/lib/lodash/lang.js +0 -14
  666. package/modern/lib/lodash/now.js +0 -25
  667. package/modern/lib/lodash/object.default.js +0 -4
  668. package/modern/lib/lodash/object.js +0 -2
  669. package/modern/lib/lodash/stubArray.js +0 -25
  670. package/modern/lib/lodash/stubFalse.js +0 -20
  671. package/modern/lib/lodash/toNumber.js +0 -70
  672. package/modern/lib/lodash/util.default.js +0 -6
  673. package/modern/lib/lodash/util.js +0 -3
  674. package/node/hooks/core/rowGroupsPreProcessing/index.js +0 -31
  675. package/node/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -87
  676. package/node/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -24
  677. package/node/lib/lodash/_DataView.js +0 -20
  678. package/node/lib/lodash/_Hash.js +0 -48
  679. package/node/lib/lodash/_ListCache.js +0 -48
  680. package/node/lib/lodash/_Map.js +0 -20
  681. package/node/lib/lodash/_MapCache.js +0 -48
  682. package/node/lib/lodash/_Promise.js +0 -20
  683. package/node/lib/lodash/_Set.js +0 -20
  684. package/node/lib/lodash/_SetCache.js +0 -41
  685. package/node/lib/lodash/_Stack.js +0 -44
  686. package/node/lib/lodash/_Symbol.js +0 -18
  687. package/node/lib/lodash/_Uint8Array.js +0 -18
  688. package/node/lib/lodash/_WeakMap.js +0 -20
  689. package/node/lib/lodash/_arrayFilter.js +0 -35
  690. package/node/lib/lodash/_arrayLikeKeys.js +0 -62
  691. package/node/lib/lodash/_arrayPush.js +0 -29
  692. package/node/lib/lodash/_arraySome.js +0 -32
  693. package/node/lib/lodash/_assocIndexOf.js +0 -36
  694. package/node/lib/lodash/_baseGetAllKeys.js +0 -34
  695. package/node/lib/lodash/_baseGetTag.js +0 -42
  696. package/node/lib/lodash/_baseIsArguments.js +0 -32
  697. package/node/lib/lodash/_baseIsEqual.js +0 -44
  698. package/node/lib/lodash/_baseIsEqualDeep.js +0 -103
  699. package/node/lib/lodash/_baseIsNative.js +0 -61
  700. package/node/lib/lodash/_baseIsTypedArray.js +0 -62
  701. package/node/lib/lodash/_baseKeys.js +0 -47
  702. package/node/lib/lodash/_baseTimes.js +0 -29
  703. package/node/lib/lodash/_baseUnary.js +0 -22
  704. package/node/lib/lodash/_cacheHas.js +0 -21
  705. package/node/lib/lodash/_coreJsData.js +0 -18
  706. package/node/lib/lodash/_equalArrays.js +0 -97
  707. package/node/lib/lodash/_equalByTag.js +0 -133
  708. package/node/lib/lodash/_equalObjects.js +0 -103
  709. package/node/lib/lodash/_freeGlobal.js +0 -10
  710. package/node/lib/lodash/_getAllKeys.js +0 -31
  711. package/node/lib/lodash/_getMapData.js +0 -29
  712. package/node/lib/lodash/_getNative.js +0 -31
  713. package/node/lib/lodash/_getRawTag.js +0 -61
  714. package/node/lib/lodash/_getSymbols.js +0 -44
  715. package/node/lib/lodash/_getTag.js +0 -81
  716. package/node/lib/lodash/_getValue.js +0 -21
  717. package/node/lib/lodash/_hashClear.js +0 -28
  718. package/node/lib/lodash/_hashDelete.js +0 -25
  719. package/node/lib/lodash/_hashGet.js +0 -45
  720. package/node/lib/lodash/_hashHas.js +0 -36
  721. package/node/lib/lodash/_hashSet.js +0 -36
  722. package/node/lib/lodash/_isIndex.js +0 -28
  723. package/node/lib/lodash/_isKeyable.js +0 -21
  724. package/node/lib/lodash/_isMasked.js +0 -34
  725. package/node/lib/lodash/_isPrototype.js +0 -24
  726. package/node/lib/lodash/_listCacheClear.js +0 -21
  727. package/node/lib/lodash/_listCacheDelete.js +0 -51
  728. package/node/lib/lodash/_listCacheGet.js +0 -31
  729. package/node/lib/lodash/_listCacheHas.js +0 -29
  730. package/node/lib/lodash/_listCacheSet.js +0 -40
  731. package/node/lib/lodash/_mapCacheClear.js +0 -36
  732. package/node/lib/lodash/_mapCacheDelete.js +0 -31
  733. package/node/lib/lodash/_mapCacheGet.js +0 -29
  734. package/node/lib/lodash/_mapCacheHas.js +0 -29
  735. package/node/lib/lodash/_mapCacheSet.js +0 -34
  736. package/node/lib/lodash/_mapToArray.js +0 -25
  737. package/node/lib/lodash/_nativeCreate.js +0 -18
  738. package/node/lib/lodash/_nativeKeys.js +0 -18
  739. package/node/lib/lodash/_nodeUtil.js +0 -35
  740. package/node/lib/lodash/_objectToString.js +0 -29
  741. package/node/lib/lodash/_overArg.js +0 -23
  742. package/node/lib/lodash/_root.js +0 -21
  743. package/node/lib/lodash/_setCacheAdd.js +0 -27
  744. package/node/lib/lodash/_setCacheHas.js +0 -22
  745. package/node/lib/lodash/_setToArray.js +0 -25
  746. package/node/lib/lodash/_stackClear.js +0 -28
  747. package/node/lib/lodash/_stackDelete.js +0 -25
  748. package/node/lib/lodash/_stackGet.js +0 -22
  749. package/node/lib/lodash/_stackHas.js +0 -22
  750. package/node/lib/lodash/_stackSet.js +0 -53
  751. package/node/lib/lodash/_toSource.js +0 -35
  752. package/node/lib/lodash/date.default.js +0 -15
  753. package/node/lib/lodash/date.js +0 -23
  754. package/node/lib/lodash/eq.js +0 -45
  755. package/node/lib/lodash/function.default.js +0 -15
  756. package/node/lib/lodash/function.js +0 -23
  757. package/node/lib/lodash/isArguments.js +0 -50
  758. package/node/lib/lodash/isArray.js +0 -32
  759. package/node/lib/lodash/isArrayLike.js +0 -47
  760. package/node/lib/lodash/isBuffer.js +0 -51
  761. package/node/lib/lodash/isDeepEqual.js +0 -56
  762. package/node/lib/lodash/isFunction.js +0 -52
  763. package/node/lib/lodash/isLength.js +0 -41
  764. package/node/lib/lodash/isObject.js +0 -39
  765. package/node/lib/lodash/isObjectLike.js +0 -37
  766. package/node/lib/lodash/isSymbol.js +0 -42
  767. package/node/lib/lodash/isTypedArray.js +0 -41
  768. package/node/lib/lodash/keys.js +0 -52
  769. package/node/lib/lodash/lang.default.js +0 -51
  770. package/node/lib/lodash/lang.js +0 -119
  771. package/node/lib/lodash/now.js +0 -36
  772. package/node/lib/lodash/object.default.js +0 -15
  773. package/node/lib/lodash/object.js +0 -23
  774. package/node/lib/lodash/stubArray.js +0 -31
  775. package/node/lib/lodash/stubFalse.js +0 -26
  776. package/node/lib/lodash/toNumber.js +0 -82
  777. package/node/lib/lodash/util.default.js +0 -18
  778. package/node/lib/lodash/util.js +0 -31
@@ -7,19 +7,17 @@ import { GridPreferencePanelsValue } from '../../hooks/features/preferencesPanel
7
7
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
8
8
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
10
  export const GridPreferencesPanel = /*#__PURE__*/React.forwardRef(function GridPreferencesPanel(props, ref) {
12
11
  const apiRef = useGridApiContext();
13
12
  const columns = useGridSelector(apiRef, gridColumnDefinitionsSelector);
14
13
  const rootProps = useGridRootProps();
15
14
  const preferencePanelState = useGridSelector(apiRef, gridPreferencePanelStateSelector);
16
- const isColumnsTabOpen = preferencePanelState.openedPanelValue === GridPreferencePanelsValue.columns;
17
- const isFiltersTabOpen = !preferencePanelState.openedPanelValue || !isColumnsTabOpen;
18
- return /*#__PURE__*/_jsxs(rootProps.components.Panel, _extends({
15
+ const panelContent = apiRef.current.unstable_applyPreProcessors('preferencePanel', null, preferencePanelState.openedPanelValue ?? GridPreferencePanelsValue.filters);
16
+ return /*#__PURE__*/_jsx(rootProps.components.Panel, _extends({
19
17
  ref: ref,
20
18
  as: rootProps.components.BasePopper,
21
19
  open: columns.length > 0 && preferencePanelState.open
22
20
  }, rootProps.componentsProps?.panel, props, rootProps.componentsProps?.basePopper, {
23
- children: [!rootProps.disableColumnSelector && isColumnsTabOpen && /*#__PURE__*/_jsx(rootProps.components.ColumnsPanel, _extends({}, rootProps.componentsProps?.columnsPanel)), !rootProps.disableColumnFilter && isFiltersTabOpen && /*#__PURE__*/_jsx(rootProps.components.FilterPanel, _extends({}, rootProps.componentsProps?.filterPanel))]
21
+ children: panelContent
24
22
  }));
25
23
  });
@@ -4,6 +4,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
6
  import { GridEvents } from '../../../models/events';
7
+ /**
8
+ * TODO: Rename `useGridPipProcessing`
9
+ */
10
+
7
11
  export const useGridPreProcessing = apiRef => {
8
12
  const preProcessorsRef = React.useRef({});
9
13
  const registerPreProcessor = React.useCallback((group, id, callback) => {
@@ -14,7 +18,7 @@ export const useGridPreProcessing = apiRef => {
14
18
  const preProcessors = preProcessorsRef.current[group];
15
19
  const oldCallback = preProcessors[id];
16
20
 
17
- if (!oldCallback || oldCallback !== callback) {
21
+ if (oldCallback !== callback) {
18
22
  preProcessorsRef.current[group] = _extends({}, preProcessors, {
19
23
  [id]: callback
20
24
  });
@@ -1,5 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { useFirstRender } from '../../utils/useFirstRender';
3
+
4
+ /**
5
+ * TODO: Rename `useGridRegisterPipeProcessor`
6
+ */
3
7
  export const useGridRegisterPreProcessor = (apiRef, group, callback) => {
4
8
  const cleanup = React.useRef();
5
9
  const id = React.useRef(`mui-${Math.round(Math.random() * 1e9)}`);
@@ -0,0 +1,3 @@
1
+ export * from './gridStrategyProcessingApi';
2
+ export * from './useGridRegisterStrategyProcessor';
3
+ export * from './useGridStrategyProcessing';
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import { useFirstRender } from '../../utils/useFirstRender';
3
+ export const useGridRegisterStrategyProcessor = (apiRef, strategyName, group, processor) => {
4
+ const registerPreProcessor = React.useCallback(() => {
5
+ apiRef.current.unstable_registerStrategyProcessor(strategyName, group, processor);
6
+ }, [apiRef, processor, group, strategyName]);
7
+ useFirstRender(() => {
8
+ registerPreProcessor();
9
+ });
10
+ const isFirstRender = React.useRef(true);
11
+ React.useEffect(() => {
12
+ if (isFirstRender.current) {
13
+ isFirstRender.current = false;
14
+ } else {
15
+ registerPreProcessor();
16
+ }
17
+ }, [registerPreProcessor]);
18
+ };
@@ -0,0 +1,112 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
+ import _toPropertyKey from "@babel/runtime/helpers/esm/toPropertyKey";
3
+ import * as React from 'react';
4
+ import { useGridApiMethod } from '../../utils/useGridApiMethod';
5
+ import { GridEvents } from '../../../models/events';
6
+ export const GRID_DEFAULT_STRATEGY = 'none';
7
+ export const GRID_STRATEGIES_PROCESSORS = {
8
+ rowTreeCreation: 'rowTree',
9
+ filtering: 'rowTree',
10
+ sorting: 'rowTree'
11
+ };
12
+
13
+ /**
14
+ * Implements a variant of the Strategy Pattern (see https://en.wikipedia.org/wiki/Strategy_pattern)
15
+ *
16
+ * Some plugins contain custom logic that must only be run if the right strategy is active.
17
+ * For instance, the tree data plugin has:
18
+ * - custom row tree creation algorithm.
19
+ * - custom sorting algorithm.
20
+ * - custom filtering algorithm.
21
+ *
22
+ * These plugins must use:
23
+ * - `apiRef.current.unstable_registerStrategyProcessor` to register their processors.
24
+ * - `apiRef.current.unstable_setStrategyAvailability` to tell if their strategy can be used.
25
+ *
26
+ * Some hooks need to run the custom logic of the active strategy.
27
+ * For instance, the `useGridFiltering` wants to run:
28
+ * - the tree data filtering if the tree data is the current way of grouping rows.
29
+ * - the row grouping filtering if the row grouping is the current way of grouping rows.
30
+ * - the flat filtering if there is no grouping of the rows (equivalent to the "none" strategy).
31
+ *
32
+ * These hooks must use:
33
+ * - `apiRef.current.unstable_applyStrategyProcessor` to run a processor.
34
+ * - `GridEvents.strategyAvailabilityChange` to update something when the active strategy changes.
35
+ * Warning: Be careful not to apply the processor several times.
36
+ * For instance `GridEvents.rowsSet` is fired by `useGridRows` whenever the active strategy changes.
37
+ * So listening to both would most likely run your logic twice.
38
+ * - `GridEvents.activeStrategyProcessorChange` to update something when the processor of the active strategy changes
39
+ *
40
+ * Each processor name is part of a strategy group which can only have one active strategy at the time.
41
+ */
42
+ export const useGridStrategyProcessing = apiRef => {
43
+ const availableStrategies = React.useRef(new Map());
44
+ const strategiesCache = React.useRef({});
45
+ const registerStrategyProcessor = React.useCallback((strategyName, processorName, processor) => {
46
+ const cleanup = () => {
47
+ const _ref = strategiesCache.current[processorName],
48
+ otherProcessors = _objectWithoutPropertiesLoose(_ref, [strategyName].map(_toPropertyKey));
49
+
50
+ strategiesCache.current[processorName] = otherProcessors;
51
+ };
52
+
53
+ if (!strategiesCache.current[processorName]) {
54
+ strategiesCache.current[processorName] = {};
55
+ }
56
+
57
+ const groupPreProcessors = strategiesCache.current[processorName];
58
+ const previousProcessor = groupPreProcessors[strategyName];
59
+ groupPreProcessors[strategyName] = processor;
60
+
61
+ if (!previousProcessor || previousProcessor === processor) {
62
+ return cleanup;
63
+ }
64
+
65
+ if (strategyName === apiRef.current.unstable_getActiveStrategy(GRID_STRATEGIES_PROCESSORS[processorName])) {
66
+ apiRef.current.publishEvent(GridEvents.activeStrategyProcessorChange, processorName);
67
+ }
68
+
69
+ return cleanup;
70
+ }, [apiRef]);
71
+ const applyStrategyProcessor = React.useCallback((processorName, params) => {
72
+ const activeStrategy = apiRef.current.unstable_getActiveStrategy(GRID_STRATEGIES_PROCESSORS[processorName]);
73
+
74
+ if (activeStrategy == null) {
75
+ throw new Error("Can't apply a strategy processor before defining an active strategy");
76
+ }
77
+
78
+ const groupCache = strategiesCache.current[processorName];
79
+
80
+ if (!groupCache || !groupCache[activeStrategy]) {
81
+ throw new Error(`No processor found for processor "${processorName}" on strategy "${activeStrategy}"`);
82
+ }
83
+
84
+ const processor = groupCache[activeStrategy];
85
+ return processor(params);
86
+ }, [apiRef]);
87
+ const getActiveStrategy = React.useCallback(strategyGroup => {
88
+ const strategyEntries = Array.from(availableStrategies.current.entries());
89
+ const availableStrategyEntry = strategyEntries.find(([, strategy]) => {
90
+ if (strategy.group !== strategyGroup) {
91
+ return false;
92
+ }
93
+
94
+ return strategy.isAvailable();
95
+ });
96
+ return availableStrategyEntry?.[0] ?? GRID_DEFAULT_STRATEGY;
97
+ }, []);
98
+ const setStrategyAvailability = React.useCallback((strategyGroup, strategyName, isAvailable) => {
99
+ availableStrategies.current.set(strategyName, {
100
+ group: strategyGroup,
101
+ isAvailable
102
+ });
103
+ apiRef.current.publishEvent(GridEvents.strategyAvailabilityChange);
104
+ }, [apiRef]);
105
+ const strategyProcessingApi = {
106
+ unstable_registerStrategyProcessor: registerStrategyProcessor,
107
+ unstable_applyStrategyProcessor: applyStrategyProcessor,
108
+ unstable_getActiveStrategy: getActiveStrategy,
109
+ unstable_setStrategyAvailability: setStrategyAvailability
110
+ };
111
+ useGridApiMethod(apiRef, strategyProcessingApi, 'GridStrategyProcessing');
112
+ };
@@ -3,7 +3,7 @@ import { useGridApiInitialization } from './useGridApiInitialization';
3
3
  import { useGridErrorHandler } from './useGridErrorHandler';
4
4
  import { useGridLocaleText } from './useGridLocaleText';
5
5
  import { useGridPreProcessing } from './preProcessing';
6
- import { useGridRowGroupsPreProcessing } from './rowGroupsPreProcessing';
6
+ import { useGridStrategyProcessing } from './strategyProcessing';
7
7
  import { useGridStateInitialization } from './useGridStateInitialization';
8
8
  /**
9
9
  * Initialize the technical pieces of the DataGrid (logger, state, ...) that any DataGrid implementation needs
@@ -15,7 +15,7 @@ export const useGridInitialization = (inputApiRef, props) => {
15
15
  useGridErrorHandler(apiRef, props);
16
16
  useGridStateInitialization(apiRef, props);
17
17
  useGridPreProcessing(apiRef);
18
- useGridRowGroupsPreProcessing(apiRef);
18
+ useGridStrategyProcessing(apiRef);
19
19
  useGridLocaleText(apiRef, props);
20
20
  return apiRef;
21
21
  };
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { DEFAULT_GRID_COL_TYPE_KEY, getGridDefaultColumnTypes } from '../../../models';
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
7
  const mergedColumnTypes = _extends({}, getGridDefaultColumnTypes());
7
8
 
@@ -167,6 +168,55 @@ export const hydrateColumnsWidth = (rawState, viewportInnerWidth) => {
167
168
  });
168
169
  };
169
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
+ };
170
220
  /**
171
221
  * @deprecated Should have been internal only, you can inline the logic.
172
222
  */
@@ -192,14 +242,16 @@ export const getGridColDef = (columnTypes, type) => {
192
242
  export const createColumnsState = ({
193
243
  apiRef,
194
244
  columnsToUpsert,
245
+ initialState,
195
246
  columnsTypes,
196
247
  currentColumnVisibilityModel = gridColumnVisibilityModelSelector(apiRef),
197
248
  shouldRegenColumnVisibilityModelFromColumns,
198
- reset
249
+ keepOnlyColumnsToUpsert = false
199
250
  }) => {
251
+ const isInsideStateInitializer = !apiRef.current.state.columns;
200
252
  let columnsStateWithoutColumnVisibilityModel;
201
253
 
202
- if (reset) {
254
+ if (isInsideStateInitializer || keepOnlyColumnsToUpsert) {
203
255
  columnsStateWithoutColumnVisibilityModel = {
204
256
  all: [],
205
257
  lookup: {}
@@ -221,7 +273,13 @@ export const createColumnsState = ({
221
273
  columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = _extends({}, getGridColDef(columnsTypes, newColumn.type), newColumn);
222
274
  columnsStateWithoutColumnVisibilityModel.all.push(newColumn.field);
223
275
  } else {
224
- columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = _extends({}, columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field], newColumn);
276
+ const mergedColumn = _extends({}, columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field], newColumn);
277
+
278
+ if (!mergedColumn.hasBeenResized && COLUMNS_DIMENSION_PROPERTIES.some(propertyName => newColumn[propertyName] !== undefined)) {
279
+ mergedColumn.hasBeenResized = true;
280
+ }
281
+
282
+ columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = mergedColumn;
225
283
  }
226
284
  });
227
285
 
@@ -232,46 +290,74 @@ export const createColumnsState = ({
232
290
  let columnVisibilityModel = {};
233
291
 
234
292
  if (shouldRegenColumnVisibilityModelFromColumns) {
235
- if (reset) {
236
- columnsStateWithPreProcessing.all.forEach(field => {
237
- columnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
238
- });
239
- } else {
240
- const newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
293
+ let hasModelChanged = false;
241
294
 
242
- let hasModelChanged = false;
243
- columnsStateWithPreProcessing.all.forEach(field => {
244
- // If neither the `columnsToUpsert` nor the pre-processors updated the column,
245
- // Then we don't want to update the visibility status of the column in the model.
246
- if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
247
- return;
248
- }
249
-
250
- const isVisibleBefore = currentColumnVisibilityModel[field] ?? true;
251
- const isVisibleAfter = !columnsStateWithPreProcessing.lookup[field].hide;
295
+ const newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
252
296
 
253
- if (isVisibleAfter !== isVisibleBefore) {
297
+ if (isInsideStateInitializer) {
298
+ columnsStateWithPreProcessing.all.forEach(field => {
299
+ newColumnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
300
+ });
301
+ } else if (keepOnlyColumnsToUpsert) {
302
+ // At this point, `keepOnlyColumnsToUpsert` has a new meaning: keep the columns
303
+ // passed via `columnToUpsert` + columns added by the pre-processors. We do the following
304
+ // cleanup because a given column may have been removed from the `columns` prop but it still
305
+ // exists in the state.
306
+ Object.keys(newColumnVisibilityModel).forEach(field => {
307
+ if (!columnsStateWithPreProcessing.lookup[field]) {
308
+ delete newColumnVisibilityModel[field];
254
309
  hasModelChanged = true;
255
- newColumnVisibilityModel[field] = isVisibleAfter;
256
310
  }
257
311
  });
312
+ }
258
313
 
259
- if (hasModelChanged) {
260
- columnVisibilityModel = newColumnVisibilityModel;
261
- } else {
262
- columnVisibilityModel = currentColumnVisibilityModel;
314
+ columnsStateWithPreProcessing.all.forEach(field => {
315
+ // If neither the `columnsToUpsert` nor the pre-processors updated the column,
316
+ // Then we don't want to update the visibility status of the column in the model.
317
+ if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
318
+ return;
319
+ } // We always assume that a column not in the model is visible by default. However, there's an
320
+ // edge case where the column is not in the model but it also doesn't exist in the `columns`
321
+ // prop, meaning that the column is being added. In that case, we assume that the column was
322
+ // not visible before for it be added to the model.
323
+
324
+
325
+ let isVisibleBefore = currentColumnVisibilityModel[field];
326
+
327
+ if (isVisibleBefore === undefined) {
328
+ if (isInsideStateInitializer) {
329
+ isVisibleBefore = true;
330
+ } else {
331
+ const currentState = gridColumnsSelector(apiRef.current.state);
332
+ isVisibleBefore = !!currentState.lookup[field];
333
+ }
334
+ }
335
+
336
+ const isVisibleAfter = !columnsStateWithPreProcessing.lookup[field].hide;
337
+
338
+ if (isVisibleAfter !== isVisibleBefore) {
339
+ hasModelChanged = true;
340
+ newColumnVisibilityModel[field] = isVisibleAfter;
263
341
  }
342
+ });
343
+
344
+ if (hasModelChanged || isInsideStateInitializer) {
345
+ columnVisibilityModel = newColumnVisibilityModel;
346
+ } else {
347
+ columnVisibilityModel = currentColumnVisibilityModel;
264
348
  }
265
349
  } else {
266
350
  columnVisibilityModel = currentColumnVisibilityModel;
267
351
  }
268
352
 
269
- const columnsState = _extends({}, columnsStateWithPreProcessing, {
353
+ const columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
354
+
355
+ const columnsState = _extends({}, columnsStateWithPortableColumns, {
270
356
  columnVisibilityModel
271
357
  });
272
358
 
273
359
  return hydrateColumnsWidth(columnsState, apiRef.current.getRootDimensions?.()?.viewportInnerSize.width ?? 0);
274
360
  };
275
- export const setColumnsState = columnsState => state => _extends({}, state, {
361
+ export const mergeColumnsState = columnsState => state => _extends({}, state, {
276
362
  columns: columnsState
277
363
  });
@@ -6,17 +6,20 @@ 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
8
  import { useGridRegisterPreProcessor } from '../../core/preProcessing';
9
- import { hydrateColumnsWidth, computeColumnTypes, createColumnsState, setColumnsState } from './gridColumnsUtils';
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
17
  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
@@ -36,7 +39,7 @@ export function useGridColumns(apiRef, props) {
36
39
  * 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
40
  */
38
41
 
39
- const shouldUseVisibleColumnModel = React.useRef(!!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel).current;
42
+ const isUsingColumnVisibilityModel = React.useRef(!!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel).current;
40
43
  apiRef.current.unstable_updateControlState({
41
44
  stateId: 'visibleColumns',
42
45
  propModel: props.columnVisibilityModel,
@@ -46,7 +49,7 @@ export function useGridColumns(apiRef, props) {
46
49
  });
47
50
  const setGridColumnsState = React.useCallback(columnsState => {
48
51
  logger.debug('Updating columns state.');
49
- apiRef.current.setState(setColumnsState(columnsState));
52
+ apiRef.current.setState(mergeColumnsState(columnsState));
50
53
  apiRef.current.forceUpdate();
51
54
  apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
52
55
  }, [logger, apiRef]);
@@ -75,9 +78,10 @@ export function useGridColumns(apiRef, props) {
75
78
  apiRef,
76
79
  columnsTypes,
77
80
  columnsToUpsert: [],
81
+ initialState: undefined,
78
82
  shouldRegenColumnVisibilityModelFromColumns: false,
79
83
  currentColumnVisibilityModel: model,
80
- reset: false
84
+ keepOnlyColumnsToUpsert: false
81
85
  })
82
86
  }));
83
87
  apiRef.current.forceUpdate();
@@ -88,8 +92,9 @@ export function useGridColumns(apiRef, props) {
88
92
  apiRef,
89
93
  columnsTypes,
90
94
  columnsToUpsert: columns,
95
+ initialState: undefined,
91
96
  shouldRegenColumnVisibilityModelFromColumns: true,
92
- reset: false
97
+ keepOnlyColumnsToUpsert: false
93
98
  });
94
99
  setGridColumnsState(columnsState);
95
100
  }, [apiRef, setGridColumnsState, columnsTypes]);
@@ -98,7 +103,7 @@ export function useGridColumns(apiRef, props) {
98
103
  // We keep updating the `hide` option of `GridColDef` when not controlling the model to avoid any breaking change.
99
104
  // `updateColumns` take care of updating the model itself if needs be.
100
105
  // TODO v6: stop using the `hide` field even when the model is not defined
101
- if (shouldUseVisibleColumnModel) {
106
+ if (isUsingColumnVisibilityModel) {
102
107
  const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
103
108
  const isCurrentlyVisible = columnVisibilityModel[field] ?? true;
104
109
 
@@ -124,7 +129,7 @@ export function useGridColumns(apiRef, props) {
124
129
  };
125
130
  apiRef.current.publishEvent(GridEvents.columnVisibilityChange, params);
126
131
  }
127
- }, [apiRef, shouldUseVisibleColumnModel]);
132
+ }, [apiRef, isUsingColumnVisibilityModel]);
128
133
  const setColumnIndex = React.useCallback((field, targetIndexPosition) => {
129
134
  const allColumns = gridColumnFieldsSelector(apiRef);
130
135
  const oldIndexPosition = allColumns.findIndex(col => col === field);
@@ -183,46 +188,74 @@ export function useGridColumns(apiRef, props) {
183
188
  */
184
189
 
185
190
  const stateExportPreProcessing = React.useCallback(prevState => {
186
- if (!shouldUseVisibleColumnModel) {
187
- return prevState;
191
+ const columnsStateToExport = {};
192
+
193
+ if (isUsingColumnVisibilityModel) {
194
+ const columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
195
+ const hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(value => value === false);
196
+
197
+ if (hasHiddenColumns) {
198
+ columnsStateToExport.columnVisibilityModel = columnVisibilityModelToExport;
199
+ }
188
200
  }
189
201
 
190
- const columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
191
- const hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(value => value === false);
202
+ columnsStateToExport.orderedFields = gridColumnFieldsSelector(apiRef);
203
+ const columns = gridColumnDefinitionsSelector(apiRef);
204
+ const dimensions = {};
205
+ columns.forEach(colDef => {
206
+ if (colDef.hasBeenResized) {
207
+ const colDefDimensions = {};
208
+ COLUMNS_DIMENSION_PROPERTIES.forEach(propertyName => {
209
+ colDefDimensions[propertyName] = colDef[propertyName];
210
+ });
211
+ dimensions[colDef.field] = colDefDimensions;
212
+ }
213
+ });
192
214
 
193
- if (!hasHiddenColumns) {
194
- return prevState;
215
+ if (Object.keys(dimensions).length > 0) {
216
+ columnsStateToExport.dimensions = dimensions;
195
217
  }
196
218
 
197
219
  return _extends({}, prevState, {
198
- columns: {
199
- columnVisibilityModel: columnVisibilityModelToExport
200
- }
220
+ columns: columnsStateToExport
201
221
  });
202
- }, [apiRef, shouldUseVisibleColumnModel]);
222
+ }, [apiRef, isUsingColumnVisibilityModel]);
203
223
  const stateRestorePreProcessing = React.useCallback((params, context) => {
204
- if (!shouldUseVisibleColumnModel) {
224
+ const columnVisibilityModelToImport = isUsingColumnVisibilityModel ? context.stateToRestore.columns?.columnVisibilityModel : undefined;
225
+ const initialState = context.stateToRestore.columns;
226
+
227
+ if (columnVisibilityModelToImport == null && initialState == null) {
205
228
  return params;
206
229
  }
207
230
 
208
- const columnVisibilityModel = context.stateToRestore.columns?.columnVisibilityModel;
231
+ const columnsState = createColumnsState({
232
+ apiRef,
233
+ columnsTypes,
234
+ columnsToUpsert: [],
235
+ initialState,
236
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
237
+ currentColumnVisibilityModel: columnVisibilityModelToImport,
238
+ keepOnlyColumnsToUpsert: false
239
+ });
240
+ apiRef.current.setState(mergeColumnsState(columnsState));
209
241
 
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));
242
+ if (initialState != null) {
243
+ apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
220
244
  }
221
245
 
222
246
  return params;
223
- }, [apiRef, shouldUseVisibleColumnModel, columnsTypes]);
247
+ }, [apiRef, isUsingColumnVisibilityModel, columnsTypes]);
248
+ const preferencePanelPreProcessing = React.useCallback((initialValue, value) => {
249
+ if (value === GridPreferencePanelsValue.columns) {
250
+ const ColumnsPanel = props.components.ColumnsPanel;
251
+ return /*#__PURE__*/_jsx(ColumnsPanel, _extends({}, props.componentsProps?.columnsPanel));
252
+ }
253
+
254
+ return initialValue;
255
+ }, [props.components.ColumnsPanel, props.componentsProps?.columnsPanel]);
224
256
  useGridRegisterPreProcessor(apiRef, 'exportState', stateExportPreProcessing);
225
257
  useGridRegisterPreProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
258
+ useGridRegisterPreProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);
226
259
  /**
227
260
  * EVENTS
228
261
  */
@@ -237,11 +270,12 @@ export function useGridColumns(apiRef, props) {
237
270
  apiRef,
238
271
  columnsTypes,
239
272
  columnsToUpsert: [],
240
- shouldRegenColumnVisibilityModelFromColumns: !shouldUseVisibleColumnModel,
241
- reset: false
273
+ initialState: undefined,
274
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
275
+ keepOnlyColumnsToUpsert: false
242
276
  });
243
277
  setGridColumnsState(columnsState);
244
- }, [apiRef, logger, setGridColumnsState, columnsTypes, shouldUseVisibleColumnModel]);
278
+ }, [apiRef, logger, setGridColumnsState, columnsTypes, isUsingColumnVisibilityModel]);
245
279
  const prevInnerWidth = React.useRef(null);
246
280
 
247
281
  const handleGridSizeChange = viewportInnerSize => {
@@ -271,13 +305,14 @@ export function useGridColumns(apiRef, props) {
271
305
  const columnsState = createColumnsState({
272
306
  apiRef,
273
307
  columnsTypes,
308
+ initialState: undefined,
274
309
  // 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,
310
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
276
311
  columnsToUpsert: props.columns,
277
- reset: true
312
+ keepOnlyColumnsToUpsert: true
278
313
  });
279
314
  setGridColumnsState(columnsState);
280
- }, [logger, apiRef, setGridColumnsState, props.columns, columnsTypes, shouldUseVisibleColumnModel]);
315
+ }, [logger, apiRef, setGridColumnsState, props.columns, columnsTypes, isUsingColumnVisibilityModel]);
281
316
  React.useEffect(() => {
282
317
  if (props.columnVisibilityModel !== undefined) {
283
318
  apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);