@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
@@ -0,0 +1,119 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _toPropertyKey from "@babel/runtime/helpers/esm/toPropertyKey";
4
+ import * as React from 'react';
5
+ import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
+ import { GridEvents } from '../../../models/events';
7
+ export var GRID_DEFAULT_STRATEGY = 'none';
8
+ export var GRID_STRATEGIES_PROCESSORS = {
9
+ rowTreeCreation: 'rowTree',
10
+ filtering: 'rowTree',
11
+ sorting: 'rowTree'
12
+ };
13
+
14
+ /**
15
+ * Implements a variant of the Strategy Pattern (see https://en.wikipedia.org/wiki/Strategy_pattern)
16
+ *
17
+ * Some plugins contain custom logic that must only be run if the right strategy is active.
18
+ * For instance, the tree data plugin has:
19
+ * - custom row tree creation algorithm.
20
+ * - custom sorting algorithm.
21
+ * - custom filtering algorithm.
22
+ *
23
+ * These plugins must use:
24
+ * - `apiRef.current.unstable_registerStrategyProcessor` to register their processors.
25
+ * - `apiRef.current.unstable_setStrategyAvailability` to tell if their strategy can be used.
26
+ *
27
+ * Some hooks need to run the custom logic of the active strategy.
28
+ * For instance, the `useGridFiltering` wants to run:
29
+ * - the tree data filtering if the tree data is the current way of grouping rows.
30
+ * - the row grouping filtering if the row grouping is the current way of grouping rows.
31
+ * - the flat filtering if there is no grouping of the rows (equivalent to the "none" strategy).
32
+ *
33
+ * These hooks must use:
34
+ * - `apiRef.current.unstable_applyStrategyProcessor` to run a processor.
35
+ * - `GridEvents.strategyAvailabilityChange` to update something when the active strategy changes.
36
+ * Warning: Be careful not to apply the processor several times.
37
+ * For instance `GridEvents.rowsSet` is fired by `useGridRows` whenever the active strategy changes.
38
+ * So listening to both would most likely run your logic twice.
39
+ * - `GridEvents.activeStrategyProcessorChange` to update something when the processor of the active strategy changes
40
+ *
41
+ * Each processor name is part of a strategy group which can only have one active strategy at the time.
42
+ */
43
+ export var useGridStrategyProcessing = function useGridStrategyProcessing(apiRef) {
44
+ var availableStrategies = React.useRef(new Map());
45
+ var strategiesCache = React.useRef({});
46
+ var registerStrategyProcessor = React.useCallback(function (strategyName, processorName, processor) {
47
+ var cleanup = function cleanup() {
48
+ var _ref = strategiesCache.current[processorName],
49
+ removedPreProcessor = _ref[strategyName],
50
+ otherProcessors = _objectWithoutProperties(_ref, [strategyName].map(_toPropertyKey));
51
+
52
+ strategiesCache.current[processorName] = otherProcessors;
53
+ };
54
+
55
+ if (!strategiesCache.current[processorName]) {
56
+ strategiesCache.current[processorName] = {};
57
+ }
58
+
59
+ var groupPreProcessors = strategiesCache.current[processorName];
60
+ var previousProcessor = groupPreProcessors[strategyName];
61
+ groupPreProcessors[strategyName] = processor;
62
+
63
+ if (!previousProcessor || previousProcessor === processor) {
64
+ return cleanup;
65
+ }
66
+
67
+ if (strategyName === apiRef.current.unstable_getActiveStrategy(GRID_STRATEGIES_PROCESSORS[processorName])) {
68
+ apiRef.current.publishEvent(GridEvents.activeStrategyProcessorChange, processorName);
69
+ }
70
+
71
+ return cleanup;
72
+ }, [apiRef]);
73
+ var applyStrategyProcessor = React.useCallback(function (processorName, params) {
74
+ var activeStrategy = apiRef.current.unstable_getActiveStrategy(GRID_STRATEGIES_PROCESSORS[processorName]);
75
+
76
+ if (activeStrategy == null) {
77
+ throw new Error("Can't apply a strategy processor before defining an active strategy");
78
+ }
79
+
80
+ var groupCache = strategiesCache.current[processorName];
81
+
82
+ if (!groupCache || !groupCache[activeStrategy]) {
83
+ throw new Error("No processor found for processor \"".concat(processorName, "\" on strategy \"").concat(activeStrategy, "\""));
84
+ }
85
+
86
+ var processor = groupCache[activeStrategy];
87
+ return processor(params);
88
+ }, [apiRef]);
89
+ var getActiveStrategy = React.useCallback(function (strategyGroup) {
90
+ var _availableStrategyEnt;
91
+
92
+ var strategyEntries = Array.from(availableStrategies.current.entries());
93
+ var availableStrategyEntry = strategyEntries.find(function (_ref2) {
94
+ var _ref3 = _slicedToArray(_ref2, 2),
95
+ strategy = _ref3[1];
96
+
97
+ if (strategy.group !== strategyGroup) {
98
+ return false;
99
+ }
100
+
101
+ return strategy.isAvailable();
102
+ });
103
+ return (_availableStrategyEnt = availableStrategyEntry == null ? void 0 : availableStrategyEntry[0]) != null ? _availableStrategyEnt : GRID_DEFAULT_STRATEGY;
104
+ }, []);
105
+ var setStrategyAvailability = React.useCallback(function (strategyGroup, strategyName, isAvailable) {
106
+ availableStrategies.current.set(strategyName, {
107
+ group: strategyGroup,
108
+ isAvailable: isAvailable
109
+ });
110
+ apiRef.current.publishEvent(GridEvents.strategyAvailabilityChange);
111
+ }, [apiRef]);
112
+ var strategyProcessingApi = {
113
+ unstable_registerStrategyProcessor: registerStrategyProcessor,
114
+ unstable_applyStrategyProcessor: applyStrategyProcessor,
115
+ unstable_getActiveStrategy: getActiveStrategy,
116
+ unstable_setStrategyAvailability: setStrategyAvailability
117
+ };
118
+ useGridApiMethod(apiRef, strategyProcessingApi, 'GridStrategyProcessing');
119
+ };
@@ -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 var useGridInitialization = function useGridInitialization(inputApiRef, p
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
  };
