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

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 (531) hide show
  1. package/CHANGELOG.md +357 -22
  2. package/DataGrid/DataGrid.js +2 -0
  3. package/colDef/gridActionsColDef.js +1 -0
  4. package/colDef/gridBooleanColDef.js +1 -0
  5. package/colDef/gridBooleanOperators.js +1 -1
  6. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  7. package/components/GridRow.d.ts +7 -9
  8. package/components/GridRow.js +36 -47
  9. package/components/GridScrollbarFillerCell.js +6 -21
  10. package/components/cell/GridCell.d.ts +2 -1
  11. package/components/cell/GridCell.js +17 -15
  12. package/components/cell/GridSkeletonCell.d.ts +3 -2
  13. package/components/cell/GridSkeletonCell.js +14 -6
  14. package/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
  15. package/components/columnsManagement/GridColumnsManagement.js +1 -1
  16. package/components/containers/GridRootStyles.js +59 -21
  17. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  18. package/components/virtualization/GridBottomContainer.js +1 -1
  19. package/components/virtualization/GridTopContainer.js +1 -1
  20. package/components/virtualization/GridVirtualScroller.js +2 -2
  21. package/components/virtualization/GridVirtualScrollerRenderZone.js +9 -3
  22. package/constants/gridClasses.d.ts +24 -8
  23. package/constants/gridClasses.js +1 -1
  24. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  25. package/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
  26. package/hooks/features/columns/gridColumnsSelector.d.ts +6 -0
  27. package/hooks/features/columns/gridColumnsSelector.js +8 -1
  28. package/hooks/features/columns/useGridColumns.js +4 -0
  29. package/hooks/features/editing/useGridCellEditing.js +3 -4
  30. package/hooks/features/editing/useGridRowEditing.js +4 -6
  31. package/hooks/features/filter/useGridFilter.js +2 -2
  32. package/hooks/features/rows/useGridRows.js +8 -4
  33. package/hooks/features/rows/useGridRowsMeta.js +5 -13
  34. package/hooks/features/sorting/gridSortingUtils.js +9 -1
  35. package/hooks/features/sorting/useGridSorting.js +1 -2
  36. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +0 -9
  37. package/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
  38. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -0
  39. package/hooks/features/virtualization/useGridVirtualScroller.js +82 -138
  40. package/hooks/features/virtualization/useGridVirtualization.d.ts +0 -8
  41. package/hooks/features/virtualization/useGridVirtualization.js +1 -6
  42. package/hooks/utils/useTimeout.d.ts +5 -3
  43. package/hooks/utils/useTimeout.js +13 -5
  44. package/index.js +1 -1
  45. package/internals/index.d.ts +1 -1
  46. package/internals/index.js +1 -1
  47. package/models/colDef/gridColDef.d.ts +13 -0
  48. package/modern/DataGrid/DataGrid.js +2 -0
  49. package/modern/colDef/gridActionsColDef.js +1 -0
  50. package/modern/colDef/gridBooleanColDef.js +1 -0
  51. package/modern/colDef/gridBooleanOperators.js +1 -1
  52. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  53. package/modern/components/GridRow.js +35 -46
  54. package/modern/components/GridScrollbarFillerCell.js +6 -21
  55. package/modern/components/cell/GridCell.js +17 -15
  56. package/modern/components/cell/GridSkeletonCell.js +14 -6
  57. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
  58. package/modern/components/columnsManagement/GridColumnsManagement.js +1 -1
  59. package/modern/components/containers/GridRootStyles.js +59 -21
  60. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  61. package/modern/components/virtualization/GridBottomContainer.js +1 -1
  62. package/modern/components/virtualization/GridTopContainer.js +1 -1
  63. package/modern/components/virtualization/GridVirtualScroller.js +2 -2
  64. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +8 -3
  65. package/modern/constants/gridClasses.js +1 -1
  66. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  67. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
  68. package/modern/hooks/features/columns/gridColumnsSelector.js +8 -1
  69. package/modern/hooks/features/columns/useGridColumns.js +2 -0
  70. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  71. package/modern/hooks/features/editing/useGridRowEditing.js +4 -6
  72. package/modern/hooks/features/filter/useGridFilter.js +2 -2
  73. package/modern/hooks/features/rows/useGridRows.js +8 -4
  74. package/modern/hooks/features/rows/useGridRowsMeta.js +5 -13
  75. package/modern/hooks/features/sorting/gridSortingUtils.js +9 -1
  76. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  77. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
  78. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +80 -136
  79. package/modern/hooks/features/virtualization/useGridVirtualization.js +1 -6
  80. package/modern/hooks/utils/useTimeout.js +13 -5
  81. package/modern/index.js +1 -1
  82. package/modern/internals/index.js +1 -1
  83. package/modern/utils/keyboardUtils.js +20 -11
  84. package/modern/utils/utils.js +9 -0
  85. package/node/DataGrid/DataGrid.js +1 -0
  86. package/node/colDef/gridActionsColDef.js +1 -0
  87. package/node/colDef/gridBooleanColDef.js +1 -0
  88. package/node/colDef/gridBooleanOperators.js +1 -1
  89. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  90. package/node/components/GridRow.js +35 -46
  91. package/node/components/GridScrollbarFillerCell.js +5 -20
  92. package/node/components/cell/GridCell.js +17 -15
  93. package/node/components/cell/GridSkeletonCell.js +15 -7
  94. package/node/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
  95. package/node/components/columnsManagement/GridColumnsManagement.js +1 -1
  96. package/node/components/containers/GridRootStyles.js +59 -21
  97. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  98. package/node/components/virtualization/GridBottomContainer.js +1 -1
  99. package/node/components/virtualization/GridTopContainer.js +1 -1
  100. package/node/components/virtualization/GridVirtualScroller.js +2 -2
  101. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +7 -2
  102. package/node/constants/gridClasses.js +1 -1
  103. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  104. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -5
  105. package/node/hooks/features/columns/gridColumnsSelector.js +9 -2
  106. package/node/hooks/features/columns/useGridColumns.js +2 -0
  107. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  108. package/node/hooks/features/editing/useGridRowEditing.js +3 -5
  109. package/node/hooks/features/filter/useGridFilter.js +2 -2
  110. package/node/hooks/features/rows/useGridRows.js +8 -4
  111. package/node/hooks/features/rows/useGridRowsMeta.js +5 -13
  112. package/node/hooks/features/sorting/gridSortingUtils.js +9 -1
  113. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  114. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +1 -8
  115. package/node/hooks/features/virtualization/useGridVirtualScroller.js +81 -136
  116. package/node/hooks/features/virtualization/useGridVirtualization.js +2 -7
  117. package/node/hooks/utils/useTimeout.js +13 -4
  118. package/node/index.js +1 -1
  119. package/node/internals/index.js +7 -0
  120. package/node/utils/keyboardUtils.js +25 -20
  121. package/node/utils/utils.js +12 -1
  122. package/package.json +1 -1
  123. package/utils/keyboardUtils.d.ts +7 -6
  124. package/utils/keyboardUtils.js +20 -11
  125. package/utils/utils.d.ts +4 -0
  126. package/utils/utils.js +9 -0
  127. package/legacy/DataGrid/DataGrid.js +0 -664
  128. package/legacy/DataGrid/index.js +0 -2
  129. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  130. package/legacy/DataGrid/useDataGridProps.js +0 -98
  131. package/legacy/colDef/gridActionsColDef.js +0 -18
  132. package/legacy/colDef/gridBooleanColDef.js +0 -42
  133. package/legacy/colDef/gridBooleanOperators.js +0 -16
  134. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  135. package/legacy/colDef/gridDateColDef.js +0 -62
  136. package/legacy/colDef/gridDateOperators.js +0 -115
  137. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  138. package/legacy/colDef/gridNumericColDef.js +0 -19
  139. package/legacy/colDef/gridNumericOperators.js +0 -145
  140. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  141. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  142. package/legacy/colDef/gridStringColDef.js +0 -27
  143. package/legacy/colDef/gridStringOperators.js +0 -112
  144. package/legacy/colDef/index.js +0 -13
  145. package/legacy/components/GridApiContext.js +0 -5
  146. package/legacy/components/GridColumnHeaders.js +0 -94
  147. package/legacy/components/GridDetailPanels.js +0 -4
  148. package/legacy/components/GridFooter.js +0 -42
  149. package/legacy/components/GridHeader.js +0 -13
  150. package/legacy/components/GridHeaders.js +0 -53
  151. package/legacy/components/GridLoadingOverlay.js +0 -21
  152. package/legacy/components/GridNoResultsOverlay.js +0 -14
  153. package/legacy/components/GridNoRowsOverlay.js +0 -23
  154. package/legacy/components/GridPagination.js +0 -85
  155. package/legacy/components/GridPinnedRows.js +0 -4
  156. package/legacy/components/GridRow.js +0 -465
  157. package/legacy/components/GridRowCount.js +0 -63
  158. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  159. package/legacy/components/GridSelectedRowCount.js +0 -66
  160. package/legacy/components/base/GridBody.js +0 -2
  161. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  162. package/legacy/components/base/GridOverlays.js +0 -122
  163. package/legacy/components/base/index.js +0 -3
  164. package/legacy/components/cell/GridActionsCell.js +0 -294
  165. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  166. package/legacy/components/cell/GridBooleanCell.js +0 -121
  167. package/legacy/components/cell/GridCell.js +0 -350
  168. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  169. package/legacy/components/cell/GridEditDateCell.js +0 -230
  170. package/legacy/components/cell/GridEditInputCell.js +0 -198
  171. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  172. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  173. package/legacy/components/cell/index.js +0 -9
  174. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  175. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  176. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  177. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  178. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  179. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  180. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  181. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  182. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  183. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  184. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  185. package/legacy/components/columnHeaders/index.js +0 -5
  186. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  187. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  188. package/legacy/components/columnSelection/index.js +0 -2
  189. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  190. package/legacy/components/columnsManagement/index.js +0 -1
  191. package/legacy/components/columnsManagement/utils.js +0 -22
  192. package/legacy/components/containers/GridFooterContainer.js +0 -50
  193. package/legacy/components/containers/GridOverlay.js +0 -52
  194. package/legacy/components/containers/GridRoot.js +0 -79
  195. package/legacy/components/containers/GridRootStyles.js +0 -395
  196. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  197. package/legacy/components/containers/index.js +0 -4
  198. package/legacy/components/index.js +0 -19
  199. package/legacy/components/menu/GridMenu.js +0 -132
  200. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  201. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  202. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  203. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  204. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  205. package/legacy/components/menu/columnMenu/index.js +0 -9
  206. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  207. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  208. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  209. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  210. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  211. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  212. package/legacy/components/menu/index.js +0 -2
  213. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  214. package/legacy/components/panel/GridPanel.js +0 -137
  215. package/legacy/components/panel/GridPanelContent.js +0 -49
  216. package/legacy/components/panel/GridPanelFooter.js +0 -50
  217. package/legacy/components/panel/GridPanelHeader.js +0 -48
  218. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  219. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  220. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  221. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
  222. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  223. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  224. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  225. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
  226. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
  227. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  228. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  229. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  230. package/legacy/components/panel/filterPanel/index.js +0 -9
  231. package/legacy/components/panel/index.js +0 -7
  232. package/legacy/components/reexportable.js +0 -1
  233. package/legacy/components/toolbar/GridToolbar.js +0 -64
  234. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  235. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  236. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  237. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  238. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  239. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  240. package/legacy/components/toolbar/index.js +0 -7
  241. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  242. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  243. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  244. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  245. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  246. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  247. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  248. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
  249. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  250. package/legacy/constants/envConstants.js +0 -19
  251. package/legacy/constants/gridClasses.js +0 -5
  252. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  253. package/legacy/constants/index.js +0 -3
  254. package/legacy/constants/localeTextConstants.js +0 -158
  255. package/legacy/context/GridContextProvider.js +0 -21
  256. package/legacy/context/GridRootPropsContext.js +0 -6
  257. package/legacy/context/index.js +0 -1
  258. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  259. package/legacy/hooks/core/index.js +0 -1
  260. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  261. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  262. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  263. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  264. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  265. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  266. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  267. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  268. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  269. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  270. package/legacy/hooks/core/useGridInitialization.js +0 -26
  271. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  272. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  273. package/legacy/hooks/core/useGridRefs.js +0 -13
  274. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  275. package/legacy/hooks/core/useGridTheme.js +0 -21
  276. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  277. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  278. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  279. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  280. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  281. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  282. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
  283. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  284. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  285. package/legacy/hooks/features/columnMenu/index.js +0 -2
  286. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  287. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  288. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  289. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  290. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  291. package/legacy/hooks/features/columns/index.js +0 -2
  292. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  293. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  294. package/legacy/hooks/features/density/densitySelector.js +0 -10
  295. package/legacy/hooks/features/density/densityState.js +0 -1
  296. package/legacy/hooks/features/density/index.js +0 -2
  297. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  298. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  299. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  300. package/legacy/hooks/features/dimensions/index.js +0 -2
  301. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  302. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  303. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  304. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  305. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  306. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  307. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  308. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  309. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  310. package/legacy/hooks/features/export/utils.js +0 -49
  311. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  312. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  313. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  314. package/legacy/hooks/features/filter/index.js +0 -2
  315. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  316. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  317. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  318. package/legacy/hooks/features/focus/index.js +0 -2
  319. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  320. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  321. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  322. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  323. package/legacy/hooks/features/index.js +0 -16
  324. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  325. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  326. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  327. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  328. package/legacy/hooks/features/pagination/index.js +0 -2
  329. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  330. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  331. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  332. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  333. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  334. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  335. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  336. package/legacy/hooks/features/rowSelection/index.js +0 -1
  337. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  338. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  339. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  340. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  341. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  342. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  343. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  344. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  345. package/legacy/hooks/features/rows/index.js +0 -4
  346. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  347. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  348. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  349. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  350. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  351. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  352. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  353. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  354. package/legacy/hooks/features/sorting/index.js +0 -2
  355. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  356. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  357. package/legacy/hooks/features/statePersistence/index.js +0 -1
  358. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  359. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
  360. package/legacy/hooks/features/virtualization/index.js +0 -2
  361. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
  362. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
  363. package/legacy/hooks/index.js +0 -3
  364. package/legacy/hooks/utils/index.js +0 -9
  365. package/legacy/hooks/utils/useFirstRender.js +0 -8
  366. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  367. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  368. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  369. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  370. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  371. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  372. package/legacy/hooks/utils/useGridLogger.js +0 -10
  373. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  374. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  375. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  376. package/legacy/hooks/utils/useGridSelector.js +0 -54
  377. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  378. package/legacy/hooks/utils/useLazyRef.js +0 -11
  379. package/legacy/hooks/utils/useOnMount.js +0 -7
  380. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  381. package/legacy/hooks/utils/useRunOnce.js +0 -18
  382. package/legacy/hooks/utils/useTimeout.js +0 -38
  383. package/legacy/index.js +0 -38
  384. package/legacy/internals/index.js +0 -68
  385. package/legacy/internals/utils/computeSlots.js +0 -17
  386. package/legacy/internals/utils/index.js +0 -3
  387. package/legacy/internals/utils/propValidation.js +0 -21
  388. package/legacy/internals/utils/useProps.js +0 -32
  389. package/legacy/joy/icons.js +0 -432
  390. package/legacy/joy/index.js +0 -2
  391. package/legacy/joy/joySlots.js +0 -420
  392. package/legacy/locales/arSD.js +0 -160
  393. package/legacy/locales/beBY.js +0 -184
  394. package/legacy/locales/bgBG.js +0 -160
  395. package/legacy/locales/coreLocales.js +0 -62
  396. package/legacy/locales/csCZ.js +0 -181
  397. package/legacy/locales/daDK.js +0 -160
  398. package/legacy/locales/deDE.js +0 -160
  399. package/legacy/locales/elGR.js +0 -160
  400. package/legacy/locales/enUS.js +0 -4
  401. package/legacy/locales/esES.js +0 -160
  402. package/legacy/locales/faIR.js +0 -160
  403. package/legacy/locales/fiFI.js +0 -160
  404. package/legacy/locales/frFR.js +0 -160
  405. package/legacy/locales/heIL.js +0 -160
  406. package/legacy/locales/hrHR.js +0 -160
  407. package/legacy/locales/huHU.js +0 -160
  408. package/legacy/locales/index.js +0 -35
  409. package/legacy/locales/itIT.js +0 -160
  410. package/legacy/locales/jaJP.js +0 -160
  411. package/legacy/locales/koKR.js +0 -162
  412. package/legacy/locales/nbNO.js +0 -162
  413. package/legacy/locales/nlNL.js +0 -160
  414. package/legacy/locales/plPL.js +0 -163
  415. package/legacy/locales/ptBR.js +0 -160
  416. package/legacy/locales/ptPT.js +0 -160
  417. package/legacy/locales/roRO.js +0 -160
  418. package/legacy/locales/ruRU.js +0 -181
  419. package/legacy/locales/skSK.js +0 -181
  420. package/legacy/locales/svSE.js +0 -160
  421. package/legacy/locales/trTR.js +0 -161
  422. package/legacy/locales/ukUA.js +0 -182
  423. package/legacy/locales/urPK.js +0 -160
  424. package/legacy/locales/viVN.js +0 -160
  425. package/legacy/locales/zhCN.js +0 -160
  426. package/legacy/locales/zhHK.js +0 -160
  427. package/legacy/locales/zhTW.js +0 -160
  428. package/legacy/material/components/MUISelectOption.js +0 -14
  429. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  430. package/legacy/material/icons/index.js +0 -89
  431. package/legacy/material/index.js +0 -69
  432. package/legacy/models/api/gridApiCommon.js +0 -1
  433. package/legacy/models/api/gridApiCommunity.js +0 -1
  434. package/legacy/models/api/gridCallbackDetails.js +0 -1
  435. package/legacy/models/api/gridColumnApi.js +0 -1
  436. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  437. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  438. package/legacy/models/api/gridColumnSpanning.js +0 -1
  439. package/legacy/models/api/gridCoreApi.js +0 -1
  440. package/legacy/models/api/gridCsvExportApi.js +0 -1
  441. package/legacy/models/api/gridDensityApi.js +0 -1
  442. package/legacy/models/api/gridEditingApi.js +0 -1
  443. package/legacy/models/api/gridFilterApi.js +0 -1
  444. package/legacy/models/api/gridFocusApi.js +0 -1
  445. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  446. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  447. package/legacy/models/api/gridLoggerApi.js +0 -1
  448. package/legacy/models/api/gridParamsApi.js +0 -1
  449. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  450. package/legacy/models/api/gridPrintExportApi.js +0 -1
  451. package/legacy/models/api/gridRowApi.js +0 -1
  452. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  453. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  454. package/legacy/models/api/gridScrollApi.js +0 -1
  455. package/legacy/models/api/gridSortApi.js +0 -1
  456. package/legacy/models/api/gridStateApi.js +0 -1
  457. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  458. package/legacy/models/api/index.js +0 -16
  459. package/legacy/models/colDef/gridColDef.js +0 -1
  460. package/legacy/models/colDef/gridColType.js +0 -1
  461. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  462. package/legacy/models/colDef/index.js +0 -6
  463. package/legacy/models/controlStateItem.js +0 -1
  464. package/legacy/models/cursorCoordinates.js +0 -1
  465. package/legacy/models/elementSize.js +0 -1
  466. package/legacy/models/events/gridEventListener.js +0 -1
  467. package/legacy/models/events/gridEventLookup.js +0 -1
  468. package/legacy/models/events/gridEventPublisher.js +0 -1
  469. package/legacy/models/events/index.js +0 -3
  470. package/legacy/models/gridApiCaches.js +0 -1
  471. package/legacy/models/gridCell.js +0 -1
  472. package/legacy/models/gridCellClass.js +0 -1
  473. package/legacy/models/gridColumnGrouping.js +0 -11
  474. package/legacy/models/gridColumnHeaderClass.js +0 -1
  475. package/legacy/models/gridColumnSpanning.js +0 -1
  476. package/legacy/models/gridDensity.js +0 -1
  477. package/legacy/models/gridEditRowModel.js +0 -16
  478. package/legacy/models/gridExport.js +0 -1
  479. package/legacy/models/gridFeatureMode.js +0 -1
  480. package/legacy/models/gridFilterItem.js +0 -11
  481. package/legacy/models/gridFilterModel.js +0 -1
  482. package/legacy/models/gridFilterOperator.js +0 -1
  483. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  484. package/legacy/models/gridIconSlotsComponent.js +0 -1
  485. package/legacy/models/gridPaginationProps.js +0 -1
  486. package/legacy/models/gridRenderContextProps.js +0 -1
  487. package/legacy/models/gridRowSelectionModel.js +0 -1
  488. package/legacy/models/gridRows.js +0 -1
  489. package/legacy/models/gridSlotsComponent.js +0 -1
  490. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  491. package/legacy/models/gridSortModel.js +0 -1
  492. package/legacy/models/gridStateCommunity.js +0 -1
  493. package/legacy/models/index.js +0 -29
  494. package/legacy/models/logger.js +0 -1
  495. package/legacy/models/muiEvent.js +0 -1
  496. package/legacy/models/params/gridCellParams.js +0 -1
  497. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  498. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  499. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  500. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  501. package/legacy/models/params/gridEditCellParams.js +0 -27
  502. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  503. package/legacy/models/params/gridMenuParams.js +0 -1
  504. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  505. package/legacy/models/params/gridRowParams.js +0 -44
  506. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  507. package/legacy/models/params/gridScrollParams.js +0 -1
  508. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  509. package/legacy/models/params/index.js +0 -13
  510. package/legacy/models/props/DataGridProps.js +0 -1
  511. package/legacy/themeAugmentation/index.js +0 -4
  512. package/legacy/themeAugmentation/overrides.js +0 -1
  513. package/legacy/themeAugmentation/props.js +0 -1
  514. package/legacy/utils/EventManager.js +0 -91
  515. package/legacy/utils/Store.js +0 -34
  516. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  517. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  518. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  519. package/legacy/utils/createControllablePromise.js +0 -11
  520. package/legacy/utils/createSelector.js +0 -120
  521. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  522. package/legacy/utils/domUtils.js +0 -49
  523. package/legacy/utils/exportAs.js +0 -40
  524. package/legacy/utils/fastMemo.js +0 -5
  525. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  526. package/legacy/utils/getGridLocalization.js +0 -15
  527. package/legacy/utils/getPublicApiRef.js +0 -5
  528. package/legacy/utils/index.js +0 -1
  529. package/legacy/utils/keyboardUtils.js +0 -60
  530. package/legacy/utils/utils.js +0 -189
  531. package/legacy/utils/warning.js +0 -25
