@mui/x-data-grid 7.0.0-beta.3 → 7.0.0-beta.4

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 (459) hide show
  1. package/CHANGELOG.md +226 -15
  2. package/colDef/gridActionsColDef.js +1 -0
  3. package/colDef/gridBooleanColDef.js +1 -0
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  5. package/components/GridScrollbarFillerCell.js +6 -21
  6. package/components/cell/GridCell.js +10 -12
  7. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  8. package/components/containers/GridRootStyles.js +50 -19
  9. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  10. package/constants/gridClasses.d.ts +24 -8
  11. package/constants/gridClasses.js +1 -1
  12. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  13. package/hooks/features/editing/useGridCellEditing.js +3 -4
  14. package/hooks/features/editing/useGridRowEditing.js +3 -4
  15. package/hooks/features/sorting/useGridSorting.js +1 -2
  16. package/index.js +1 -1
  17. package/internals/index.d.ts +1 -1
  18. package/internals/index.js +1 -1
  19. package/models/colDef/gridColDef.d.ts +6 -0
  20. package/modern/colDef/gridActionsColDef.js +1 -0
  21. package/modern/colDef/gridBooleanColDef.js +1 -0
  22. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  23. package/modern/components/GridScrollbarFillerCell.js +6 -21
  24. package/modern/components/cell/GridCell.js +10 -12
  25. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  26. package/modern/components/containers/GridRootStyles.js +50 -19
  27. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  28. package/modern/constants/gridClasses.js +1 -1
  29. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  30. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  31. package/modern/hooks/features/editing/useGridRowEditing.js +3 -4
  32. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  33. package/modern/index.js +1 -1
  34. package/modern/internals/index.js +1 -1
  35. package/modern/utils/keyboardUtils.js +20 -11
  36. package/node/colDef/gridActionsColDef.js +1 -0
  37. package/node/colDef/gridBooleanColDef.js +1 -0
  38. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  39. package/node/components/GridScrollbarFillerCell.js +5 -20
  40. package/node/components/cell/GridCell.js +10 -12
  41. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  42. package/node/components/containers/GridRootStyles.js +50 -19
  43. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  44. package/node/constants/gridClasses.js +1 -1
  45. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  46. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  47. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  48. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  49. package/node/index.js +1 -1
  50. package/node/internals/index.js +7 -0
  51. package/node/utils/keyboardUtils.js +25 -20
  52. package/package.json +1 -1
  53. package/utils/keyboardUtils.d.ts +7 -6
  54. package/utils/keyboardUtils.js +20 -11
  55. package/legacy/DataGrid/DataGrid.js +0 -664
  56. package/legacy/DataGrid/index.js +0 -2
  57. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  58. package/legacy/DataGrid/useDataGridProps.js +0 -98
  59. package/legacy/colDef/gridActionsColDef.js +0 -18
  60. package/legacy/colDef/gridBooleanColDef.js +0 -42
  61. package/legacy/colDef/gridBooleanOperators.js +0 -16
  62. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  63. package/legacy/colDef/gridDateColDef.js +0 -62
  64. package/legacy/colDef/gridDateOperators.js +0 -115
  65. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  66. package/legacy/colDef/gridNumericColDef.js +0 -19
  67. package/legacy/colDef/gridNumericOperators.js +0 -145
  68. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  69. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  70. package/legacy/colDef/gridStringColDef.js +0 -27
  71. package/legacy/colDef/gridStringOperators.js +0 -112
  72. package/legacy/colDef/index.js +0 -13
  73. package/legacy/components/GridApiContext.js +0 -5
  74. package/legacy/components/GridColumnHeaders.js +0 -94
  75. package/legacy/components/GridDetailPanels.js +0 -4
  76. package/legacy/components/GridFooter.js +0 -42
  77. package/legacy/components/GridHeader.js +0 -13
  78. package/legacy/components/GridHeaders.js +0 -53
  79. package/legacy/components/GridLoadingOverlay.js +0 -21
  80. package/legacy/components/GridNoResultsOverlay.js +0 -14
  81. package/legacy/components/GridNoRowsOverlay.js +0 -23
  82. package/legacy/components/GridPagination.js +0 -85
  83. package/legacy/components/GridPinnedRows.js +0 -4
  84. package/legacy/components/GridRow.js +0 -465
  85. package/legacy/components/GridRowCount.js +0 -63
  86. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  87. package/legacy/components/GridSelectedRowCount.js +0 -66
  88. package/legacy/components/base/GridBody.js +0 -2
  89. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  90. package/legacy/components/base/GridOverlays.js +0 -122
  91. package/legacy/components/base/index.js +0 -3
  92. package/legacy/components/cell/GridActionsCell.js +0 -294
  93. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  94. package/legacy/components/cell/GridBooleanCell.js +0 -121
  95. package/legacy/components/cell/GridCell.js +0 -350
  96. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  97. package/legacy/components/cell/GridEditDateCell.js +0 -230
  98. package/legacy/components/cell/GridEditInputCell.js +0 -198
  99. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  100. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  101. package/legacy/components/cell/index.js +0 -9
  102. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  103. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  104. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  105. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  106. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  107. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  108. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  109. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  110. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  111. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  112. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  113. package/legacy/components/columnHeaders/index.js +0 -5
  114. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  115. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  116. package/legacy/components/columnSelection/index.js +0 -2
  117. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  118. package/legacy/components/columnsManagement/index.js +0 -1
  119. package/legacy/components/columnsManagement/utils.js +0 -22
  120. package/legacy/components/containers/GridFooterContainer.js +0 -50
  121. package/legacy/components/containers/GridOverlay.js +0 -52
  122. package/legacy/components/containers/GridRoot.js +0 -79
  123. package/legacy/components/containers/GridRootStyles.js +0 -395
  124. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  125. package/legacy/components/containers/index.js +0 -4
  126. package/legacy/components/index.js +0 -19
  127. package/legacy/components/menu/GridMenu.js +0 -132
  128. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  129. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  130. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  131. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  132. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  133. package/legacy/components/menu/columnMenu/index.js +0 -9
  134. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  135. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  136. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  137. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  138. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  139. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  140. package/legacy/components/menu/index.js +0 -2
  141. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  142. package/legacy/components/panel/GridPanel.js +0 -137
  143. package/legacy/components/panel/GridPanelContent.js +0 -49
  144. package/legacy/components/panel/GridPanelFooter.js +0 -50
  145. package/legacy/components/panel/GridPanelHeader.js +0 -48
  146. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  147. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  148. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  149. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
  150. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  151. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  152. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  153. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
  154. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
  155. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  156. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  157. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  158. package/legacy/components/panel/filterPanel/index.js +0 -9
  159. package/legacy/components/panel/index.js +0 -7
  160. package/legacy/components/reexportable.js +0 -1
  161. package/legacy/components/toolbar/GridToolbar.js +0 -64
  162. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  163. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  164. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  165. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  166. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  167. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  168. package/legacy/components/toolbar/index.js +0 -7
  169. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  170. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  171. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  172. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  173. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  174. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  175. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  176. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
  177. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  178. package/legacy/constants/envConstants.js +0 -19
  179. package/legacy/constants/gridClasses.js +0 -5
  180. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  181. package/legacy/constants/index.js +0 -3
  182. package/legacy/constants/localeTextConstants.js +0 -158
  183. package/legacy/context/GridContextProvider.js +0 -21
  184. package/legacy/context/GridRootPropsContext.js +0 -6
  185. package/legacy/context/index.js +0 -1
  186. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  187. package/legacy/hooks/core/index.js +0 -1
  188. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  189. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  190. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  191. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  192. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  193. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  194. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  195. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  196. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  197. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  198. package/legacy/hooks/core/useGridInitialization.js +0 -26
  199. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  200. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  201. package/legacy/hooks/core/useGridRefs.js +0 -13
  202. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  203. package/legacy/hooks/core/useGridTheme.js +0 -21
  204. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  205. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  206. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  207. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  208. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  209. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  210. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
  211. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  212. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  213. package/legacy/hooks/features/columnMenu/index.js +0 -2
  214. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  215. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  216. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  217. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  218. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  219. package/legacy/hooks/features/columns/index.js +0 -2
  220. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  221. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  222. package/legacy/hooks/features/density/densitySelector.js +0 -10
  223. package/legacy/hooks/features/density/densityState.js +0 -1
  224. package/legacy/hooks/features/density/index.js +0 -2
  225. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  226. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  227. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  228. package/legacy/hooks/features/dimensions/index.js +0 -2
  229. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  230. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  231. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  232. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  233. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  234. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  235. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  236. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  237. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  238. package/legacy/hooks/features/export/utils.js +0 -49
  239. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  240. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  241. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  242. package/legacy/hooks/features/filter/index.js +0 -2
  243. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  244. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  245. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  246. package/legacy/hooks/features/focus/index.js +0 -2
  247. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  248. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  249. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  250. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  251. package/legacy/hooks/features/index.js +0 -16
  252. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  253. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  254. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  255. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  256. package/legacy/hooks/features/pagination/index.js +0 -2
  257. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  258. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  259. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  260. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  261. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  262. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  263. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  264. package/legacy/hooks/features/rowSelection/index.js +0 -1
  265. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  266. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  267. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  268. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  269. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  270. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  271. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  272. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  273. package/legacy/hooks/features/rows/index.js +0 -4
  274. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  275. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  276. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  277. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  278. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  279. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  280. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  281. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  282. package/legacy/hooks/features/sorting/index.js +0 -2
  283. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  284. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  285. package/legacy/hooks/features/statePersistence/index.js +0 -1
  286. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  287. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
  288. package/legacy/hooks/features/virtualization/index.js +0 -2
  289. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
  290. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
  291. package/legacy/hooks/index.js +0 -3
  292. package/legacy/hooks/utils/index.js +0 -9
  293. package/legacy/hooks/utils/useFirstRender.js +0 -8
  294. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  295. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  296. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  297. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  298. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  299. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  300. package/legacy/hooks/utils/useGridLogger.js +0 -10
  301. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  302. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  303. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  304. package/legacy/hooks/utils/useGridSelector.js +0 -54
  305. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  306. package/legacy/hooks/utils/useLazyRef.js +0 -11
  307. package/legacy/hooks/utils/useOnMount.js +0 -7
  308. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  309. package/legacy/hooks/utils/useRunOnce.js +0 -18
  310. package/legacy/hooks/utils/useTimeout.js +0 -38
  311. package/legacy/index.js +0 -38
  312. package/legacy/internals/index.js +0 -68
  313. package/legacy/internals/utils/computeSlots.js +0 -17
  314. package/legacy/internals/utils/index.js +0 -3
  315. package/legacy/internals/utils/propValidation.js +0 -21
  316. package/legacy/internals/utils/useProps.js +0 -32
  317. package/legacy/joy/icons.js +0 -432
  318. package/legacy/joy/index.js +0 -2
  319. package/legacy/joy/joySlots.js +0 -420
  320. package/legacy/locales/arSD.js +0 -160
  321. package/legacy/locales/beBY.js +0 -184
  322. package/legacy/locales/bgBG.js +0 -160
  323. package/legacy/locales/coreLocales.js +0 -62
  324. package/legacy/locales/csCZ.js +0 -181
  325. package/legacy/locales/daDK.js +0 -160
  326. package/legacy/locales/deDE.js +0 -160
  327. package/legacy/locales/elGR.js +0 -160
  328. package/legacy/locales/enUS.js +0 -4
  329. package/legacy/locales/esES.js +0 -160
  330. package/legacy/locales/faIR.js +0 -160
  331. package/legacy/locales/fiFI.js +0 -160
  332. package/legacy/locales/frFR.js +0 -160
  333. package/legacy/locales/heIL.js +0 -160
  334. package/legacy/locales/hrHR.js +0 -160
  335. package/legacy/locales/huHU.js +0 -160
  336. package/legacy/locales/index.js +0 -35
  337. package/legacy/locales/itIT.js +0 -160
  338. package/legacy/locales/jaJP.js +0 -160
  339. package/legacy/locales/koKR.js +0 -162
  340. package/legacy/locales/nbNO.js +0 -162
  341. package/legacy/locales/nlNL.js +0 -160
  342. package/legacy/locales/plPL.js +0 -163
  343. package/legacy/locales/ptBR.js +0 -160
  344. package/legacy/locales/ptPT.js +0 -160
  345. package/legacy/locales/roRO.js +0 -160
  346. package/legacy/locales/ruRU.js +0 -181
  347. package/legacy/locales/skSK.js +0 -181
  348. package/legacy/locales/svSE.js +0 -160
  349. package/legacy/locales/trTR.js +0 -161
  350. package/legacy/locales/ukUA.js +0 -182
  351. package/legacy/locales/urPK.js +0 -160
  352. package/legacy/locales/viVN.js +0 -160
  353. package/legacy/locales/zhCN.js +0 -160
  354. package/legacy/locales/zhHK.js +0 -160
  355. package/legacy/locales/zhTW.js +0 -160
  356. package/legacy/material/components/MUISelectOption.js +0 -14
  357. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  358. package/legacy/material/icons/index.js +0 -89
  359. package/legacy/material/index.js +0 -69
  360. package/legacy/models/api/gridApiCommon.js +0 -1
  361. package/legacy/models/api/gridApiCommunity.js +0 -1
  362. package/legacy/models/api/gridCallbackDetails.js +0 -1
  363. package/legacy/models/api/gridColumnApi.js +0 -1
  364. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  365. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  366. package/legacy/models/api/gridColumnSpanning.js +0 -1
  367. package/legacy/models/api/gridCoreApi.js +0 -1
  368. package/legacy/models/api/gridCsvExportApi.js +0 -1
  369. package/legacy/models/api/gridDensityApi.js +0 -1
  370. package/legacy/models/api/gridEditingApi.js +0 -1
  371. package/legacy/models/api/gridFilterApi.js +0 -1
  372. package/legacy/models/api/gridFocusApi.js +0 -1
  373. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  374. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  375. package/legacy/models/api/gridLoggerApi.js +0 -1
  376. package/legacy/models/api/gridParamsApi.js +0 -1
  377. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  378. package/legacy/models/api/gridPrintExportApi.js +0 -1
  379. package/legacy/models/api/gridRowApi.js +0 -1
  380. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  381. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  382. package/legacy/models/api/gridScrollApi.js +0 -1
  383. package/legacy/models/api/gridSortApi.js +0 -1
  384. package/legacy/models/api/gridStateApi.js +0 -1
  385. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  386. package/legacy/models/api/index.js +0 -16
  387. package/legacy/models/colDef/gridColDef.js +0 -1
  388. package/legacy/models/colDef/gridColType.js +0 -1
  389. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  390. package/legacy/models/colDef/index.js +0 -6
  391. package/legacy/models/controlStateItem.js +0 -1
  392. package/legacy/models/cursorCoordinates.js +0 -1
  393. package/legacy/models/elementSize.js +0 -1
  394. package/legacy/models/events/gridEventListener.js +0 -1
  395. package/legacy/models/events/gridEventLookup.js +0 -1
  396. package/legacy/models/events/gridEventPublisher.js +0 -1
  397. package/legacy/models/events/index.js +0 -3
  398. package/legacy/models/gridApiCaches.js +0 -1
  399. package/legacy/models/gridCell.js +0 -1
  400. package/legacy/models/gridCellClass.js +0 -1
  401. package/legacy/models/gridColumnGrouping.js +0 -11
  402. package/legacy/models/gridColumnHeaderClass.js +0 -1
  403. package/legacy/models/gridColumnSpanning.js +0 -1
  404. package/legacy/models/gridDensity.js +0 -1
  405. package/legacy/models/gridEditRowModel.js +0 -16
  406. package/legacy/models/gridExport.js +0 -1
  407. package/legacy/models/gridFeatureMode.js +0 -1
  408. package/legacy/models/gridFilterItem.js +0 -11
  409. package/legacy/models/gridFilterModel.js +0 -1
  410. package/legacy/models/gridFilterOperator.js +0 -1
  411. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  412. package/legacy/models/gridIconSlotsComponent.js +0 -1
  413. package/legacy/models/gridPaginationProps.js +0 -1
  414. package/legacy/models/gridRenderContextProps.js +0 -1
  415. package/legacy/models/gridRowSelectionModel.js +0 -1
  416. package/legacy/models/gridRows.js +0 -1
  417. package/legacy/models/gridSlotsComponent.js +0 -1
  418. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  419. package/legacy/models/gridSortModel.js +0 -1
  420. package/legacy/models/gridStateCommunity.js +0 -1
  421. package/legacy/models/index.js +0 -29
  422. package/legacy/models/logger.js +0 -1
  423. package/legacy/models/muiEvent.js +0 -1
  424. package/legacy/models/params/gridCellParams.js +0 -1
  425. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  426. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  427. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  428. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  429. package/legacy/models/params/gridEditCellParams.js +0 -27
  430. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  431. package/legacy/models/params/gridMenuParams.js +0 -1
  432. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  433. package/legacy/models/params/gridRowParams.js +0 -44
  434. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  435. package/legacy/models/params/gridScrollParams.js +0 -1
  436. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  437. package/legacy/models/params/index.js +0 -13
  438. package/legacy/models/props/DataGridProps.js +0 -1
  439. package/legacy/themeAugmentation/index.js +0 -4
  440. package/legacy/themeAugmentation/overrides.js +0 -1
  441. package/legacy/themeAugmentation/props.js +0 -1
  442. package/legacy/utils/EventManager.js +0 -91
  443. package/legacy/utils/Store.js +0 -34
  444. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  445. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  446. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  447. package/legacy/utils/createControllablePromise.js +0 -11
  448. package/legacy/utils/createSelector.js +0 -120
  449. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  450. package/legacy/utils/domUtils.js +0 -49
  451. package/legacy/utils/exportAs.js +0 -40
  452. package/legacy/utils/fastMemo.js +0 -5
  453. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  454. package/legacy/utils/getGridLocalization.js +0 -15
  455. package/legacy/utils/getPublicApiRef.js +0 -5
  456. package/legacy/utils/index.js +0 -1
  457. package/legacy/utils/keyboardUtils.js +0 -60
  458. package/legacy/utils/utils.js +0 -189
  459. package/legacy/utils/warning.js +0 -25