@@ -4,6 +4,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import { DEFAULT_GRID_COL_TYPE_KEY, getGridDefaultColumnTypes } from '../../../models';
5
5
  import { gridColumnsSelector, gridColumnVisibilityModelSelector } from './gridColumnsSelector';
6
6
  import { clamp } from '../../../utils/utils';
7
+ export var COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
7
8
  export var computeColumnTypes = function computeColumnTypes() {
8
9
  var customColumnTypes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9
10
 
@@ -173,6 +174,57 @@ export var hydrateColumnsWidth = function hydrateColumnsWidth(rawState, viewport
173
174
  });
174
175
  };
175
176
  var columnTypeWarnedOnce = false;
177
+ /**
178
+ * Apply the order and the dimensions of the initial state.
179
+ * The columns not registered in `orderedFields` will be placed after the imported columns.
180
+ */
181
+
182
+ export var applyInitialState = function applyInitialState(columnsState, initialState) {
183
+ if (!initialState) {
184
+ return columnsState;
185
+ }
186
+
187
+ var _initialState$ordered = initialState.orderedFields,
188
+ orderedFields = _initialState$ordered === void 0 ? [] : _initialState$ordered,
189
+ _initialState$dimensi = initialState.dimensions,
190
+ dimensions = _initialState$dimensi === void 0 ? {} : _initialState$dimensi;
191
+ var columnsWithUpdatedDimensions = Object.keys(dimensions);
192
+
193
+ if (columnsWithUpdatedDimensions.length === 0 && orderedFields.length === 0) {
194
+ return columnsState;
195
+ }
196
+
197
+ var orderedFieldsLookup = {};
198
+ var cleanOrderedFields = [];
199
+
200
+ for (var i = 0; i < orderedFields.length; i += 1) {
201
+ var _field = orderedFields[i]; // Ignores the fields in the initialState that matches no field on the current column state
202
+
203
+ if (columnsState.lookup[_field]) {
204
+ orderedFieldsLookup[_field] = true;
205
+ cleanOrderedFields.push(_field);
206
+ }
207
+ }
208
+
209
+ var newOrderedFields = cleanOrderedFields.length === 0 ? columnsState.all : [].concat(cleanOrderedFields, _toConsumableArray(columnsState.all.filter(function (field) {
210
+ return !orderedFieldsLookup[field];
211
+ })));
212
+
213
+ var newColumnLookup = _extends({}, columnsState.lookup);
214
+
215
+ for (var _i = 0; _i < columnsWithUpdatedDimensions.length; _i += 1) {
216
+ var _field2 = columnsWithUpdatedDimensions[_i];
217
+ newColumnLookup[_field2] = _extends({}, newColumnLookup[_field2], dimensions[_field2], {
218
+ hasBeenResized: true
219
+ });
220
+ }
221
+
222
+ var newColumnsState = {
223
+ all: newOrderedFields,
224
+ lookup: newColumnLookup
225
+ };
226
+ return newColumnsState;
227
+ };
176
228
  /**
177
229
  * @deprecated Should have been internal only, you can inline the logic.
178
230
  */
