@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,71 +0,0 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
- import _extends from "@babel/runtime/helpers/esm/extends";
5
- var _excluded = ["displayOrder"];
6
- import * as React from 'react';
7
- import Divider from '@mui/material/Divider';
8
- import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
9
- var useGridColumnMenuSlots = function useGridColumnMenuSlots(props) {
10
- var apiRef = useGridPrivateApiContext();
11
- var defaultSlots = props.defaultSlots,
12
- defaultSlotProps = props.defaultSlotProps,
13
- _props$slots = props.slots,
14
- slots = _props$slots === void 0 ? {} : _props$slots,
15
- _props$slotProps = props.slotProps,
16
- slotProps = _props$slotProps === void 0 ? {} : _props$slotProps,
17
- hideMenu = props.hideMenu,
18
- colDef = props.colDef,
19
- _props$addDividers = props.addDividers,
20
- addDividers = _props$addDividers === void 0 ? true : _props$addDividers;
21
- var processedComponents = React.useMemo(function () {
22
- return _extends({}, defaultSlots, slots);
23
- }, [defaultSlots, slots]);
24
- var processedSlotProps = React.useMemo(function () {
25
- if (!slotProps || Object.keys(slotProps).length === 0) {
26
- return defaultSlotProps;
27
- }
28
- var mergedProps = _extends({}, slotProps);
29
- Object.entries(defaultSlotProps).forEach(function (_ref) {
30
- var _ref2 = _slicedToArray(_ref, 2),
31
- key = _ref2[0],
32
- currentSlotProps = _ref2[1];
33
- mergedProps[key] = _extends({}, currentSlotProps, slotProps[key] || {});
34
- });
35
- return mergedProps;
36
- }, [defaultSlotProps, slotProps]);
37
- var defaultItems = apiRef.current.unstable_applyPipeProcessors('columnMenu', [], props.colDef);
38
- var userItems = React.useMemo(function () {
39
- var defaultComponentKeys = Object.keys(defaultSlots);
40
- return Object.keys(slots).filter(function (key) {
41
- return !defaultComponentKeys.includes(key);
42
- });
43
- }, [slots, defaultSlots]);
44
- return React.useMemo(function () {
45
- var uniqueItems = Array.from(new Set([].concat(_toConsumableArray(defaultItems), _toConsumableArray(userItems))));
46
- var cleansedItems = uniqueItems.filter(function (key) {
47
- return processedComponents[key] != null;
48
- });
49
- var sorted = cleansedItems.sort(function (a, b) {
50
- var leftItemProps = processedSlotProps[a];
51
- var rightItemProps = processedSlotProps[b];
52
- var leftDisplayOrder = Number.isFinite(leftItemProps == null ? void 0 : leftItemProps.displayOrder) ? leftItemProps.displayOrder : 100;
53
- var rightDisplayOrder = Number.isFinite(rightItemProps == null ? void 0 : rightItemProps.displayOrder) ? rightItemProps.displayOrder : 100;
54
- return leftDisplayOrder - rightDisplayOrder;
55
- });
56
- return sorted.reduce(function (acc, key, index) {
57
- var itemProps = {
58
- colDef: colDef,
59
- onClick: hideMenu
60
- };
61
- var processedComponentProps = processedSlotProps[key];
62
- if (processedComponentProps) {
63
- var displayOrder = processedComponentProps.displayOrder,
64
- customProps = _objectWithoutProperties(processedComponentProps, _excluded);
65
- itemProps = _extends({}, itemProps, customProps);
66
- }
67
- return addDividers && index !== sorted.length - 1 ? [].concat(_toConsumableArray(acc), [[processedComponents[key], itemProps], [Divider, {}]]) : [].concat(_toConsumableArray(acc), [[processedComponents[key], itemProps]]);
68
- }, []);
69
- }, [addDividers, colDef, defaultItems, hideMenu, processedComponents, processedSlotProps, userItems]);
70
- };
71
- export { useGridColumnMenuSlots };
@@ -1,9 +0,0 @@
1
- export var GridPinnedColumnPosition = /*#__PURE__*/function (GridPinnedColumnPosition) {
2
- GridPinnedColumnPosition["LEFT"] = "left";
3
- GridPinnedColumnPosition["RIGHT"] = "right";
4
- return GridPinnedColumnPosition;
5
- }({});
6
- export var EMPTY_PINNED_COLUMN_FIELDS = {
7
- left: [],
8
- right: []
9
- };
@@ -1,174 +0,0 @@
1
- import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
2
- import { EMPTY_PINNED_COLUMN_FIELDS } from './gridColumnsInterfaces';
3
- import { gridThemeSelector } from '../../core/gridCoreSelector';
4
-
5
- /**
6
- * Get the columns state
7
- * @category Columns
8
- */
9
- export var gridColumnsStateSelector = function gridColumnsStateSelector(state) {
10
- return state.columns;
11
- };
12
-
13
- /**
14
- * Get an array of column fields in the order rendered on screen.
15
- * @category Columns
16
- */
17
- export var gridColumnFieldsSelector = createSelector(gridColumnsStateSelector, function (columnsState) {
18
- return columnsState.orderedFields;
19
- });
20
-
21
- /**
22
- * Get the columns as a lookup (an object containing the field for keys and the definition for values).
23
- * @category Columns
24
- */
25
- export var gridColumnLookupSelector = createSelector(gridColumnsStateSelector, function (columnsState) {
26
- return columnsState.lookup;
27
- });
28
-
29
- /**
30
- * Get an array of column definitions in the order rendered on screen..
31
- * @category Columns
32
- */
33
- export var gridColumnDefinitionsSelector = createSelectorMemoized(gridColumnFieldsSelector, gridColumnLookupSelector, function (allFields, lookup) {
34
- return allFields.map(function (field) {
35
- return lookup[field];
36
- });
37
- });
38
-
39
- /**
40
- * Get the column visibility model, containing the visibility status of each column.
41
- * If a column is not registered in the model, it is visible.
42
- * @category Visible Columns
43
- */
44
- export var gridColumnVisibilityModelSelector = createSelector(gridColumnsStateSelector, function (columnsState) {
45
- return columnsState.columnVisibilityModel;
46
- });
47
-
48
- /**
49
- * Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
50
- * @category Visible Columns
51
- */
52
- export var gridVisibleColumnDefinitionsSelector = createSelectorMemoized(gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector, function (columns, columnVisibilityModel) {
53
- return columns.filter(function (column) {
54
- return columnVisibilityModel[column.field] !== false;
55
- });
56
- });
57
-
58
- /**
59
- * Get the field of each visible column.
60
- * @category Visible Columns
61
- */
62
- export var gridVisibleColumnFieldsSelector = createSelectorMemoized(gridVisibleColumnDefinitionsSelector, function (visibleColumns) {
63
- return visibleColumns.map(function (column) {
64
- return column.field;
65
- });
66
- });
67
-
68
- /**
69
- * Get the visible pinned columns model.
70
- * @category Visible Columns
71
- */
72
- export var gridPinnedColumnsSelector = function gridPinnedColumnsSelector(state) {
73
- return state.pinnedColumns;
74
- };
75
-
76
- /**
77
- * Get the visible pinned columns.
78
- * @category Visible Columns
79
- */
80
- export var gridVisiblePinnedColumnDefinitionsSelector = createSelectorMemoized(gridColumnsStateSelector, gridPinnedColumnsSelector, gridVisibleColumnFieldsSelector, gridThemeSelector, function (columnsState, model, visibleColumnFields, theme) {
81
- var visiblePinnedFields = filterVisibleColumns(model, visibleColumnFields, theme.direction === 'rtl');
82
- var visiblePinnedColumns = {
83
- left: visiblePinnedFields.left.map(function (field) {
84
- return columnsState.lookup[field];
85
- }),
86
- right: visiblePinnedFields.right.map(function (field) {
87
- return columnsState.lookup[field];
88
- })
89
- };
90
- return visiblePinnedColumns;
91
- });
92
- function filterVisibleColumns(pinnedColumns, columns, invert) {
93
- var _pinnedColumns$left, _pinnedColumns$right;
94
- if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
95
- return EMPTY_PINNED_COLUMN_FIELDS;
96
- }
97
- if (((_pinnedColumns$left = pinnedColumns.left) == null ? void 0 : _pinnedColumns$left.length) === 0 && ((_pinnedColumns$right = pinnedColumns.right) == null ? void 0 : _pinnedColumns$right.length) === 0) {
98
- return EMPTY_PINNED_COLUMN_FIELDS;
99
- }
100
- var filter = function filter(newPinnedColumns, remainingColumns) {
101
- if (!Array.isArray(newPinnedColumns)) {
102
- return [];
103
- }
104
- return newPinnedColumns.filter(function (field) {
105
- return remainingColumns.includes(field);
106
- });
107
- };
108
- var leftPinnedColumns = filter(pinnedColumns.left, columns);
109
- var columnsWithoutLeftPinnedColumns = columns.filter(
110
- // Filter out from the remaining columns those columns already pinned to the left
111
- function (field) {
112
- return !leftPinnedColumns.includes(field);
113
- });
114
- var rightPinnedColumns = filter(pinnedColumns.right, columnsWithoutLeftPinnedColumns);
115
- if (invert) {
116
- return {
117
- left: rightPinnedColumns,
118
- right: leftPinnedColumns
119
- };
120
- }
121
- return {
122
- left: leftPinnedColumns,
123
- right: rightPinnedColumns
124
- };
125
- }
126
-
127
- /**
128
- * Get the left position in pixel of each visible columns relative to the left of the first column.
129
- * @category Visible Columns
130
- */
131
- export var gridColumnPositionsSelector = createSelectorMemoized(gridVisibleColumnDefinitionsSelector, function (visibleColumns) {
132
- var positions = [];
133
- var currentPosition = 0;
134
- for (var i = 0; i < visibleColumns.length; i += 1) {
135
- positions.push(currentPosition);
136
- currentPosition += visibleColumns[i].computedWidth;
137
- }
138
- return positions;
139
- });
140
-
141
- /**
142
- * Get the summed width of all the visible columns.
143
- * @category Visible Columns
144
- */
145
- export var gridColumnsTotalWidthSelector = createSelector(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, function (visibleColumns, positions) {
146
- var colCount = visibleColumns.length;
147
- if (colCount === 0) {
148
- return 0;
149
- }
150
- return positions[colCount - 1] + visibleColumns[colCount - 1].computedWidth;
151
- });
152
-
153
- /**
154
- * Get the filterable columns as an array.
155
- * @category Columns
156
- */
157
- export var gridFilterableColumnDefinitionsSelector = createSelectorMemoized(gridColumnDefinitionsSelector, function (columns) {
158
- return columns.filter(function (col) {
159
- return col.filterable;
160
- });
161
- });
162
-
163
- /**
164
- * Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
165
- * @category Columns
166
- */
167
- export var gridFilterableColumnLookupSelector = createSelectorMemoized(gridColumnDefinitionsSelector, function (columns) {
168
- return columns.reduce(function (acc, col) {
169
- if (col.filterable) {
170
- acc[col.field] = col;
171
- }
172
- return acc;
173
- }, {});
174
- });
@@ -1,338 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
- import _extends from "@babel/runtime/helpers/esm/extends";
5
- import { DEFAULT_GRID_COL_TYPE_KEY, GRID_STRING_COL_DEF, getGridDefaultColumnTypes } from '../../../colDef';
6
- import { gridColumnsStateSelector, gridColumnVisibilityModelSelector } from './gridColumnsSelector';
7
- import { clamp } from '../../../utils/utils';
8
- import { gridDensityFactorSelector } from '../density/densitySelector';
9
- import { gridColumnGroupsHeaderMaxDepthSelector } from '../columnGrouping/gridColumnGroupsSelector';
10
- export var COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
11
- var COLUMN_TYPES = getGridDefaultColumnTypes();
12
-
13
- /**
14
- * Computes width for flex columns.
15
- * Based on CSS Flexbox specification:
16
- * https://drafts.csswg.org/css-flexbox-1/#resolve-flexible-lengths
17
- */
18
- export function computeFlexColumnsWidth(_ref) {
19
- var initialFreeSpace = _ref.initialFreeSpace,
20
- totalFlexUnits = _ref.totalFlexUnits,
21
- flexColumns = _ref.flexColumns;
22
- var uniqueFlexColumns = new Set(flexColumns.map(function (col) {
23
- return col.field;
24
- }));
25
- var flexColumnsLookup = {
26
- all: {},
27
- frozenFields: [],
28
- freeze: function freeze(field) {
29
- var value = flexColumnsLookup.all[field];
30
- if (value && value.frozen !== true) {
31
- flexColumnsLookup.all[field].frozen = true;
32
- flexColumnsLookup.frozenFields.push(field);
33
- }
34
- }
35
- };
36
-
37
- // Step 5 of https://drafts.csswg.org/css-flexbox-1/#resolve-flexible-lengths
38
- function loopOverFlexItems() {
39
- // 5a: If all the flex items on the line are frozen, free space has been distributed.
40
- if (flexColumnsLookup.frozenFields.length === uniqueFlexColumns.size) {
41
- return;
42
- }
43
- var violationsLookup = {
44
- min: {},
45
- max: {}
46
- };
47
- var remainingFreeSpace = initialFreeSpace;
48
- var flexUnits = totalFlexUnits;
49
- var totalViolation = 0;
50
-
51
- // 5b: Calculate the remaining free space
52
- flexColumnsLookup.frozenFields.forEach(function (field) {
53
- remainingFreeSpace -= flexColumnsLookup.all[field].computedWidth;
54
- flexUnits -= flexColumnsLookup.all[field].flex;
55
- });
56
- for (var i = 0; i < flexColumns.length; i += 1) {
57
- var column = flexColumns[i];
58
- if (flexColumnsLookup.all[column.field] && flexColumnsLookup.all[column.field].frozen === true) {
59
- continue;
60
- }
61
-
62
- // 5c: Distribute remaining free space proportional to the flex factors
63
- var widthPerFlexUnit = remainingFreeSpace / flexUnits;
64
- var computedWidth = widthPerFlexUnit * column.flex;
65
-
66
- // 5d: Fix min/max violations
67
- if (computedWidth < column.minWidth) {
68
- totalViolation += column.minWidth - computedWidth;
69
- computedWidth = column.minWidth;
70
- violationsLookup.min[column.field] = true;
71
- } else if (computedWidth > column.maxWidth) {
72
- totalViolation += column.maxWidth - computedWidth;
73
- computedWidth = column.maxWidth;
74
- violationsLookup.max[column.field] = true;
75
- }
76
- flexColumnsLookup.all[column.field] = {
77
- frozen: false,
78
- computedWidth: computedWidth,
79
- flex: column.flex
80
- };
81
- }
82
-
83
- // 5e: Freeze over-flexed items
84
- if (totalViolation < 0) {
85
- // Freeze all the items with max violations
86
- Object.keys(violationsLookup.max).forEach(function (field) {
87
- flexColumnsLookup.freeze(field);
88
- });
89
- } else if (totalViolation > 0) {
90
- // Freeze all the items with min violations
91
- Object.keys(violationsLookup.min).forEach(function (field) {
92
- flexColumnsLookup.freeze(field);
93
- });
94
- } else {
95
- // Freeze all items
96
- flexColumns.forEach(function (_ref2) {
97
- var field = _ref2.field;
98
- flexColumnsLookup.freeze(field);
99
- });
100
- }
101
-
102
- // 5f: Return to the start of this loop
103
- loopOverFlexItems();
104
- }
105
- loopOverFlexItems();
106
- return flexColumnsLookup.all;
107
- }
108
-
109
- /**
110
- * Compute the `computedWidth` (ie: the width the column should have during rendering) based on the `width` / `flex` / `minWidth` / `maxWidth` properties of `GridColDef`.
111
- * The columns already have been merged with there `type` default values for `minWidth`, `maxWidth` and `width`, thus the `!` for those properties below.
112
- * TODO: Unit test this function in depth and only keep basic cases for the whole grid testing.
113
- * TODO: Improve the `GridColDef` typing to reflect the fact that `minWidth` / `maxWidth` and `width` can't be null after the merge with the `type` default values.
114
- */
115
- export var hydrateColumnsWidth = function hydrateColumnsWidth(rawState, viewportInnerWidth) {
116
- var columnsLookup = {};
117
- var totalFlexUnits = 0;
118
- var widthAllocatedBeforeFlex = 0;
119
- var flexColumns = [];
120
-
121
- // For the non-flex columns, compute their width
122
- // For the flex columns, compute there minimum width and how much width must be allocated during the flex allocation
123
- rawState.orderedFields.forEach(function (columnField) {
124
- var newColumn = _extends({}, rawState.lookup[columnField]);
125
- if (rawState.columnVisibilityModel[columnField] === false) {
126
- newColumn.computedWidth = 0;
127
- } else {
128
- var computedWidth;
129
- if (newColumn.flex && newColumn.flex > 0) {
130
- totalFlexUnits += newColumn.flex;
131
- computedWidth = 0;
132
- flexColumns.push(newColumn);
133
- } else {
134
- computedWidth = clamp(newColumn.width || GRID_STRING_COL_DEF.width, newColumn.minWidth || GRID_STRING_COL_DEF.minWidth, newColumn.maxWidth || GRID_STRING_COL_DEF.maxWidth);
135
- }
136
- widthAllocatedBeforeFlex += computedWidth;
137
- newColumn.computedWidth = computedWidth;
138
- }
139
- columnsLookup[columnField] = newColumn;
140
- });
141
- var initialFreeSpace = Math.max(viewportInnerWidth - widthAllocatedBeforeFlex, 0);
142
-
143
- // Allocate the remaining space to the flex columns
144
- if (totalFlexUnits > 0 && viewportInnerWidth > 0) {
145
- var computedColumnWidths = computeFlexColumnsWidth({
146
- initialFreeSpace: initialFreeSpace,
147
- totalFlexUnits: totalFlexUnits,
148
- flexColumns: flexColumns
149
- });
150
- Object.keys(computedColumnWidths).forEach(function (field) {
151
- columnsLookup[field].computedWidth = computedColumnWidths[field].computedWidth;
152
- });
153
- }
154
- return _extends({}, rawState, {
155
- lookup: columnsLookup
156
- });
157
- };
158
-
159
- /**
160
- * Apply the order and the dimensions of the initial state.
161
- * The columns not registered in `orderedFields` will be placed after the imported columns.
162
- */
163
- export var applyInitialState = function applyInitialState(columnsState, initialState) {
164
- if (!initialState) {
165
- return columnsState;
166
- }
167
- var _initialState$ordered = initialState.orderedFields,
168
- orderedFields = _initialState$ordered === void 0 ? [] : _initialState$ordered,
169
- _initialState$dimensi = initialState.dimensions,
170
- dimensions = _initialState$dimensi === void 0 ? {} : _initialState$dimensi;
171
- var columnsWithUpdatedDimensions = Object.keys(dimensions);
172
- if (columnsWithUpdatedDimensions.length === 0 && orderedFields.length === 0) {
173
- return columnsState;
174
- }
175
- var orderedFieldsLookup = {};
176
- var cleanOrderedFields = [];
177
- for (var i = 0; i < orderedFields.length; i += 1) {
178
- var _field = orderedFields[i];
179
-
180
- // Ignores the fields in the initialState that matches no field on the current column state
181
- if (columnsState.lookup[_field]) {
182
- orderedFieldsLookup[_field] = true;
183
- cleanOrderedFields.push(_field);
184
- }
185
- }
186
- var newOrderedFields = cleanOrderedFields.length === 0 ? columnsState.orderedFields : [].concat(cleanOrderedFields, _toConsumableArray(columnsState.orderedFields.filter(function (field) {
187
- return !orderedFieldsLookup[field];
188
- })));
189
- var newColumnLookup = _extends({}, columnsState.lookup);
190
- var _loop = function _loop() {
191
- var field = columnsWithUpdatedDimensions[_i];
192
- var newColDef = _extends({}, newColumnLookup[field], {
193
- hasBeenResized: true
194
- });
195
- Object.entries(dimensions[field]).forEach(function (_ref3) {
196
- var _ref4 = _slicedToArray(_ref3, 2),
197
- key = _ref4[0],
198
- value = _ref4[1];
199
- newColDef[key] = value === -1 ? Infinity : value;
200
- });
201
- newColumnLookup[field] = newColDef;
202
- };
203
- for (var _i = 0; _i < columnsWithUpdatedDimensions.length; _i += 1) {
204
- _loop();
205
- }
206
- var newColumnsState = _extends({}, columnsState, {
207
- orderedFields: newOrderedFields,
208
- lookup: newColumnLookup
209
- });
210
- return newColumnsState;
211
- };
212
- function getDefaultColTypeDef(type) {
213
- var colDef = COLUMN_TYPES[DEFAULT_GRID_COL_TYPE_KEY];
214
- if (type && COLUMN_TYPES[type]) {
215
- colDef = COLUMN_TYPES[type];
216
- }
217
- return colDef;
218
- }
219
- export var createColumnsState = function createColumnsState(_ref5) {
220
- var _apiRef$current$getRo, _apiRef$current$getRo2, _apiRef$current;
221
- var apiRef = _ref5.apiRef,
222
- columnsToUpsert = _ref5.columnsToUpsert,
223
- initialState = _ref5.initialState,
224
- _ref5$columnVisibilit = _ref5.columnVisibilityModel,
225
- columnVisibilityModel = _ref5$columnVisibilit === void 0 ? gridColumnVisibilityModelSelector(apiRef) : _ref5$columnVisibilit,
226
- _ref5$keepOnlyColumns = _ref5.keepOnlyColumnsToUpsert,
227
- keepOnlyColumnsToUpsert = _ref5$keepOnlyColumns === void 0 ? false : _ref5$keepOnlyColumns;
228
- var isInsideStateInitializer = !apiRef.current.state.columns;
229
- var columnsState;
230
- if (isInsideStateInitializer) {
231
- columnsState = {
232
- orderedFields: [],
233
- lookup: {},
234
- columnVisibilityModel: columnVisibilityModel
235
- };
236
- } else {
237
- var currentState = gridColumnsStateSelector(apiRef.current.state);
238
- columnsState = {
239
- orderedFields: keepOnlyColumnsToUpsert ? [] : _toConsumableArray(currentState.orderedFields),
240
- lookup: _extends({}, currentState.lookup),
241
- // Will be cleaned later if keepOnlyColumnsToUpsert=true
242
- columnVisibilityModel: columnVisibilityModel
243
- };
244
- }
245
- var columnsToKeep = {};
246
- if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
247
- columnsToKeep = Object.keys(columnsState.lookup).reduce(function (acc, key) {
248
- return _extends({}, acc, _defineProperty({}, key, false));
249
- }, {});
250
- }
251
- var columnsToUpsertLookup = {};
252
- columnsToUpsert.forEach(function (newColumn) {
253
- var field = newColumn.field;
254
- columnsToUpsertLookup[field] = true;
255
- columnsToKeep[field] = true;
256
- var existingState = columnsState.lookup[field];
257
- if (existingState == null) {
258
- existingState = _extends({}, getDefaultColTypeDef(newColumn.type), {
259
- field: field,
260
- hasBeenResized: false
261
- });
262
- columnsState.orderedFields.push(field);
263
- } else if (keepOnlyColumnsToUpsert) {
264
- columnsState.orderedFields.push(field);
265
- }
266
-
267
- // If the column type has changed - merge the existing state with the default column type definition
268
- if (existingState && existingState.type !== newColumn.type) {
269
- existingState = _extends({}, getDefaultColTypeDef(newColumn.type), {
270
- field: field
271
- });
272
- }
273
- var hasBeenResized = existingState.hasBeenResized;
274
- COLUMNS_DIMENSION_PROPERTIES.forEach(function (key) {
275
- if (newColumn[key] !== undefined) {
276
- hasBeenResized = true;
277
- if (newColumn[key] === -1) {
278
- newColumn[key] = Infinity;
279
- }
280
- }
281
- });
282
- columnsState.lookup[field] = _extends({}, existingState, newColumn, {
283
- hasBeenResized: hasBeenResized
284
- });
285
- });
286
- if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
287
- Object.keys(columnsState.lookup).forEach(function (field) {
288
- if (!columnsToKeep[field]) {
289
- delete columnsState.lookup[field];
290
- }
291
- });
292
- }
293
- var columnsStateWithPreProcessing = apiRef.current.unstable_applyPipeProcessors('hydrateColumns', columnsState);
294
- var columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
295
- return hydrateColumnsWidth(columnsStateWithPortableColumns, (_apiRef$current$getRo = (_apiRef$current$getRo2 = (_apiRef$current = apiRef.current).getRootDimensions) == null ? void 0 : _apiRef$current$getRo2.call(_apiRef$current).viewportInnerSize.width) != null ? _apiRef$current$getRo : 0);
296
- };
297
- export function getFirstNonSpannedColumnToRender(_ref6) {
298
- var firstColumnToRender = _ref6.firstColumnToRender,
299
- apiRef = _ref6.apiRef,
300
- firstRowToRender = _ref6.firstRowToRender,
301
- lastRowToRender = _ref6.lastRowToRender,
302
- visibleRows = _ref6.visibleRows;
303
- var firstNonSpannedColumnToRender = firstColumnToRender;
304
- for (var i = firstRowToRender; i < lastRowToRender; i += 1) {
305
- var row = visibleRows[i];
306
- if (row) {
307
- var rowId = visibleRows[i].id;
308
- var cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, firstColumnToRender);
309
- if (cellColSpanInfo && cellColSpanInfo.spannedByColSpan) {
310
- firstNonSpannedColumnToRender = cellColSpanInfo.leftVisibleCellIndex;
311
- }
312
- }
313
- }
314
- return firstNonSpannedColumnToRender;
315
- }
316
- export function getFirstColumnIndexToRender(_ref7) {
317
- var firstColumnIndex = _ref7.firstColumnIndex,
318
- minColumnIndex = _ref7.minColumnIndex,
319
- columnBuffer = _ref7.columnBuffer,
320
- firstRowToRender = _ref7.firstRowToRender,
321
- lastRowToRender = _ref7.lastRowToRender,
322
- apiRef = _ref7.apiRef,
323
- visibleRows = _ref7.visibleRows;
324
- var initialFirstColumnToRender = Math.max(firstColumnIndex - columnBuffer, minColumnIndex);
325
- var firstColumnToRender = getFirstNonSpannedColumnToRender({
326
- firstColumnToRender: initialFirstColumnToRender,
327
- apiRef: apiRef,
328
- firstRowToRender: firstRowToRender,
329
- lastRowToRender: lastRowToRender,
330
- visibleRows: visibleRows
331
- });
332
- return firstColumnToRender;
333
- }
334
- export function getTotalHeaderHeight(apiRef, headerHeight) {
335
- var densityFactor = gridDensityFactorSelector(apiRef);
336
- var maxDepth = gridColumnGroupsHeaderMaxDepthSelector(apiRef);
337
- return Math.floor(headerHeight * densityFactor) * ((maxDepth != null ? maxDepth : 0) + 1);
338
- }
@@ -1,2 +0,0 @@
1
- export * from './gridColumnsSelector';
2
- export * from './gridColumnsInterfaces';