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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/CHANGELOG.md +226 -15
  2. package/colDef/gridActionsColDef.js +1 -0
  3. package/colDef/gridBooleanColDef.js +1 -0
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  5. package/components/GridScrollbarFillerCell.js +6 -21
  6. package/components/cell/GridCell.js +10 -12
  7. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  8. package/components/containers/GridRootStyles.js +50 -19
  9. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  10. package/constants/gridClasses.d.ts +24 -8
  11. package/constants/gridClasses.js +1 -1
  12. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  13. package/hooks/features/editing/useGridCellEditing.js +3 -4
  14. package/hooks/features/editing/useGridRowEditing.js +3 -4
  15. package/hooks/features/sorting/useGridSorting.js +1 -2
  16. package/index.js +1 -1
  17. package/internals/index.d.ts +1 -1
  18. package/internals/index.js +1 -1
  19. package/models/colDef/gridColDef.d.ts +6 -0
  20. package/modern/colDef/gridActionsColDef.js +1 -0
  21. package/modern/colDef/gridBooleanColDef.js +1 -0
  22. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  23. package/modern/components/GridScrollbarFillerCell.js +6 -21
  24. package/modern/components/cell/GridCell.js +10 -12
  25. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  26. package/modern/components/containers/GridRootStyles.js +50 -19
  27. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  28. package/modern/constants/gridClasses.js +1 -1
  29. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  30. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  31. package/modern/hooks/features/editing/useGridRowEditing.js +3 -4
  32. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  33. package/modern/index.js +1 -1
  34. package/modern/internals/index.js +1 -1
  35. package/modern/utils/keyboardUtils.js +20 -11
  36. package/node/colDef/gridActionsColDef.js +1 -0
  37. package/node/colDef/gridBooleanColDef.js +1 -0
  38. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  39. package/node/components/GridScrollbarFillerCell.js +5 -20
  40. package/node/components/cell/GridCell.js +10 -12
  41. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  42. package/node/components/containers/GridRootStyles.js +50 -19
  43. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  44. package/node/constants/gridClasses.js +1 -1
  45. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  46. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  47. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  48. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  49. package/node/index.js +1 -1
  50. package/node/internals/index.js +7 -0
  51. package/node/utils/keyboardUtils.js +25 -20
  52. package/package.json +1 -1
  53. package/utils/keyboardUtils.d.ts +7 -6
  54. package/utils/keyboardUtils.js +20 -11
  55. package/legacy/DataGrid/DataGrid.js +0 -664
  56. package/legacy/DataGrid/index.js +0 -2
  57. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  58. package/legacy/DataGrid/useDataGridProps.js +0 -98
  59. package/legacy/colDef/gridActionsColDef.js +0 -18
  60. package/legacy/colDef/gridBooleanColDef.js +0 -42
  61. package/legacy/colDef/gridBooleanOperators.js +0 -16
  62. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  63. package/legacy/colDef/gridDateColDef.js +0 -62
  64. package/legacy/colDef/gridDateOperators.js +0 -115
  65. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  66. package/legacy/colDef/gridNumericColDef.js +0 -19
  67. package/legacy/colDef/gridNumericOperators.js +0 -145
  68. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  69. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  70. package/legacy/colDef/gridStringColDef.js +0 -27
  71. package/legacy/colDef/gridStringOperators.js +0 -112
  72. package/legacy/colDef/index.js +0 -13
  73. package/legacy/components/GridApiContext.js +0 -5
  74. package/legacy/components/GridColumnHeaders.js +0 -94
  75. package/legacy/components/GridDetailPanels.js +0 -4
  76. package/legacy/components/GridFooter.js +0 -42
  77. package/legacy/components/GridHeader.js +0 -13
  78. package/legacy/components/GridHeaders.js +0 -53
  79. package/legacy/components/GridLoadingOverlay.js +0 -21
  80. package/legacy/components/GridNoResultsOverlay.js +0 -14
  81. package/legacy/components/GridNoRowsOverlay.js +0 -23
  82. package/legacy/components/GridPagination.js +0 -85
  83. package/legacy/components/GridPinnedRows.js +0 -4
  84. package/legacy/components/GridRow.js +0 -465
  85. package/legacy/components/GridRowCount.js +0 -63
  86. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  87. package/legacy/components/GridSelectedRowCount.js +0 -66
  88. package/legacy/components/base/GridBody.js +0 -2
  89. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  90. package/legacy/components/base/GridOverlays.js +0 -122
  91. package/legacy/components/base/index.js +0 -3
  92. package/legacy/components/cell/GridActionsCell.js +0 -294
  93. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  94. package/legacy/components/cell/GridBooleanCell.js +0 -121
  95. package/legacy/components/cell/GridCell.js +0 -350
  96. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  97. package/legacy/components/cell/GridEditDateCell.js +0 -230
  98. package/legacy/components/cell/GridEditInputCell.js +0 -198
  99. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  100. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  101. package/legacy/components/cell/index.js +0 -9
  102. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  103. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  104. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  105. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  106. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  107. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  108. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  109. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  110. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  111. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  112. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  113. package/legacy/components/columnHeaders/index.js +0 -5
  114. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  115. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  116. package/legacy/components/columnSelection/index.js +0 -2
  117. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  118. package/legacy/components/columnsManagement/index.js +0 -1
  119. package/legacy/components/columnsManagement/utils.js +0 -22
  120. package/legacy/components/containers/GridFooterContainer.js +0 -50
  121. package/legacy/components/containers/GridOverlay.js +0 -52
  122. package/legacy/components/containers/GridRoot.js +0 -79
  123. package/legacy/components/containers/GridRootStyles.js +0 -395
  124. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  125. package/legacy/components/containers/index.js +0 -4
  126. package/legacy/components/index.js +0 -19
  127. package/legacy/components/menu/GridMenu.js +0 -132
  128. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  129. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  130. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  131. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  132. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  133. package/legacy/components/menu/columnMenu/index.js +0 -9
  134. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  135. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  136. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  137. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  138. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  139. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  140. package/legacy/components/menu/index.js +0 -2
  141. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  142. package/legacy/components/panel/GridPanel.js +0 -137
  143. package/legacy/components/panel/GridPanelContent.js +0 -49
  144. package/legacy/components/panel/GridPanelFooter.js +0 -50
  145. package/legacy/components/panel/GridPanelHeader.js +0 -48
  146. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  147. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  148. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  149. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
  150. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  151. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  152. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  153. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
  154. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
  155. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  156. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  157. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  158. package/legacy/components/panel/filterPanel/index.js +0 -9
  159. package/legacy/components/panel/index.js +0 -7
  160. package/legacy/components/reexportable.js +0 -1
  161. package/legacy/components/toolbar/GridToolbar.js +0 -64
  162. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  163. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  164. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  165. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  166. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  167. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  168. package/legacy/components/toolbar/index.js +0 -7
  169. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  170. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  171. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  172. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  173. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  174. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  175. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  176. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
  177. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  178. package/legacy/constants/envConstants.js +0 -19
  179. package/legacy/constants/gridClasses.js +0 -5
  180. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  181. package/legacy/constants/index.js +0 -3
  182. package/legacy/constants/localeTextConstants.js +0 -158
  183. package/legacy/context/GridContextProvider.js +0 -21
  184. package/legacy/context/GridRootPropsContext.js +0 -6
  185. package/legacy/context/index.js +0 -1
  186. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  187. package/legacy/hooks/core/index.js +0 -1
  188. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  189. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  190. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  191. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  192. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  193. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  194. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  195. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  196. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  197. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  198. package/legacy/hooks/core/useGridInitialization.js +0 -26
  199. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  200. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  201. package/legacy/hooks/core/useGridRefs.js +0 -13
  202. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  203. package/legacy/hooks/core/useGridTheme.js +0 -21
  204. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  205. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  206. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  207. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  208. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  209. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  210. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
  211. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  212. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  213. package/legacy/hooks/features/columnMenu/index.js +0 -2
  214. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  215. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  216. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  217. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  218. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  219. package/legacy/hooks/features/columns/index.js +0 -2
  220. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  221. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  222. package/legacy/hooks/features/density/densitySelector.js +0 -10
  223. package/legacy/hooks/features/density/densityState.js +0 -1
  224. package/legacy/hooks/features/density/index.js +0 -2
  225. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  226. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  227. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  228. package/legacy/hooks/features/dimensions/index.js +0 -2
  229. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  230. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  231. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  232. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  233. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  234. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  235. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  236. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  237. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  238. package/legacy/hooks/features/export/utils.js +0 -49
  239. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  240. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  241. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  242. package/legacy/hooks/features/filter/index.js +0 -2
  243. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  244. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  245. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  246. package/legacy/hooks/features/focus/index.js +0 -2
  247. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  248. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  249. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  250. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  251. package/legacy/hooks/features/index.js +0 -16
  252. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  253. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  254. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  255. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  256. package/legacy/hooks/features/pagination/index.js +0 -2
  257. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  258. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  259. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  260. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  261. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  262. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  263. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  264. package/legacy/hooks/features/rowSelection/index.js +0 -1
  265. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  266. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  267. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  268. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  269. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  270. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  271. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  272. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  273. package/legacy/hooks/features/rows/index.js +0 -4
  274. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  275. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  276. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  277. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  278. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  279. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  280. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  281. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  282. package/legacy/hooks/features/sorting/index.js +0 -2
  283. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  284. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  285. package/legacy/hooks/features/statePersistence/index.js +0 -1
  286. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  287. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
  288. package/legacy/hooks/features/virtualization/index.js +0 -2
  289. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
  290. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
  291. package/legacy/hooks/index.js +0 -3
  292. package/legacy/hooks/utils/index.js +0 -9
  293. package/legacy/hooks/utils/useFirstRender.js +0 -8
  294. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  295. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  296. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  297. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  298. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  299. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  300. package/legacy/hooks/utils/useGridLogger.js +0 -10
  301. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  302. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  303. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  304. package/legacy/hooks/utils/useGridSelector.js +0 -54
  305. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  306. package/legacy/hooks/utils/useLazyRef.js +0 -11
  307. package/legacy/hooks/utils/useOnMount.js +0 -7
  308. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  309. package/legacy/hooks/utils/useRunOnce.js +0 -18
  310. package/legacy/hooks/utils/useTimeout.js +0 -38
  311. package/legacy/index.js +0 -38
  312. package/legacy/internals/index.js +0 -68
  313. package/legacy/internals/utils/computeSlots.js +0 -17
  314. package/legacy/internals/utils/index.js +0 -3
  315. package/legacy/internals/utils/propValidation.js +0 -21
  316. package/legacy/internals/utils/useProps.js +0 -32
  317. package/legacy/joy/icons.js +0 -432
  318. package/legacy/joy/index.js +0 -2
  319. package/legacy/joy/joySlots.js +0 -420
  320. package/legacy/locales/arSD.js +0 -160
  321. package/legacy/locales/beBY.js +0 -184
  322. package/legacy/locales/bgBG.js +0 -160
  323. package/legacy/locales/coreLocales.js +0 -62
  324. package/legacy/locales/csCZ.js +0 -181
  325. package/legacy/locales/daDK.js +0 -160
  326. package/legacy/locales/deDE.js +0 -160
  327. package/legacy/locales/elGR.js +0 -160
  328. package/legacy/locales/enUS.js +0 -4
  329. package/legacy/locales/esES.js +0 -160
  330. package/legacy/locales/faIR.js +0 -160
  331. package/legacy/locales/fiFI.js +0 -160
  332. package/legacy/locales/frFR.js +0 -160
  333. package/legacy/locales/heIL.js +0 -160
  334. package/legacy/locales/hrHR.js +0 -160
  335. package/legacy/locales/huHU.js +0 -160
  336. package/legacy/locales/index.js +0 -35
  337. package/legacy/locales/itIT.js +0 -160
  338. package/legacy/locales/jaJP.js +0 -160
  339. package/legacy/locales/koKR.js +0 -162
  340. package/legacy/locales/nbNO.js +0 -162
  341. package/legacy/locales/nlNL.js +0 -160
  342. package/legacy/locales/plPL.js +0 -163
  343. package/legacy/locales/ptBR.js +0 -160
  344. package/legacy/locales/ptPT.js +0 -160
  345. package/legacy/locales/roRO.js +0 -160
  346. package/legacy/locales/ruRU.js +0 -181
  347. package/legacy/locales/skSK.js +0 -181
  348. package/legacy/locales/svSE.js +0 -160
  349. package/legacy/locales/trTR.js +0 -161
  350. package/legacy/locales/ukUA.js +0 -182
  351. package/legacy/locales/urPK.js +0 -160
  352. package/legacy/locales/viVN.js +0 -160
  353. package/legacy/locales/zhCN.js +0 -160
  354. package/legacy/locales/zhHK.js +0 -160
  355. package/legacy/locales/zhTW.js +0 -160
  356. package/legacy/material/components/MUISelectOption.js +0 -14
  357. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  358. package/legacy/material/icons/index.js +0 -89
  359. package/legacy/material/index.js +0 -69
  360. package/legacy/models/api/gridApiCommon.js +0 -1
  361. package/legacy/models/api/gridApiCommunity.js +0 -1
  362. package/legacy/models/api/gridCallbackDetails.js +0 -1
  363. package/legacy/models/api/gridColumnApi.js +0 -1
  364. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  365. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  366. package/legacy/models/api/gridColumnSpanning.js +0 -1
  367. package/legacy/models/api/gridCoreApi.js +0 -1
  368. package/legacy/models/api/gridCsvExportApi.js +0 -1
  369. package/legacy/models/api/gridDensityApi.js +0 -1
  370. package/legacy/models/api/gridEditingApi.js +0 -1
  371. package/legacy/models/api/gridFilterApi.js +0 -1
  372. package/legacy/models/api/gridFocusApi.js +0 -1
  373. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  374. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  375. package/legacy/models/api/gridLoggerApi.js +0 -1
  376. package/legacy/models/api/gridParamsApi.js +0 -1
  377. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  378. package/legacy/models/api/gridPrintExportApi.js +0 -1
  379. package/legacy/models/api/gridRowApi.js +0 -1
  380. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  381. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  382. package/legacy/models/api/gridScrollApi.js +0 -1
  383. package/legacy/models/api/gridSortApi.js +0 -1
  384. package/legacy/models/api/gridStateApi.js +0 -1
  385. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  386. package/legacy/models/api/index.js +0 -16
  387. package/legacy/models/colDef/gridColDef.js +0 -1
  388. package/legacy/models/colDef/gridColType.js +0 -1
  389. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  390. package/legacy/models/colDef/index.js +0 -6
  391. package/legacy/models/controlStateItem.js +0 -1
  392. package/legacy/models/cursorCoordinates.js +0 -1
  393. package/legacy/models/elementSize.js +0 -1
  394. package/legacy/models/events/gridEventListener.js +0 -1
  395. package/legacy/models/events/gridEventLookup.js +0 -1
  396. package/legacy/models/events/gridEventPublisher.js +0 -1
  397. package/legacy/models/events/index.js +0 -3
  398. package/legacy/models/gridApiCaches.js +0 -1
  399. package/legacy/models/gridCell.js +0 -1
  400. package/legacy/models/gridCellClass.js +0 -1
  401. package/legacy/models/gridColumnGrouping.js +0 -11
  402. package/legacy/models/gridColumnHeaderClass.js +0 -1
  403. package/legacy/models/gridColumnSpanning.js +0 -1
  404. package/legacy/models/gridDensity.js +0 -1
  405. package/legacy/models/gridEditRowModel.js +0 -16
  406. package/legacy/models/gridExport.js +0 -1
  407. package/legacy/models/gridFeatureMode.js +0 -1
  408. package/legacy/models/gridFilterItem.js +0 -11
  409. package/legacy/models/gridFilterModel.js +0 -1
  410. package/legacy/models/gridFilterOperator.js +0 -1
  411. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  412. package/legacy/models/gridIconSlotsComponent.js +0 -1
  413. package/legacy/models/gridPaginationProps.js +0 -1
  414. package/legacy/models/gridRenderContextProps.js +0 -1
  415. package/legacy/models/gridRowSelectionModel.js +0 -1
  416. package/legacy/models/gridRows.js +0 -1
  417. package/legacy/models/gridSlotsComponent.js +0 -1
  418. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  419. package/legacy/models/gridSortModel.js +0 -1
  420. package/legacy/models/gridStateCommunity.js +0 -1
  421. package/legacy/models/index.js +0 -29
  422. package/legacy/models/logger.js +0 -1
  423. package/legacy/models/muiEvent.js +0 -1
  424. package/legacy/models/params/gridCellParams.js +0 -1
  425. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  426. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  427. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  428. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  429. package/legacy/models/params/gridEditCellParams.js +0 -27
  430. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  431. package/legacy/models/params/gridMenuParams.js +0 -1
  432. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  433. package/legacy/models/params/gridRowParams.js +0 -44
  434. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  435. package/legacy/models/params/gridScrollParams.js +0 -1
  436. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  437. package/legacy/models/params/index.js +0 -13
  438. package/legacy/models/props/DataGridProps.js +0 -1
  439. package/legacy/themeAugmentation/index.js +0 -4
  440. package/legacy/themeAugmentation/overrides.js +0 -1
  441. package/legacy/themeAugmentation/props.js +0 -1
  442. package/legacy/utils/EventManager.js +0 -91
  443. package/legacy/utils/Store.js +0 -34
  444. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  445. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  446. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  447. package/legacy/utils/createControllablePromise.js +0 -11
  448. package/legacy/utils/createSelector.js +0 -120
  449. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  450. package/legacy/utils/domUtils.js +0 -49
  451. package/legacy/utils/exportAs.js +0 -40
  452. package/legacy/utils/fastMemo.js +0 -5
  453. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  454. package/legacy/utils/getGridLocalization.js +0 -15
  455. package/legacy/utils/getPublicApiRef.js +0 -5
  456. package/legacy/utils/index.js +0 -1
  457. package/legacy/utils/keyboardUtils.js +0 -60
  458. package/legacy/utils/utils.js +0 -189
  459. package/legacy/utils/warning.js +0 -25
