@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,236 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { unstable_debounce as debounce } from '@mui/utils';
4
- import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
5
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
- import { useGridSelector } from '../../utils/useGridSelector';
7
- import { gridDensityFactorSelector } from '../density/densitySelector';
8
- import { gridFilterModelSelector } from '../filter/gridFilterSelector';
9
- import { gridPaginationSelector } from '../pagination/gridPaginationSelector';
10
- import { gridSortModelSelector } from '../sorting/gridSortingSelector';
11
- import { useGridRegisterPipeApplier } from '../../core/pipeProcessing';
12
- import { gridPinnedRowsSelector } from './gridRowsSelector';
13
- import { DATA_GRID_PROPS_DEFAULT_VALUES } from '../../../DataGrid/useDataGridProps';
14
-
15
- // TODO: I think the row heights can now be encoded as a single `size` instead of `sizes.baseXxxx`
16
-
17
- export var rowsMetaStateInitializer = function rowsMetaStateInitializer(state) {
18
- return _extends({}, state, {
19
- rowsMeta: {
20
- currentPageTotalHeight: 0,
21
- positions: []
22
- }
23
- });
24
- };
25
- var warnedOnceInvalidRowHeight = false;
26
- var getValidRowHeight = function getValidRowHeight(rowHeightProp, defaultRowHeight, warningMessage) {
27
- if (typeof rowHeightProp === 'number' && rowHeightProp > 0) {
28
- return rowHeightProp;
29
- }
30
- if (process.env.NODE_ENV !== 'production' && !warnedOnceInvalidRowHeight && typeof rowHeightProp !== 'undefined' && rowHeightProp !== null) {
31
- console.warn(warningMessage);
32
- warnedOnceInvalidRowHeight = true;
33
- }
34
- return defaultRowHeight;
35
- };
36
- var rowHeightWarning = ["MUI X: The `rowHeight` prop should be a number greater than 0.", "The default value will be used instead."].join('\n');
37
- var getRowHeightWarning = ["MUI X: The `getRowHeight` prop should return a number greater than 0 or 'auto'.", "The default value will be used instead."].join('\n');
38
-
39
- /**
40
- * @requires useGridPageSize (method)
41
- * @requires useGridPage (method)
42
- */
43
- export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
44
- var getRowHeightProp = props.getRowHeight,
45
- getRowSpacing = props.getRowSpacing,
46
- getEstimatedRowHeight = props.getEstimatedRowHeight;
47
- var rowsHeightLookup = React.useRef(Object.create(null));
48
-
49
- // Inspired by https://github.com/bvaughn/react-virtualized/blob/master/source/Grid/utils/CellSizeAndPositionManager.js
50
- var lastMeasuredRowIndex = React.useRef(-1);
51
- var hasRowWithAutoHeight = React.useRef(false);
52
- var densityFactor = useGridSelector(apiRef, gridDensityFactorSelector);
53
- var filterModel = useGridSelector(apiRef, gridFilterModelSelector);
54
- var paginationState = useGridSelector(apiRef, gridPaginationSelector);
55
- var sortModel = useGridSelector(apiRef, gridSortModelSelector);
56
- var currentPage = useGridVisibleRows(apiRef, props);
57
- var pinnedRows = useGridSelector(apiRef, gridPinnedRowsSelector);
58
- var validRowHeight = getValidRowHeight(props.rowHeight, DATA_GRID_PROPS_DEFAULT_VALUES.rowHeight, rowHeightWarning);
59
- var rowHeight = Math.floor(validRowHeight * densityFactor);
60
- var hydrateRowsMeta = React.useCallback(function () {
61
- var _pinnedRows$top, _pinnedRows$bottom;
62
- hasRowWithAutoHeight.current = false;
63
- var calculateRowProcessedSizes = function calculateRowProcessedSizes(row) {
64
- if (!rowsHeightLookup.current[row.id]) {
65
- rowsHeightLookup.current[row.id] = {
66
- sizes: {
67
- baseCenter: rowHeight
68
- },
69
- isResized: false,
70
- autoHeight: false,
71
- needsFirstMeasurement: true // Assume all rows will need to be measured by default
72
- };
73
- }
74
- var _rowsHeightLookup$cur = rowsHeightLookup.current[row.id],
75
- isResized = _rowsHeightLookup$cur.isResized,
76
- needsFirstMeasurement = _rowsHeightLookup$cur.needsFirstMeasurement,
77
- sizes = _rowsHeightLookup$cur.sizes;
78
- var baseRowHeight = typeof rowHeight === 'number' && rowHeight > 0 ? rowHeight : 52;
79
- var existingBaseRowHeight = sizes.baseCenter;
80
- if (isResized) {
81
- // Do not recalculate resized row height and use the value from the lookup
82
- baseRowHeight = existingBaseRowHeight;
83
- } else if (getRowHeightProp) {
84
- var rowHeightFromUser = getRowHeightProp(_extends({}, row, {
85
- densityFactor: densityFactor
86
- }));
87
- if (rowHeightFromUser === 'auto') {
88
- if (needsFirstMeasurement) {
89
- var estimatedRowHeight = getEstimatedRowHeight ? getEstimatedRowHeight(_extends({}, row, {
90
- densityFactor: densityFactor
91
- })) : rowHeight;
92
-
93
- // If the row was not measured yet use the estimated row height
94
- baseRowHeight = estimatedRowHeight != null ? estimatedRowHeight : rowHeight;
95
- } else {
96
- baseRowHeight = existingBaseRowHeight;
97
- }
98
- hasRowWithAutoHeight.current = true;
99
- rowsHeightLookup.current[row.id].autoHeight = true;
100
- } else {
101
- // Default back to base rowHeight if getRowHeight returns invalid value.
102
- baseRowHeight = getValidRowHeight(rowHeightFromUser, rowHeight, getRowHeightWarning);
103
- rowsHeightLookup.current[row.id].needsFirstMeasurement = false;
104
- rowsHeightLookup.current[row.id].autoHeight = false;
105
- }
106
- } else {
107
- rowsHeightLookup.current[row.id].needsFirstMeasurement = false;
108
- }
109
- var initialHeights = {};
110
- /* eslint-disable-next-line no-restricted-syntax */
111
- for (var _key in sizes) {
112
- if (/^base[A-Z]/.test(_key)) {
113
- initialHeights[_key] = sizes[_key];
114
- }
115
- }
116
- initialHeights.baseCenter = baseRowHeight;
117
- if (getRowSpacing) {
118
- var _spacing$top, _spacing$bottom;
119
- var indexRelativeToCurrentPage = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
120
- var spacing = getRowSpacing(_extends({}, row, {
121
- isFirstVisible: indexRelativeToCurrentPage === 0,
122
- isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
123
- indexRelativeToCurrentPage: indexRelativeToCurrentPage
124
- }));
125
- initialHeights.spacingTop = (_spacing$top = spacing.top) != null ? _spacing$top : 0;
126
- initialHeights.spacingBottom = (_spacing$bottom = spacing.bottom) != null ? _spacing$bottom : 0;
127
- }
128
- var processedSizes = apiRef.current.unstable_applyPipeProcessors('rowHeight', initialHeights, row);
129
- rowsHeightLookup.current[row.id].sizes = processedSizes;
130
- return processedSizes;
131
- };
132
- var positions = [];
133
- var currentPageTotalHeight = currentPage.rows.reduce(function (acc, row) {
134
- positions.push(acc);
135
- var maximumBaseSize = 0;
136
- var otherSizes = 0;
137
- var processedSizes = calculateRowProcessedSizes(row);
138
- /* eslint-disable-next-line no-restricted-syntax, guard-for-in */
139
- for (var _key2 in processedSizes) {
140
- var value = processedSizes[_key2];
141
- if (/^base[A-Z]/.test(_key2)) {
142
- maximumBaseSize = value > maximumBaseSize ? value : maximumBaseSize;
143
- } else {
144
- otherSizes += value;
145
- }
146
- }
147
- return acc + maximumBaseSize + otherSizes;
148
- }, 0);
149
- pinnedRows == null || (_pinnedRows$top = pinnedRows.top) == null || _pinnedRows$top.forEach(function (row) {
150
- calculateRowProcessedSizes(row);
151
- });
152
- pinnedRows == null || (_pinnedRows$bottom = pinnedRows.bottom) == null || _pinnedRows$bottom.forEach(function (row) {
153
- calculateRowProcessedSizes(row);
154
- });
155
- apiRef.current.setState(function (state) {
156
- return _extends({}, state, {
157
- rowsMeta: {
158
- currentPageTotalHeight: currentPageTotalHeight,
159
- positions: positions
160
- }
161
- });
162
- });
163
- if (!hasRowWithAutoHeight.current) {
164
- // No row has height=auto, so all rows are already measured
165
- lastMeasuredRowIndex.current = Infinity;
166
- }
167
- apiRef.current.forceUpdate();
168
- }, [apiRef, currentPage.rows, rowHeight, getRowHeightProp, getRowSpacing, getEstimatedRowHeight, pinnedRows, densityFactor]);
169
- var getRowHeight = React.useCallback(function (rowId) {
170
- var height = rowsHeightLookup.current[rowId];
171
- return height ? height.sizes.baseCenter : rowHeight;
172
- }, [rowHeight]);
173
- var getRowInternalSizes = function getRowInternalSizes(rowId) {
174
- var _rowsHeightLookup$cur2;
175
- return (_rowsHeightLookup$cur2 = rowsHeightLookup.current[rowId]) == null ? void 0 : _rowsHeightLookup$cur2.sizes;
176
- };
177
- var setRowHeight = React.useCallback(function (id, height) {
178
- rowsHeightLookup.current[id].sizes.baseCenter = height;
179
- rowsHeightLookup.current[id].isResized = true;
180
- rowsHeightLookup.current[id].needsFirstMeasurement = false;
181
- hydrateRowsMeta();
182
- }, [hydrateRowsMeta]);
183
- var debouncedHydrateRowsMeta = React.useMemo(function () {
184
- return debounce(hydrateRowsMeta, props.rowPositionsDebounceMs);
185
- }, [hydrateRowsMeta, props.rowPositionsDebounceMs]);
186
- var storeMeasuredRowHeight = React.useCallback(function (id, height) {
187
- if (!rowsHeightLookup.current[id] || !rowsHeightLookup.current[id].autoHeight) {
188
- return;
189
- }
190
-
191
- // Only trigger hydration if the value is different, otherwise we trigger a loop
192
- var needsHydration = rowsHeightLookup.current[id].sizes.baseCenter !== height;
193
- rowsHeightLookup.current[id].needsFirstMeasurement = false;
194
- rowsHeightLookup.current[id].sizes.baseCenter = height;
195
- if (needsHydration) {
196
- debouncedHydrateRowsMeta();
197
- }
198
- }, [debouncedHydrateRowsMeta]);
199
- var rowHasAutoHeight = React.useCallback(function (id) {
200
- var _rowsHeightLookup$cur3;
201
- return ((_rowsHeightLookup$cur3 = rowsHeightLookup.current[id]) == null ? void 0 : _rowsHeightLookup$cur3.autoHeight) || false;
202
- }, []);
203
- var getLastMeasuredRowIndex = React.useCallback(function () {
204
- return lastMeasuredRowIndex.current;
205
- }, []);
206
- var setLastMeasuredRowIndex = React.useCallback(function (index) {
207
- if (hasRowWithAutoHeight.current && index > lastMeasuredRowIndex.current) {
208
- lastMeasuredRowIndex.current = index;
209
- }
210
- }, []);
211
- var resetRowHeights = React.useCallback(function () {
212
- rowsHeightLookup.current = {};
213
- hydrateRowsMeta();
214
- }, [hydrateRowsMeta]);
215
-
216
- // The effect is used to build the rows meta data - currentPageTotalHeight and positions.
217
- // Because of variable row height this is needed for the virtualization
218
- React.useEffect(function () {
219
- hydrateRowsMeta();
220
- }, [rowHeight, filterModel, paginationState, sortModel, hydrateRowsMeta]);
221
- useGridRegisterPipeApplier(apiRef, 'rowHeight', hydrateRowsMeta);
222
- var rowsMetaApi = {
223
- unstable_setLastMeasuredRowIndex: setLastMeasuredRowIndex,
224
- unstable_getRowHeight: getRowHeight,
225
- unstable_getRowInternalSizes: getRowInternalSizes,
226
- unstable_setRowHeight: setRowHeight,
227
- unstable_storeRowHeightMeasurement: storeMeasuredRowHeight,
228
- resetRowHeights: resetRowHeights
229
- };
230
- var rowsMetaPrivateApi = {
231
- getLastMeasuredRowIndex: getLastMeasuredRowIndex,
232
- rowHasAutoHeight: rowHasAutoHeight
233
- };
234
- useGridApiMethod(apiRef, rowsMetaApi, 'public');
235
- useGridApiMethod(apiRef, rowsMetaPrivateApi, 'private');
236
- };
@@ -1,82 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import { GRID_DEFAULT_STRATEGY, useGridRegisterStrategyProcessor } from '../../core/strategyProcessing';
5
- import { buildRootGroup, GRID_ROOT_GROUP_ID } from './gridRowsUtils';
6
- var createFlatRowTree = function createFlatRowTree(rows) {
7
- var tree = _defineProperty({}, GRID_ROOT_GROUP_ID, _extends({}, buildRootGroup(), {
8
- children: rows
9
- }));
10
- for (var i = 0; i < rows.length; i += 1) {
11
- var rowId = rows[i];
12
- tree[rowId] = {
13
- id: rowId,
14
- depth: 0,
15
- parent: GRID_ROOT_GROUP_ID,
16
- type: 'leaf',
17
- groupingKey: null
18
- };
19
- }
20
- return {
21
- groupingName: GRID_DEFAULT_STRATEGY,
22
- tree: tree,
23
- treeDepths: {
24
- 0: rows.length
25
- },
26
- dataRowIds: rows
27
- };
28
- };
29
- var updateFlatRowTree = function updateFlatRowTree(_ref) {
30
- var previousTree = _ref.previousTree,
31
- actions = _ref.actions;
32
- var tree = _extends({}, previousTree);
33
- var idsToRemoveFromRootGroup = {};
34
- for (var i = 0; i < actions.remove.length; i += 1) {
35
- var idToDelete = actions.remove[i];
36
- idsToRemoveFromRootGroup[idToDelete] = true;
37
- delete tree[idToDelete];
38
- }
39
- for (var _i = 0; _i < actions.insert.length; _i += 1) {
40
- var idToInsert = actions.insert[_i];
41
- tree[idToInsert] = {
42
- id: idToInsert,
43
- depth: 0,
44
- parent: GRID_ROOT_GROUP_ID,
45
- type: 'leaf',
46
- groupingKey: null
47
- };
48
- }
49
-
50
- // TODO rows v6: Support row unpinning
51
-
52
- var rootGroup = tree[GRID_ROOT_GROUP_ID];
53
- var rootGroupChildren = [].concat(_toConsumableArray(rootGroup.children), _toConsumableArray(actions.insert));
54
- if (Object.values(idsToRemoveFromRootGroup).length) {
55
- rootGroupChildren = rootGroupChildren.filter(function (id) {
56
- return !idsToRemoveFromRootGroup[id];
57
- });
58
- }
59
- tree[GRID_ROOT_GROUP_ID] = _extends({}, rootGroup, {
60
- children: rootGroupChildren
61
- });
62
- return {
63
- groupingName: GRID_DEFAULT_STRATEGY,
64
- tree: tree,
65
- treeDepths: {
66
- 0: rootGroupChildren.length
67
- },
68
- dataRowIds: rootGroupChildren
69
- };
70
- };
71
- var flatRowTreeCreationMethod = function flatRowTreeCreationMethod(params) {
72
- if (params.updates.type === 'full') {
73
- return createFlatRowTree(params.updates.rows);
74
- }
75
- return updateFlatRowTree({
76
- previousTree: params.previousTree,
77
- actions: params.updates.actions
78
- });
79
- };
80
- export var useGridRowsPreProcessors = function useGridRowsPreProcessors(apiRef) {
81
- useGridRegisterStrategyProcessor(apiRef, GRID_DEFAULT_STRATEGY, 'rowTreeCreation', flatRowTreeCreationMethod);
82
- };
@@ -1,133 +0,0 @@
1
- import _typeof from "@babel/runtime/helpers/esm/typeof";
2
- import * as React from 'react';
3
- import { useTheme } from '@mui/material/styles';
4
- import { useGridLogger } from '../../utils/useGridLogger';
5
- import { gridColumnPositionsSelector, gridVisibleColumnDefinitionsSelector } from '../columns/gridColumnsSelector';
6
- import { useGridSelector } from '../../utils/useGridSelector';
7
- import { gridPageSelector, gridPageSizeSelector } from '../pagination/gridPaginationSelector';
8
- import { gridRowCountSelector } from '../rows/gridRowsSelector';
9
- import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
10
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
11
- import { gridExpandedSortedRowEntriesSelector } from '../filter/gridFilterSelector';
12
- import { gridDimensionsSelector } from '../dimensions';
13
-
14
- // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
15
- // Similar to https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
16
- function scrollIntoView(dimensions) {
17
- var clientHeight = dimensions.clientHeight,
18
- scrollTop = dimensions.scrollTop,
19
- offsetHeight = dimensions.offsetHeight,
20
- offsetTop = dimensions.offsetTop;
21
- var elementBottom = offsetTop + offsetHeight;
22
- // Always scroll to top when cell is higher than viewport to avoid scroll jump
23
- // See https://github.com/mui/mui-x/issues/4513 and https://github.com/mui/mui-x/issues/4514
24
- if (offsetHeight > clientHeight) {
25
- return offsetTop;
26
- }
27
- if (elementBottom - clientHeight > scrollTop) {
28
- return elementBottom - clientHeight;
29
- }
30
- if (offsetTop < scrollTop) {
31
- return offsetTop;
32
- }
33
- return undefined;
34
- }
35
-
36
- /**
37
- * @requires useGridPagination (state) - can be after, async only
38
- * @requires useGridColumns (state) - can be after, async only
39
- * @requires useGridRows (state) - can be after, async only
40
- * @requires useGridRowsMeta (state) - can be after, async only
41
- * @requires useGridFilter (state)
42
- * @requires useGridColumnSpanning (method)
43
- */
44
- export var useGridScroll = function useGridScroll(apiRef, props) {
45
- var theme = useTheme();
46
- var logger = useGridLogger(apiRef, 'useGridScroll');
47
- var colRef = apiRef.current.columnHeadersElementRef;
48
- var virtualScrollerRef = apiRef.current.virtualScrollerRef;
49
- var visibleSortedRows = useGridSelector(apiRef, gridExpandedSortedRowEntriesSelector);
50
- var scrollToIndexes = React.useCallback(function (params) {
51
- var dimensions = gridDimensionsSelector(apiRef.current.state);
52
- var totalRowCount = gridRowCountSelector(apiRef);
53
- var visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
54
- var scrollToHeader = params.rowIndex == null;
55
- if (!scrollToHeader && totalRowCount === 0 || visibleColumns.length === 0) {
56
- return false;
57
- }
58
- logger.debug("Scrolling to cell at row ".concat(params.rowIndex, ", col: ").concat(params.colIndex, " "));
59
- var scrollCoordinates = {};
60
- if (params.colIndex !== undefined) {
61
- var columnPositions = gridColumnPositionsSelector(apiRef);
62
- var cellWidth;
63
- if (typeof params.rowIndex !== 'undefined') {
64
- var _visibleSortedRows$pa;
65
- var rowId = (_visibleSortedRows$pa = visibleSortedRows[params.rowIndex]) == null ? void 0 : _visibleSortedRows$pa.id;
66
- var cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, params.colIndex);
67
- if (cellColSpanInfo && !cellColSpanInfo.spannedByColSpan) {
68
- cellWidth = cellColSpanInfo.cellProps.width;
69
- }
70
- }
71
- if (typeof cellWidth === 'undefined') {
72
- cellWidth = visibleColumns[params.colIndex].computedWidth;
73
- }
74
- // When using RTL, `scrollLeft` becomes negative, so we must ensure that we only compare values.
75
- scrollCoordinates.left = scrollIntoView({
76
- clientHeight: dimensions.viewportInnerSize.width,
77
- scrollTop: Math.abs(virtualScrollerRef.current.scrollLeft),
78
- offsetHeight: cellWidth,
79
- offsetTop: columnPositions[params.colIndex]
80
- });
81
- }
82
- if (params.rowIndex !== undefined) {
83
- var rowsMeta = gridRowsMetaSelector(apiRef.current.state);
84
- var page = gridPageSelector(apiRef);
85
- var pageSize = gridPageSizeSelector(apiRef);
86
- var elementIndex = !props.pagination ? params.rowIndex : params.rowIndex - page * pageSize;
87
- var targetOffsetHeight = rowsMeta.positions[elementIndex + 1] ? rowsMeta.positions[elementIndex + 1] - rowsMeta.positions[elementIndex] : rowsMeta.currentPageTotalHeight - rowsMeta.positions[elementIndex];
88
- scrollCoordinates.top = scrollIntoView({
89
- clientHeight: dimensions.viewportInnerSize.height,
90
- scrollTop: virtualScrollerRef.current.scrollTop,
91
- offsetHeight: targetOffsetHeight,
92
- offsetTop: rowsMeta.positions[elementIndex]
93
- });
94
- }
95
- scrollCoordinates = apiRef.current.unstable_applyPipeProcessors('scrollToIndexes', scrollCoordinates, params);
96
- if (_typeof(scrollCoordinates.left) !== undefined || _typeof(scrollCoordinates.top) !== undefined) {
97
- apiRef.current.scroll(scrollCoordinates);
98
- return true;
99
- }
100
- return false;
101
- }, [logger, apiRef, virtualScrollerRef, props.pagination, visibleSortedRows]);
102
- var scroll = React.useCallback(function (params) {
103
- if (virtualScrollerRef.current && params.left !== undefined && colRef.current) {
104
- var direction = theme.direction === 'rtl' ? -1 : 1;
105
- colRef.current.scrollLeft = params.left;
106
- virtualScrollerRef.current.scrollLeft = direction * params.left;
107
- logger.debug("Scrolling left: ".concat(params.left));
108
- }
109
- if (virtualScrollerRef.current && params.top !== undefined) {
110
- virtualScrollerRef.current.scrollTop = params.top;
111
- logger.debug("Scrolling top: ".concat(params.top));
112
- }
113
- logger.debug("Scrolling, updating container, and viewport");
114
- }, [virtualScrollerRef, theme.direction, colRef, logger]);
115
- var getScrollPosition = React.useCallback(function () {
116
- if (!(virtualScrollerRef != null && virtualScrollerRef.current)) {
117
- return {
118
- top: 0,
119
- left: 0
120
- };
121
- }
122
- return {
123
- top: virtualScrollerRef.current.scrollTop,
124
- left: virtualScrollerRef.current.scrollLeft
125
- };
126
- }, [virtualScrollerRef]);
127
- var scrollApi = {
128
- scroll: scroll,
129
- scrollToIndexes: scrollToIndexes,
130
- getScrollPosition: getScrollPosition
131
- };
132
- useGridApiMethod(apiRef, scrollApi, 'public');
133
- };
@@ -1,56 +0,0 @@
1
- import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
2
- import { gridRowsLookupSelector } from '../rows/gridRowsSelector';
3
-
4
- /**
5
- * @category Sorting
6
- * @ignore - do not document.
7
- */
8
- var gridSortingStateSelector = function gridSortingStateSelector(state) {
9
- return state.sorting;
10
- };
11
-
12
- /**
13
- * Get the id of the rows after the sorting process.
14
- * @category Sorting
15
- */
16
- export var gridSortedRowIdsSelector = createSelector(gridSortingStateSelector, function (sortingState) {
17
- return sortingState.sortedRows;
18
- });
19
-
20
- /**
21
- * Get the id and the model of the rows after the sorting process.
22
- * @category Sorting
23
- */
24
- export var gridSortedRowEntriesSelector = createSelectorMemoized(gridSortedRowIdsSelector, gridRowsLookupSelector,
25
- // TODO rows v6: Is this the best approach ?
26
- function (sortedIds, idRowsLookup) {
27
- return sortedIds.map(function (id) {
28
- var _idRowsLookup$id;
29
- return {
30
- id: id,
31
- model: (_idRowsLookup$id = idRowsLookup[id]) != null ? _idRowsLookup$id : {}
32
- };
33
- });
34
- });
35
-
36
- /**
37
- * Get the current sorting model.
38
- * @category Sorting
39
- */
40
- export var gridSortModelSelector = createSelector(gridSortingStateSelector, function (sorting) {
41
- return sorting.sortModel;
42
- });
43
- /**
44
- * @category Sorting
45
- * @ignore - do not document.
46
- */
47
- export var gridSortColumnLookupSelector = createSelectorMemoized(gridSortModelSelector, function (sortModel) {
48
- var result = sortModel.reduce(function (res, sortItem, index) {
49
- res[sortItem.field] = {
50
- sortDirection: sortItem.sort,
51
- sortIndex: sortModel.length > 1 ? index + 1 : undefined
52
- };
53
- return res;
54
- }, {});
55
- return result;
56
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,154 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { buildWarning } from '../../../utils/warning';
3
- var sortModelDisableMultiColumnsSortingWarning = buildWarning(['MUI X: The `sortModel` can only contain a single item when the `disableMultipleColumnsSorting` prop is set to `true`.', 'If you are using the community version of the `DataGrid`, this prop is always `true`.'], 'error');
4
- export var sanitizeSortModel = function sanitizeSortModel(model, disableMultipleColumnsSorting) {
5
- if (disableMultipleColumnsSorting && model.length > 1) {
6
- if (process.env.NODE_ENV !== 'production') {
7
- sortModelDisableMultiColumnsSortingWarning();
8
- }
9
- return [model[0]];
10
- }
11
- return model;
12
- };
13
- export var mergeStateWithSortModel = function mergeStateWithSortModel(sortModel, disableMultipleColumnsSorting) {
14
- return function (state) {
15
- return _extends({}, state, {
16
- sorting: _extends({}, state.sorting, {
17
- sortModel: sanitizeSortModel(sortModel, disableMultipleColumnsSorting)
18
- })
19
- });
20
- };
21
- };
22
- var isDesc = function isDesc(direction) {
23
- return direction === 'desc';
24
- };
25
-
26
- /**
27
- * Transform an item of the sorting model into a method comparing two rows.
28
- * @param {GridSortItem} sortItem The sort item we want to apply.
29
- * @param {React.MutableRefObject<GridApiCommunity>} apiRef The API of the grid.
30
- * @returns {GridParsedSortItem | null} The parsed sort item. Returns `null` is the sort item is not valid.
31
- */
32
- var parseSortItem = function parseSortItem(sortItem, apiRef) {
33
- var column = apiRef.current.getColumn(sortItem.field);
34
- if (!column || sortItem.sort === null) {
35
- return null;
36
- }
37
- var comparator = isDesc(sortItem.sort) ? function () {
38
- return -1 * column.sortComparator.apply(column, arguments);
39
- } : column.sortComparator;
40
- var getSortCellParams = function getSortCellParams(id) {
41
- return {
42
- id: id,
43
- field: column.field,
44
- rowNode: apiRef.current.getRowNode(id),
45
- value: apiRef.current.getCellValue(id, column.field),
46
- api: apiRef.current
47
- };
48
- };
49
- return {
50
- getSortCellParams: getSortCellParams,
51
- comparator: comparator
52
- };
53
- };
54
- /**
55
- * Compare two rows according to a list of valid sort items.
56
- * The `row1Params` and `row2Params` must have the same length as `parsedSortItems`,
57
- * and each of their index must contain the `GridSortCellParams` of the sort item with the same index.
58
- * @param {GridParsedSortItem[]} parsedSortItems All the sort items with which we want to compare the rows.
59
- * @param {GridRowAggregatedSortingParams} row1 The node and params of the 1st row for each sort item.
60
- * @param {GridRowAggregatedSortingParams} row2 The node and params of the 2nd row for each sort item.
61
- */
62
- var compareRows = function compareRows(parsedSortItems, row1, row2) {
63
- return parsedSortItems.reduce(function (res, item, index) {
64
- if (res !== 0) {
65
- // return the results of the first comparator which distinguish the two rows
66
- return res;
67
- }
68
- var sortCellParams1 = row1.params[index];
69
- var sortCellParams2 = row2.params[index];
70
- res = item.comparator(sortCellParams1.value, sortCellParams2.value, sortCellParams1, sortCellParams2);
71
- return res;
72
- }, 0);
73
- };
74
-
75
- /**
76
- * Generates a method to easily sort a list of rows according to the current sort model.
77
- * @param {GridSortModel} sortModel The model with which we want to sort the rows.
78
- * @param {React.MutableRefObject<GridApiCommunity>} apiRef The API of the grid.
79
- * @returns {GridSortingModelApplier | null} A method that generates a list of sorted row ids from a list of rows according to the current sort model. If `null`, we consider that the rows should remain in the order there were provided.
80
- */
81
- export var buildAggregatedSortingApplier = function buildAggregatedSortingApplier(sortModel, apiRef) {
82
- var comparatorList = sortModel.map(function (item) {
83
- return parseSortItem(item, apiRef);
84
- }).filter(function (comparator) {
85
- return !!comparator;
86
- });
87
- if (comparatorList.length === 0) {
88
- return null;
89
- }
90
- return function (rowList) {
91
- return rowList.map(function (node) {
92
- return {
93
- node: node,
94
- params: comparatorList.map(function (el) {
95
- return el.getSortCellParams(node.id);
96
- })
97
- };
98
- }).sort(function (a, b) {
99
- return compareRows(comparatorList, a, b);
100
- }).map(function (row) {
101
- return row.node.id;
102
- });
103
- };
104
- };
105
- export var getNextGridSortDirection = function getNextGridSortDirection(sortingOrder, current) {
106
- var currentIdx = sortingOrder.indexOf(current);
107
- if (!current || currentIdx === -1 || currentIdx + 1 === sortingOrder.length) {
108
- return sortingOrder[0];
109
- }
110
- return sortingOrder[currentIdx + 1];
111
- };
112
- var gridNillComparator = function gridNillComparator(v1, v2) {
113
- if (v1 == null && v2 != null) {
114
- return -1;
115
- }
116
- if (v2 == null && v1 != null) {
117
- return 1;
118
- }
119
- if (v1 == null && v2 == null) {
120
- return 0;
121
- }
122
- return null;
123
- };
124
- var collator = new Intl.Collator();
125
- export var gridStringOrNumberComparator = function gridStringOrNumberComparator(value1, value2) {
126
- var nillResult = gridNillComparator(value1, value2);
127
- if (nillResult !== null) {
128
- return nillResult;
129
- }
130
- if (typeof value1 === 'string') {
131
- return collator.compare(value1.toString(), value2.toString());
132
- }
133
- return value1 - value2;
134
- };
135
- export var gridNumberComparator = function gridNumberComparator(value1, value2) {
136
- var nillResult = gridNillComparator(value1, value2);
137
- if (nillResult !== null) {
138
- return nillResult;
139
- }
140
- return Number(value1) - Number(value2);
141
- };
142
- export var gridDateComparator = function gridDateComparator(value1, value2) {
143
- var nillResult = gridNillComparator(value1, value2);
144
- if (nillResult !== null) {
145
- return nillResult;
146
- }
147
- if (value1 > value2) {
148
- return 1;
149
- }
150
- if (value1 < value2) {
151
- return -1;
152
- }
153
- return 0;
154
- };
@@ -1,2 +0,0 @@
1
- export * from './gridSortingSelector';
2
- export { gridDateComparator, gridNumberComparator, gridStringOrNumberComparator } from './gridSortingUtils';