@@ -1,408 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { unstable_ownerDocument as ownerDocument, unstable_useEventCallback as useEventcallback } from '@mui/utils';
4
- import { gridClasses } from '../../../constants/gridClasses';
5
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
- import { useGridLogger } from '../../utils/useGridLogger';
7
- import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
8
- import { isNavigationKey } from '../../../utils/keyboardUtils';
9
- import { gridFocusCellSelector, gridFocusColumnGroupHeaderSelector } from './gridFocusStateSelector';
10
- import { gridVisibleColumnDefinitionsSelector } from '../columns/gridColumnsSelector';
11
- import { getVisibleRows } from '../../utils/useGridVisibleRows';
12
- import { clamp } from '../../../utils/utils';
13
- import { gridPinnedRowsSelector } from '../rows/gridRowsSelector';
14
- export var focusStateInitializer = function focusStateInitializer(state) {
15
- return _extends({}, state, {
16
- focus: {
17
- cell: null,
18
- columnHeader: null,
19
- columnHeaderFilter: null,
20
- columnGroupHeader: null
21
- },
22
- tabIndex: {
23
- cell: null,
24
- columnHeader: null,
25
- columnHeaderFilter: null,
26
- columnGroupHeader: null
27
- }
28
- });
29
- };
30
-
31
- /**
32
- * @requires useGridParamsApi (method)
33
- * @requires useGridRows (method)
34
- * @requires useGridEditing (event)
35
- */
36
- export var useGridFocus = function useGridFocus(apiRef, props) {
37
- var logger = useGridLogger(apiRef, 'useGridFocus');
38
- var lastClickedCell = React.useRef(null);
39
- var publishCellFocusOut = React.useCallback(function (cell, event) {
40
- if (cell) {
41
- // The row might have been deleted
42
- if (apiRef.current.getRow(cell.id)) {
43
- apiRef.current.publishEvent('cellFocusOut', apiRef.current.getCellParams(cell.id, cell.field), event);
44
- }
45
- }
46
- }, [apiRef]);
47
- var setCellFocus = React.useCallback(function (id, field) {
48
- var focusedCell = gridFocusCellSelector(apiRef);
49
- if ((focusedCell == null ? void 0 : focusedCell.id) === id && (focusedCell == null ? void 0 : focusedCell.field) === field) {
50
- return;
51
- }
52
- apiRef.current.setState(function (state) {
53
- logger.debug("Focusing on cell with id=".concat(id, " and field=").concat(field));
54
- return _extends({}, state, {
55
- tabIndex: {
56
- cell: {
57
- id: id,
58
- field: field
59
- },
60
- columnHeader: null,
61
- columnHeaderFilter: null,
62
- columnGroupHeader: null
63
- },
64
- focus: {
65
- cell: {
66
- id: id,
67
- field: field
68
- },
69
- columnHeader: null,
70
- columnHeaderFilter: null,
71
- columnGroupHeader: null
72
- }
73
- });
74
- });
75
- apiRef.current.forceUpdate();
76
-
77
- // The row might have been deleted
78
- if (!apiRef.current.getRow(id)) {
79
- return;
80
- }
81
- if (focusedCell) {
82
- // There's a focused cell but another cell was clicked
83
- // Publishes an event to notify that the focus was lost
84
- publishCellFocusOut(focusedCell, {});
85
- }
86
- apiRef.current.publishEvent('cellFocusIn', apiRef.current.getCellParams(id, field));
87
- }, [apiRef, logger, publishCellFocusOut]);
88
- var setColumnHeaderFocus = React.useCallback(function (field) {
89
- var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
90
- var cell = gridFocusCellSelector(apiRef);
91
- publishCellFocusOut(cell, event);
92
- apiRef.current.setState(function (state) {
93
- logger.debug("Focusing on column header with colIndex=".concat(field));
94
- return _extends({}, state, {
95
- tabIndex: {
96
- columnHeader: {
97
- field: field
98
- },
99
- columnHeaderFilter: null,
100
- cell: null,
101
- columnGroupHeader: null
102
- },
103
- focus: {
104
- columnHeader: {
105
- field: field
106
- },
107
- columnHeaderFilter: null,
108
- cell: null,
109
- columnGroupHeader: null
110
- }
111
- });
112
- });
113
- apiRef.current.forceUpdate();
114
- }, [apiRef, logger, publishCellFocusOut]);
115
- var setColumnHeaderFilterFocus = React.useCallback(function (field) {
116
- var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
117
- var cell = gridFocusCellSelector(apiRef);
118
- publishCellFocusOut(cell, event);
119
- apiRef.current.setState(function (state) {
120
- logger.debug("Focusing on column header filter with colIndex=".concat(field));
121
- return _extends({}, state, {
122
- tabIndex: {
123
- columnHeader: null,
124
- columnHeaderFilter: {
125
- field: field
126
- },
127
- cell: null,
128
- columnGroupHeader: null
129
- },
130
- focus: {
131
- columnHeader: null,
132
- columnHeaderFilter: {
133
- field: field
134
- },
135
- cell: null,
136
- columnGroupHeader: null
137
- }
138
- });
139
- });
140
- apiRef.current.forceUpdate();
141
- }, [apiRef, logger, publishCellFocusOut]);
142
- var setColumnGroupHeaderFocus = React.useCallback(function (field, depth) {
143
- var event = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
144
- var cell = gridFocusCellSelector(apiRef);
145
- if (cell) {
146
- apiRef.current.publishEvent('cellFocusOut', apiRef.current.getCellParams(cell.id, cell.field), event);
147
- }
148
- apiRef.current.setState(function (state) {
149
- return _extends({}, state, {
150
- tabIndex: {
151
- columnGroupHeader: {
152
- field: field,
153
- depth: depth
154
- },
155
- columnHeader: null,
156
- columnHeaderFilter: null,
157
- cell: null
158
- },
159
- focus: {
160
- columnGroupHeader: {
161
- field: field,
162
- depth: depth
163
- },
164
- columnHeader: null,
165
- columnHeaderFilter: null,
166
- cell: null
167
- }
168
- });
169
- });
170
- apiRef.current.forceUpdate();
171
- }, [apiRef]);
172
- var getColumnGroupHeaderFocus = React.useCallback(function () {
173
- return gridFocusColumnGroupHeaderSelector(apiRef);
174
- }, [apiRef]);
175
- var moveFocusToRelativeCell = React.useCallback(function (id, field, direction) {
176
- var columnIndexToFocus = apiRef.current.getColumnIndex(field);
177
- var visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
178
- var currentPage = getVisibleRows(apiRef, {
179
- pagination: props.pagination,
180
- paginationMode: props.paginationMode
181
- });
182
- var pinnedRows = gridPinnedRowsSelector(apiRef);
183
-
184
- // Include pinned rows as well
185
- var currentPageRows = [].concat(pinnedRows.top || [], currentPage.rows, pinnedRows.bottom || []);
186
- var rowIndexToFocus = currentPageRows.findIndex(function (row) {
187
- return row.id === id;
188
- });
189
- if (direction === 'right') {
190
- columnIndexToFocus += 1;
191
- } else if (direction === 'left') {
192
- columnIndexToFocus -= 1;
193
- } else {
194
- rowIndexToFocus += 1;
195
- }
196
- if (columnIndexToFocus >= visibleColumns.length) {
197
- // Go to next row if we are after the last column
198
- rowIndexToFocus += 1;
199
- if (rowIndexToFocus < currentPageRows.length) {
200
- // Go to first column of the next row if there's one more row
201
- columnIndexToFocus = 0;
202
- }
203
- } else if (columnIndexToFocus < 0) {
204
- // Go to previous row if we are before the first column
205
- rowIndexToFocus -= 1;
206
- if (rowIndexToFocus >= 0) {
207
- // Go to last column of the previous if there's one more row
208
- columnIndexToFocus = visibleColumns.length - 1;
209
- }
210
- }
211
- rowIndexToFocus = clamp(rowIndexToFocus, 0, currentPageRows.length - 1);
212
- var rowToFocus = currentPageRows[rowIndexToFocus];
213
- if (!rowToFocus) {
214
- return;
215
- }
216
- var colSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowToFocus.id, columnIndexToFocus);
217
- if (colSpanInfo && colSpanInfo.spannedByColSpan) {
218
- if (direction === 'left' || direction === 'below') {
219
- columnIndexToFocus = colSpanInfo.leftVisibleCellIndex;
220
- } else if (direction === 'right') {
221
- columnIndexToFocus = colSpanInfo.rightVisibleCellIndex;
222
- }
223
- }
224
- columnIndexToFocus = clamp(columnIndexToFocus, 0, visibleColumns.length - 1);
225
- var columnToFocus = visibleColumns[columnIndexToFocus];
226
- apiRef.current.setCellFocus(rowToFocus.id, columnToFocus.field);
227
- }, [apiRef, props.pagination, props.paginationMode]);
228
- var handleCellDoubleClick = React.useCallback(function (_ref) {
229
- var id = _ref.id,
230
- field = _ref.field;
231
- apiRef.current.setCellFocus(id, field);
232
- }, [apiRef]);
233
- var handleCellKeyDown = React.useCallback(function (params, event) {
234
- // GRID_CELL_NAVIGATION_KEY_DOWN handles the focus on Enter, Tab and navigation keys
235
- if (event.key === 'Enter' || event.key === 'Tab' || event.key === 'Shift' || isNavigationKey(event.key)) {
236
- return;
237
- }
238
- apiRef.current.setCellFocus(params.id, params.field);
239
- }, [apiRef]);
240
- var handleColumnHeaderFocus = React.useCallback(function (_ref2, event) {
241
- var field = _ref2.field;
242
- if (event.target !== event.currentTarget) {
243
- return;
244
- }
245
- apiRef.current.setColumnHeaderFocus(field, event);
246
- }, [apiRef]);
247
- var handleColumnGroupHeaderFocus = React.useCallback(function (_ref3, event) {
248
- var fields = _ref3.fields,
249
- depth = _ref3.depth;
250
- if (event.target !== event.currentTarget) {
251
- return;
252
- }
253
- var focusedColumnGroup = gridFocusColumnGroupHeaderSelector(apiRef);
254
- if (focusedColumnGroup !== null && focusedColumnGroup.depth === depth && fields.includes(focusedColumnGroup.field)) {
255
- // This group cell has already been focused
256
- return;
257
- }
258
- apiRef.current.setColumnGroupHeaderFocus(fields[0], depth, event);
259
- }, [apiRef]);
260
- var handleBlur = React.useCallback(function (_, event) {
261
- var _event$relatedTarget;
262
- if ((_event$relatedTarget = event.relatedTarget) != null && _event$relatedTarget.className.includes(gridClasses.columnHeader)) {
263
- return;
264
- }
265
- logger.debug("Clearing focus");
266
- apiRef.current.setState(function (state) {
267
- return _extends({}, state, {
268
- focus: {
269
- cell: null,
270
- columnHeader: null,
271
- columnHeaderFilter: null,
272
- columnGroupHeader: null
273
- }
274
- });
275
- });
276
- }, [logger, apiRef]);
277
- var handleCellMouseDown = React.useCallback(function (params) {
278
- lastClickedCell.current = params;
279
- }, []);
280
- var handleDocumentClick = React.useCallback(function (event) {
281
- var cellParams = lastClickedCell.current;
282
- lastClickedCell.current = null;
283
- var focusedCell = gridFocusCellSelector(apiRef);
284
- var canUpdateFocus = apiRef.current.unstable_applyPipeProcessors('canUpdateFocus', true, {
285
- event: event,
286
- cell: cellParams
287
- });
288
- if (!canUpdateFocus) {
289
- return;
290
- }
291
- if (!focusedCell) {
292
- if (cellParams) {
293
- apiRef.current.setCellFocus(cellParams.id, cellParams.field);
294
- }
295
- return;
296
- }
297
- if ((cellParams == null ? void 0 : cellParams.id) === focusedCell.id && (cellParams == null ? void 0 : cellParams.field) === focusedCell.field) {
298
- return;
299
- }
300
- var cellElement = apiRef.current.getCellElement(focusedCell.id, focusedCell.field);
301
- if (cellElement != null && cellElement.contains(event.target)) {
302
- return;
303
- }
304
- if (cellParams) {
305
- apiRef.current.setCellFocus(cellParams.id, cellParams.field);
306
- } else {
307
- apiRef.current.setState(function (state) {
308
- return _extends({}, state, {
309
- focus: {
310
- cell: null,
311
- columnHeader: null,
312
- columnHeaderFilter: null,
313
- columnGroupHeader: null
314
- }
315
- });
316
- });
317
- apiRef.current.forceUpdate();
318
-
319
- // There's a focused cell but another element (not a cell) was clicked
320
- // Publishes an event to notify that the focus was lost
321
- publishCellFocusOut(focusedCell, event);
322
- }
323
- }, [apiRef, publishCellFocusOut]);
324
- var handleCellModeChange = React.useCallback(function (params) {
325
- if (params.cellMode === 'view') {
326
- return;
327
- }
328
- var cell = gridFocusCellSelector(apiRef);
329
- if ((cell == null ? void 0 : cell.id) !== params.id || (cell == null ? void 0 : cell.field) !== params.field) {
330
- apiRef.current.setCellFocus(params.id, params.field);
331
- }
332
- }, [apiRef]);
333
- var handleRowSet = React.useCallback(function () {
334
- var cell = gridFocusCellSelector(apiRef);
335
-
336
- // If the focused cell is in a row which does not exist anymore, then remove the focus
337
- if (cell && !apiRef.current.getRow(cell.id)) {
338
- apiRef.current.setState(function (state) {
339
- return _extends({}, state, {
340
- focus: {
341
- cell: null,
342
- columnHeader: null,
343
- columnHeaderFilter: null,
344
- columnGroupHeader: null
345
- }
346
- });
347
- });
348
- }
349
- }, [apiRef]);
350
- var handlePaginationModelChange = useEventcallback(function () {
351
- var currentFocusedCell = gridFocusCellSelector(apiRef);
352
- if (!currentFocusedCell) {
353
- return;
354
- }
355
- var currentPage = getVisibleRows(apiRef, {
356
- pagination: props.pagination,
357
- paginationMode: props.paginationMode
358
- });
359
- var rowIsInCurrentPage = currentPage.rows.find(function (row) {
360
- return row.id === currentFocusedCell.id;
361
- });
362
- if (rowIsInCurrentPage) {
363
- return;
364
- }
365
- var visibleColumns = gridVisibleColumnDefinitionsSelector(apiRef);
366
- apiRef.current.setState(function (state) {
367
- return _extends({}, state, {
368
- tabIndex: {
369
- cell: {
370
- id: currentPage.rows[0].id,
371
- field: visibleColumns[0].field
372
- },
373
- columnGroupHeader: null,
374
- columnHeader: null,
375
- columnHeaderFilter: null
376
- }
377
- });
378
- });
379
- });
380
- var focusApi = {
381
- setCellFocus: setCellFocus,
382
- setColumnHeaderFocus: setColumnHeaderFocus,
383
- setColumnHeaderFilterFocus: setColumnHeaderFilterFocus
384
- };
385
- var focusPrivateApi = {
386
- moveFocusToRelativeCell: moveFocusToRelativeCell,
387
- setColumnGroupHeaderFocus: setColumnGroupHeaderFocus,
388
- getColumnGroupHeaderFocus: getColumnGroupHeaderFocus
389
- };
390
- useGridApiMethod(apiRef, focusApi, 'public');
391
- useGridApiMethod(apiRef, focusPrivateApi, 'private');
392
- React.useEffect(function () {
393
- var doc = ownerDocument(apiRef.current.rootElementRef.current);
394
- doc.addEventListener('mouseup', handleDocumentClick);
395
- return function () {
396
- doc.removeEventListener('mouseup', handleDocumentClick);
397
- };
398
- }, [apiRef, handleDocumentClick]);
399
- useGridApiEventHandler(apiRef, 'columnHeaderBlur', handleBlur);
400
- useGridApiEventHandler(apiRef, 'cellDoubleClick', handleCellDoubleClick);
401
- useGridApiEventHandler(apiRef, 'cellMouseDown', handleCellMouseDown);
402
- useGridApiEventHandler(apiRef, 'cellKeyDown', handleCellKeyDown);
403
- useGridApiEventHandler(apiRef, 'cellModeChange', handleCellModeChange);
404
- useGridApiEventHandler(apiRef, 'columnHeaderFocus', handleColumnHeaderFocus);
405
- useGridApiEventHandler(apiRef, 'columnGroupHeaderFocus', handleColumnGroupHeaderFocus);
406
- useGridApiEventHandler(apiRef, 'rowsSet', handleRowSet);
407
- useGridApiEventHandler(apiRef, 'paginationModelChange', handlePaginationModelChange);
408
- };
@@ -1,10 +0,0 @@
1
- import { createSelector } from '../../../utils/createSelector';
2
- export var gridHeaderFilteringStateSelector = function gridHeaderFilteringStateSelector(state) {
3
- return state.headerFiltering;
4
- };
5
- export var gridHeaderFilteringEditFieldSelector = createSelector(gridHeaderFilteringStateSelector, function (headerFilteringState) {
6
- return headerFilteringState.editing;
7
- });
8
- export var gridHeaderFilteringMenuSelector = createSelector(gridHeaderFilteringStateSelector, function (headerFilteringState) {
9
- return headerFilteringState.menuOpen;
10
- });
@@ -1 +0,0 @@
1
- export * from './gridHeaderFilteringSelectors';
@@ -1,93 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
4
- import { useGridLogger } from '../../utils';
5
- import { gridColumnLookupSelector, gridColumnVisibilityModelSelector, gridColumnFieldsSelector } from '../columns/gridColumnsSelector';
6
- export var headerFilteringStateInitializer = function headerFilteringStateInitializer(state) {
7
- return _extends({}, state, {
8
- headerFiltering: {
9
- editing: null,
10
- menuOpen: null
11
- }
12
- });
13
- };
14
- export var useGridHeaderFiltering = function useGridHeaderFiltering(apiRef, props) {
15
- var logger = useGridLogger(apiRef, 'useGridHeaderFiltering');
16
- var setHeaderFilterState = React.useCallback(function (headerFilterState) {
17
- apiRef.current.setState(function (state) {
18
- var _headerFilterState$ed, _headerFilterState$me;
19
- // Safety check to avoid MIT users from using it
20
- // This hook should ultimately be moved to the Pro package
21
- if (props.signature === 'DataGrid') {
22
- return state;
23
- }
24
- return _extends({}, state, {
25
- headerFiltering: {
26
- editing: (_headerFilterState$ed = headerFilterState.editing) != null ? _headerFilterState$ed : null,
27
- menuOpen: (_headerFilterState$me = headerFilterState.menuOpen) != null ? _headerFilterState$me : null
28
- }
29
- });
30
- });
31
- apiRef.current.forceUpdate();
32
- }, [apiRef, props.signature]);
33
- var startHeaderFilterEditMode = React.useCallback(function (field) {
34
- logger.debug("Starting edit mode on header filter for field: ".concat(field));
35
- apiRef.current.setHeaderFilterState({
36
- editing: field
37
- });
38
- }, [apiRef, logger]);
39
- var stopHeaderFilterEditMode = React.useCallback(function () {
40
- logger.debug("Stopping edit mode on header filter");
41
- apiRef.current.setHeaderFilterState({
42
- editing: null
43
- });
44
- }, [apiRef, logger]);
45
- var showHeaderFilterMenu = React.useCallback(function (field) {
46
- logger.debug("Opening header filter menu for field: ".concat(field));
47
- apiRef.current.setHeaderFilterState({
48
- menuOpen: field
49
- });
50
- }, [apiRef, logger]);
51
- var hideHeaderFilterMenu = React.useCallback(function () {
52
- logger.debug("Hiding header filter menu for active field");
53
- var fieldToFocus = apiRef.current.state.headerFiltering.menuOpen;
54
- if (fieldToFocus) {
55
- var columnLookup = gridColumnLookupSelector(apiRef);
56
- var columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
57
- var orderedFields = gridColumnFieldsSelector(apiRef);
58
-
59
- // If the column was removed from the grid, we need to find the closest visible field
60
- if (!columnLookup[fieldToFocus]) {
61
- fieldToFocus = orderedFields[0];
62
- }
63
-
64
- // If the field to focus is hidden, we need to find the closest visible field
65
- if (columnVisibilityModel[fieldToFocus] === false) {
66
- // contains visible column fields + the field that was just hidden
67
- var visibleOrderedFields = orderedFields.filter(function (field) {
68
- if (field === fieldToFocus) {
69
- return true;
70
- }
71
- return columnVisibilityModel[field] !== false;
72
- });
73
- var fieldIndex = visibleOrderedFields.indexOf(fieldToFocus);
74
- fieldToFocus = visibleOrderedFields[fieldIndex + 1] || visibleOrderedFields[fieldIndex - 1];
75
- }
76
- apiRef.current.setHeaderFilterState({
77
- menuOpen: null
78
- });
79
- apiRef.current.setColumnHeaderFilterFocus(fieldToFocus);
80
- }
81
- }, [apiRef, logger]);
82
- var headerFilterPrivateApi = {
83
- setHeaderFilterState: setHeaderFilterState
84
- };
85
- var headerFilterApi = {
86
- startHeaderFilterEditMode: startHeaderFilterEditMode,
87
- stopHeaderFilterEditMode: stopHeaderFilterEditMode,
88
- showHeaderFilterMenu: showHeaderFilterMenu,
89
- hideHeaderFilterMenu: hideHeaderFilterMenu
90
- };
91
- useGridApiMethod(apiRef, headerFilterApi, 'public');
92
- useGridApiMethod(apiRef, headerFilterPrivateApi, 'private');
93
- };
@@ -1,16 +0,0 @@
1
- // Only export the variable and types that should be publicly exposed and re-exported from `@mui/x-data-grid-pro`
2
- export * from './columnMenu';
3
- export * from './columns';
4
- export * from './columnGrouping';
5
- export * from './density';
6
- export * from './filter';
7
- export * from './focus';
8
- export * from './pagination';
9
- export * from './preferencesPanel';
10
- export * from './rows';
11
- export * from './rowSelection';
12
- export * from './sorting';
13
- export * from './dimensions';
14
- export * from './statePersistence';
15
- export * from './headerFiltering';
16
- export * from './virtualization';