@@ -200,14 +252,17 @@ export var createColumnsState = function createColumnsState(_ref5) {
200
252
 
201
253
  var apiRef = _ref5.apiRef,
202
254
  columnsToUpsert = _ref5.columnsToUpsert,
255
+ initialState = _ref5.initialState,
203
256
  columnsTypes = _ref5.columnsTypes,
204
257
  _ref5$currentColumnVi = _ref5.currentColumnVisibilityModel,
205
258
  currentColumnVisibilityModel = _ref5$currentColumnVi === void 0 ? gridColumnVisibilityModelSelector(apiRef) : _ref5$currentColumnVi,
206
259
  shouldRegenColumnVisibilityModelFromColumns = _ref5.shouldRegenColumnVisibilityModelFromColumns,
207
- reset = _ref5.reset;
260
+ _ref5$keepOnlyColumns = _ref5.keepOnlyColumnsToUpsert,
261
+ keepOnlyColumnsToUpsert = _ref5$keepOnlyColumns === void 0 ? false : _ref5$keepOnlyColumns;
262
+ var isInsideStateInitializer = !apiRef.current.state.columns;
208
263
  var columnsStateWithoutColumnVisibilityModel;
209
264
 
210
- if (reset) {
265
+ if (isInsideStateInitializer || keepOnlyColumnsToUpsert) {
211
266
  columnsStateWithoutColumnVisibilityModel = {
212
267
  all: [],
213
268
  lookup: {}
@@ -229,7 +284,15 @@ export var createColumnsState = function createColumnsState(_ref5) {
229
284
  columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = _extends({}, getGridColDef(columnsTypes, newColumn.type), newColumn);
230
285
  columnsStateWithoutColumnVisibilityModel.all.push(newColumn.field);
231
286
  } else {
232
- columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = _extends({}, columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field], newColumn);
287
+ var mergedColumn = _extends({}, columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field], newColumn);
288
+
289
+ if (!mergedColumn.hasBeenResized && COLUMNS_DIMENSION_PROPERTIES.some(function (propertyName) {
290
+ return newColumn[propertyName] !== undefined;
291
+ })) {
292
+ mergedColumn.hasBeenResized = true;
293
+ }
294
+
295
+ columnsStateWithoutColumnVisibilityModel.lookup[newColumn.field] = mergedColumn;
233
296
  }
234
297
  });
235
298
 
