@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,484 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
+ import _toPropertyKey from "@babel/runtime/helpers/esm/toPropertyKey";
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import * as React from 'react';
5
+ import { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';
6
+ import { GridEvents } from '../../../models/events/gridEvents';
7
+ import { GridEditModes, GridRowModes } from '../../../models/gridEditRowModel';
8
+ import { useGridApiMethod } from '../../utils/useGridApiMethod';
9
+ import { gridEditRowsStateSelector } from './gridEditRowsSelector';
10
+ import { isPrintableKey } from '../../../utils/keyboardUtils';
11
+ import { gridColumnFieldsSelector } from '../columns/gridColumnsSelector';
12
+ import { GridRowEditStopReasons, GridRowEditStartReasons } from '../../../models/params/gridRowParams';
13
+ export const useGridRowEditing = (apiRef, props) => {
14
+ const focusTimeout = React.useRef(null);
15
+ const nextFocusedCell = React.useRef(null);
16
+ const {
17
+ processRowUpdate
18
+ } = props;
19
+
20
+ const runIfEditModeIsRow = callback => (...args) => {
21
+ if (props.editMode === GridEditModes.Row) {
22
+ callback(...args);
23
+ }
24
+ };
25
+
26
+ const throwIfNotEditable = React.useCallback((id, field) => {
27
+ const params = apiRef.current.getCellParams(id, field);
28
+
29
+ if (!apiRef.current.isCellEditable(params)) {
30
+ throw new Error(`MUI: The cell with id=${id} and field=${field} is not editable.`);
31
+ }
32
+ }, [apiRef]);
33
+ const throwIfNotInMode = React.useCallback((id, mode) => {
34
+ if (apiRef.current.getRowMode(id) !== mode) {
35
+ throw new Error(`MUI: The row with id=${id} is not in ${mode} mode.`);
36
+ }
37
+ }, [apiRef]);
38
+ const handleCellDoubleClick = React.useCallback((params, event) => {
39
+ if (!params.isEditable) {
40
+ return;
41
+ }
42
+
43
+ if (apiRef.current.getRowMode(params.id) === GridRowModes.Edit) {
44
+ return;
45
+ }
46
+
47
+ const rowParams = apiRef.current.getRowParams(params.id);
48
+
49
+ const newParams = _extends({}, rowParams, {
50
+ field: params.field,
51
+ reason: GridRowEditStartReasons.cellDoubleClick
52
+ });
53
+
54
+ apiRef.current.publishEvent(GridEvents.rowEditStart, newParams, event);
55
+ }, [apiRef]);
56
+ const handleCellFocusIn = React.useCallback(params => {
57
+ nextFocusedCell.current = params;
58
+ }, []);
59
+ const handleCellFocusOut = React.useCallback((params, event) => {
60
+ if (!params.isEditable) {
61
+ return;
62
+ }
63
+
64
+ if (apiRef.current.getRowMode(params.id) === GridRowModes.View) {
65
+ return;
66
+ } // The mechanism to detect if we can stop editing a row is different from
67
+ // the cell editing. Instead of triggering it when clicking outside a cell,
68
+ // we must check if another cell in the same row was not clicked. To achieve
69
+ // that, first we keep track of all cells that gained focus. When a cell loses
70
+ // focus we check if the next cell that received focus is from a different row.
71
+
72
+
73
+ nextFocusedCell.current = null;
74
+ focusTimeout.current = setTimeout(() => {
75
+ focusTimeout.current = null;
76
+
77
+ if (nextFocusedCell.current?.id !== params.id) {
78
+ const rowParams = apiRef.current.getRowParams(params.id);
79
+
80
+ const newParams = _extends({}, rowParams, {
81
+ field: params.field,
82
+ reason: GridRowEditStopReasons.rowFocusOut
83
+ });
84
+
85
+ apiRef.current.publishEvent(GridEvents.rowEditStop, newParams, event);
86
+ }
87
+ });
88
+ }, [apiRef]);
89
+ React.useEffect(() => {
90
+ return () => {
91
+ clearTimeout(focusTimeout.current);
92
+ };
93
+ }, []);
94
+ const handleCellKeyDown = React.useCallback((params, event) => {
95
+ if (params.cellMode === GridRowModes.Edit) {
96
+ let reason;
97
+
98
+ if (event.key === 'Escape') {
99
+ reason = GridRowEditStopReasons.escapeKeyDown;
100
+ } else if (event.key === 'Enter') {
101
+ reason = GridRowEditStopReasons.enterKeyDown;
102
+ } else if (event.key === 'Tab') {
103
+ const columnFields = gridColumnFieldsSelector(apiRef).filter(field => apiRef.current.isCellEditable(apiRef.current.getCellParams(params.id, field)));
104
+
105
+ if (event.shiftKey) {
106
+ if (params.field === columnFields[0]) {
107
+ // Exit if user pressed Shift+Tab on the first field
108
+ reason = GridRowEditStopReasons.shiftTabKeyDown;
109
+ }
110
+ } else if (params.field === columnFields[columnFields.length - 1]) {
111
+ // Exit if user pressed Tab on the last field
112
+ reason = GridRowEditStopReasons.tabKeyDown;
113
+ }
114
+
115
+ if (reason) {
116
+ event.preventDefault(); // Prevent going to the next element in the tab sequence
117
+ }
118
+ }
119
+
120
+ if (reason) {
121
+ const rowParams = apiRef.current.getRowParams(params.id);
122
+
123
+ const newParams = _extends({}, rowParams, {
124
+ reason,
125
+ field: params.field
126
+ });
127
+
128
+ apiRef.current.publishEvent(GridEvents.rowEditStop, newParams, event);
129
+ }
130
+ } else if (params.isEditable) {
131
+ let reason;
132
+
133
+ if (isPrintableKey(event.key)) {
134
+ if (event.shiftKey || event.ctrlKey || event.metaKey || event.altKey) {
135
+ return;
136
+ }
137
+
138
+ reason = GridRowEditStartReasons.printableKeyDown;
139
+ } else if (event.key === 'Enter') {
140
+ reason = GridRowEditStartReasons.enterKeyDown;
141
+ } else if (event.key === 'Delete') {
142
+ reason = GridRowEditStartReasons.deleteKeyDown;
143
+ }
144
+
145
+ if (reason) {
146
+ const rowParams = apiRef.current.getRowParams(params.id);
147
+
148
+ const newParams = _extends({}, rowParams, {
149
+ field: params.field,
150
+ reason
151
+ });
152
+
153
+ apiRef.current.publishEvent(GridEvents.rowEditStart, newParams, event);
154
+ }
155
+ }
156
+ }, [apiRef]);
157
+ const handleRowEditStart = React.useCallback((params, event) => {
158
+ const {
159
+ id,
160
+ field,
161
+ reason
162
+ } = params;
163
+ apiRef.current.startRowEditMode({
164
+ id,
165
+ fieldToFocus: field
166
+ });
167
+
168
+ if (reason === GridRowEditStartReasons.deleteKeyDown || reason === GridRowEditStartReasons.printableKeyDown) {
169
+ apiRef.current.setEditCellValue({
170
+ id,
171
+ field: field,
172
+ value: ''
173
+ }, event);
174
+ }
175
+ }, [apiRef]);
176
+ const handleRowEditStop = React.useCallback(params => {
177
+ const {
178
+ id,
179
+ reason,
180
+ field
181
+ } = params;
182
+ apiRef.current.unstable_runPendingEditCellValueMutation(id);
183
+ let cellToFocusAfter;
184
+
185
+ if (reason === GridRowEditStopReasons.enterKeyDown) {
186
+ cellToFocusAfter = 'below';
187
+ } else if (reason === GridRowEditStopReasons.tabKeyDown) {
188
+ cellToFocusAfter = 'right';
189
+ } else if (reason === GridRowEditStopReasons.shiftTabKeyDown) {
190
+ cellToFocusAfter = 'left';
191
+ }
192
+
193
+ let ignoreModifications = reason === 'escapeKeyDown';
194
+ const editingState = gridEditRowsStateSelector(apiRef.current.state);
195
+
196
+ if (!ignoreModifications) {
197
+ // The user wants to stop editing the cell but we can't wait for the props to be processed.
198
+ // In this case, discard the modifications if any field is processing its props.
199
+ ignoreModifications = Object.values(editingState[id]).some(fieldProps => {
200
+ return fieldProps.isProcessingProps;
201
+ });
202
+ }
203
+
204
+ apiRef.current.stopRowEditMode({
205
+ id,
206
+ ignoreModifications,
207
+ field,
208
+ cellToFocusAfter
209
+ });
210
+ }, [apiRef]);
211
+ useGridApiEventHandler(apiRef, GridEvents.cellDoubleClick, runIfEditModeIsRow(handleCellDoubleClick));
212
+ useGridApiEventHandler(apiRef, GridEvents.cellFocusIn, runIfEditModeIsRow(handleCellFocusIn));
213
+ useGridApiEventHandler(apiRef, GridEvents.cellFocusOut, runIfEditModeIsRow(handleCellFocusOut));
214
+ useGridApiEventHandler(apiRef, GridEvents.cellKeyDown, runIfEditModeIsRow(handleCellKeyDown));
215
+ useGridApiEventHandler(apiRef, GridEvents.rowEditStart, runIfEditModeIsRow(handleRowEditStart));
216
+ useGridApiEventHandler(apiRef, GridEvents.rowEditStop, runIfEditModeIsRow(handleRowEditStop));
217
+ useGridApiOptionHandler(apiRef, GridEvents.rowEditStart, props.onRowEditStart);
218
+ useGridApiOptionHandler(apiRef, GridEvents.rowEditStop, props.onRowEditStop);
219
+ const getRowMode = React.useCallback(id => {
220
+ if (props.editMode === GridEditModes.Cell) {
221
+ return GridRowModes.View;
222
+ }
223
+
224
+ const editingState = gridEditRowsStateSelector(apiRef.current.state);
225
+ const isEditing = editingState[id] && Object.keys(editingState[id]).length > 0;
226
+ return isEditing ? GridRowModes.Edit : GridRowModes.View;
227
+ }, [apiRef, props.editMode]);
228
+ const updateOrDeleteRowState = React.useCallback((id, newProps) => {
229
+ apiRef.current.setState(state => {
230
+ const newEditingState = _extends({}, state.editRows);
231
+
232
+ if (newProps !== null) {
233
+ newEditingState[id] = newProps;
234
+ } else {
235
+ delete newEditingState[id];
236
+ }
237
+
238
+ return _extends({}, state, {
239
+ editRows: newEditingState
240
+ });
241
+ });
242
+ apiRef.current.forceUpdate();
243
+ }, [apiRef]);
244
+ const updateOrDeleteFieldState = React.useCallback((id, field, newProps) => {
245
+ apiRef.current.setState(state => {
246
+ const newEditingState = _extends({}, state.editRows);
247
+
248
+ if (newProps !== null) {
249
+ newEditingState[id] = _extends({}, newEditingState[id], {
250
+ [field]: _extends({}, newProps)
251
+ });
252
+ } else {
253
+ delete newEditingState[id][field];
254
+
255
+ if (Object.keys(newEditingState[id]).length === 0) {
256
+ delete newEditingState[id];
257
+ }
258
+ }
259
+
260
+ return _extends({}, state, {
261
+ editRows: newEditingState
262
+ });
263
+ });
264
+ apiRef.current.forceUpdate();
265
+ }, [apiRef]);
266
+ const startRowEditMode = React.useCallback(params => {
267
+ const {
268
+ id,
269
+ fieldToFocus
270
+ } = params;
271
+ throwIfNotInMode(id, GridRowModes.View);
272
+
273
+ if (apiRef.current.getRowMode(id) === GridRowModes.Edit) {
274
+ throw new Error(`MUI: The cell with id=${id} is already in edit mode.`);
275
+ }
276
+
277
+ const columnFields = gridColumnFieldsSelector(apiRef);
278
+ const newProps = columnFields.reduce((acc, field) => {
279
+ const cellParams = apiRef.current.getCellParams(id, field);
280
+
281
+ if (!cellParams.isEditable) {
282
+ return acc;
283
+ }
284
+
285
+ acc[field] = {
286
+ value: apiRef.current.getCellValue(id, field),
287
+ error: false,
288
+ isProcessingProps: false
289
+ };
290
+ return acc;
291
+ }, {});
292
+ updateOrDeleteRowState(id, newProps);
293
+
294
+ if (fieldToFocus) {
295
+ apiRef.current.setCellFocus(id, fieldToFocus);
296
+ }
297
+ }, [apiRef, throwIfNotInMode, updateOrDeleteRowState]);
298
+ const stopRowEditMode = React.useCallback(params => {
299
+ const {
300
+ id,
301
+ ignoreModifications,
302
+ field: focusedField,
303
+ cellToFocusAfter = 'none'
304
+ } = params;
305
+ throwIfNotInMode(id, GridRowModes.Edit);
306
+ apiRef.current.unstable_runPendingEditCellValueMutation(id);
307
+
308
+ const updateFocusedCellIfNeeded = () => {
309
+ if (cellToFocusAfter !== 'none' && focusedField) {
310
+ apiRef.current.unstable_moveFocusToRelativeCell(id, focusedField, cellToFocusAfter);
311
+ }
312
+ };
313
+
314
+ if (ignoreModifications) {
315
+ updateFocusedCellIfNeeded();
316
+ updateOrDeleteRowState(id, null);
317
+ return;
318
+ }
319
+
320
+ const editingState = gridEditRowsStateSelector(apiRef.current.state);
321
+ const row = apiRef.current.getRow(id);
322
+ const isSomeFieldProcessingProps = Object.values(editingState[id]).some(fieldProps => fieldProps.isProcessingProps);
323
+
324
+ if (isSomeFieldProcessingProps) {
325
+ return;
326
+ }
327
+
328
+ const hasSomeFieldWithError = Object.values(editingState[id]).some(fieldProps => fieldProps.error);
329
+
330
+ if (hasSomeFieldWithError) {
331
+ return;
332
+ }
333
+
334
+ let rowUpdate = _extends({}, row);
335
+
336
+ Object.entries(editingState[id]).forEach(([field, fieldProps]) => {
337
+ const column = apiRef.current.getColumn(field);
338
+
339
+ if (column.valueSetter) {
340
+ rowUpdate = column.valueSetter({
341
+ value: fieldProps.value,
342
+ row: rowUpdate
343
+ });
344
+ } else {
345
+ rowUpdate[field] = fieldProps.value;
346
+ }
347
+ });
348
+
349
+ if (processRowUpdate) {
350
+ Promise.resolve(processRowUpdate(rowUpdate, row)).then(finalRowUpdate => {
351
+ apiRef.current.updateRows([finalRowUpdate]);
352
+ updateFocusedCellIfNeeded();
353
+ updateOrDeleteRowState(id, null);
354
+ });
355
+ } else {
356
+ apiRef.current.updateRows([rowUpdate]);
357
+ updateFocusedCellIfNeeded();
358
+ updateOrDeleteRowState(id, null);
359
+ }
360
+ }, [apiRef, processRowUpdate, throwIfNotInMode, updateOrDeleteRowState]);
361
+ const setRowEditingEditCellValue = React.useCallback(params => {
362
+ const {
363
+ id,
364
+ field,
365
+ value
366
+ } = params;
367
+ throwIfNotEditable(id, field);
368
+ const column = apiRef.current.getColumn(field);
369
+ const row = apiRef.current.getRow(id);
370
+ let parsedValue = value;
371
+
372
+ if (column.valueParser) {
373
+ parsedValue = column.valueParser(value, apiRef.current.getCellParams(id, field));
374
+ }
375
+
376
+ let editingState = gridEditRowsStateSelector(apiRef.current.state);
377
+
378
+ let newProps = _extends({}, editingState[id][field], {
379
+ value: parsedValue
380
+ });
381
+
382
+ if (!column.preProcessEditCellProps) {
383
+ updateOrDeleteFieldState(id, field, newProps);
384
+ }
385
+
386
+ return new Promise(resolve => {
387
+ const promises = [];
388
+
389
+ if (column.preProcessEditCellProps) {
390
+ const hasChanged = newProps.value !== editingState[id][field].value;
391
+ newProps = _extends({}, newProps, {
392
+ isProcessingProps: true
393
+ });
394
+ updateOrDeleteFieldState(id, field, newProps);
395
+
396
+ const _editingState$id = editingState[id],
397
+ otherFieldsProps = _objectWithoutPropertiesLoose(_editingState$id, [field].map(_toPropertyKey));
398
+
399
+ const promise = Promise.resolve(column.preProcessEditCellProps({
400
+ id,
401
+ row,
402
+ props: newProps,
403
+ hasChanged,
404
+ otherFieldsProps
405
+ })).then(processedProps => {
406
+ // Check again if the row is in edit mode because the user may have
407
+ // discarded the changes while the props were being processed.
408
+ if (apiRef.current.getRowMode(id) === GridRowModes.View) {
409
+ resolve(false);
410
+ return;
411
+ }
412
+
413
+ editingState = gridEditRowsStateSelector(apiRef.current.state);
414
+ processedProps = _extends({}, processedProps, {
415
+ isProcessingProps: false
416
+ }); // We don't reuse the value from the props pre-processing because when the
417
+ // promise resolves it may be already outdated. The only exception to this rule
418
+ // is when there's no pre-processing.
419
+
420
+ processedProps.value = column.preProcessEditCellProps ? editingState[id][field].value : parsedValue;
421
+ updateOrDeleteFieldState(id, field, processedProps);
422
+ });
423
+ promises.push(promise);
424
+ }
425
+
426
+ Object.entries(editingState[id]).forEach(([thisField, fieldProps]) => {
427
+ if (thisField === field) {
428
+ return;
429
+ }
430
+
431
+ const fieldColumn = apiRef.current.getColumn(thisField);
432
+
433
+ if (!fieldColumn.preProcessEditCellProps) {
434
+ return;
435
+ }
436
+
437
+ fieldProps = _extends({}, fieldProps, {
438
+ isProcessingProps: true
439
+ });
440
+ updateOrDeleteFieldState(id, thisField, fieldProps);
441
+ editingState = gridEditRowsStateSelector(apiRef.current.state);
442
+
443
+ const _editingState$id2 = editingState[id],
444
+ otherFieldsProps = _objectWithoutPropertiesLoose(_editingState$id2, [thisField].map(_toPropertyKey));
445
+
446
+ const promise = Promise.resolve(fieldColumn.preProcessEditCellProps({
447
+ id,
448
+ row,
449
+ props: fieldProps,
450
+ hasChanged: false,
451
+ otherFieldsProps
452
+ })).then(processedProps => {
453
+ // Check again if the row is in edit mode because the user may have
454
+ // discarded the changes while the props were being processed.
455
+ if (apiRef.current.getRowMode(id) === GridRowModes.View) {
456
+ resolve(false);
457
+ return;
458
+ }
459
+
460
+ processedProps = _extends({}, processedProps, {
461
+ isProcessingProps: false
462
+ });
463
+ updateOrDeleteFieldState(id, thisField, processedProps);
464
+ });
465
+ promises.push(promise);
466
+ });
467
+ Promise.all(promises).then(() => {
468
+ if (apiRef.current.getRowMode(id) === GridRowModes.Edit) {
469
+ editingState = gridEditRowsStateSelector(apiRef.current.state);
470
+ resolve(!editingState[id][field].error);
471
+ } else {
472
+ resolve(false);
473
+ }
474
+ });
475
+ });
476
+ }, [apiRef, throwIfNotEditable, updateOrDeleteFieldState]);
477
+ const editingApi = {
478
+ getRowMode,
479
+ startRowEditMode,
480
+ stopRowEditMode,
481
+ unstable_setRowEditingEditCellValue: setRowEditingEditCellValue
482
+ };
483
+ useGridApiMethod(apiRef, editingApi, 'EditingApi');
484
+ };
@@ -4,7 +4,7 @@ import { useEventCallback } from '@mui/material/utils';
4
4
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
5
5
  import { GridRowModes, GridEditModes, GridCellModes } from '../../../models/gridEditRowModel';
6
6
  import { useGridSelector } from '../../utils/useGridSelector';
7
- import { gridColumnFieldsSelector } from '../columns/gridColumnsSelector';
7
+ import { gridColumnDefinitionsSelector } from '../columns/gridColumnsSelector';
8
8
  import { gridEditRowsStateSelector } from './gridEditRowsSelector';
9
9
  import { GridEvents } from '../../../models/events/gridEvents';
10
10
  import { gridFocusCellSelector } from '../focus/gridFocusStateSelector';
@@ -12,7 +12,7 @@ import { useGridApiOptionHandler, useGridApiEventHandler } from '../../utils/use
12
12
  export const useGridRowEditing = (apiRef, props) => {
13
13
  const focusTimeout = React.useRef(null);
14
14
  const nextFocusedCell = React.useRef(null);
15
- const columnFields = useGridSelector(apiRef, gridColumnFieldsSelector);
15
+ const columns = useGridSelector(apiRef, gridColumnDefinitionsSelector);
16
16
 
17
17
  const buildCallback = callback => (...args) => {
18
18
  if (props.editMode === GridEditModes.Row) {
@@ -30,11 +30,11 @@ export const useGridRowEditing = (apiRef, props) => {
30
30
 
31
31
  if (mode === GridRowModes.Edit) {
32
32
  newEditRowsState[id] = {};
33
- columnFields.forEach(field => {
34
- const cellParams = apiRef.current.getCellParams(id, field);
33
+ columns.forEach(column => {
34
+ const cellParams = apiRef.current.getCellParams(id, column.field);
35
35
 
36
36
  if (cellParams.isEditable) {
37
- newEditRowsState[id][field] = {
37
+ newEditRowsState[id][column.field] = {
38
38
  value: cellParams.value
39
39
  };
40
40
  }
@@ -48,7 +48,7 @@ export const useGridRowEditing = (apiRef, props) => {
48
48
  });
49
49
  });
50
50
  apiRef.current.forceUpdate();
51
- }, [apiRef, columnFields]);
51
+ }, [apiRef, columns]);
52
52
  const getRowMode = React.useCallback(id => {
53
53
  if (props.editMode === GridEditModes.Cell) {
54
54
  return GridRowModes.View;
@@ -62,7 +62,7 @@ export const useGridRowEditing = (apiRef, props) => {
62
62
  throw new Error(`MUI: You can't commit changes when the edit mode is 'cell'.`);
63
63
  }
64
64
 
65
- apiRef.current.unstable_runPendingEditCellValueChangeDebounce(id);
65
+ apiRef.current.unstable_runPendingEditCellValueMutation(id);
66
66
  const model = apiRef.current.getEditRowsModel();
67
67
  const editRowProps = model[id];
68
68
 
@@ -10,10 +10,11 @@ import { GridPreferencePanelsValue } from '../preferencesPanel/gridPreferencePan
10
10
  import { getDefaultGridFilterModel } from './gridFilterState';
11
11
  import { gridFilterModelSelector, gridVisibleSortedRowEntriesSelector } from './gridFilterSelector';
12
12
  import { useFirstRender } from '../../utils/useFirstRender';
13
- import { gridRowIdsSelector, gridRowGroupingNameSelector } from '../rows';
13
+ import { gridRowIdsSelector } from '../rows';
14
14
  import { useGridRegisterPreProcessor } from '../../core/preProcessing';
15
- import { useGridRegisterFilteringMethod } from './useGridRegisterFilteringMethod';
15
+ import { GRID_DEFAULT_STRATEGY, useGridRegisterStrategyProcessor } from '../../core/strategyProcessing';
16
16
  import { buildAggregatedFilterApplier, sanitizeFilterModel, mergeStateWithFilterModel } from './gridFilterUtils';
17
+ import { jsx as _jsx } from "react/jsx-runtime";
17
18
  export const filterStateInitializer = (state, props, apiRef) => {
18
19
  const filterModel = props.filterModel ?? props.initialState?.filter?.filterModel ?? getDefaultGridFilterModel();
19
20
  return _extends({}, state, {
@@ -32,8 +33,6 @@ export const filterStateInitializer = (state, props, apiRef) => {
32
33
 
33
34
  export const useGridFilter = (apiRef, props) => {
34
35
  const logger = useGridLogger(apiRef, 'useGridFilter');
35
- const filteringMethodCollectionRef = React.useRef({});
36
- const lastFilteringMethodApplied = React.useRef(null);
37
36
  apiRef.current.unstable_updateControlState({
38
37
  stateId: 'filter',
39
38
  propModel: props.filterModel,
@@ -47,17 +46,9 @@ export const useGridFilter = (apiRef, props) => {
47
46
 
48
47
  const applyFilters = React.useCallback(() => {
49
48
  apiRef.current.setState(state => {
50
- const rowGroupingName = gridRowGroupingNameSelector(state, apiRef.current.instanceId);
51
- const filteringMethod = filteringMethodCollectionRef.current[rowGroupingName];
52
-
53
- if (!filteringMethod) {
54
- throw new Error('MUI: Invalid filtering method.');
55
- }
56
-
57
49
  const filterModel = gridFilterModelSelector(state, apiRef.current.instanceId);
58
50
  const isRowMatchingFilters = props.filterMode === GridFeatureModeConstant.client ? buildAggregatedFilterApplier(filterModel, apiRef) : null;
59
- lastFilteringMethodApplied.current = filteringMethod;
60
- const filteringResult = filteringMethod({
51
+ const filteringResult = apiRef.current.unstable_applyStrategyProcessor('filtering', {
61
52
  isRowMatchingFilters
62
53
  });
63
54
  return _extends({}, state, {
@@ -190,6 +181,14 @@ export const useGridFilter = (apiRef, props) => {
190
181
  callbacks: [...params.callbacks, apiRef.current.unstable_applyFilters]
191
182
  });
192
183
  }, [apiRef, props.disableMultipleColumnsFiltering]);
184
+ const preferencePanelPreProcessing = React.useCallback((initialValue, value) => {
185
+ if (value === GridPreferencePanelsValue.filters) {
186
+ const FilterPanel = props.components.FilterPanel;
187
+ return /*#__PURE__*/_jsx(FilterPanel, _extends({}, props.componentsProps?.filterPanel));
188
+ }
189
+
190
+ return initialValue;
191
+ }, [props.components.FilterPanel, props.componentsProps?.filterPanel]);
193
192
  const flatFilteringMethod = React.useCallback(params => {
194
193
  if (props.filterMode === GridFeatureModeConstant.client && params.isRowMatchingFilters) {
195
194
  const rowIds = gridRowIdsSelector(apiRef);
@@ -216,7 +215,8 @@ export const useGridFilter = (apiRef, props) => {
216
215
  }, [apiRef, props.filterMode]);
217
216
  useGridRegisterPreProcessor(apiRef, 'exportState', stateExportPreProcessing);
218
217
  useGridRegisterPreProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
219
- useGridRegisterFilteringMethod(apiRef, 'none', flatFilteringMethod);
218
+ useGridRegisterPreProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);
219
+ useGridRegisterStrategyProcessor(apiRef, GRID_DEFAULT_STRATEGY, 'filtering', flatFilteringMethod);
220
220
  /**
221
221
  * EVENTS
222
222
  */
@@ -233,30 +233,20 @@ export const useGridFilter = (apiRef, props) => {
233
233
  }));
234
234
  }
235
235
  }, [apiRef, logger]);
236
- const handlePreProcessorRegister = React.useCallback(name => {
237
- if (name !== 'filteringMethod') {
238
- return;
239
- }
240
-
241
- filteringMethodCollectionRef.current = apiRef.current.unstable_applyPreProcessors('filteringMethod', {});
242
- const rowGroupingName = gridRowGroupingNameSelector(apiRef);
243
-
244
- if (lastFilteringMethodApplied.current !== filteringMethodCollectionRef.current[rowGroupingName]) {
236
+ const handleStrategyProcessorChange = React.useCallback(methodName => {
237
+ if (methodName === 'filtering') {
245
238
  apiRef.current.unstable_applyFilters();
246
239
  }
247
240
  }, [apiRef]);
248
241
  useGridApiEventHandler(apiRef, GridEvents.rowsSet, apiRef.current.unstable_applyFilters);
249
242
  useGridApiEventHandler(apiRef, GridEvents.rowExpansionChange, apiRef.current.unstable_applyFilters);
250
243
  useGridApiEventHandler(apiRef, GridEvents.columnsChange, handleColumnsChange);
251
- useGridApiEventHandler(apiRef, GridEvents.preProcessorRegister, handlePreProcessorRegister);
244
+ useGridApiEventHandler(apiRef, GridEvents.activeStrategyProcessorChange, handleStrategyProcessorChange);
252
245
  /**
253
246
  * 1ST RENDER
254
247
  */
255
248
 
256
249
  useFirstRender(() => {
257
- // This line of pre-processor initialization should always come after the registration of `flatFilteringMethod`
258
- // Otherwise on the 1st render there would be no filtering method registered
259
- filteringMethodCollectionRef.current = apiRef.current.unstable_applyPreProcessors('filteringMethod', {});
260
250
  apiRef.current.unstable_applyFilters();
261
251
  });
262
252
  /**
@@ -7,6 +7,9 @@ import { useGridLogger } from '../../utils/useGridLogger';
7
7
  import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
8
8
  import { isNavigationKey } from '../../../utils/keyboardUtils';
9
9
  import { gridFocusCellSelector } from './gridFocusStateSelector';
10
+ import { gridVisibleColumnDefinitionsSelector } from '../columns/gridColumnsSelector';
11
+ import { getVisibleRows } from '../../utils/useGridVisibleRows';
12
+ import { clamp } from '../../../utils/utils';
10
13
  export const focusStateInitializer = state => _extends({}, state, {
11
14
  focus: {
12
15
  cell: null,
@@ -86,6 +89,38 @@ export const useGridFocus = (apiRef, props) => {
86
89
  });
87
90
  apiRef.current.forceUpdate();
88
91
  }, [apiRef, logger]);
92
+ const moveFocusToRelativeCell = React.useCallback((id, field, direction) => {
93
+ let columnIndexToFocus = apiRef.current.getColumnIndex(field);
94
+ let rowIndexToFocus = apiRef.current.getRowIndexRelativeToVisibleRows(id);
95
+ const visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
96
+
97
+ if (direction === 'right') {
98
+ columnIndexToFocus += 1;
99
+ } else if (direction === 'left') {
100
+ columnIndexToFocus -= 1;
101
+ } else {
102
+ rowIndexToFocus += 1;
103
+ }
104
+
105
+ if (columnIndexToFocus >= visibleColumns.length) {
106
+ // Go to next row if we are at the last column
107
+ rowIndexToFocus += 1;
108
+ columnIndexToFocus = 0;
109
+ } else if (columnIndexToFocus < 0) {
110
+ // Go to previous row if we are at the first column
111
+ rowIndexToFocus -= 1;
112
+ columnIndexToFocus = visibleColumns.length - 1;
113
+ }
114
+
115
+ const currentPage = getVisibleRows(apiRef, {
116
+ pagination: props.pagination,
117
+ paginationMode: props.paginationMode
118
+ });
119
+ rowIndexToFocus = clamp(rowIndexToFocus, currentPage.range.firstRowIndex, currentPage.range.lastRowIndex);
120
+ const rowToFocus = currentPage.rows[rowIndexToFocus];
121
+ const columnToFocus = visibleColumns[columnIndexToFocus];
122
+ apiRef.current.setCellFocus(rowToFocus.id, columnToFocus.field);
123
+ }, [apiRef, props.pagination, props.paginationMode]);
89
124
  const handleCellDoubleClick = React.useCallback(({
90
125
  id,
91
126
  field
@@ -178,7 +213,8 @@ export const useGridFocus = (apiRef, props) => {
178
213
  }, [apiRef]);
179
214
  useGridApiMethod(apiRef, {
180
215
  setCellFocus,
181
- setColumnHeaderFocus
216
+ setColumnHeaderFocus,
217
+ unstable_moveFocusToRelativeCell: moveFocusToRelativeCell
182
218
  }, 'GridFocusApi');
183
219
  React.useEffect(() => {
184
220
  const cell = gridFocusCellSelector(apiRef);