@@ -1,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,272 +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 { useGridRootProps } from '../../utils/useGridRootProps';
8
- import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
9
- import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
10
- import { GridColumnHeaderItem } from '../../../components/columnHeaders/GridColumnHeaderItem';
11
- import { gridDimensionsSelector } from '../dimensions';
12
- import { gridOffsetsSelector, gridRenderContextColumnsSelector, gridVirtualizationColumnEnabledSelector } from '../virtualization';
13
- import { GridColumnGroupHeader } from '../../../components/columnHeaders/GridColumnGroupHeader';
14
- import { GridPinnedColumnPosition, gridVisiblePinnedColumnDefinitionsSelector } from '../columns';
15
- import { GridScrollbarFillerCell as ScrollbarFiller } from '../../../components/GridScrollbarFillerCell';
16
- import { gridClasses } from '../../../constants/gridClasses';
17
- import { jsx as _jsx } from "react/jsx-runtime";
18
- import { jsxs as _jsxs } from "react/jsx-runtime";
19
- var SpaceFiller = styled('div')({
20
- /* GridRootStyles conflict */
21
- '&&': {
22
- padding: 0,
23
- width: 'calc(var(--DataGrid-width) - var(--DataGrid-columnsTotalWidth))'
24
- }
25
- });
26
- export var GridColumnHeaderRow = styled('div', {
27
- name: 'MuiDataGrid',
28
- slot: 'ColumnHeaderRow',
29
- overridesResolver: function overridesResolver(_, styles) {
30
- return styles.columnHeaderRow;
31
- }
32
- })({
33
- display: 'flex',
34
- height: 'var(--DataGrid-headerHeight)'
35
- });
36
- export var useGridColumnHeaders = function useGridColumnHeaders(props) {
37
- var innerRefProp = props.innerRef,
38
- visibleColumns = props.visibleColumns,
39
- sortColumnLookup = props.sortColumnLookup,
40
- filterColumnLookup = props.filterColumnLookup,
41
- columnHeaderTabIndexState = props.columnHeaderTabIndexState,
42
- columnGroupHeaderTabIndexState = props.columnGroupHeaderTabIndexState,
43
- columnHeaderFocus = props.columnHeaderFocus,
44
- columnGroupHeaderFocus = props.columnGroupHeaderFocus,
45
- headerGroupingMaxDepth = props.headerGroupingMaxDepth,
46
- columnMenuState = props.columnMenuState,
47
- columnVisibility = props.columnVisibility,
48
- columnGroupsHeaderStructure = props.columnGroupsHeaderStructure,
49
- hasOtherElementInTabSequence = props.hasOtherElementInTabSequence;
50
- var _React$useState = React.useState(''),
51
- _React$useState2 = _slicedToArray(_React$useState, 2),
52
- dragCol = _React$useState2[0],
53
- setDragCol = _React$useState2[1];
54
- var _React$useState3 = React.useState(''),
55
- _React$useState4 = _slicedToArray(_React$useState3, 2),
56
- resizeCol = _React$useState4[0],
57
- setResizeCol = _React$useState4[1];
58
- var apiRef = useGridPrivateApiContext();
59
- var rootProps = useGridRootProps();
60
- var hasVirtualization = useGridSelector(apiRef, gridVirtualizationColumnEnabledSelector);
61
- var innerRef = React.useRef(null);
62
- var handleInnerRef = useForkRef(innerRefProp, innerRef);
63
- var dimensions = useGridSelector(apiRef, gridDimensionsSelector);
64
- var offsets = useGridSelector(apiRef, gridOffsetsSelector);
65
- var renderContext = useGridSelector(apiRef, gridRenderContextColumnsSelector);
66
- var visiblePinnedColumns = useGridSelector(apiRef, gridVisiblePinnedColumnDefinitionsSelector);
67
- React.useEffect(function () {
68
- apiRef.current.columnHeadersContainerElementRef.current.scrollLeft = 0;
69
- }, [apiRef]);
70
- var handleColumnResizeStart = React.useCallback(function (params) {
71
- return setResizeCol(params.field);
72
- }, []);
73
- var handleColumnResizeStop = React.useCallback(function () {
74
- return setResizeCol('');
75
- }, []);
76
- var handleColumnReorderStart = React.useCallback(function (params) {
77
- return setDragCol(params.field);
78
- }, []);
79
- var handleColumnReorderStop = React.useCallback(function () {
80
- return setDragCol('');
81
- }, []);
82
- useGridApiEventHandler(apiRef, 'columnResizeStart', handleColumnResizeStart);
83
- useGridApiEventHandler(apiRef, 'columnResizeStop', handleColumnResizeStop);
84
- useGridApiEventHandler(apiRef, 'columnHeaderDragStart', handleColumnReorderStart);
85
- useGridApiEventHandler(apiRef, 'columnHeaderDragEnd', handleColumnReorderStop);
86
-
87
- // Helper for computation common between getColumnHeaders and getColumnGroupHeaders
88
- var getColumnsToRender = function getColumnsToRender(params) {
89
- var _ref = params || {},
90
- _ref$renderContext = _ref.renderContext,
91
- currentContext = _ref$renderContext === void 0 ? renderContext : _ref$renderContext,
92
- _ref$maxLastColumn = _ref.maxLastColumn,
93
- maxLastColumn = _ref$maxLastColumn === void 0 ? visibleColumns.length : _ref$maxLastColumn;
94
- var firstColumnToRender = !hasVirtualization ? 0 : currentContext.firstColumnIndex;
95
- var lastColumnToRender = !hasVirtualization ? maxLastColumn : currentContext.lastColumnIndex;
96
- var renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
97
- return {
98
- renderedColumns: renderedColumns,
99
- firstColumnToRender: firstColumnToRender,
100
- lastColumnToRender: lastColumnToRender
101
- };
102
- };
103
- var getFillers = function getFillers(params, children, leftOverflow) {
104
- var borderTop = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
105
- var isPinnedRight = (params == null ? void 0 : params.position) === GridPinnedColumnPosition.RIGHT;
106
- var isNotPinned = (params == null ? void 0 : params.position) === undefined;
107
- var hasScrollbarFiller = visiblePinnedColumns.right.length > 0 && isPinnedRight || visiblePinnedColumns.right.length === 0 && isNotPinned;
108
- var leftOffsetWidth = offsets.left - leftOverflow;
109
- return /*#__PURE__*/_jsxs(React.Fragment, {
110
- children: [isNotPinned && /*#__PURE__*/_jsx("div", {
111
- role: "presentation",
112
- style: {
113
- width: leftOffsetWidth
114
- }
115
- }), children, isNotPinned && /*#__PURE__*/_jsx(SpaceFiller, {
116
- className: gridClasses.columnHeader
117
- }), hasScrollbarFiller && /*#__PURE__*/_jsx(ScrollbarFiller, {
118
- header: true,
119
- borderTop: borderTop,
120
- pinnedRight: isPinnedRight
121
- })]
122
- });
123
- };
124
- var getColumnHeaders = function getColumnHeaders(params) {
125
- var other = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
126
- var _getColumnsToRender = getColumnsToRender(params),
127
- renderedColumns = _getColumnsToRender.renderedColumns,
128
- firstColumnToRender = _getColumnsToRender.firstColumnToRender;
129
- var columns = [];
130
- for (var i = 0; i < renderedColumns.length; i += 1) {
131
- var colDef = renderedColumns[i];
132
- var columnIndex = firstColumnToRender + i;
133
- var isFirstColumn = columnIndex === 0;
134
- var tabIndex = columnHeaderTabIndexState !== null && columnHeaderTabIndexState.field === colDef.field || isFirstColumn && !hasOtherElementInTabSequence ? 0 : -1;
135
- var hasFocus = columnHeaderFocus !== null && columnHeaderFocus.field === colDef.field;
136
- var open = columnMenuState.open && columnMenuState.field === colDef.field;
137
- columns.push( /*#__PURE__*/_jsx(GridColumnHeaderItem, _extends({}, sortColumnLookup[colDef.field], {
138
- columnMenuOpen: open,
139
- filterItemsCounter: filterColumnLookup[colDef.field] && filterColumnLookup[colDef.field].length,
140
- headerHeight: dimensions.headerHeight,
141
- isDragging: colDef.field === dragCol,
142
- colDef: colDef,
143
- colIndex: columnIndex,
144
- isResizing: resizeCol === colDef.field,
145
- hasFocus: hasFocus,
146
- tabIndex: tabIndex
147
- }, other), colDef.field));
148
- }
149
- return /*#__PURE__*/_jsx(GridColumnHeaderRow, {
150
- role: "row",
151
- "aria-rowindex": headerGroupingMaxDepth + 1,
152
- ownerState: rootProps,
153
- children: getFillers(params, columns, 0)
154
- });
155
- };
156
- var getColumnGroupHeaders = function getColumnGroupHeaders(params) {
157
- if (headerGroupingMaxDepth === 0) {
158
- return null;
159
- }
160
- var columnsToRender = getColumnsToRender(params);
161
- if (columnsToRender.renderedColumns.length === 0) {
162
- return null;
163
- }
164
- var firstColumnToRender = columnsToRender.firstColumnToRender,
165
- lastColumnToRender = columnsToRender.lastColumnToRender;
166
- var columns = [];
167
- var headerToRender = [];
168
- var _loop = function _loop(depth) {
169
- var _apiRef$current$getCo, _apiRef$current$getCo2;
170
- var rowStructure = columnGroupsHeaderStructure[depth];
171
- var firstColumnFieldToRender = visibleColumns[firstColumnToRender].field;
172
- var firstGroupToRender = (_apiRef$current$getCo = apiRef.current.getColumnGroupPath(firstColumnFieldToRender)[depth]) != null ? _apiRef$current$getCo : null;
173
- var firstGroupIndex = rowStructure.findIndex(function (_ref3) {
174
- var groupId = _ref3.groupId,
175
- columnFields = _ref3.columnFields;
176
- return groupId === firstGroupToRender && columnFields.includes(firstColumnFieldToRender);
177
- });
178
- var lastColumnFieldToRender = visibleColumns[lastColumnToRender - 1].field;
179
- var lastGroupToRender = (_apiRef$current$getCo2 = apiRef.current.getColumnGroupPath(lastColumnFieldToRender)[depth]) != null ? _apiRef$current$getCo2 : null;
180
- var lastGroupIndex = rowStructure.findIndex(function (_ref4) {
181
- var groupId = _ref4.groupId,
182
- columnFields = _ref4.columnFields;
183
- return groupId === lastGroupToRender && columnFields.includes(lastColumnFieldToRender);
184
- });
185
- var visibleColumnGroupHeader = rowStructure.slice(firstGroupIndex, lastGroupIndex + 1).map(function (groupStructure) {
186
- return _extends({}, groupStructure, {
187
- columnFields: groupStructure.columnFields.filter(function (field) {
188
- return columnVisibility[field] !== false;
189
- })
190
- });
191
- }).filter(function (groupStructure) {
192
- return groupStructure.columnFields.length > 0;
193
- });
194
- var firstVisibleColumnIndex = visibleColumnGroupHeader[0].columnFields.indexOf(firstColumnFieldToRender);
195
- var hiddenGroupColumns = visibleColumnGroupHeader[0].columnFields.slice(0, firstVisibleColumnIndex);
196
- var leftOverflow = hiddenGroupColumns.reduce(function (acc, field) {
197
- var _column$computedWidth;
198
- var column = apiRef.current.getColumn(field);
199
- return acc + ((_column$computedWidth = column.computedWidth) != null ? _column$computedWidth : 0);
200
- }, 0);
201
- var columnIndex = firstColumnToRender;
202
- var elements = visibleColumnGroupHeader.map(function (_ref5) {
203
- var groupId = _ref5.groupId,
204
- columnFields = _ref5.columnFields;
205
- var hasFocus = columnGroupHeaderFocus !== null && columnGroupHeaderFocus.depth === depth && columnFields.includes(columnGroupHeaderFocus.field);
206
- var tabIndex = columnGroupHeaderTabIndexState !== null && columnGroupHeaderTabIndexState.depth === depth && columnFields.includes(columnGroupHeaderTabIndexState.field) ? 0 : -1;
207
- var headerInfo = {
208
- groupId: groupId,
209
- width: columnFields.reduce(function (acc, field) {
210
- return acc + apiRef.current.getColumn(field).computedWidth;
211
- }, 0),
212
- fields: columnFields,
213
- colIndex: columnIndex,
214
- hasFocus: hasFocus,
215
- tabIndex: tabIndex
216
- };
217
- columnIndex += columnFields.length;
218
- return headerInfo;
219
- });
220
- headerToRender.push({
221
- leftOverflow: leftOverflow,
222
- elements: elements
223
- });
224
- };
225
- for (var depth = 0; depth < headerGroupingMaxDepth; depth += 1) {
226
- _loop(depth);
227
- }
228
- headerToRender.forEach(function (depthInfo, depthIndex) {
229
- var children = depthInfo.elements.map(function (_ref2, groupIndex) {
230
- var groupId = _ref2.groupId,
231
- width = _ref2.width,
232
- fields = _ref2.fields,
233
- colIndex = _ref2.colIndex,
234
- hasFocus = _ref2.hasFocus,
235
- tabIndex = _ref2.tabIndex;
236
- return /*#__PURE__*/_jsx(GridColumnGroupHeader, {
237
- groupId: groupId,
238
- width: width,
239
- fields: fields,
240
- colIndex: colIndex,
241
- depth: depthIndex,
242
- isLastColumn: colIndex === visibleColumns.length - fields.length,
243
- maxDepth: headerToRender.length,
244
- height: dimensions.headerHeight,
245
- hasFocus: hasFocus,
246
- tabIndex: tabIndex
247
- }, groupIndex);
248
- });
249
- columns.push( /*#__PURE__*/_jsx(GridColumnHeaderRow, {
250
- role: "row",
251
- "aria-rowindex": depthIndex + 1,
252
- ownerState: rootProps,
253
- children: getFillers(params, children, depthInfo.leftOverflow)
254
- }, depthIndex));
255
- });
256
- return columns;
257
- };
258
- return {
259
- renderContext: renderContext,
260
- getFillers: getFillers,
261
- getColumnHeaders: getColumnHeaders,
262
- getColumnsToRender: getColumnsToRender,
263
- getColumnGroupHeaders: getColumnGroupHeaders,
264
- isDragging: !!dragCol,
265
- getInnerProps: function getInnerProps() {
266
- return {
267
- ref: handleInnerRef,
268
- role: 'rowgroup'
269
- };
270
- }
271
- };
272
- };
@@ -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
- };