@@ -1,466 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
- import _extends from "@babel/runtime/helpers/esm/extends";
5
- import * as React from 'react';
6
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
7
- import { useGridLogger } from '../../utils/useGridLogger';
8
- import { gridRowCountSelector, gridRowsLookupSelector, gridRowTreeSelector, gridRowGroupingNameSelector, gridRowTreeDepthsSelector, gridDataRowIdsSelector, gridRowsDataRowIdToIdLookupSelector, gridRowMaximumTreeDepthSelector } from './gridRowsSelector';
9
- import { useTimeout } from '../../utils/useTimeout';
10
- import { GridSignature, useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
11
- import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
12
- import { gridSortedRowIdsSelector } from '../sorting/gridSortingSelector';
13
- import { gridFilteredRowsLookupSelector } from '../filter/gridFilterSelector';
14
- import { getTreeNodeDescendants, createRowsInternalCache, getRowsStateFromCache, isAutoGeneratedRow, GRID_ROOT_GROUP_ID, GRID_ID_AUTOGENERATED, updateCacheWithNewRows, getTopLevelRowCount, getRowIdFromRowModel } from './gridRowsUtils';
15
- import { useGridRegisterPipeApplier } from '../../core/pipeProcessing';
16
- export var rowsStateInitializer = function rowsStateInitializer(state, props, apiRef) {
17
- apiRef.current.caches.rows = createRowsInternalCache({
18
- rows: props.rows,
19
- getRowId: props.getRowId,
20
- loading: props.loading,
21
- rowCount: props.rowCount
22
- });
23
- return _extends({}, state, {
24
- rows: getRowsStateFromCache({
25
- apiRef: apiRef,
26
- rowCountProp: props.rowCount,
27
- loadingProp: props.loading,
28
- previousTree: null,
29
- previousTreeDepths: null
30
- })
31
- });
32
- };
33
- export var useGridRows = function useGridRows(apiRef, props) {
34
- if (process.env.NODE_ENV !== 'production') {
35
- try {
36
- // Freeze the `rows` prop so developers have a fast failure if they try to use Array.prototype.push().
37
- Object.freeze(props.rows);
38
- } catch (error) {
39
- // Sometimes, it's impossible to freeze, so we give up on it.
40
- }
41
- }
42
- var logger = useGridLogger(apiRef, 'useGridRows');
43
- var currentPage = useGridVisibleRows(apiRef, props);
44
- var lastUpdateMs = React.useRef(Date.now());
45
- var timeout = useTimeout();
46
- var getRow = React.useCallback(function (id) {
47
- var model = gridRowsLookupSelector(apiRef)[id];
48
- if (model) {
49
- return model;
50
- }
51
- var node = apiRef.current.getRowNode(id);
52
- if (node && isAutoGeneratedRow(node)) {
53
- return _defineProperty({}, GRID_ID_AUTOGENERATED, id);
54
- }
55
- return null;
56
- }, [apiRef]);
57
- var getRowIdProp = props.getRowId;
58
- var getRowId = React.useCallback(function (row) {
59
- if (GRID_ID_AUTOGENERATED in row) {
60
- return row[GRID_ID_AUTOGENERATED];
61
- }
62
- if (getRowIdProp) {
63
- return getRowIdProp(row);
64
- }
65
- return row.id;
66
- }, [getRowIdProp]);
67
- var lookup = React.useMemo(function () {
68
- return currentPage.rows.reduce(function (acc, _ref2, index) {
69
- var id = _ref2.id;
70
- acc[id] = index;
71
- return acc;
72
- }, {});
73
- }, [currentPage.rows]);
74
- var throttledRowsChange = React.useCallback(function (_ref3) {
75
- var cache = _ref3.cache,
76
- throttle = _ref3.throttle;
77
- var run = function run() {
78
- lastUpdateMs.current = Date.now();
79
- apiRef.current.setState(function (state) {
80
- return _extends({}, state, {
81
- rows: getRowsStateFromCache({
82
- apiRef: apiRef,
83
- rowCountProp: props.rowCount,
84
- loadingProp: props.loading,
85
- previousTree: gridRowTreeSelector(apiRef),
86
- previousTreeDepths: gridRowTreeDepthsSelector(apiRef)
87
- })
88
- });
89
- });
90
- apiRef.current.publishEvent('rowsSet');
91
- apiRef.current.forceUpdate();
92
- };
93
- timeout.clear();
94
- apiRef.current.caches.rows = cache;
95
- if (!throttle) {
96
- run();
97
- return;
98
- }
99
- var throttleRemainingTimeMs = props.throttleRowsMs - (Date.now() - lastUpdateMs.current);
100
- if (throttleRemainingTimeMs > 0) {
101
- timeout.start(throttleRemainingTimeMs, run);
102
- return;
103
- }
104
- run();
105
- }, [props.throttleRowsMs, props.rowCount, props.loading, apiRef, timeout]);
106
-
107
- /**
108
- * API METHODS
109
- */
110
- var setRows = React.useCallback(function (rows) {
111
- logger.debug("Updating all rows, new length ".concat(rows.length));
112
- var cache = createRowsInternalCache({
113
- rows: rows,
114
- getRowId: props.getRowId,
115
- loading: props.loading,
116
- rowCount: props.rowCount
117
- });
118
- var prevCache = apiRef.current.caches.rows;
119
- cache.rowsBeforePartialUpdates = prevCache.rowsBeforePartialUpdates;
120
- throttledRowsChange({
121
- cache: cache,
122
- throttle: true
123
- });
124
- }, [logger, props.getRowId, props.loading, props.rowCount, throttledRowsChange, apiRef]);
125
- var updateRows = React.useCallback(function (updates) {
126
- if (props.signature === GridSignature.DataGrid && updates.length > 1) {
127
- throw new Error(['MUI X: You cannot update several rows at once in `apiRef.current.updateRows` on the DataGrid.', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
128
- }
129
- var nonPinnedRowsUpdates = [];
130
- updates.forEach(function (update) {
131
- var id = getRowIdFromRowModel(update, props.getRowId, 'A row was provided without id when calling updateRows():');
132
- var rowNode = apiRef.current.getRowNode(id);
133
- if ((rowNode == null ? void 0 : rowNode.type) === 'pinnedRow') {
134
- // @ts-ignore because otherwise `release:build` doesn't work
135
- var pinnedRowsCache = apiRef.current.caches.pinnedRows;
136
- var prevModel = pinnedRowsCache.idLookup[id];
137
- if (prevModel) {
138
- pinnedRowsCache.idLookup[id] = _extends({}, prevModel, update);
139
- }
140
- } else {
141
- nonPinnedRowsUpdates.push(update);
142
- }
143
- });
144
- var cache = updateCacheWithNewRows({
145
- updates: nonPinnedRowsUpdates,
146
- getRowId: props.getRowId,
147
- previousCache: apiRef.current.caches.rows
148
- });
149
- throttledRowsChange({
150
- cache: cache,
151
- throttle: true
152
- });
153
- }, [props.signature, props.getRowId, throttledRowsChange, apiRef]);
154
- var getRowModels = React.useCallback(function () {
155
- var dataRows = gridDataRowIdsSelector(apiRef);
156
- var idRowsLookup = gridRowsLookupSelector(apiRef);
157
- return new Map(dataRows.map(function (id) {
158
- var _idRowsLookup$id;
159
- return [id, (_idRowsLookup$id = idRowsLookup[id]) != null ? _idRowsLookup$id : {}];
160
- }));
161
- }, [apiRef]);
162
- var getRowsCount = React.useCallback(function () {
163
- return gridRowCountSelector(apiRef);
164
- }, [apiRef]);
165
- var getAllRowIds = React.useCallback(function () {
166
- return gridDataRowIdsSelector(apiRef);
167
- }, [apiRef]);
168
- var getRowIndexRelativeToVisibleRows = React.useCallback(function (id) {
169
- return lookup[id];
170
- }, [lookup]);
171
- var setRowChildrenExpansion = React.useCallback(function (id, isExpanded) {
172
- var currentNode = apiRef.current.getRowNode(id);
173
- if (!currentNode) {
174
- throw new Error("MUI X: No row with id #".concat(id, " found."));
175
- }
176
- if (currentNode.type !== 'group') {
177
- throw new Error('MUI X: Only group nodes can be expanded or collapsed.');
178
- }
179
- var newNode = _extends({}, currentNode, {
180
- childrenExpanded: isExpanded
181
- });
182
- apiRef.current.setState(function (state) {
183
- return _extends({}, state, {
184
- rows: _extends({}, state.rows, {
185
- tree: _extends({}, state.rows.tree, _defineProperty({}, id, newNode))
186
- })
187
- });
188
- });
189
- apiRef.current.forceUpdate();
190
- apiRef.current.publishEvent('rowExpansionChange', newNode);
191
- }, [apiRef]);
192
- var getRowNode = React.useCallback(function (id) {
193
- var _ref4;
194
- return (_ref4 = gridRowTreeSelector(apiRef)[id]) != null ? _ref4 : null;
195
- }, [apiRef]);
196
- var getRowGroupChildren = React.useCallback(function (_ref5) {
197
- var _ref5$skipAutoGenerat = _ref5.skipAutoGeneratedRows,
198
- skipAutoGeneratedRows = _ref5$skipAutoGenerat === void 0 ? true : _ref5$skipAutoGenerat,
199
- groupId = _ref5.groupId,
200
- applySorting = _ref5.applySorting,
201
- applyFiltering = _ref5.applyFiltering;
202
- var tree = gridRowTreeSelector(apiRef);
203
- var children;
204
- if (applySorting) {
205
- var groupNode = tree[groupId];
206
- if (!groupNode) {
207
- return [];
208
- }
209
- var sortedRowIds = gridSortedRowIdsSelector(apiRef);
210
- children = [];
211
- var startIndex = sortedRowIds.findIndex(function (id) {
212
- return id === groupId;
213
- }) + 1;
214
- for (var index = startIndex; index < sortedRowIds.length && tree[sortedRowIds[index]].depth > groupNode.depth; index += 1) {
215
- var id = sortedRowIds[index];
216
- if (!skipAutoGeneratedRows || !isAutoGeneratedRow(tree[id])) {
217
- children.push(id);
218
- }
219
- }
220
- } else {
221
- children = getTreeNodeDescendants(tree, groupId, skipAutoGeneratedRows);
222
- }
223
- if (applyFiltering) {
224
- var filteredRowsLookup = gridFilteredRowsLookupSelector(apiRef);
225
- children = children.filter(function (childId) {
226
- return filteredRowsLookup[childId] !== false;
227
- });
228
- }
229
- return children;
230
- }, [apiRef]);
231
- var setRowIndex = React.useCallback(function (rowId, targetIndex) {
232
- var node = apiRef.current.getRowNode(rowId);
233
- if (!node) {
234
- throw new Error("MUI X: No row with id #".concat(rowId, " found."));
235
- }
236
- if (node.parent !== GRID_ROOT_GROUP_ID) {
237
- throw new Error("MUI X: The row reordering do not support reordering of grouped rows yet.");
238
- }
239
- if (node.type !== 'leaf') {
240
- throw new Error("MUI X: The row reordering do not support reordering of footer or grouping rows.");
241
- }
242
- apiRef.current.setState(function (state) {
243
- var group = gridRowTreeSelector(state, apiRef.current.instanceId)[GRID_ROOT_GROUP_ID];
244
- var allRows = group.children;
245
- var oldIndex = allRows.findIndex(function (row) {
246
- return row === rowId;
247
- });
248
- if (oldIndex === -1 || oldIndex === targetIndex) {
249
- return state;
250
- }
251
- logger.debug("Moving row ".concat(rowId, " to index ").concat(targetIndex));
252
- var updatedRows = _toConsumableArray(allRows);
253
- updatedRows.splice(targetIndex, 0, updatedRows.splice(oldIndex, 1)[0]);
254
- return _extends({}, state, {
255
- rows: _extends({}, state.rows, {
256
- tree: _extends({}, state.rows.tree, _defineProperty({}, GRID_ROOT_GROUP_ID, _extends({}, group, {
257
- children: updatedRows
258
- })))
259
- })
260
- });
261
- });
262
- apiRef.current.publishEvent('rowsSet');
263
- }, [apiRef, logger]);
264
- var replaceRows = React.useCallback(function (firstRowToRender, newRows) {
265
- if (props.signature === GridSignature.DataGrid && newRows.length > 1) {
266
- throw new Error(['MUI X: You cannot replace rows using `apiRef.current.unstable_replaceRows` on the DataGrid.', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
267
- }
268
- if (newRows.length === 0) {
269
- return;
270
- }
271
- var treeDepth = gridRowMaximumTreeDepthSelector(apiRef);
272
- if (treeDepth > 1) {
273
- throw new Error('`apiRef.current.unstable_replaceRows` is not compatible with tree data and row grouping');
274
- }
275
- var tree = _extends({}, gridRowTreeSelector(apiRef));
276
- var dataRowIdToModelLookup = _extends({}, gridRowsLookupSelector(apiRef));
277
- var dataRowIdToIdLookup = _extends({}, gridRowsDataRowIdToIdLookupSelector(apiRef));
278
- var rootGroup = tree[GRID_ROOT_GROUP_ID];
279
- var rootGroupChildren = _toConsumableArray(rootGroup.children);
280
- for (var i = 0; i < newRows.length; i += 1) {
281
- var rowModel = newRows[i];
282
- var rowId = getRowIdFromRowModel(rowModel, props.getRowId, 'A row was provided without id when calling replaceRows().');
283
- var _rootGroupChildren$sp = rootGroupChildren.splice(firstRowToRender + i, 1, rowId),
284
- _rootGroupChildren$sp2 = _slicedToArray(_rootGroupChildren$sp, 1),
285
- replacedRowId = _rootGroupChildren$sp2[0];
286
- delete dataRowIdToModelLookup[replacedRowId];
287
- delete dataRowIdToIdLookup[replacedRowId];
288
- delete tree[replacedRowId];
289
- var rowTreeNodeConfig = {
290
- id: rowId,
291
- depth: 0,
292
- parent: GRID_ROOT_GROUP_ID,
293
- type: 'leaf',
294
- groupingKey: null
295
- };
296
- dataRowIdToModelLookup[rowId] = rowModel;
297
- dataRowIdToIdLookup[rowId] = rowId;
298
- tree[rowId] = rowTreeNodeConfig;
299
- }
300
- tree[GRID_ROOT_GROUP_ID] = _extends({}, rootGroup, {
301
- children: rootGroupChildren
302
- });
303
-
304
- // Removes potential remaining skeleton rows from the dataRowIds.
305
- var dataRowIds = rootGroupChildren.filter(function (childId) {
306
- var _tree$childId;
307
- return ((_tree$childId = tree[childId]) == null ? void 0 : _tree$childId.type) === 'leaf';
308
- });
309
- apiRef.current.caches.rows.dataRowIdToModelLookup = dataRowIdToModelLookup;
310
- apiRef.current.caches.rows.dataRowIdToIdLookup = dataRowIdToIdLookup;
311
- apiRef.current.setState(function (state) {
312
- return _extends({}, state, {
313
- rows: _extends({}, state.rows, {
314
- dataRowIdToModelLookup: dataRowIdToModelLookup,
315
- dataRowIdToIdLookup: dataRowIdToIdLookup,
316
- dataRowIds: dataRowIds,
317
- tree: tree
318
- })
319
- });
320
- });
321
- apiRef.current.publishEvent('rowsSet');
322
- }, [apiRef, props.signature, props.getRowId]);
323
- var rowApi = {
324
- getRow: getRow,
325
- getRowId: getRowId,
326
- getRowModels: getRowModels,
327
- getRowsCount: getRowsCount,
328
- getAllRowIds: getAllRowIds,
329
- setRows: setRows,
330
- updateRows: updateRows,
331
- getRowNode: getRowNode,
332
- getRowIndexRelativeToVisibleRows: getRowIndexRelativeToVisibleRows,
333
- unstable_replaceRows: replaceRows
334
- };
335
- var rowProApi = {
336
- setRowIndex: setRowIndex,
337
- setRowChildrenExpansion: setRowChildrenExpansion,
338
- getRowGroupChildren: getRowGroupChildren
339
- };
340
-
341
- /**
342
- * EVENTS
343
- */
344
- var groupRows = React.useCallback(function () {
345
- logger.info("Row grouping pre-processing have changed, regenerating the row tree");
346
- var cache;
347
- if (apiRef.current.caches.rows.rowsBeforePartialUpdates === props.rows) {
348
- // The `props.rows` did not change since the last row grouping
349
- // We can use the current rows cache which contains the partial updates done recently.
350
- cache = _extends({}, apiRef.current.caches.rows, {
351
- updates: {
352
- type: 'full',
353
- rows: gridDataRowIdsSelector(apiRef)
354
- }
355
- });
356
- } else {
357
- // The `props.rows` has changed since the last row grouping
358
- // We must use the new `props.rows` on the new grouping
359
- // This occurs because this event is triggered before the `useEffect` on the rows when both the grouping pre-processing and the rows changes on the same render
360
- cache = createRowsInternalCache({
361
- rows: props.rows,
362
- getRowId: props.getRowId,
363
- loading: props.loading,
364
- rowCount: props.rowCount
365
- });
366
- }
367
- throttledRowsChange({
368
- cache: cache,
369
- throttle: false
370
- });
371
- }, [logger, apiRef, props.rows, props.getRowId, props.loading, props.rowCount, throttledRowsChange]);
372
- var handleStrategyProcessorChange = React.useCallback(function (methodName) {
373
- if (methodName === 'rowTreeCreation') {
374
- groupRows();
375
- }
376
- }, [groupRows]);
377
- var handleStrategyActivityChange = React.useCallback(function () {
378
- // `rowTreeCreation` is the only processor ran when `strategyAvailabilityChange` is fired.
379
- // All the other processors listen to `rowsSet` which will be published by the `groupRows` method below.
380
- if (apiRef.current.getActiveStrategy('rowTree') !== gridRowGroupingNameSelector(apiRef)) {
381
- groupRows();
382
- }
383
- }, [apiRef, groupRows]);
384
- useGridApiEventHandler(apiRef, 'activeStrategyProcessorChange', handleStrategyProcessorChange);
385
- useGridApiEventHandler(apiRef, 'strategyAvailabilityChange', handleStrategyActivityChange);
386
-
387
- /**
388
- * APPLIERS
389
- */
390
- var applyHydrateRowsProcessor = React.useCallback(function () {
391
- apiRef.current.setState(function (state) {
392
- var response = apiRef.current.unstable_applyPipeProcessors('hydrateRows', {
393
- tree: gridRowTreeSelector(state, apiRef.current.instanceId),
394
- treeDepths: gridRowTreeDepthsSelector(state, apiRef.current.instanceId),
395
- dataRowIds: gridDataRowIdsSelector(state, apiRef.current.instanceId),
396
- dataRowIdToModelLookup: gridRowsLookupSelector(state, apiRef.current.instanceId),
397
- dataRowIdToIdLookup: gridRowsDataRowIdToIdLookupSelector(state, apiRef.current.instanceId)
398
- });
399
- return _extends({}, state, {
400
- rows: _extends({}, state.rows, response, {
401
- totalTopLevelRowCount: getTopLevelRowCount({
402
- tree: response.tree,
403
- rowCountProp: props.rowCount
404
- })
405
- })
406
- });
407
- });
408
- apiRef.current.publishEvent('rowsSet');
409
- apiRef.current.forceUpdate();
410
- }, [apiRef, props.rowCount]);
411
- useGridRegisterPipeApplier(apiRef, 'hydrateRows', applyHydrateRowsProcessor);
412
- useGridApiMethod(apiRef, rowApi, 'public');
413
- useGridApiMethod(apiRef, rowProApi, props.signature === GridSignature.DataGrid ? 'private' : 'public');
414
-
415
- // The effect do not track any value defined synchronously during the 1st render by hooks called after `useGridRows`
416
- // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one
417
- var isFirstRender = React.useRef(true);
418
- React.useEffect(function () {
419
- if (isFirstRender.current) {
420
- isFirstRender.current = false;
421
- return;
422
- }
423
- var areNewRowsAlreadyInState = apiRef.current.caches.rows.rowsBeforePartialUpdates === props.rows;
424
- var isNewLoadingAlreadyInState = apiRef.current.caches.rows.loadingPropBeforePartialUpdates === props.loading;
425
- var isNewRowCountAlreadyInState = apiRef.current.caches.rows.rowCountPropBeforePartialUpdates === props.rowCount;
426
-
427
- // The new rows have already been applied (most likely in the `'rowGroupsPreProcessingChange'` listener)
428
- if (areNewRowsAlreadyInState) {
429
- // If the loading prop has changed, we need to update its value in the state because it won't be done by `throttledRowsChange`
430
- if (!isNewLoadingAlreadyInState) {
431
- apiRef.current.setState(function (state) {
432
- return _extends({}, state, {
433
- rows: _extends({}, state.rows, {
434
- loading: props.loading
435
- })
436
- });
437
- });
438
- apiRef.current.caches.rows.loadingPropBeforePartialUpdates = props.loading;
439
- apiRef.current.forceUpdate();
440
- }
441
- if (!isNewRowCountAlreadyInState) {
442
- apiRef.current.setState(function (state) {
443
- return _extends({}, state, {
444
- rows: _extends({}, state.rows, {
445
- totalRowCount: Math.max(props.rowCount || 0, state.rows.totalRowCount),
446
- totalTopLevelRowCount: Math.max(props.rowCount || 0, state.rows.totalTopLevelRowCount)
447
- })
448
- });
449
- });
450
- apiRef.current.caches.rows.rowCountPropBeforePartialUpdates = props.rowCount;
451
- apiRef.current.forceUpdate();
452
- }
453
- return;
454
- }
455
- logger.debug("Updating all rows, new length ".concat(props.rows.length));
456
- throttledRowsChange({
457
- cache: createRowsInternalCache({
458
- rows: props.rows,
459
- getRowId: props.getRowId,
460
- loading: props.loading,
461
- rowCount: props.rowCount
462
- }),
463
- throttle: false
464
- });
465
- }, [props.rows, props.rowCount, props.getRowId, props.loading, logger, throttledRowsChange, apiRef]);
466
- };