@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,24 +0,0 @@
1
- import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
2
- /**
3
- * @category ColumnGrouping
4
- * @ignore - do not document.
5
- */
6
- export var gridColumnGroupingSelector = function gridColumnGroupingSelector(state) {
7
- return state.columnGrouping;
8
- };
9
- export var gridColumnGroupsUnwrappedModelSelector = createSelectorMemoized(gridColumnGroupingSelector, function (columnGrouping) {
10
- var _columnGrouping$unwra;
11
- return (_columnGrouping$unwra = columnGrouping == null ? void 0 : columnGrouping.unwrappedGroupingModel) != null ? _columnGrouping$unwra : {};
12
- });
13
- export var gridColumnGroupsLookupSelector = createSelectorMemoized(gridColumnGroupingSelector, function (columnGrouping) {
14
- var _columnGrouping$looku;
15
- return (_columnGrouping$looku = columnGrouping == null ? void 0 : columnGrouping.lookup) != null ? _columnGrouping$looku : {};
16
- });
17
- export var gridColumnGroupsHeaderStructureSelector = createSelectorMemoized(gridColumnGroupingSelector, function (columnGrouping) {
18
- var _columnGrouping$heade;
19
- return (_columnGrouping$heade = columnGrouping == null ? void 0 : columnGrouping.headerStructure) != null ? _columnGrouping$heade : [];
20
- });
21
- export var gridColumnGroupsHeaderMaxDepthSelector = createSelector(gridColumnGroupingSelector, function (columnGrouping) {
22
- var _columnGrouping$maxDe;
23
- return (_columnGrouping$maxDe = columnGrouping == null ? void 0 : columnGrouping.maxDepth) != null ? _columnGrouping$maxDe : 0;
24
- });
@@ -1,92 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import { isLeaf } from '../../../models/gridColumnGrouping';
3
- import { isDeepEqual } from '../../../utils/utils';
4
- // This is the recurrence function that help writing `unwrapGroupingColumnModel()`
5
- var recurrentUnwrapGroupingColumnModel = function recurrentUnwrapGroupingColumnModel(columnGroupNode, parents, unwrappedGroupingModelToComplete) {
6
- if (isLeaf(columnGroupNode)) {
7
- if (unwrappedGroupingModelToComplete[columnGroupNode.field] !== undefined) {
8
- throw new Error(["MUI X: columnGroupingModel contains duplicated field", "column field ".concat(columnGroupNode.field, " occurs two times in the grouping model:"), "- ".concat(unwrappedGroupingModelToComplete[columnGroupNode.field].join(' > ')), "- ".concat(parents.join(' > '))].join('\n'));
9
- }
10
- unwrappedGroupingModelToComplete[columnGroupNode.field] = parents;
11
- return;
12
- }
13
- var groupId = columnGroupNode.groupId,
14
- children = columnGroupNode.children;
15
- children.forEach(function (child) {
16
- recurrentUnwrapGroupingColumnModel(child, [].concat(_toConsumableArray(parents), [groupId]), unwrappedGroupingModelToComplete);
17
- });
18
- };
19
-
20
- /**
21
- * This is a function that provide for each column the array of its parents.
22
- * Parents are ordered from the root to the leaf.
23
- * @param columnGroupingModel The model such as provided in DataGrid props
24
- * @returns An object `{[field]: groupIds}` where `groupIds` is the parents of the column `field`
25
- */
26
- export var unwrapGroupingColumnModel = function unwrapGroupingColumnModel(columnGroupingModel) {
27
- if (!columnGroupingModel) {
28
- return {};
29
- }
30
- var unwrappedSubTree = {};
31
- columnGroupingModel.forEach(function (columnGroupNode) {
32
- recurrentUnwrapGroupingColumnModel(columnGroupNode, [], unwrappedSubTree);
33
- });
34
- return unwrappedSubTree;
35
- };
36
- export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStructure(orderedColumns, unwrappedGroupingModel, pinnedFields) {
37
- var getParents = function getParents(field) {
38
- var _unwrappedGroupingMod;
39
- return (_unwrappedGroupingMod = unwrappedGroupingModel[field]) != null ? _unwrappedGroupingMod : [];
40
- };
41
- var groupingHeaderStructure = [];
42
- var maxDepth = Math.max.apply(Math, _toConsumableArray(orderedColumns.map(function (field) {
43
- return getParents(field).length;
44
- })));
45
- var haveSameParents = function haveSameParents(field1, field2, depth) {
46
- return isDeepEqual(getParents(field1).slice(0, depth + 1), getParents(field2).slice(0, depth + 1));
47
- };
48
- var haveDifferentContainers = function haveDifferentContainers(field1, field2) {
49
- if (pinnedFields != null && pinnedFields.left && pinnedFields.left.includes(field1) && !pinnedFields.left.includes(field2)) {
50
- return true;
51
- }
52
- if (pinnedFields != null && pinnedFields.right && !pinnedFields.right.includes(field1) && pinnedFields.right.includes(field2)) {
53
- return true;
54
- }
55
- return false;
56
- };
57
- var _loop = function _loop(depth) {
58
- var depthStructure = orderedColumns.reduce(function (structure, newField) {
59
- var _getParents$depth;
60
- var groupId = (_getParents$depth = getParents(newField)[depth]) != null ? _getParents$depth : null;
61
- if (structure.length === 0) {
62
- return [{
63
- columnFields: [newField],
64
- groupId: groupId
65
- }];
66
- }
67
- var lastGroup = structure[structure.length - 1];
68
- var prevField = lastGroup.columnFields[lastGroup.columnFields.length - 1];
69
- var prevGroupId = lastGroup.groupId;
70
- if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth) ||
71
- // Fix for https://github.com/mui/mui-x/issues/7041
72
- haveDifferentContainers(prevField, newField)) {
73
- // It's a new group
74
- return [].concat(_toConsumableArray(structure), [{
75
- columnFields: [newField],
76
- groupId: groupId
77
- }]);
78
- }
79
-
80
- // It extends the previous group
81
- return [].concat(_toConsumableArray(structure.slice(0, structure.length - 1)), [{
82
- columnFields: [].concat(_toConsumableArray(lastGroup.columnFields), [newField]),
83
- groupId: groupId
84
- }]);
85
- }, []);
86
- groupingHeaderStructure.push(depthStructure);
87
- };
88
- for (var depth = 0; depth < maxDepth; depth += 1) {
89
- _loop(depth);
90
- }
91
- return groupingHeaderStructure;
92
- };
@@ -1,2 +0,0 @@
1
- export * from './gridColumnGroupsSelector';
2
- export {};
@@ -1,140 +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 _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["groupId", "children"];
6
- import * as React from 'react';
7
- import { isLeaf } from '../../../models/gridColumnGrouping';
8
- import { gridColumnGroupsLookupSelector, gridColumnGroupsUnwrappedModelSelector } from './gridColumnGroupsSelector';
9
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
10
- import { getColumnGroupsHeaderStructure, unwrapGroupingColumnModel } from './gridColumnGroupsUtils';
11
- import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
12
- import { gridColumnFieldsSelector, gridVisibleColumnFieldsSelector } from '../columns';
13
- var createGroupLookup = function createGroupLookup(columnGroupingModel) {
14
- var groupLookup = {};
15
- columnGroupingModel.forEach(function (node) {
16
- if (isLeaf(node)) {
17
- return;
18
- }
19
- var groupId = node.groupId,
20
- children = node.children,
21
- other = _objectWithoutProperties(node, _excluded);
22
- if (!groupId) {
23
- throw new Error('MUI X: An element of the columnGroupingModel does not have either `field` or `groupId`.');
24
- }
25
- if (process.env.NODE_ENV !== 'production') {
26
- if (!children) {
27
- console.warn("MUI X: group groupId=".concat(groupId, " has no children."));
28
- }
29
- }
30
- var groupParam = _extends({}, other, {
31
- groupId: groupId
32
- });
33
- var subTreeLookup = createGroupLookup(children);
34
- if (subTreeLookup[groupId] !== undefined || groupLookup[groupId] !== undefined) {
35
- throw new Error("MUI X: The groupId ".concat(groupId, " is used multiple times in the columnGroupingModel."));
36
- }
37
- groupLookup = _extends({}, groupLookup, subTreeLookup, _defineProperty({}, groupId, groupParam));
38
- });
39
- return _extends({}, groupLookup);
40
- };
41
- export var columnGroupsStateInitializer = function columnGroupsStateInitializer(state, props, apiRef) {
42
- var _props$columnGrouping, _props$columnGrouping2, _apiRef$current$state;
43
- if (!props.columnGroupingModel) {
44
- return state;
45
- }
46
- var columnFields = gridColumnFieldsSelector(apiRef);
47
- var visibleColumnFields = gridVisibleColumnFieldsSelector(apiRef);
48
- var groupLookup = createGroupLookup((_props$columnGrouping = props.columnGroupingModel) != null ? _props$columnGrouping : []);
49
- var unwrappedGroupingModel = unwrapGroupingColumnModel((_props$columnGrouping2 = props.columnGroupingModel) != null ? _props$columnGrouping2 : []);
50
- var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel, (_apiRef$current$state = apiRef.current.state.pinnedColumns) != null ? _apiRef$current$state : {});
51
- var maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max.apply(Math, _toConsumableArray(visibleColumnFields.map(function (field) {
52
- var _unwrappedGroupingMod, _unwrappedGroupingMod2;
53
- return (_unwrappedGroupingMod = (_unwrappedGroupingMod2 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod2.length) != null ? _unwrappedGroupingMod : 0;
54
- })));
55
- return _extends({}, state, {
56
- columnGrouping: {
57
- lookup: groupLookup,
58
- unwrappedGroupingModel: unwrappedGroupingModel,
59
- headerStructure: columnGroupsHeaderStructure,
60
- maxDepth: maxDepth
61
- }
62
- });
63
- };
64
-
65
- /**
66
- * @requires useGridColumns (method, event)
67
- * @requires useGridParamsApi (method)
68
- */
69
- export var useGridColumnGrouping = function useGridColumnGrouping(apiRef, props) {
70
- /**
71
- * API METHODS
72
- */
73
- var getColumnGroupPath = React.useCallback(function (field) {
74
- var _unwrappedGroupingMod3;
75
- var unwrappedGroupingModel = gridColumnGroupsUnwrappedModelSelector(apiRef);
76
- return (_unwrappedGroupingMod3 = unwrappedGroupingModel[field]) != null ? _unwrappedGroupingMod3 : [];
77
- }, [apiRef]);
78
- var getAllGroupDetails = React.useCallback(function () {
79
- var columnGroupLookup = gridColumnGroupsLookupSelector(apiRef);
80
- return columnGroupLookup;
81
- }, [apiRef]);
82
- var columnGroupingApi = {
83
- getColumnGroupPath: getColumnGroupPath,
84
- getAllGroupDetails: getAllGroupDetails
85
- };
86
- useGridApiMethod(apiRef, columnGroupingApi, 'public');
87
- var handleColumnIndexChange = React.useCallback(function () {
88
- var _props$columnGrouping3;
89
- var unwrappedGroupingModel = unwrapGroupingColumnModel((_props$columnGrouping3 = props.columnGroupingModel) != null ? _props$columnGrouping3 : []);
90
- apiRef.current.setState(function (state) {
91
- var _state$columns$ordere, _state$columns, _state$pinnedColumns;
92
- var orderedFields = (_state$columns$ordere = (_state$columns = state.columns) == null ? void 0 : _state$columns.orderedFields) != null ? _state$columns$ordere : [];
93
- var pinnedColumns = (_state$pinnedColumns = state.pinnedColumns) != null ? _state$pinnedColumns : {};
94
- var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(orderedFields, unwrappedGroupingModel, pinnedColumns);
95
- return _extends({}, state, {
96
- columnGrouping: _extends({}, state.columnGrouping, {
97
- headerStructure: columnGroupsHeaderStructure
98
- })
99
- });
100
- });
101
- }, [apiRef, props.columnGroupingModel]);
102
- var updateColumnGroupingState = React.useCallback(function (columnGroupingModel) {
103
- var _apiRef$current$getPi, _apiRef$current$getPi2, _apiRef$current;
104
- // @ts-expect-error Move this logic to `Pro` package
105
- var pinnedColumns = (_apiRef$current$getPi = (_apiRef$current$getPi2 = (_apiRef$current = apiRef.current).getPinnedColumns) == null ? void 0 : _apiRef$current$getPi2.call(_apiRef$current)) != null ? _apiRef$current$getPi : {};
106
- var columnFields = gridColumnFieldsSelector(apiRef);
107
- var visibleColumnFields = gridVisibleColumnFieldsSelector(apiRef);
108
- var groupLookup = createGroupLookup(columnGroupingModel != null ? columnGroupingModel : []);
109
- var unwrappedGroupingModel = unwrapGroupingColumnModel(columnGroupingModel != null ? columnGroupingModel : []);
110
- var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel, pinnedColumns);
111
- var maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max.apply(Math, _toConsumableArray(visibleColumnFields.map(function (field) {
112
- var _unwrappedGroupingMod4, _unwrappedGroupingMod5;
113
- return (_unwrappedGroupingMod4 = (_unwrappedGroupingMod5 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod5.length) != null ? _unwrappedGroupingMod4 : 0;
114
- })));
115
- apiRef.current.setState(function (state) {
116
- return _extends({}, state, {
117
- columnGrouping: {
118
- lookup: groupLookup,
119
- unwrappedGroupingModel: unwrappedGroupingModel,
120
- headerStructure: columnGroupsHeaderStructure,
121
- maxDepth: maxDepth
122
- }
123
- });
124
- });
125
- }, [apiRef]);
126
- useGridApiEventHandler(apiRef, 'columnIndexChange', handleColumnIndexChange);
127
- useGridApiEventHandler(apiRef, 'columnsChange', function () {
128
- updateColumnGroupingState(props.columnGroupingModel);
129
- });
130
- useGridApiEventHandler(apiRef, 'columnVisibilityModelChange', function () {
131
- updateColumnGroupingState(props.columnGroupingModel);
132
- });
133
-
134
- /**
135
- * EFFECTS
136
- */
137
- React.useEffect(function () {
138
- updateColumnGroupingState(props.columnGroupingModel);
139
- }, [updateColumnGroupingState, props.columnGroupingModel]);
140
- };
@@ -1,275 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import * as React from 'react';
4
- import { unstable_useForkRef as useForkRef } from '@mui/utils';
5
- import { styled } from '@mui/material/styles';
6
- import { useGridSelector } from '../../utils';
7
- import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
8
- import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
9
- import { GridColumnHeaderItem } from '../../../components/columnHeaders/GridColumnHeaderItem';
10
- import { gridDimensionsSelector } from '../dimensions';
11
- import { gridRenderContextColumnsSelector, gridVirtualizationColumnEnabledSelector } from '../virtualization';
12
- import { GridColumnGroupHeader } from '../../../components/columnHeaders/GridColumnGroupHeader';
13
- import { GridPinnedColumnPosition, gridVisiblePinnedColumnDefinitionsSelector } from '../columns';
14
- import { GridScrollbarFillerCell as ScrollbarFiller } from '../../../components/GridScrollbarFillerCell';
15
- import { gridClasses } from '../../../constants/gridClasses';
16
- import { jsx as _jsx } from "react/jsx-runtime";
17
- import { jsxs as _jsxs } from "react/jsx-runtime";
18
- var SpaceFiller = styled('div')({
19
- /* GridRootStyles conflict */
20
- '&&': {
21
- padding: 0,
22
- width: 'calc(var(--DataGrid-width) - var(--DataGrid-columnsTotalWidth))'
23
- }
24
- });
25
- export var GridColumnHeaderRow = styled('div', {
26
- name: 'MuiDataGrid',
27
- slot: 'ColumnHeaderRow',
28
- overridesResolver: function overridesResolver(props, styles) {
29
- return styles.columnHeaderRow;
30
- }
31
- })(function (_ref) {
32
- var _ref$ownerState = _ref.ownerState,
33
- _ref$ownerState$param = _ref$ownerState.params,
34
- _ref$ownerState$param2 = _ref$ownerState$param === void 0 ? {} : _ref$ownerState$param,
35
- position = _ref$ownerState$param2.position,
36
- _ref$ownerState$leftO = _ref$ownerState.leftOverflow,
37
- leftOverflow = _ref$ownerState$leftO === void 0 ? 0 : _ref$ownerState$leftO;
38
- return {
39
- display: 'flex',
40
- height: 'var(--DataGrid-headerHeight)',
41
- transform: position === undefined ? "translate3d(".concat(leftOverflow !== 0 ? "calc(var(--DataGrid-offsetLeft) - ".concat(leftOverflow, "px)") : 'var(--DataGrid-offsetLeft)', ", 0, 0)") : undefined
42
- };
43
- });
44
- export var useGridColumnHeaders = function useGridColumnHeaders(props) {
45
- var innerRefProp = props.innerRef,
46
- visibleColumns = props.visibleColumns,
47
- sortColumnLookup = props.sortColumnLookup,
48
- filterColumnLookup = props.filterColumnLookup,
49
- columnHeaderTabIndexState = props.columnHeaderTabIndexState,
50
- columnGroupHeaderTabIndexState = props.columnGroupHeaderTabIndexState,
51
- columnHeaderFocus = props.columnHeaderFocus,
52
- columnGroupHeaderFocus = props.columnGroupHeaderFocus,
53
- headerGroupingMaxDepth = props.headerGroupingMaxDepth,
54
- columnMenuState = props.columnMenuState,
55
- columnVisibility = props.columnVisibility,
56
- columnGroupsHeaderStructure = props.columnGroupsHeaderStructure,
57
- hasOtherElementInTabSequence = props.hasOtherElementInTabSequence;
58
- var _React$useState = React.useState(''),
59
- _React$useState2 = _slicedToArray(_React$useState, 2),
60
- dragCol = _React$useState2[0],
61
- setDragCol = _React$useState2[1];
62
- var _React$useState3 = React.useState(''),
63
- _React$useState4 = _slicedToArray(_React$useState3, 2),
64
- resizeCol = _React$useState4[0],
65
- setResizeCol = _React$useState4[1];
66
- var apiRef = useGridPrivateApiContext();
67
- var hasVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
68
- var innerRef = React.useRef(null);
69
- var handleInnerRef = useForkRef(innerRefProp, innerRef);
70
- var dimensions = useGridSelector(apiRef, gridDimensionsSelector);
71
- var renderContext = useGridSelector(apiRef, gridRenderContextColumnsSelector);
72
- var visiblePinnedColumns = useGridSelector(apiRef, gridVisiblePinnedColumnDefinitionsSelector);
73
- React.useEffect(function () {
74
- apiRef.current.columnHeadersContainerElementRef.current.scrollLeft = 0;
75
- }, [apiRef]);
76
- var handleColumnResizeStart = React.useCallback(function (params) {
77
- return setResizeCol(params.field);
78
- }, []);
79
- var handleColumnResizeStop = React.useCallback(function () {
80
- return setResizeCol('');
81
- }, []);
82
- var handleColumnReorderStart = React.useCallback(function (params) {
83
- return setDragCol(params.field);
84
- }, []);
85
- var handleColumnReorderStop = React.useCallback(function () {
86
- return setDragCol('');
87
- }, []);
88
- useGridApiEventHandler(apiRef, 'columnResizeStart', handleColumnResizeStart);
89
- useGridApiEventHandler(apiRef, 'columnResizeStop', handleColumnResizeStop);
90
- useGridApiEventHandler(apiRef, 'columnHeaderDragStart', handleColumnReorderStart);
91
- useGridApiEventHandler(apiRef, 'columnHeaderDragEnd', handleColumnReorderStop);
92
-
93
- // Helper for computation common between getColumnHeaders and getColumnGroupHeaders
94
- var getColumnsToRender = function getColumnsToRender(params) {
95
- var _ref2 = params || {},
96
- _ref2$renderContext = _ref2.renderContext,
97
- currentContext = _ref2$renderContext === void 0 ? renderContext : _ref2$renderContext,
98
- _ref2$maxLastColumn = _ref2.maxLastColumn,
99
- maxLastColumn = _ref2$maxLastColumn === void 0 ? visibleColumns.length : _ref2$maxLastColumn;
100
- var firstColumnToRender = !hasVirtualization ? 0 : currentContext.firstColumnIndex;
101
- var lastColumnToRender = !hasVirtualization ? maxLastColumn : currentContext.lastColumnIndex;
102
- var renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
103
- return {
104
- renderedColumns: renderedColumns,
105
- firstColumnToRender: firstColumnToRender,
106
- lastColumnToRender: lastColumnToRender
107
- };
108
- };
109
- var getFiller = function getFiller(params) {
110
- var borderTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
111
- var isPinnedRight = (params == null ? void 0 : params.position) === GridPinnedColumnPosition.RIGHT;
112
- var hasScrollbarFiller = visiblePinnedColumns.right.length > 0 && isPinnedRight || visiblePinnedColumns.right.length === 0 && (params == null ? void 0 : params.position) === undefined;
113
- return /*#__PURE__*/_jsxs(React.Fragment, {
114
- children: [(params == null ? void 0 : params.position) === undefined && /*#__PURE__*/_jsx(SpaceFiller, {
115
- className: gridClasses.columnHeader
116
- }), hasScrollbarFiller && /*#__PURE__*/_jsx(ScrollbarFiller, {
117
- header: true,
118
- borderTop: borderTop,
119
- pinnedRight: isPinnedRight
120
- })]
121
- });
122
- };
123
- var getColumnHeaders = function getColumnHeaders(params) {
124
- var other = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
125
- var _getColumnsToRender = getColumnsToRender(params),
126
- renderedColumns = _getColumnsToRender.renderedColumns,
127
- firstColumnToRender = _getColumnsToRender.firstColumnToRender;
128
- var columns = [];
129
- for (var i = 0; i < renderedColumns.length; i += 1) {
130
- var colDef = renderedColumns[i];
131
- var columnIndex = firstColumnToRender + i;
132
- var isFirstColumn = columnIndex === 0;
133
- var tabIndex = columnHeaderTabIndexState !== null && columnHeaderTabIndexState.field === colDef.field || isFirstColumn && !hasOtherElementInTabSequence ? 0 : -1;
134
- var hasFocus = columnHeaderFocus !== null && columnHeaderFocus.field === colDef.field;
135
- var open = columnMenuState.open && columnMenuState.field === colDef.field;
136
- columns.push( /*#__PURE__*/_jsx(GridColumnHeaderItem, _extends({}, sortColumnLookup[colDef.field], {
137
- columnMenuOpen: open,
138
- filterItemsCounter: filterColumnLookup[colDef.field] && filterColumnLookup[colDef.field].length,
139
- headerHeight: dimensions.headerHeight,
140
- isDragging: colDef.field === dragCol,
141
- colDef: colDef,
142
- colIndex: columnIndex,
143
- isResizing: resizeCol === colDef.field,
144
- hasFocus: hasFocus,
145
- tabIndex: tabIndex
146
- }, other), colDef.field));
147
- }
148
- return /*#__PURE__*/_jsxs(GridColumnHeaderRow, {
149
- role: "row",
150
- "aria-rowindex": headerGroupingMaxDepth + 1,
151
- ownerState: {
152
- params: params
153
- },
154
- children: [columns, getFiller(params)]
155
- });
156
- };
157
- var getColumnGroupHeaders = function getColumnGroupHeaders(params) {
158
- if (headerGroupingMaxDepth === 0) {
159
- return null;
160
- }
161
- var columnsToRender = getColumnsToRender(params);
162
- if (columnsToRender.renderedColumns.length === 0) {
163
- return null;
164
- }
165
- var firstColumnToRender = columnsToRender.firstColumnToRender,
166
- lastColumnToRender = columnsToRender.lastColumnToRender;
167
- var columns = [];
168
- var headerToRender = [];
169
- var _loop = function _loop(depth) {
170
- var _apiRef$current$getCo, _apiRef$current$getCo2;
171
- var rowStructure = columnGroupsHeaderStructure[depth];
172
- var firstColumnFieldToRender = visibleColumns[firstColumnToRender].field;
173
- var firstGroupToRender = (_apiRef$current$getCo = apiRef.current.getColumnGroupPath(firstColumnFieldToRender)[depth]) != null ? _apiRef$current$getCo : null;
174
- var firstGroupIndex = rowStructure.findIndex(function (_ref4) {
175
- var groupId = _ref4.groupId,
176
- columnFields = _ref4.columnFields;
177
- return groupId === firstGroupToRender && columnFields.includes(firstColumnFieldToRender);
178
- });
179
- var lastColumnFieldToRender = visibleColumns[lastColumnToRender - 1].field;
180
- var lastGroupToRender = (_apiRef$current$getCo2 = apiRef.current.getColumnGroupPath(lastColumnFieldToRender)[depth]) != null ? _apiRef$current$getCo2 : null;
181
- var lastGroupIndex = rowStructure.findIndex(function (_ref5) {
182
- var groupId = _ref5.groupId,
183
- columnFields = _ref5.columnFields;
184
- return groupId === lastGroupToRender && columnFields.includes(lastColumnFieldToRender);
185
- });
186
- var visibleColumnGroupHeader = rowStructure.slice(firstGroupIndex, lastGroupIndex + 1).map(function (groupStructure) {
187
- return _extends({}, groupStructure, {
188
- columnFields: groupStructure.columnFields.filter(function (field) {
189
- return columnVisibility[field] !== false;
190
- })
191
- });
192
- }).filter(function (groupStructure) {
193
- return groupStructure.columnFields.length > 0;
194
- });
195
- var firstVisibleColumnIndex = visibleColumnGroupHeader[0].columnFields.indexOf(firstColumnFieldToRender);
196
- var hiddenGroupColumns = visibleColumnGroupHeader[0].columnFields.slice(0, firstVisibleColumnIndex);
197
- var leftOverflow = hiddenGroupColumns.reduce(function (acc, field) {
198
- var _column$computedWidth;
199
- var column = apiRef.current.getColumn(field);
200
- return acc + ((_column$computedWidth = column.computedWidth) != null ? _column$computedWidth : 0);
201
- }, 0);
202
- var columnIndex = firstColumnToRender;
203
- var elements = visibleColumnGroupHeader.map(function (_ref6) {
204
- var groupId = _ref6.groupId,
205
- columnFields = _ref6.columnFields;
206
- var hasFocus = columnGroupHeaderFocus !== null && columnGroupHeaderFocus.depth === depth && columnFields.includes(columnGroupHeaderFocus.field);
207
- var tabIndex = columnGroupHeaderTabIndexState !== null && columnGroupHeaderTabIndexState.depth === depth && columnFields.includes(columnGroupHeaderTabIndexState.field) ? 0 : -1;
208
- var headerInfo = {
209
- groupId: groupId,
210
- width: columnFields.reduce(function (acc, field) {
211
- return acc + apiRef.current.getColumn(field).computedWidth;
212
- }, 0),
213
- fields: columnFields,
214
- colIndex: columnIndex,
215
- hasFocus: hasFocus,
216
- tabIndex: tabIndex
217
- };
218
- columnIndex += columnFields.length;
219
- return headerInfo;
220
- });
221
- headerToRender.push({
222
- leftOverflow: leftOverflow,
223
- elements: elements
224
- });
225
- };
226
- for (var depth = 0; depth < headerGroupingMaxDepth; depth += 1) {
227
- _loop(depth);
228
- }
229
- headerToRender.forEach(function (depthInfo, depthIndex) {
230
- columns.push( /*#__PURE__*/_jsxs(GridColumnHeaderRow, {
231
- role: "row",
232
- "aria-rowindex": depthIndex + 1,
233
- ownerState: {
234
- params: params,
235
- leftOverflow: depthInfo.leftOverflow
236
- },
237
- children: [depthInfo.elements.map(function (_ref3, groupIndex) {
238
- var groupId = _ref3.groupId,
239
- width = _ref3.width,
240
- fields = _ref3.fields,
241
- colIndex = _ref3.colIndex,
242
- hasFocus = _ref3.hasFocus,
243
- tabIndex = _ref3.tabIndex;
244
- return /*#__PURE__*/_jsx(GridColumnGroupHeader, {
245
- groupId: groupId,
246
- width: width,
247
- fields: fields,
248
- colIndex: colIndex,
249
- depth: depthIndex,
250
- isLastColumn: colIndex === visibleColumns.length - fields.length,
251
- maxDepth: headerToRender.length,
252
- height: dimensions.headerHeight,
253
- hasFocus: hasFocus,
254
- tabIndex: tabIndex
255
- }, groupIndex);
256
- }), getFiller(params)]
257
- }, depthIndex));
258
- });
259
- return columns;
260
- };
261
- return {
262
- renderContext: renderContext,
263
- getFiller: getFiller,
264
- getColumnHeaders: getColumnHeaders,
265
- getColumnsToRender: getColumnsToRender,
266
- getColumnGroupHeaders: getColumnGroupHeaders,
267
- isDragging: !!dragCol,
268
- getInnerProps: function getInnerProps() {
269
- return {
270
- ref: handleInnerRef,
271
- role: 'rowgroup'
272
- };
273
- }
274
- };
275
- };
@@ -1,3 +0,0 @@
1
- export var gridColumnMenuSelector = function gridColumnMenuSelector(state) {
2
- return state.columnMenu;
3
- };
@@ -1,2 +0,0 @@
1
- export * from './columnMenuInterfaces';
2
- export * from './columnMenuSelector';
@@ -1,108 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { useGridLogger, useGridApiMethod, useGridApiEventHandler } from '../../utils';
4
- import { gridColumnMenuSelector } from './columnMenuSelector';
5
- import { gridColumnLookupSelector, gridColumnVisibilityModelSelector, gridColumnFieldsSelector } from '../columns/gridColumnsSelector';
6
- export var columnMenuStateInitializer = function columnMenuStateInitializer(state) {
7
- return _extends({}, state, {
8
- columnMenu: {
9
- open: false
10
- }
11
- });
12
- };
13
-
14
- /**
15
- * @requires useGridColumnResize (event)
16
- * @requires useGridInfiniteLoader (event)
17
- */
18
- export var useGridColumnMenu = function useGridColumnMenu(apiRef) {
19
- var logger = useGridLogger(apiRef, 'useGridColumnMenu');
20
-
21
- /**
22
- * API METHODS
23
- */
24
- var showColumnMenu = React.useCallback(function (field) {
25
- var columnMenuState = gridColumnMenuSelector(apiRef.current.state);
26
- var newState = {
27
- open: true,
28
- field: field
29
- };
30
- var shouldUpdate = newState.open !== columnMenuState.open || newState.field !== columnMenuState.field;
31
- if (shouldUpdate) {
32
- apiRef.current.setState(function (state) {
33
- if (state.columnMenu.open && state.columnMenu.field === field) {
34
- return state;
35
- }
36
- logger.debug('Opening Column Menu');
37
- return _extends({}, state, {
38
- columnMenu: {
39
- open: true,
40
- field: field
41
- }
42
- });
43
- });
44
- apiRef.current.hidePreferences();
45
- apiRef.current.forceUpdate();
46
- }
47
- }, [apiRef, logger]);
48
- var hideColumnMenu = React.useCallback(function () {
49
- var columnMenuState = gridColumnMenuSelector(apiRef.current.state);
50
- if (columnMenuState.field) {
51
- var columnLookup = gridColumnLookupSelector(apiRef);
52
- var columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
53
- var orderedFields = gridColumnFieldsSelector(apiRef);
54
- var fieldToFocus = columnMenuState.field;
55
-
56
- // If the column was removed from the grid, we need to find the closest visible field
57
- if (!columnLookup[fieldToFocus]) {
58
- fieldToFocus = orderedFields[0];
59
- }
60
-
61
- // If the field to focus is hidden, we need to find the closest visible field
62
- if (columnVisibilityModel[fieldToFocus] === false) {
63
- // contains visible column fields + the field that was just hidden
64
- var visibleOrderedFields = orderedFields.filter(function (field) {
65
- if (field === fieldToFocus) {
66
- return true;
67
- }
68
- return columnVisibilityModel[field] !== false;
69
- });
70
- var fieldIndex = visibleOrderedFields.indexOf(fieldToFocus);
71
- fieldToFocus = visibleOrderedFields[fieldIndex + 1] || visibleOrderedFields[fieldIndex - 1];
72
- }
73
- apiRef.current.setColumnHeaderFocus(fieldToFocus);
74
- }
75
- var newState = {
76
- open: false,
77
- field: undefined
78
- };
79
- var shouldUpdate = newState.open !== columnMenuState.open || newState.field !== columnMenuState.field;
80
- if (shouldUpdate) {
81
- apiRef.current.setState(function (state) {
82
- logger.debug('Hiding Column Menu');
83
- return _extends({}, state, {
84
- columnMenu: newState
85
- });
86
- });
87
- apiRef.current.forceUpdate();
88
- }
89
- }, [apiRef, logger]);
90
- var toggleColumnMenu = React.useCallback(function (field) {
91
- logger.debug('Toggle Column Menu');
92
- var columnMenu = gridColumnMenuSelector(apiRef.current.state);
93
- if (!columnMenu.open || columnMenu.field !== field) {
94
- showColumnMenu(field);
95
- } else {
96
- hideColumnMenu();
97
- }
98
- }, [apiRef, logger, showColumnMenu, hideColumnMenu]);
99
- var columnMenuApi = {
100
- showColumnMenu: showColumnMenu,
101
- hideColumnMenu: hideColumnMenu,
102
- toggleColumnMenu: toggleColumnMenu
103
- };
104
- useGridApiMethod(apiRef, columnMenuApi, 'public');
105
- useGridApiEventHandler(apiRef, 'columnResizeStart', hideColumnMenu);
106
- useGridApiEventHandler(apiRef, 'virtualScrollerWheel', apiRef.current.hideColumnMenu);
107
- useGridApiEventHandler(apiRef, 'virtualScrollerTouchMove', apiRef.current.hideColumnMenu);
108
- };