@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,105 +0,0 @@
1
- import * as React from 'react';
2
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
3
- import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
4
- /**
5
- * @requires useGridColumns (method, event)
6
- * @requires useGridParamsApi (method)
7
- */
8
- export var useGridColumnSpanning = function useGridColumnSpanning(apiRef) {
9
- var lookup = React.useRef({});
10
- var getCellColSpanInfo = function getCellColSpanInfo(rowId, columnIndex) {
11
- var _lookup$current$rowId;
12
- return (_lookup$current$rowId = lookup.current[rowId]) == null ? void 0 : _lookup$current$rowId[columnIndex];
13
- };
14
-
15
- // Calculate `colSpan` for each cell in the row
16
- var calculateColSpan = React.useCallback(function (_ref) {
17
- var rowId = _ref.rowId,
18
- minFirstColumn = _ref.minFirstColumn,
19
- maxLastColumn = _ref.maxLastColumn,
20
- columns = _ref.columns;
21
- for (var i = minFirstColumn; i < maxLastColumn; i += 1) {
22
- var cellProps = calculateCellColSpan({
23
- apiRef: apiRef,
24
- lookup: lookup.current,
25
- columnIndex: i,
26
- rowId: rowId,
27
- minFirstColumnIndex: minFirstColumn,
28
- maxLastColumnIndex: maxLastColumn,
29
- columns: columns
30
- });
31
- if (cellProps.colSpan > 1) {
32
- i += cellProps.colSpan - 1;
33
- }
34
- }
35
- }, [apiRef]);
36
- var columnSpanningPublicApi = {
37
- unstable_getCellColSpanInfo: getCellColSpanInfo
38
- };
39
- var columnSpanningPrivateApi = {
40
- calculateColSpan: calculateColSpan
41
- };
42
- useGridApiMethod(apiRef, columnSpanningPublicApi, 'public');
43
- useGridApiMethod(apiRef, columnSpanningPrivateApi, 'private');
44
- var handleColumnReorderChange = React.useCallback(function () {
45
- // `colSpan` needs to be recalculated after column reordering
46
- lookup.current = {};
47
- }, []);
48
- useGridApiEventHandler(apiRef, 'columnOrderChange', handleColumnReorderChange);
49
- };
50
- function calculateCellColSpan(params) {
51
- var apiRef = params.apiRef,
52
- lookup = params.lookup,
53
- columnIndex = params.columnIndex,
54
- rowId = params.rowId,
55
- minFirstColumnIndex = params.minFirstColumnIndex,
56
- maxLastColumnIndex = params.maxLastColumnIndex,
57
- columns = params.columns;
58
- var columnsLength = columns.length;
59
- var column = columns[columnIndex];
60
- var row = apiRef.current.getRow(rowId);
61
- var value = apiRef.current.getRowValue(row, column);
62
- var colSpan = typeof column.colSpan === 'function' ? column.colSpan(value, row, column, apiRef) : column.colSpan;
63
- if (!colSpan || colSpan === 1) {
64
- setCellColSpanInfo(lookup, rowId, columnIndex, {
65
- spannedByColSpan: false,
66
- cellProps: {
67
- colSpan: 1,
68
- width: column.computedWidth
69
- }
70
- });
71
- return {
72
- colSpan: 1
73
- };
74
- }
75
- var width = column.computedWidth;
76
- for (var j = 1; j < colSpan; j += 1) {
77
- var nextColumnIndex = columnIndex + j;
78
- // Cells should be spanned only within their column section (left-pinned, right-pinned and unpinned).
79
- if (nextColumnIndex >= minFirstColumnIndex && nextColumnIndex < maxLastColumnIndex) {
80
- var nextColumn = columns[nextColumnIndex];
81
- width += nextColumn.computedWidth;
82
- setCellColSpanInfo(lookup, rowId, columnIndex + j, {
83
- spannedByColSpan: true,
84
- rightVisibleCellIndex: Math.min(columnIndex + colSpan, columnsLength - 1),
85
- leftVisibleCellIndex: columnIndex
86
- });
87
- }
88
- setCellColSpanInfo(lookup, rowId, columnIndex, {
89
- spannedByColSpan: false,
90
- cellProps: {
91
- colSpan: colSpan,
92
- width: width
93
- }
94
- });
95
- }
96
- return {
97
- colSpan: colSpan
98
- };
99
- }
100
- function setCellColSpanInfo(lookup, rowId, columnIndex, cellColSpanInfo) {
101
- if (!lookup[rowId]) {
102
- lookup[rowId] = {};
103
- }
104
- lookup[rowId][columnIndex] = cellColSpanInfo;
105
- }
@@ -1,319 +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 * as React from 'react';
5
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
6
- import { useGridLogger } from '../../utils/useGridLogger';
7
- import { gridColumnFieldsSelector, gridColumnDefinitionsSelector, gridColumnLookupSelector, gridColumnsStateSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector } from './gridColumnsSelector';
8
- import { GridSignature, useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
9
- import { useGridRegisterPipeProcessor, useGridRegisterPipeApplier } from '../../core/pipeProcessing';
10
- import { EMPTY_PINNED_COLUMN_FIELDS } from './gridColumnsInterfaces';
11
- import { hydrateColumnsWidth, createColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';
12
- import { GridPreferencePanelsValue } from '../preferencesPanel';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- export var columnsStateInitializer = function columnsStateInitializer(state, props, apiRef) {
15
- var _props$initialState, _ref, _props$columnVisibili, _props$initialState2, _state$pinnedColumns;
16
- var columnsState = createColumnsState({
17
- apiRef: apiRef,
18
- columnsToUpsert: props.columns,
19
- initialState: (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.columns,
20
- columnVisibilityModel: (_ref = (_props$columnVisibili = props.columnVisibilityModel) != null ? _props$columnVisibili : (_props$initialState2 = props.initialState) == null || (_props$initialState2 = _props$initialState2.columns) == null ? void 0 : _props$initialState2.columnVisibilityModel) != null ? _ref : {},
21
- keepOnlyColumnsToUpsert: true
22
- });
23
- return _extends({}, state, {
24
- columns: columnsState,
25
- // In pro/premium, this part of the state is defined. We give it an empty but defined value
26
- // for the community version.
27
- pinnedColumns: (_state$pinnedColumns = state.pinnedColumns) != null ? _state$pinnedColumns : EMPTY_PINNED_COLUMN_FIELDS
28
- });
29
- };
30
-
31
- /**
32
- * @requires useGridParamsApi (method)
33
- * @requires useGridDimensions (method, event) - can be after
34
- * TODO: Impossible priority - useGridParamsApi also needs to be after useGridColumns
35
- */
36
- export function useGridColumns(apiRef, props) {
37
- var _props$initialState4, _props$slotProps2;
38
- var logger = useGridLogger(apiRef, 'useGridColumns');
39
- var previousColumnsProp = React.useRef(props.columns);
40
- apiRef.current.registerControlState({
41
- stateId: 'visibleColumns',
42
- propModel: props.columnVisibilityModel,
43
- propOnChange: props.onColumnVisibilityModelChange,
44
- stateSelector: gridColumnVisibilityModelSelector,
45
- changeEvent: 'columnVisibilityModelChange'
46
- });
47
- var setGridColumnsState = React.useCallback(function (columnsState) {
48
- logger.debug('Updating columns state.');
49
- apiRef.current.setState(mergeColumnsState(columnsState));
50
- apiRef.current.publishEvent('columnsChange', columnsState.orderedFields);
51
- apiRef.current.forceUpdate();
52
- }, [logger, apiRef]);
53
-
54
- /**
55
- * API METHODS
56
- */
57
- var getColumn = React.useCallback(function (field) {
58
- return gridColumnLookupSelector(apiRef)[field];
59
- }, [apiRef]);
60
- var getAllColumns = React.useCallback(function () {
61
- return gridColumnDefinitionsSelector(apiRef);
62
- }, [apiRef]);
63
- var getVisibleColumns = React.useCallback(function () {
64
- return gridVisibleColumnDefinitionsSelector(apiRef);
65
- }, [apiRef]);
66
- var getColumnIndex = React.useCallback(function (field) {
67
- var useVisibleColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
68
- var columns = useVisibleColumns ? gridVisibleColumnDefinitionsSelector(apiRef) : gridColumnDefinitionsSelector(apiRef);
69
- return columns.findIndex(function (col) {
70
- return col.field === field;
71
- });
72
- }, [apiRef]);
73
- var getColumnPosition = React.useCallback(function (field) {
74
- var index = getColumnIndex(field);
75
- return gridColumnPositionsSelector(apiRef)[index];
76
- }, [apiRef, getColumnIndex]);
77
- var setColumnVisibilityModel = React.useCallback(function (model) {
78
- var currentModel = gridColumnVisibilityModelSelector(apiRef);
79
- if (currentModel !== model) {
80
- apiRef.current.setState(function (state) {
81
- return _extends({}, state, {
82
- columns: createColumnsState({
83
- apiRef: apiRef,
84
- columnsToUpsert: [],
85
- initialState: undefined,
86
- columnVisibilityModel: model,
87
- keepOnlyColumnsToUpsert: false
88
- })
89
- });
90
- });
91
- apiRef.current.forceUpdate();
92
- }
93
- }, [apiRef]);
94
- var updateColumns = React.useCallback(function (columns) {
95
- var columnsState = createColumnsState({
96
- apiRef: apiRef,
97
- columnsToUpsert: columns,
98
- initialState: undefined,
99
- keepOnlyColumnsToUpsert: false
100
- });
101
- setGridColumnsState(columnsState);
102
- }, [apiRef, setGridColumnsState]);
103
- var setColumnVisibility = React.useCallback(function (field, isVisible) {
104
- var _columnVisibilityMode;
105
- var columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
106
- var isCurrentlyVisible = (_columnVisibilityMode = columnVisibilityModel[field]) != null ? _columnVisibilityMode : true;
107
- if (isVisible !== isCurrentlyVisible) {
108
- var newModel = _extends({}, columnVisibilityModel, _defineProperty({}, field, isVisible));
109
- apiRef.current.setColumnVisibilityModel(newModel);
110
- }
111
- }, [apiRef]);
112
- var getColumnIndexRelativeToVisibleColumns = React.useCallback(function (field) {
113
- var allColumns = gridColumnFieldsSelector(apiRef);
114
- return allColumns.findIndex(function (col) {
115
- return col === field;
116
- });
117
- }, [apiRef]);
118
- var setColumnIndex = React.useCallback(function (field, targetIndexPosition) {
119
- var allColumns = gridColumnFieldsSelector(apiRef);
120
- var oldIndexPosition = getColumnIndexRelativeToVisibleColumns(field);
121
- if (oldIndexPosition === targetIndexPosition) {
122
- return;
123
- }
124
- logger.debug("Moving column ".concat(field, " to index ").concat(targetIndexPosition));
125
- var updatedColumns = _toConsumableArray(allColumns);
126
- var fieldRemoved = updatedColumns.splice(oldIndexPosition, 1)[0];
127
- updatedColumns.splice(targetIndexPosition, 0, fieldRemoved);
128
- setGridColumnsState(_extends({}, gridColumnsStateSelector(apiRef.current.state), {
129
- orderedFields: updatedColumns
130
- }));
131
- var params = {
132
- column: apiRef.current.getColumn(field),
133
- targetIndex: apiRef.current.getColumnIndexRelativeToVisibleColumns(field),
134
- oldIndex: oldIndexPosition
135
- };
136
- apiRef.current.publishEvent('columnIndexChange', params);
137
- }, [apiRef, logger, setGridColumnsState, getColumnIndexRelativeToVisibleColumns]);
138
- var setColumnWidth = React.useCallback(function (field, width) {
139
- logger.debug("Updating column ".concat(field, " width to ").concat(width));
140
- var columnsState = gridColumnsStateSelector(apiRef.current.state);
141
- var column = columnsState.lookup[field];
142
- var newColumn = _extends({}, column, {
143
- width: width,
144
- hasBeenResized: true
145
- });
146
- setGridColumnsState(hydrateColumnsWidth(_extends({}, columnsState, {
147
- lookup: _extends({}, columnsState.lookup, _defineProperty({}, field, newColumn))
148
- }), apiRef.current.getRootDimensions().viewportInnerSize.width));
149
- apiRef.current.publishEvent('columnWidthChange', {
150
- element: apiRef.current.getColumnHeaderElement(field),
151
- colDef: newColumn,
152
- width: width
153
- });
154
- }, [apiRef, logger, setGridColumnsState]);
155
- var columnApi = {
156
- getColumn: getColumn,
157
- getAllColumns: getAllColumns,
158
- getColumnIndex: getColumnIndex,
159
- getColumnPosition: getColumnPosition,
160
- getVisibleColumns: getVisibleColumns,
161
- getColumnIndexRelativeToVisibleColumns: getColumnIndexRelativeToVisibleColumns,
162
- updateColumns: updateColumns,
163
- setColumnVisibilityModel: setColumnVisibilityModel,
164
- setColumnVisibility: setColumnVisibility,
165
- setColumnWidth: setColumnWidth
166
- };
167
- var columnReorderApi = {
168
- setColumnIndex: setColumnIndex
169
- };
170
- useGridApiMethod(apiRef, columnApi, 'public');
171
- useGridApiMethod(apiRef, columnReorderApi, props.signature === GridSignature.DataGrid ? 'private' : 'public');
172
-
173
- /**
174
- * PRE-PROCESSING
175
- */
176
- var stateExportPreProcessing = React.useCallback(function (prevState, context) {
177
- var _props$initialState$c, _props$initialState3;
178
- var columnsStateToExport = {};
179
- var columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
180
- var shouldExportColumnVisibilityModel =
181
- // Always export if the `exportOnlyDirtyModels` property is not activated
182
- !context.exportOnlyDirtyModels ||
183
- // Always export if the model is controlled
184
- props.columnVisibilityModel != null ||
185
- // Always export if the model has been initialized
186
- // TODO v6 Do a nullish check instead to export even if the initial model equals "{}"
187
- Object.keys((_props$initialState$c = (_props$initialState3 = props.initialState) == null || (_props$initialState3 = _props$initialState3.columns) == null ? void 0 : _props$initialState3.columnVisibilityModel) != null ? _props$initialState$c : {}).length > 0 ||
188
- // Always export if the model is not empty
189
- Object.keys(columnVisibilityModelToExport).length > 0;
190
- if (shouldExportColumnVisibilityModel) {
191
- columnsStateToExport.columnVisibilityModel = columnVisibilityModelToExport;
192
- }
193
- columnsStateToExport.orderedFields = gridColumnFieldsSelector(apiRef);
194
- var columns = gridColumnDefinitionsSelector(apiRef);
195
- var dimensions = {};
196
- columns.forEach(function (colDef) {
197
- if (colDef.hasBeenResized) {
198
- var colDefDimensions = {};
199
- COLUMNS_DIMENSION_PROPERTIES.forEach(function (propertyName) {
200
- var propertyValue = colDef[propertyName];
201
- if (propertyValue === Infinity) {
202
- propertyValue = -1;
203
- }
204
- colDefDimensions[propertyName] = propertyValue;
205
- });
206
- dimensions[colDef.field] = colDefDimensions;
207
- }
208
- });
209
- if (Object.keys(dimensions).length > 0) {
210
- columnsStateToExport.dimensions = dimensions;
211
- }
212
- return _extends({}, prevState, {
213
- columns: columnsStateToExport
214
- });
215
- }, [apiRef, props.columnVisibilityModel, (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.columns]);
216
- var stateRestorePreProcessing = React.useCallback(function (params, context) {
217
- var _context$stateToResto;
218
- var columnVisibilityModelToImport = (_context$stateToResto = context.stateToRestore.columns) == null ? void 0 : _context$stateToResto.columnVisibilityModel;
219
- var initialState = context.stateToRestore.columns;
220
- if (columnVisibilityModelToImport == null && initialState == null) {
221
- return params;
222
- }
223
- var columnsState = createColumnsState({
224
- apiRef: apiRef,
225
- columnsToUpsert: [],
226
- initialState: initialState,
227
- columnVisibilityModel: columnVisibilityModelToImport,
228
- keepOnlyColumnsToUpsert: false
229
- });
230
- apiRef.current.setState(mergeColumnsState(columnsState));
231
- if (initialState != null) {
232
- apiRef.current.publishEvent('columnsChange', columnsState.orderedFields);
233
- }
234
- return params;
235
- }, [apiRef]);
236
- var preferencePanelPreProcessing = React.useCallback(function (initialValue, value) {
237
- if (value === GridPreferencePanelsValue.columns) {
238
- var _props$slotProps;
239
- var ColumnsPanel = props.slots.columnsPanel;
240
- return /*#__PURE__*/_jsx(ColumnsPanel, _extends({}, (_props$slotProps = props.slotProps) == null ? void 0 : _props$slotProps.columnsPanel));
241
- }
242
- return initialValue;
243
- }, [props.slots.columnsPanel, (_props$slotProps2 = props.slotProps) == null ? void 0 : _props$slotProps2.columnsPanel]);
244
- var addColumnMenuItems = React.useCallback(function (columnMenuItems) {
245
- if (props.disableColumnSelector) {
246
- return columnMenuItems;
247
- }
248
- return [].concat(_toConsumableArray(columnMenuItems), ['columnMenuColumnsItem']);
249
- }, [props.disableColumnSelector]);
250
- useGridRegisterPipeProcessor(apiRef, 'columnMenu', addColumnMenuItems);
251
- useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);
252
- useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
253
- useGridRegisterPipeProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);
254
-
255
- /**
256
- * EVENTS
257
- */
258
- var prevInnerWidth = React.useRef(null);
259
- var handleGridSizeChange = function handleGridSizeChange(viewportInnerSize) {
260
- if (prevInnerWidth.current !== viewportInnerSize.width) {
261
- prevInnerWidth.current = viewportInnerSize.width;
262
- setGridColumnsState(hydrateColumnsWidth(gridColumnsStateSelector(apiRef.current.state), viewportInnerSize.width));
263
- }
264
- };
265
- useGridApiEventHandler(apiRef, 'viewportInnerSizeChange', handleGridSizeChange);
266
-
267
- /**
268
- * APPLIERS
269
- */
270
- var hydrateColumns = React.useCallback(function () {
271
- logger.info("Columns pipe processing have changed, regenerating the columns");
272
- var columnsState = createColumnsState({
273
- apiRef: apiRef,
274
- columnsToUpsert: [],
275
- initialState: undefined,
276
- keepOnlyColumnsToUpsert: false
277
- });
278
- setGridColumnsState(columnsState);
279
- }, [apiRef, logger, setGridColumnsState]);
280
- useGridRegisterPipeApplier(apiRef, 'hydrateColumns', hydrateColumns);
281
-
282
- /**
283
- * EFFECTS
284
- */
285
- // The effect do not track any value defined synchronously during the 1st render by hooks called after `useGridColumns`
286
- // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one
287
- var isFirstRender = React.useRef(true);
288
- React.useEffect(function () {
289
- if (isFirstRender.current) {
290
- isFirstRender.current = false;
291
- return;
292
- }
293
- logger.info("GridColumns have changed, new length ".concat(props.columns.length));
294
- if (previousColumnsProp.current === props.columns) {
295
- return;
296
- }
297
- var columnsState = createColumnsState({
298
- apiRef: apiRef,
299
- initialState: undefined,
300
- // If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`
301
- columnsToUpsert: props.columns,
302
- keepOnlyColumnsToUpsert: true
303
- });
304
- previousColumnsProp.current = props.columns;
305
- setGridColumnsState(columnsState);
306
- }, [logger, apiRef, setGridColumnsState, props.columns]);
307
- React.useEffect(function () {
308
- if (props.columnVisibilityModel !== undefined) {
309
- apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);
310
- }
311
- }, [apiRef, logger, props.columnVisibilityModel]);
312
- }
313
- function mergeColumnsState(columnsState) {
314
- return function (state) {
315
- return _extends({}, state, {
316
- columns: columnsState
317
- });
318
- };
319
- }
@@ -1,10 +0,0 @@
1
- import { createSelector } from '../../../utils/createSelector';
2
- export var gridDensitySelector = function gridDensitySelector(state) {
3
- return state.density;
4
- };
5
- export var gridDensityValueSelector = createSelector(gridDensitySelector, function (density) {
6
- return density.value;
7
- });
8
- export var gridDensityFactorSelector = createSelector(gridDensitySelector, function (density) {
9
- return density.factor;
10
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- export * from './densityState';
2
- export * from './densitySelector';
@@ -1,48 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { useGridLogger } from '../../utils/useGridLogger';
4
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
5
- import { gridDensitySelector } from './densitySelector';
6
- import { isDeepEqual } from '../../../utils/utils';
7
- export var COMPACT_DENSITY_FACTOR = 0.7;
8
- export var COMFORTABLE_DENSITY_FACTOR = 1.3;
9
- var DENSITY_FACTORS = {
10
- compact: COMPACT_DENSITY_FACTOR,
11
- comfortable: COMFORTABLE_DENSITY_FACTOR,
12
- standard: 1
13
- };
14
- export var densityStateInitializer = function densityStateInitializer(state, props) {
15
- return _extends({}, state, {
16
- density: {
17
- value: props.density,
18
- factor: DENSITY_FACTORS[props.density]
19
- }
20
- });
21
- };
22
- export var useGridDensity = function useGridDensity(apiRef, props) {
23
- var logger = useGridLogger(apiRef, 'useDensity');
24
- var setDensity = React.useCallback(function (newDensity) {
25
- logger.debug("Set grid density to ".concat(newDensity));
26
- apiRef.current.setState(function (state) {
27
- var currentDensityState = gridDensitySelector(state);
28
- var newDensityState = {
29
- value: newDensity,
30
- factor: DENSITY_FACTORS[newDensity]
31
- };
32
- if (isDeepEqual(currentDensityState, newDensityState)) {
33
- return state;
34
- }
35
- return _extends({}, state, {
36
- density: newDensityState
37
- });
38
- });
39
- apiRef.current.forceUpdate();
40
- }, [logger, apiRef]);
41
- React.useEffect(function () {
42
- apiRef.current.setDensity(props.density);
43
- }, [apiRef, props.density]);
44
- var densityApi = {
45
- setDensity: setDensity
46
- };
47
- useGridApiMethod(apiRef, densityApi, 'public');
48
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- export var gridDimensionsSelector = function gridDimensionsSelector(state) {
2
- return state.dimensions;
3
- };
@@ -1,2 +0,0 @@
1
- export * from './gridDimensionsSelectors';
2
- export {};