@@ -240,49 +303,76 @@ export var createColumnsState = function createColumnsState(_ref5) {
240
303
  var columnVisibilityModel = {};
241
304
 
242
305
  if (shouldRegenColumnVisibilityModelFromColumns) {
243
- if (reset) {
306
+ var hasModelChanged = false;
307
+
308
+ var newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
309
+
310
+ if (isInsideStateInitializer) {
244
311
  columnsStateWithPreProcessing.all.forEach(function (field) {
245
- columnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
312
+ newColumnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
246
313
  });
247
- } else {
248
- var newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
314
+ } else if (keepOnlyColumnsToUpsert) {
315
+ // At this point, `keepOnlyColumnsToUpsert` has a new meaning: keep the columns
316
+ // passed via `columnToUpsert` + columns added by the pre-processors. We do the following
317
+ // cleanup because a given column may have been removed from the `columns` prop but it still
318
+ // exists in the state.
319
+ Object.keys(newColumnVisibilityModel).forEach(function (field) {
320
+ if (!columnsStateWithPreProcessing.lookup[field]) {
321
+ delete newColumnVisibilityModel[field];
322
+ hasModelChanged = true;
323
+ }
324
+ });
325
+ }
249
326
 
250
- var hasModelChanged = false;
251
- columnsStateWithPreProcessing.all.forEach(function (field) {
252
- var _currentColumnVisibil;
327
+ columnsStateWithPreProcessing.all.forEach(function (field) {
328
+ // If neither the `columnsToUpsert` nor the pre-processors updated the column,
329
+ // Then we don't want to update the visibility status of the column in the model.
330
+ if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
331
+ return;
332
+ } // We always assume that a column not in the model is visible by default. However, there's an
333
+ // edge case where the column is not in the model but it also doesn't exist in the `columns`
334
+ // prop, meaning that the column is being added. In that case, we assume that the column was
335
+ // not visible before for it be added to the model.
253
336
 
254
- // If neither the `columnsToUpsert` nor the pre-processors updated the column,
255
- // Then we don't want to update the visibility status of the column in the model.
256
- if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
257
- return;
258
- }
259
337
 
260
- var isVisibleBefore = (_currentColumnVisibil = currentColumnVisibilityModel[field]) != null ? _currentColumnVisibil : true;
261
- var isVisibleAfter = !columnsStateWithPreProcessing.lookup[field].hide;
338
+ var isVisibleBefore = currentColumnVisibilityModel[field];
262
339
 
263
- if (isVisibleAfter !== isVisibleBefore) {
264
- hasModelChanged = true;
265
- newColumnVisibilityModel[field] = isVisibleAfter;
340
+ if (isVisibleBefore === undefined) {
341
+ if (isInsideStateInitializer) {
342
+ isVisibleBefore = true;
343
+ } else {
344
+ var _currentState = gridColumnsSelector(apiRef.current.state);
345
+
346
+ isVisibleBefore = !!_currentState.lookup[field];
266
347
  }
267
- });
348
+ }
268
349
 
269
- if (hasModelChanged) {
270
- columnVisibilityModel = newColumnVisibilityModel;
271
- } else {
272
- columnVisibilityModel = currentColumnVisibilityModel;
350
+ var isVisibleAfter = !columnsStateWithPreProcessing.lookup[field].hide;
351
+
352
+ if (isVisibleAfter !== isVisibleBefore) {
353
+ hasModelChanged = true;
354
+ newColumnVisibilityModel[field] = isVisibleAfter;
273
355
  }
356
+ });
357
+
358
+ if (hasModelChanged || isInsideStateInitializer) {
359
+ columnVisibilityModel = newColumnVisibilityModel;
360
+ } else {
361
+ columnVisibilityModel = currentColumnVisibilityModel;
274
362
  }
275
363
  } else {
276
364
  columnVisibilityModel = currentColumnVisibilityModel;
277
365
  }
278
366
 
279
- var columnsState = _extends({}, columnsStateWithPreProcessing, {
367
+ var columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
368
+
369
+ var columnsState = _extends({}, columnsStateWithPortableColumns, {
280
370
  columnVisibilityModel: columnVisibilityModel
281
371
  });
282
372
 
283
373
  return hydrateColumnsWidth(columnsState, (_apiRef$current$getRo = (_apiRef$current$getRo2 = (_apiRef$current = apiRef.current).getRootDimensions) == null ? void 0 : (_apiRef$current$getRo3 = _apiRef$current$getRo2.call(_apiRef$current)) == null ? void 0 : _apiRef$current$getRo3.viewportInnerSize.width) != null ? _apiRef$current$getRo : 0);
284
374
  };
285
- export var setColumnsState = function setColumnsState(columnsState) {
375
+ export var mergeColumnsState = function mergeColumnsState(columnsState) {
286
376
  return function (state) {
287
377
  return _extends({}, state, {
288
378
  columns: columnsState
@@ -8,19 +8,22 @@ import { useGridLogger } from '../../utils/useGridLogger';
8
8
  import { gridColumnFieldsSelector, gridColumnDefinitionsSelector, gridColumnLookupSelector, gridColumnsMetaSelector, gridColumnsSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector } from './gridColumnsSelector';
9
9
  import { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';
10
10
  import { useGridRegisterPreProcessor } from '../../core/preProcessing';
11
- import { hydrateColumnsWidth, computeColumnTypes, createColumnsState, setColumnsState } from './gridColumnsUtils';
11
+ import { hydrateColumnsWidth, computeColumnTypes, createColumnsState, mergeColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';
12
+ import { GridPreferencePanelsValue } from '../preferencesPanel';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
12
14
  export var columnsStateInitializer = function columnsStateInitializer(state, props, apiRef) {
13
- var _props$initialState, _props$initialState$c, _ref, _props$columnVisibili, _props$initialState2, _props$initialState2$;
15
+ var _props$initialState, _props$initialState$c, _props$initialState2, _ref, _props$columnVisibili, _props$initialState3, _props$initialState3$;
14
16
 
15
- var shouldUseVisibleColumnModel = !!props.columnVisibilityModel || !!((_props$initialState = props.initialState) != null && (_props$initialState$c = _props$initialState.columns) != null && _props$initialState$c.columnVisibilityModel);
17
+ var isUsingColumnVisibilityModel = !!props.columnVisibilityModel || !!((_props$initialState = props.initialState) != null && (_props$initialState$c = _props$initialState.columns) != null && _props$initialState$c.columnVisibilityModel);
16
18
  var columnsTypes = computeColumnTypes(props.columnTypes);
17
19
  var columnsState = createColumnsState({
18
20
  apiRef: apiRef,
19
21
  columnsTypes: columnsTypes,
20
22
  columnsToUpsert: props.columns,
21
- shouldRegenColumnVisibilityModelFromColumns: !shouldUseVisibleColumnModel,
22
- currentColumnVisibilityModel: (_ref = (_props$columnVisibili = props.columnVisibilityModel) != null ? _props$columnVisibili : (_props$initialState2 = props.initialState) == null ? void 0 : (_props$initialState2$ = _props$initialState2.columns) == null ? void 0 : _props$initialState2$.columnVisibilityModel) != null ? _ref : {},
23
- reset: true
23
+ initialState: (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.columns,
24
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
25
+ currentColumnVisibilityModel: (_ref = (_props$columnVisibili = props.columnVisibilityModel) != null ? _props$columnVisibili : (_props$initialState3 = props.initialState) == null ? void 0 : (_props$initialState3$ = _props$initialState3.columns) == null ? void 0 : _props$initialState3$.columnVisibilityModel) != null ? _ref : {},
26
+ keepOnlyColumnsToUpsert: true
24
27
  });
25
28
  return _extends({}, state, {
26
29
  columns: columnsState
@@ -33,7 +36,7 @@ export var columnsStateInitializer = function columnsStateInitializer(state, pro
33
36
  */
34
37
 
35
38
  export function useGridColumns(apiRef, props) {
36
- var _props$initialState3, _props$initialState3$;
39
+ var _props$initialState4, _props$initialState4$, _props$componentsProp2;
37
40
 
38
41
  var logger = useGridLogger(apiRef, 'useGridColumns');
39
42
  var columnsTypes = React.useMemo(function () {
@@ -44,7 +47,7 @@ export function useGridColumns(apiRef, props) {
44
47
  * 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`
45
48
  */
46
49
 
47
- var shouldUseVisibleColumnModel = React.useRef(!!props.columnVisibilityModel || !!((_props$initialState3 = props.initialState) != null && (_props$initialState3$ = _props$initialState3.columns) != null && _props$initialState3$.columnVisibilityModel)).current;
50
+ var isUsingColumnVisibilityModel = React.useRef(!!props.columnVisibilityModel || !!((_props$initialState4 = props.initialState) != null && (_props$initialState4$ = _props$initialState4.columns) != null && _props$initialState4$.columnVisibilityModel)).current;
48
51
  apiRef.current.unstable_updateControlState({
49
52
  stateId: 'visibleColumns',
50
53
  propModel: props.columnVisibilityModel,
@@ -54,7 +57,7 @@ export function useGridColumns(apiRef, props) {
54
57
  });
55
58
  var setGridColumnsState = React.useCallback(function (columnsState) {
56
59
  logger.debug('Updating columns state.');
57
- apiRef.current.setState(setColumnsState(columnsState));
60
+ apiRef.current.setState(mergeColumnsState(columnsState));
58
61
  apiRef.current.forceUpdate();
59
62
  apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
60
63
  }, [logger, apiRef]);
@@ -95,9 +98,10 @@ export function useGridColumns(apiRef, props) {
95
98
  apiRef: apiRef,
96
99
  columnsTypes: columnsTypes,
97
100
  columnsToUpsert: [],
101
+ initialState: undefined,
98
102
  shouldRegenColumnVisibilityModelFromColumns: false,
99
103
  currentColumnVisibilityModel: model,
100
- reset: false
104
+ keepOnlyColumnsToUpsert: false
101
105
  })
102
106
  });
103
107
  });
@@ -109,8 +113,9 @@ export function useGridColumns(apiRef, props) {
109
113
  apiRef: apiRef,
110
114
  columnsTypes: columnsTypes,
111
115
  columnsToUpsert: columns,
116
+ initialState: undefined,
112
117
  shouldRegenColumnVisibilityModelFromColumns: true,
113
- reset: false
118
+ keepOnlyColumnsToUpsert: false
114
119
  });
115
120
  setGridColumnsState(columnsState);
116
121
  }, [apiRef, setGridColumnsState, columnsTypes]);
@@ -121,7 +126,7 @@ export function useGridColumns(apiRef, props) {
121
126
  // We keep updating the `hide` option of `GridColDef` when not controlling the model to avoid any breaking change.
122
127
  // `updateColumns` take care of updating the model itself if needs be.
123
128
  // TODO v6: stop using the `hide` field even when the model is not defined
124
- if (shouldUseVisibleColumnModel) {
129
+ if (isUsingColumnVisibilityModel) {
125
130
  var _columnVisibilityMode;
126
131
 
127
132
  var columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
@@ -147,7 +152,7 @@ export function useGridColumns(apiRef, props) {
147
152
  };
148
153
  apiRef.current.publishEvent(GridEvents.columnVisibilityChange, params);
149
154
  }
150
- }, [apiRef, shouldUseVisibleColumnModel]);
155
+ }, [apiRef, isUsingColumnVisibilityModel]);
151
156
  var setColumnIndex = React.useCallback(function (field, targetIndexPosition) {
152
157
  var allColumns = gridColumnFieldsSelector(apiRef);
153
158
  var oldIndexPosition = allColumns.findIndex(function (col) {
@@ -210,50 +215,80 @@ export function useGridColumns(apiRef, props) {
210
215
  */
211
216
 
212
217
  var stateExportPreProcessing = React.useCallback(function (prevState) {
213
- if (!shouldUseVisibleColumnModel) {
214
- return prevState;
218
+ var columnsStateToExport = {};
219
+
220
+ if (isUsingColumnVisibilityModel) {
221
+ var columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
222
+ var hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(function (value) {
223
+ return value === false;
224
+ });
225
+
226
+ if (hasHiddenColumns) {
227
+ columnsStateToExport.columnVisibilityModel = columnVisibilityModelToExport;
228
+ }
215
229
  }
216
230
 
217
- var columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
218
- var hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(function (value) {
219
- return value === false;
231
+ columnsStateToExport.orderedFields = gridColumnFieldsSelector(apiRef);
232
+ var columns = gridColumnDefinitionsSelector(apiRef);
233
+ var dimensions = {};
234
+ columns.forEach(function (colDef) {
235
+ if (colDef.hasBeenResized) {
236
+ var colDefDimensions = {};
237
+ COLUMNS_DIMENSION_PROPERTIES.forEach(function (propertyName) {
238
+ colDefDimensions[propertyName] = colDef[propertyName];
239
+ });
240
+ dimensions[colDef.field] = colDefDimensions;
241
+ }
220
242
  });
221
243
 
222
- if (!hasHiddenColumns) {
223
- return prevState;
244
+ if (Object.keys(dimensions).length > 0) {
245
+ columnsStateToExport.dimensions = dimensions;
224
246
  }
225
247
 
226
248
  return _extends({}, prevState, {
227
- columns: {
228
- columnVisibilityModel: columnVisibilityModelToExport
229
- }
249
+ columns: columnsStateToExport
230
250
  });
231
- }, [apiRef, shouldUseVisibleColumnModel]);
251
+ }, [apiRef, isUsingColumnVisibilityModel]);
232
252
  var stateRestorePreProcessing = React.useCallback(function (params, context) {
233
253
  var _context$stateToResto;
234
254
 
235
- if (!shouldUseVisibleColumnModel) {
255
+ var columnVisibilityModelToImport = isUsingColumnVisibilityModel ? (_context$stateToResto = context.stateToRestore.columns) == null ? void 0 : _context$stateToResto.columnVisibilityModel : undefined;
256
+ var initialState = context.stateToRestore.columns;
257
+
258
+ if (columnVisibilityModelToImport == null && initialState == null) {
236
259
  return params;
237
260
  }
238
261
 
239
- var columnVisibilityModel = (_context$stateToResto = context.stateToRestore.columns) == null ? void 0 : _context$stateToResto.columnVisibilityModel;
262
+ var columnsState = createColumnsState({
263
+ apiRef: apiRef,
264
+ columnsTypes: columnsTypes,
265
+ columnsToUpsert: [],
266
+ initialState: initialState,
267
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
268
+ currentColumnVisibilityModel: columnVisibilityModelToImport,
269
+ keepOnlyColumnsToUpsert: false
270
+ });
271
+ apiRef.current.setState(mergeColumnsState(columnsState));
240
272
 
241
- if (columnVisibilityModel != null) {
242
- var columnsState = createColumnsState({
243
- apiRef: apiRef,
244
- columnsTypes: columnsTypes,
245
- columnsToUpsert: [],
246
- shouldRegenColumnVisibilityModelFromColumns: false,
247
- currentColumnVisibilityModel: columnVisibilityModel,
248
- reset: false
249
- });
250
- apiRef.current.setState(setColumnsState(columnsState));
273
+ if (initialState != null) {
274
+ apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
251
275
  }
252
276
 
253
277
  return params;
254
- }, [apiRef, shouldUseVisibleColumnModel, columnsTypes]);
278
+ }, [apiRef, isUsingColumnVisibilityModel, columnsTypes]);
279
+ var preferencePanelPreProcessing = React.useCallback(function (initialValue, value) {
280
+ if (value === GridPreferencePanelsValue.columns) {
281
+ var _props$componentsProp;
282
+
283
+ var ColumnsPanel = props.components.ColumnsPanel;
284
+ return /*#__PURE__*/_jsx(ColumnsPanel, _extends({}, (_props$componentsProp = props.componentsProps) == null ? void 0 : _props$componentsProp.columnsPanel));
285
+ }
286
+
287
+ return initialValue;
288
+ }, [props.components.ColumnsPanel, (_props$componentsProp2 = props.componentsProps) == null ? void 0 : _props$componentsProp2.columnsPanel]);
255
289
  useGridRegisterPreProcessor(apiRef, 'exportState', stateExportPreProcessing);
256
290
  useGridRegisterPreProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
291
+ useGridRegisterPreProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);
257
292
  /**
258
293
  * EVENTS
259
294
  */
@@ -268,11 +303,12 @@ export function useGridColumns(apiRef, props) {
268
303
  apiRef: apiRef,
269
304
  columnsTypes: columnsTypes,
270
305
  columnsToUpsert: [],
271
- shouldRegenColumnVisibilityModelFromColumns: !shouldUseVisibleColumnModel,
272
- reset: false
306
+ initialState: undefined,
307
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
308
+ keepOnlyColumnsToUpsert: false
273
309
  });
274
310
  setGridColumnsState(columnsState);
275
- }, [apiRef, logger, setGridColumnsState, columnsTypes, shouldUseVisibleColumnModel]);
311
+ }, [apiRef, logger, setGridColumnsState, columnsTypes, isUsingColumnVisibilityModel]);
276
312
  var prevInnerWidth = React.useRef(null);
277
313
 
278
314
  var handleGridSizeChange = function handleGridSizeChange(viewportInnerSize) {
@@ -302,13 +338,14 @@ export function useGridColumns(apiRef, props) {
302
338
  var columnsState = createColumnsState({
303
339
  apiRef: apiRef,
304
340
  columnsTypes: columnsTypes,
341
+ initialState: undefined,
305
342
  // 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`
306
- shouldRegenColumnVisibilityModelFromColumns: !shouldUseVisibleColumnModel,
343
+ shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
307
344
  columnsToUpsert: props.columns,
308
- reset: true
345
+ keepOnlyColumnsToUpsert: true
309
346
  });
310
347
  setGridColumnsState(columnsState);
311
- }, [logger, apiRef, setGridColumnsState, props.columns, columnsTypes, shouldUseVisibleColumnModel]);
348
+ }, [logger, apiRef, setGridColumnsState, props.columns, columnsTypes, isUsingColumnVisibilityModel]);
312
349
  React.useEffect(function () {
313
350
  if (props.columnVisibilityModel !== undefined) {
314
351
  apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);