@mui/x-data-grid 7.0.0-beta.2 → 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 (496) hide show
  1. package/CHANGELOG.md +298 -23
  2. package/DataGrid/DataGrid.js +0 -6
  3. package/colDef/gridActionsColDef.js +1 -0
  4. package/colDef/gridBooleanColDef.js +1 -0
  5. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  6. package/components/GridRow.d.ts +3 -1
  7. package/components/GridRow.js +10 -2
  8. package/components/GridScrollbarFillerCell.js +6 -21
  9. package/components/cell/GridCell.js +10 -12
  10. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  11. package/components/containers/GridRootStyles.js +51 -23
  12. package/components/panel/GridPanel.d.ts +1 -1
  13. package/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  14. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  15. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  16. package/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  17. package/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  18. package/constants/gridClasses.d.ts +24 -8
  19. package/constants/gridClasses.js +1 -1
  20. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  21. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -5
  22. package/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
  23. package/hooks/features/editing/useGridCellEditing.js +3 -4
  24. package/hooks/features/editing/useGridRowEditing.js +3 -4
  25. package/hooks/features/sorting/useGridSorting.js +1 -2
  26. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +9 -0
  27. package/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
  28. package/hooks/features/virtualization/useGridVirtualScroller.js +19 -16
  29. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  30. package/hooks/features/virtualization/useGridVirtualization.js +6 -1
  31. package/index.js +1 -1
  32. package/internals/index.d.ts +1 -1
  33. package/internals/index.js +1 -1
  34. package/models/colDef/gridColDef.d.ts +6 -0
  35. package/models/events/gridEventLookup.d.ts +1 -8
  36. package/models/props/DataGridProps.d.ts +0 -6
  37. package/modern/DataGrid/DataGrid.js +0 -6
  38. package/modern/colDef/gridActionsColDef.js +1 -0
  39. package/modern/colDef/gridBooleanColDef.js +1 -0
  40. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  41. package/modern/components/GridRow.js +10 -2
  42. package/modern/components/GridScrollbarFillerCell.js +6 -21
  43. package/modern/components/cell/GridCell.js +10 -12
  44. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  45. package/modern/components/containers/GridRootStyles.js +51 -23
  46. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  47. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  48. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  49. package/modern/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  50. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  51. package/modern/constants/gridClasses.js +1 -1
  52. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  53. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
  54. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  55. package/modern/hooks/features/editing/useGridRowEditing.js +3 -4
  56. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  57. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
  58. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +18 -14
  59. package/modern/hooks/features/virtualization/useGridVirtualization.js +6 -1
  60. package/modern/index.js +1 -1
  61. package/modern/internals/index.js +1 -1
  62. package/modern/utils/keyboardUtils.js +20 -11
  63. package/node/DataGrid/DataGrid.js +0 -6
  64. package/node/colDef/gridActionsColDef.js +1 -0
  65. package/node/colDef/gridBooleanColDef.js +1 -0
  66. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  67. package/node/components/GridRow.js +10 -2
  68. package/node/components/GridScrollbarFillerCell.js +5 -20
  69. package/node/components/cell/GridCell.js +10 -12
  70. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  71. package/node/components/containers/GridRootStyles.js +51 -23
  72. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  73. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  74. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  75. package/node/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  76. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  77. package/node/constants/gridClasses.js +1 -1
  78. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  79. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +45 -47
  80. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  81. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  82. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  83. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +8 -1
  84. package/node/hooks/features/virtualization/useGridVirtualScroller.js +17 -13
  85. package/node/hooks/features/virtualization/useGridVirtualization.js +7 -2
  86. package/node/index.js +1 -1
  87. package/node/internals/index.js +7 -0
  88. package/node/utils/keyboardUtils.js +25 -20
  89. package/package.json +3 -3
  90. package/utils/keyboardUtils.d.ts +7 -6
  91. package/utils/keyboardUtils.js +20 -11
  92. package/legacy/DataGrid/DataGrid.js +0 -670
  93. package/legacy/DataGrid/index.js +0 -2
  94. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  95. package/legacy/DataGrid/useDataGridProps.js +0 -98
  96. package/legacy/colDef/gridActionsColDef.js +0 -18
  97. package/legacy/colDef/gridBooleanColDef.js +0 -42
  98. package/legacy/colDef/gridBooleanOperators.js +0 -16
  99. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  100. package/legacy/colDef/gridDateColDef.js +0 -62
  101. package/legacy/colDef/gridDateOperators.js +0 -115
  102. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  103. package/legacy/colDef/gridNumericColDef.js +0 -19
  104. package/legacy/colDef/gridNumericOperators.js +0 -145
  105. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  106. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  107. package/legacy/colDef/gridStringColDef.js +0 -27
  108. package/legacy/colDef/gridStringOperators.js +0 -112
  109. package/legacy/colDef/index.js +0 -13
  110. package/legacy/components/GridApiContext.js +0 -5
  111. package/legacy/components/GridColumnHeaders.js +0 -94
  112. package/legacy/components/GridDetailPanels.js +0 -4
  113. package/legacy/components/GridFooter.js +0 -42
  114. package/legacy/components/GridHeader.js +0 -13
  115. package/legacy/components/GridHeaders.js +0 -53
  116. package/legacy/components/GridLoadingOverlay.js +0 -21
  117. package/legacy/components/GridNoResultsOverlay.js +0 -14
  118. package/legacy/components/GridNoRowsOverlay.js +0 -23
  119. package/legacy/components/GridPagination.js +0 -85
  120. package/legacy/components/GridPinnedRows.js +0 -4
  121. package/legacy/components/GridRow.js +0 -457
  122. package/legacy/components/GridRowCount.js +0 -63
  123. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  124. package/legacy/components/GridSelectedRowCount.js +0 -66
  125. package/legacy/components/base/GridBody.js +0 -2
  126. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  127. package/legacy/components/base/GridOverlays.js +0 -122
  128. package/legacy/components/base/index.js +0 -3
  129. package/legacy/components/cell/GridActionsCell.js +0 -294
  130. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  131. package/legacy/components/cell/GridBooleanCell.js +0 -121
  132. package/legacy/components/cell/GridCell.js +0 -350
  133. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  134. package/legacy/components/cell/GridEditDateCell.js +0 -230
  135. package/legacy/components/cell/GridEditInputCell.js +0 -198
  136. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  137. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  138. package/legacy/components/cell/index.js +0 -9
  139. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  140. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  141. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  142. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  143. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  144. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  145. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  146. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  147. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  148. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  149. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  150. package/legacy/components/columnHeaders/index.js +0 -5
  151. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  152. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  153. package/legacy/components/columnSelection/index.js +0 -2
  154. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  155. package/legacy/components/columnsManagement/index.js +0 -1
  156. package/legacy/components/columnsManagement/utils.js +0 -22
  157. package/legacy/components/containers/GridFooterContainer.js +0 -50
  158. package/legacy/components/containers/GridOverlay.js +0 -52
  159. package/legacy/components/containers/GridRoot.js +0 -79
  160. package/legacy/components/containers/GridRootStyles.js +0 -398
  161. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  162. package/legacy/components/containers/index.js +0 -4
  163. package/legacy/components/index.js +0 -19
  164. package/legacy/components/menu/GridMenu.js +0 -132
  165. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  166. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  167. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  168. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  169. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  170. package/legacy/components/menu/columnMenu/index.js +0 -9
  171. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  172. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  173. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  174. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  175. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  176. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  177. package/legacy/components/menu/index.js +0 -2
  178. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  179. package/legacy/components/panel/GridPanel.js +0 -137
  180. package/legacy/components/panel/GridPanelContent.js +0 -49
  181. package/legacy/components/panel/GridPanelFooter.js +0 -50
  182. package/legacy/components/panel/GridPanelHeader.js +0 -48
  183. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  184. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  185. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  186. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -115
  187. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  188. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  189. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  190. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -146
  191. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -104
  192. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  193. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  194. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  195. package/legacy/components/panel/filterPanel/index.js +0 -9
  196. package/legacy/components/panel/index.js +0 -7
  197. package/legacy/components/reexportable.js +0 -1
  198. package/legacy/components/toolbar/GridToolbar.js +0 -64
  199. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  200. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  201. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  202. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  203. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  204. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  205. package/legacy/components/toolbar/index.js +0 -7
  206. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  207. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  208. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  209. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  210. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  211. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  212. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  213. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -42
  214. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  215. package/legacy/constants/envConstants.js +0 -19
  216. package/legacy/constants/gridClasses.js +0 -5
  217. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  218. package/legacy/constants/index.js +0 -3
  219. package/legacy/constants/localeTextConstants.js +0 -158
  220. package/legacy/context/GridContextProvider.js +0 -21
  221. package/legacy/context/GridRootPropsContext.js +0 -6
  222. package/legacy/context/index.js +0 -1
  223. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  224. package/legacy/hooks/core/index.js +0 -1
  225. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  226. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  227. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  228. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  229. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  230. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  231. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  232. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  233. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  234. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  235. package/legacy/hooks/core/useGridInitialization.js +0 -26
  236. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  237. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  238. package/legacy/hooks/core/useGridRefs.js +0 -13
  239. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  240. package/legacy/hooks/core/useGridTheme.js +0 -21
  241. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  242. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  243. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  244. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  245. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  246. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  247. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -275
  248. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  249. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  250. package/legacy/hooks/features/columnMenu/index.js +0 -2
  251. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  252. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  253. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  254. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  255. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  256. package/legacy/hooks/features/columns/index.js +0 -2
  257. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  258. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  259. package/legacy/hooks/features/density/densitySelector.js +0 -10
  260. package/legacy/hooks/features/density/densityState.js +0 -1
  261. package/legacy/hooks/features/density/index.js +0 -2
  262. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  263. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  264. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  265. package/legacy/hooks/features/dimensions/index.js +0 -2
  266. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  267. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  268. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  269. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  270. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  271. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  272. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  273. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  274. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  275. package/legacy/hooks/features/export/utils.js +0 -49
  276. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  277. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  278. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  279. package/legacy/hooks/features/filter/index.js +0 -2
  280. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  281. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  282. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  283. package/legacy/hooks/features/focus/index.js +0 -2
  284. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  285. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  286. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  287. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  288. package/legacy/hooks/features/index.js +0 -16
  289. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  290. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  291. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  292. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  293. package/legacy/hooks/features/pagination/index.js +0 -2
  294. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  295. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  296. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  297. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  298. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  299. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  300. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  301. package/legacy/hooks/features/rowSelection/index.js +0 -1
  302. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  303. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  304. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  305. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  306. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  307. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  308. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  309. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  310. package/legacy/hooks/features/rows/index.js +0 -4
  311. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  312. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  313. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  314. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  315. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  316. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  317. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  318. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  319. package/legacy/hooks/features/sorting/index.js +0 -2
  320. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  321. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  322. package/legacy/hooks/features/statePersistence/index.js +0 -1
  323. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  324. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -52
  325. package/legacy/hooks/features/virtualization/index.js +0 -2
  326. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -643
  327. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -58
  328. package/legacy/hooks/index.js +0 -3
  329. package/legacy/hooks/utils/index.js +0 -9
  330. package/legacy/hooks/utils/useFirstRender.js +0 -8
  331. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  332. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  333. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  334. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  335. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  336. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  337. package/legacy/hooks/utils/useGridLogger.js +0 -10
  338. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  339. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  340. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  341. package/legacy/hooks/utils/useGridSelector.js +0 -54
  342. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  343. package/legacy/hooks/utils/useLazyRef.js +0 -11
  344. package/legacy/hooks/utils/useOnMount.js +0 -7
  345. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  346. package/legacy/hooks/utils/useRunOnce.js +0 -18
  347. package/legacy/hooks/utils/useTimeout.js +0 -38
  348. package/legacy/index.js +0 -38
  349. package/legacy/internals/index.js +0 -68
  350. package/legacy/internals/utils/computeSlots.js +0 -17
  351. package/legacy/internals/utils/index.js +0 -3
  352. package/legacy/internals/utils/propValidation.js +0 -21
  353. package/legacy/internals/utils/useProps.js +0 -32
  354. package/legacy/joy/icons.js +0 -432
  355. package/legacy/joy/index.js +0 -2
  356. package/legacy/joy/joySlots.js +0 -420
  357. package/legacy/locales/arSD.js +0 -160
  358. package/legacy/locales/beBY.js +0 -184
  359. package/legacy/locales/bgBG.js +0 -160
  360. package/legacy/locales/coreLocales.js +0 -62
  361. package/legacy/locales/csCZ.js +0 -181
  362. package/legacy/locales/daDK.js +0 -160
  363. package/legacy/locales/deDE.js +0 -160
  364. package/legacy/locales/elGR.js +0 -160
  365. package/legacy/locales/enUS.js +0 -4
  366. package/legacy/locales/esES.js +0 -160
  367. package/legacy/locales/faIR.js +0 -160
  368. package/legacy/locales/fiFI.js +0 -160
  369. package/legacy/locales/frFR.js +0 -160
  370. package/legacy/locales/heIL.js +0 -160
  371. package/legacy/locales/hrHR.js +0 -160
  372. package/legacy/locales/huHU.js +0 -160
  373. package/legacy/locales/index.js +0 -35
  374. package/legacy/locales/itIT.js +0 -160
  375. package/legacy/locales/jaJP.js +0 -160
  376. package/legacy/locales/koKR.js +0 -162
  377. package/legacy/locales/nbNO.js +0 -162
  378. package/legacy/locales/nlNL.js +0 -160
  379. package/legacy/locales/plPL.js +0 -163
  380. package/legacy/locales/ptBR.js +0 -160
  381. package/legacy/locales/ptPT.js +0 -160
  382. package/legacy/locales/roRO.js +0 -160
  383. package/legacy/locales/ruRU.js +0 -181
  384. package/legacy/locales/skSK.js +0 -181
  385. package/legacy/locales/svSE.js +0 -160
  386. package/legacy/locales/trTR.js +0 -161
  387. package/legacy/locales/ukUA.js +0 -182
  388. package/legacy/locales/urPK.js +0 -160
  389. package/legacy/locales/viVN.js +0 -160
  390. package/legacy/locales/zhCN.js +0 -160
  391. package/legacy/locales/zhHK.js +0 -160
  392. package/legacy/locales/zhTW.js +0 -160
  393. package/legacy/material/components/MUISelectOption.js +0 -14
  394. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  395. package/legacy/material/icons/index.js +0 -89
  396. package/legacy/material/index.js +0 -69
  397. package/legacy/models/api/gridApiCommon.js +0 -1
  398. package/legacy/models/api/gridApiCommunity.js +0 -1
  399. package/legacy/models/api/gridCallbackDetails.js +0 -1
  400. package/legacy/models/api/gridColumnApi.js +0 -1
  401. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  402. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  403. package/legacy/models/api/gridColumnSpanning.js +0 -1
  404. package/legacy/models/api/gridCoreApi.js +0 -1
  405. package/legacy/models/api/gridCsvExportApi.js +0 -1
  406. package/legacy/models/api/gridDensityApi.js +0 -1
  407. package/legacy/models/api/gridEditingApi.js +0 -1
  408. package/legacy/models/api/gridFilterApi.js +0 -1
  409. package/legacy/models/api/gridFocusApi.js +0 -1
  410. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  411. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  412. package/legacy/models/api/gridLoggerApi.js +0 -1
  413. package/legacy/models/api/gridParamsApi.js +0 -1
  414. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  415. package/legacy/models/api/gridPrintExportApi.js +0 -1
  416. package/legacy/models/api/gridRowApi.js +0 -1
  417. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  418. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  419. package/legacy/models/api/gridScrollApi.js +0 -1
  420. package/legacy/models/api/gridSortApi.js +0 -1
  421. package/legacy/models/api/gridStateApi.js +0 -1
  422. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  423. package/legacy/models/api/index.js +0 -16
  424. package/legacy/models/colDef/gridColDef.js +0 -1
  425. package/legacy/models/colDef/gridColType.js +0 -1
  426. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  427. package/legacy/models/colDef/index.js +0 -6
  428. package/legacy/models/controlStateItem.js +0 -1
  429. package/legacy/models/cursorCoordinates.js +0 -1
  430. package/legacy/models/elementSize.js +0 -1
  431. package/legacy/models/events/gridEventListener.js +0 -1
  432. package/legacy/models/events/gridEventLookup.js +0 -1
  433. package/legacy/models/events/gridEventPublisher.js +0 -1
  434. package/legacy/models/events/index.js +0 -3
  435. package/legacy/models/gridApiCaches.js +0 -1
  436. package/legacy/models/gridCell.js +0 -1
  437. package/legacy/models/gridCellClass.js +0 -1
  438. package/legacy/models/gridColumnGrouping.js +0 -11
  439. package/legacy/models/gridColumnHeaderClass.js +0 -1
  440. package/legacy/models/gridColumnSpanning.js +0 -1
  441. package/legacy/models/gridDensity.js +0 -1
  442. package/legacy/models/gridEditRowModel.js +0 -16
  443. package/legacy/models/gridExport.js +0 -1
  444. package/legacy/models/gridFeatureMode.js +0 -1
  445. package/legacy/models/gridFilterItem.js +0 -11
  446. package/legacy/models/gridFilterModel.js +0 -1
  447. package/legacy/models/gridFilterOperator.js +0 -1
  448. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  449. package/legacy/models/gridIconSlotsComponent.js +0 -1
  450. package/legacy/models/gridPaginationProps.js +0 -1
  451. package/legacy/models/gridRenderContextProps.js +0 -1
  452. package/legacy/models/gridRowSelectionModel.js +0 -1
  453. package/legacy/models/gridRows.js +0 -1
  454. package/legacy/models/gridSlotsComponent.js +0 -1
  455. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  456. package/legacy/models/gridSortModel.js +0 -1
  457. package/legacy/models/gridStateCommunity.js +0 -1
  458. package/legacy/models/index.js +0 -29
  459. package/legacy/models/logger.js +0 -1
  460. package/legacy/models/muiEvent.js +0 -1
  461. package/legacy/models/params/gridCellParams.js +0 -1
  462. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  463. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  464. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  465. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  466. package/legacy/models/params/gridEditCellParams.js +0 -27
  467. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  468. package/legacy/models/params/gridMenuParams.js +0 -1
  469. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  470. package/legacy/models/params/gridRowParams.js +0 -44
  471. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  472. package/legacy/models/params/gridScrollParams.js +0 -1
  473. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  474. package/legacy/models/params/index.js +0 -13
  475. package/legacy/models/props/DataGridProps.js +0 -1
  476. package/legacy/themeAugmentation/index.js +0 -4
  477. package/legacy/themeAugmentation/overrides.js +0 -1
  478. package/legacy/themeAugmentation/props.js +0 -1
  479. package/legacy/utils/EventManager.js +0 -91
  480. package/legacy/utils/Store.js +0 -34
  481. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  482. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  483. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  484. package/legacy/utils/createControllablePromise.js +0 -11
  485. package/legacy/utils/createSelector.js +0 -120
  486. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  487. package/legacy/utils/domUtils.js +0 -49
  488. package/legacy/utils/exportAs.js +0 -40
  489. package/legacy/utils/fastMemo.js +0 -5
  490. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  491. package/legacy/utils/getGridLocalization.js +0 -15
  492. package/legacy/utils/getPublicApiRef.js +0 -5
  493. package/legacy/utils/index.js +0 -1
  494. package/legacy/utils/keyboardUtils.js +0 -60
  495. package/legacy/utils/utils.js +0 -189
  496. 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';