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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/CHANGELOG.md +298 -23
  2. package/DataGrid/DataGrid.js +0 -6
  3. package/colDef/gridActionsColDef.js +1 -0
  4. package/colDef/gridBooleanColDef.js +1 -0
  5. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  6. package/components/GridRow.d.ts +3 -1
  7. package/components/GridRow.js +10 -2
  8. package/components/GridScrollbarFillerCell.js +6 -21
  9. package/components/cell/GridCell.js +10 -12
  10. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  11. package/components/containers/GridRootStyles.js +51 -23
  12. package/components/panel/GridPanel.d.ts +1 -1
  13. package/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  14. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  15. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  16. package/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  17. package/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  18. package/constants/gridClasses.d.ts +24 -8
  19. package/constants/gridClasses.js +1 -1
  20. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  21. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -5
  22. package/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
  23. package/hooks/features/editing/useGridCellEditing.js +3 -4
  24. package/hooks/features/editing/useGridRowEditing.js +3 -4
  25. package/hooks/features/sorting/useGridSorting.js +1 -2
  26. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +9 -0
  27. package/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
  28. package/hooks/features/virtualization/useGridVirtualScroller.js +19 -16
  29. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  30. package/hooks/features/virtualization/useGridVirtualization.js +6 -1
  31. package/index.js +1 -1
  32. package/internals/index.d.ts +1 -1
  33. package/internals/index.js +1 -1
  34. package/models/colDef/gridColDef.d.ts +6 -0
  35. package/models/events/gridEventLookup.d.ts +1 -8
  36. package/models/props/DataGridProps.d.ts +0 -6
  37. package/modern/DataGrid/DataGrid.js +0 -6
  38. package/modern/colDef/gridActionsColDef.js +1 -0
  39. package/modern/colDef/gridBooleanColDef.js +1 -0
  40. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  41. package/modern/components/GridRow.js +10 -2
  42. package/modern/components/GridScrollbarFillerCell.js +6 -21
  43. package/modern/components/cell/GridCell.js +10 -12
  44. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  45. package/modern/components/containers/GridRootStyles.js +51 -23
  46. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  47. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  48. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  49. package/modern/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  50. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  51. package/modern/constants/gridClasses.js +1 -1
  52. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  53. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
  54. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  55. package/modern/hooks/features/editing/useGridRowEditing.js +3 -4
  56. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  57. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
  58. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +18 -14
  59. package/modern/hooks/features/virtualization/useGridVirtualization.js +6 -1
  60. package/modern/index.js +1 -1
  61. package/modern/internals/index.js +1 -1
  62. package/modern/utils/keyboardUtils.js +20 -11
  63. package/node/DataGrid/DataGrid.js +0 -6
  64. package/node/colDef/gridActionsColDef.js +1 -0
  65. package/node/colDef/gridBooleanColDef.js +1 -0
  66. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  67. package/node/components/GridRow.js +10 -2
  68. package/node/components/GridScrollbarFillerCell.js +5 -20
  69. package/node/components/cell/GridCell.js +10 -12
  70. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  71. package/node/components/containers/GridRootStyles.js +51 -23
  72. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  73. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  74. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  75. package/node/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  76. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  77. package/node/constants/gridClasses.js +1 -1
  78. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  79. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +45 -47
  80. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  81. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  82. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  83. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +8 -1
  84. package/node/hooks/features/virtualization/useGridVirtualScroller.js +17 -13
  85. package/node/hooks/features/virtualization/useGridVirtualization.js +7 -2
  86. package/node/index.js +1 -1
  87. package/node/internals/index.js +7 -0
  88. package/node/utils/keyboardUtils.js +25 -20
  89. package/package.json +3 -3
  90. package/utils/keyboardUtils.d.ts +7 -6
  91. package/utils/keyboardUtils.js +20 -11
  92. package/legacy/DataGrid/DataGrid.js +0 -670
  93. package/legacy/DataGrid/index.js +0 -2
  94. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  95. package/legacy/DataGrid/useDataGridProps.js +0 -98
  96. package/legacy/colDef/gridActionsColDef.js +0 -18
  97. package/legacy/colDef/gridBooleanColDef.js +0 -42
  98. package/legacy/colDef/gridBooleanOperators.js +0 -16
  99. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  100. package/legacy/colDef/gridDateColDef.js +0 -62
  101. package/legacy/colDef/gridDateOperators.js +0 -115
  102. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  103. package/legacy/colDef/gridNumericColDef.js +0 -19
  104. package/legacy/colDef/gridNumericOperators.js +0 -145
  105. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  106. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  107. package/legacy/colDef/gridStringColDef.js +0 -27
  108. package/legacy/colDef/gridStringOperators.js +0 -112
  109. package/legacy/colDef/index.js +0 -13
  110. package/legacy/components/GridApiContext.js +0 -5
  111. package/legacy/components/GridColumnHeaders.js +0 -94
  112. package/legacy/components/GridDetailPanels.js +0 -4
  113. package/legacy/components/GridFooter.js +0 -42
  114. package/legacy/components/GridHeader.js +0 -13
  115. package/legacy/components/GridHeaders.js +0 -53
  116. package/legacy/components/GridLoadingOverlay.js +0 -21
  117. package/legacy/components/GridNoResultsOverlay.js +0 -14
  118. package/legacy/components/GridNoRowsOverlay.js +0 -23
  119. package/legacy/components/GridPagination.js +0 -85
  120. package/legacy/components/GridPinnedRows.js +0 -4
  121. package/legacy/components/GridRow.js +0 -457
  122. package/legacy/components/GridRowCount.js +0 -63
  123. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  124. package/legacy/components/GridSelectedRowCount.js +0 -66
  125. package/legacy/components/base/GridBody.js +0 -2
  126. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  127. package/legacy/components/base/GridOverlays.js +0 -122
  128. package/legacy/components/base/index.js +0 -3
  129. package/legacy/components/cell/GridActionsCell.js +0 -294
  130. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  131. package/legacy/components/cell/GridBooleanCell.js +0 -121
  132. package/legacy/components/cell/GridCell.js +0 -350
  133. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  134. package/legacy/components/cell/GridEditDateCell.js +0 -230
  135. package/legacy/components/cell/GridEditInputCell.js +0 -198
  136. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  137. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  138. package/legacy/components/cell/index.js +0 -9
  139. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  140. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  141. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  142. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  143. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  144. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  145. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  146. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  147. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  148. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  149. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  150. package/legacy/components/columnHeaders/index.js +0 -5
  151. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  152. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  153. package/legacy/components/columnSelection/index.js +0 -2
  154. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  155. package/legacy/components/columnsManagement/index.js +0 -1
  156. package/legacy/components/columnsManagement/utils.js +0 -22
  157. package/legacy/components/containers/GridFooterContainer.js +0 -50
  158. package/legacy/components/containers/GridOverlay.js +0 -52
  159. package/legacy/components/containers/GridRoot.js +0 -79
  160. package/legacy/components/containers/GridRootStyles.js +0 -398
  161. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  162. package/legacy/components/containers/index.js +0 -4
  163. package/legacy/components/index.js +0 -19
  164. package/legacy/components/menu/GridMenu.js +0 -132
  165. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  166. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  167. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  168. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  169. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  170. package/legacy/components/menu/columnMenu/index.js +0 -9
  171. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  172. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  173. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  174. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  175. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  176. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  177. package/legacy/components/menu/index.js +0 -2
  178. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  179. package/legacy/components/panel/GridPanel.js +0 -137
  180. package/legacy/components/panel/GridPanelContent.js +0 -49
  181. package/legacy/components/panel/GridPanelFooter.js +0 -50
  182. package/legacy/components/panel/GridPanelHeader.js +0 -48
  183. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  184. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  185. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  186. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -115
  187. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  188. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  189. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  190. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -146
  191. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -104
  192. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  193. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  194. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  195. package/legacy/components/panel/filterPanel/index.js +0 -9
  196. package/legacy/components/panel/index.js +0 -7
  197. package/legacy/components/reexportable.js +0 -1
  198. package/legacy/components/toolbar/GridToolbar.js +0 -64
  199. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  200. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  201. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  202. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  203. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  204. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  205. package/legacy/components/toolbar/index.js +0 -7
  206. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  207. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  208. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  209. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  210. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  211. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  212. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  213. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -42
  214. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  215. package/legacy/constants/envConstants.js +0 -19
  216. package/legacy/constants/gridClasses.js +0 -5
  217. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  218. package/legacy/constants/index.js +0 -3
  219. package/legacy/constants/localeTextConstants.js +0 -158
  220. package/legacy/context/GridContextProvider.js +0 -21
  221. package/legacy/context/GridRootPropsContext.js +0 -6
  222. package/legacy/context/index.js +0 -1
  223. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  224. package/legacy/hooks/core/index.js +0 -1
  225. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  226. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  227. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  228. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  229. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  230. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  231. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  232. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  233. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  234. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  235. package/legacy/hooks/core/useGridInitialization.js +0 -26
  236. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  237. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  238. package/legacy/hooks/core/useGridRefs.js +0 -13
  239. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  240. package/legacy/hooks/core/useGridTheme.js +0 -21
  241. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  242. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  243. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  244. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  245. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  246. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  247. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -275
  248. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  249. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  250. package/legacy/hooks/features/columnMenu/index.js +0 -2
  251. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  252. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  253. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  254. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  255. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  256. package/legacy/hooks/features/columns/index.js +0 -2
  257. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  258. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  259. package/legacy/hooks/features/density/densitySelector.js +0 -10
  260. package/legacy/hooks/features/density/densityState.js +0 -1
  261. package/legacy/hooks/features/density/index.js +0 -2
  262. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  263. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  264. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  265. package/legacy/hooks/features/dimensions/index.js +0 -2
  266. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  267. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  268. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  269. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  270. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  271. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  272. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  273. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  274. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  275. package/legacy/hooks/features/export/utils.js +0 -49
  276. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  277. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  278. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  279. package/legacy/hooks/features/filter/index.js +0 -2
  280. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  281. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  282. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  283. package/legacy/hooks/features/focus/index.js +0 -2
  284. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  285. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  286. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  287. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  288. package/legacy/hooks/features/index.js +0 -16
  289. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  290. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  291. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  292. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  293. package/legacy/hooks/features/pagination/index.js +0 -2
  294. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  295. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  296. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  297. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  298. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  299. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  300. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  301. package/legacy/hooks/features/rowSelection/index.js +0 -1
  302. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  303. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  304. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  305. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  306. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  307. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  308. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  309. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  310. package/legacy/hooks/features/rows/index.js +0 -4
  311. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  312. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  313. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  314. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  315. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  316. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  317. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  318. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  319. package/legacy/hooks/features/sorting/index.js +0 -2
  320. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  321. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  322. package/legacy/hooks/features/statePersistence/index.js +0 -1
  323. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  324. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -52
  325. package/legacy/hooks/features/virtualization/index.js +0 -2
  326. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -643
  327. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -58
  328. package/legacy/hooks/index.js +0 -3
  329. package/legacy/hooks/utils/index.js +0 -9
  330. package/legacy/hooks/utils/useFirstRender.js +0 -8
  331. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  332. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  333. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  334. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  335. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  336. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  337. package/legacy/hooks/utils/useGridLogger.js +0 -10
  338. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  339. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  340. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  341. package/legacy/hooks/utils/useGridSelector.js +0 -54
  342. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  343. package/legacy/hooks/utils/useLazyRef.js +0 -11
  344. package/legacy/hooks/utils/useOnMount.js +0 -7
  345. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  346. package/legacy/hooks/utils/useRunOnce.js +0 -18
  347. package/legacy/hooks/utils/useTimeout.js +0 -38
  348. package/legacy/index.js +0 -38
  349. package/legacy/internals/index.js +0 -68
  350. package/legacy/internals/utils/computeSlots.js +0 -17
  351. package/legacy/internals/utils/index.js +0 -3
  352. package/legacy/internals/utils/propValidation.js +0 -21
  353. package/legacy/internals/utils/useProps.js +0 -32
  354. package/legacy/joy/icons.js +0 -432
  355. package/legacy/joy/index.js +0 -2
  356. package/legacy/joy/joySlots.js +0 -420
  357. package/legacy/locales/arSD.js +0 -160
  358. package/legacy/locales/beBY.js +0 -184
  359. package/legacy/locales/bgBG.js +0 -160
  360. package/legacy/locales/coreLocales.js +0 -62
  361. package/legacy/locales/csCZ.js +0 -181
  362. package/legacy/locales/daDK.js +0 -160
  363. package/legacy/locales/deDE.js +0 -160
  364. package/legacy/locales/elGR.js +0 -160
  365. package/legacy/locales/enUS.js +0 -4
  366. package/legacy/locales/esES.js +0 -160
  367. package/legacy/locales/faIR.js +0 -160
  368. package/legacy/locales/fiFI.js +0 -160
  369. package/legacy/locales/frFR.js +0 -160
  370. package/legacy/locales/heIL.js +0 -160
  371. package/legacy/locales/hrHR.js +0 -160
  372. package/legacy/locales/huHU.js +0 -160
  373. package/legacy/locales/index.js +0 -35
  374. package/legacy/locales/itIT.js +0 -160
  375. package/legacy/locales/jaJP.js +0 -160
  376. package/legacy/locales/koKR.js +0 -162
  377. package/legacy/locales/nbNO.js +0 -162
  378. package/legacy/locales/nlNL.js +0 -160
  379. package/legacy/locales/plPL.js +0 -163
  380. package/legacy/locales/ptBR.js +0 -160
  381. package/legacy/locales/ptPT.js +0 -160
  382. package/legacy/locales/roRO.js +0 -160
  383. package/legacy/locales/ruRU.js +0 -181
  384. package/legacy/locales/skSK.js +0 -181
  385. package/legacy/locales/svSE.js +0 -160
  386. package/legacy/locales/trTR.js +0 -161
  387. package/legacy/locales/ukUA.js +0 -182
  388. package/legacy/locales/urPK.js +0 -160
  389. package/legacy/locales/viVN.js +0 -160
  390. package/legacy/locales/zhCN.js +0 -160
  391. package/legacy/locales/zhHK.js +0 -160
  392. package/legacy/locales/zhTW.js +0 -160
  393. package/legacy/material/components/MUISelectOption.js +0 -14
  394. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  395. package/legacy/material/icons/index.js +0 -89
  396. package/legacy/material/index.js +0 -69
  397. package/legacy/models/api/gridApiCommon.js +0 -1
  398. package/legacy/models/api/gridApiCommunity.js +0 -1
  399. package/legacy/models/api/gridCallbackDetails.js +0 -1
  400. package/legacy/models/api/gridColumnApi.js +0 -1
  401. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  402. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  403. package/legacy/models/api/gridColumnSpanning.js +0 -1
  404. package/legacy/models/api/gridCoreApi.js +0 -1
  405. package/legacy/models/api/gridCsvExportApi.js +0 -1
  406. package/legacy/models/api/gridDensityApi.js +0 -1
  407. package/legacy/models/api/gridEditingApi.js +0 -1
  408. package/legacy/models/api/gridFilterApi.js +0 -1
  409. package/legacy/models/api/gridFocusApi.js +0 -1
  410. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  411. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  412. package/legacy/models/api/gridLoggerApi.js +0 -1
  413. package/legacy/models/api/gridParamsApi.js +0 -1
  414. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  415. package/legacy/models/api/gridPrintExportApi.js +0 -1
  416. package/legacy/models/api/gridRowApi.js +0 -1
  417. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  418. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  419. package/legacy/models/api/gridScrollApi.js +0 -1
  420. package/legacy/models/api/gridSortApi.js +0 -1
  421. package/legacy/models/api/gridStateApi.js +0 -1
  422. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  423. package/legacy/models/api/index.js +0 -16
  424. package/legacy/models/colDef/gridColDef.js +0 -1
  425. package/legacy/models/colDef/gridColType.js +0 -1
  426. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  427. package/legacy/models/colDef/index.js +0 -6
  428. package/legacy/models/controlStateItem.js +0 -1
  429. package/legacy/models/cursorCoordinates.js +0 -1
  430. package/legacy/models/elementSize.js +0 -1
  431. package/legacy/models/events/gridEventListener.js +0 -1
  432. package/legacy/models/events/gridEventLookup.js +0 -1
  433. package/legacy/models/events/gridEventPublisher.js +0 -1
  434. package/legacy/models/events/index.js +0 -3
  435. package/legacy/models/gridApiCaches.js +0 -1
  436. package/legacy/models/gridCell.js +0 -1
  437. package/legacy/models/gridCellClass.js +0 -1
  438. package/legacy/models/gridColumnGrouping.js +0 -11
  439. package/legacy/models/gridColumnHeaderClass.js +0 -1
  440. package/legacy/models/gridColumnSpanning.js +0 -1
  441. package/legacy/models/gridDensity.js +0 -1
  442. package/legacy/models/gridEditRowModel.js +0 -16
  443. package/legacy/models/gridExport.js +0 -1
  444. package/legacy/models/gridFeatureMode.js +0 -1
  445. package/legacy/models/gridFilterItem.js +0 -11
  446. package/legacy/models/gridFilterModel.js +0 -1
  447. package/legacy/models/gridFilterOperator.js +0 -1
  448. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  449. package/legacy/models/gridIconSlotsComponent.js +0 -1
  450. package/legacy/models/gridPaginationProps.js +0 -1
  451. package/legacy/models/gridRenderContextProps.js +0 -1
  452. package/legacy/models/gridRowSelectionModel.js +0 -1
  453. package/legacy/models/gridRows.js +0 -1
  454. package/legacy/models/gridSlotsComponent.js +0 -1
  455. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  456. package/legacy/models/gridSortModel.js +0 -1
  457. package/legacy/models/gridStateCommunity.js +0 -1
  458. package/legacy/models/index.js +0 -29
  459. package/legacy/models/logger.js +0 -1
  460. package/legacy/models/muiEvent.js +0 -1
  461. package/legacy/models/params/gridCellParams.js +0 -1
  462. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  463. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  464. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  465. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  466. package/legacy/models/params/gridEditCellParams.js +0 -27
  467. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  468. package/legacy/models/params/gridMenuParams.js +0 -1
  469. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  470. package/legacy/models/params/gridRowParams.js +0 -44
  471. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  472. package/legacy/models/params/gridScrollParams.js +0 -1
  473. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  474. package/legacy/models/params/index.js +0 -13
  475. package/legacy/models/props/DataGridProps.js +0 -1
  476. package/legacy/themeAugmentation/index.js +0 -4
  477. package/legacy/themeAugmentation/overrides.js +0 -1
  478. package/legacy/themeAugmentation/props.js +0 -1
  479. package/legacy/utils/EventManager.js +0 -91
  480. package/legacy/utils/Store.js +0 -34
  481. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  482. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  483. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  484. package/legacy/utils/createControllablePromise.js +0 -11
  485. package/legacy/utils/createSelector.js +0 -120
  486. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  487. package/legacy/utils/domUtils.js +0 -49
  488. package/legacy/utils/exportAs.js +0 -40
  489. package/legacy/utils/fastMemo.js +0 -5
  490. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  491. package/legacy/utils/getGridLocalization.js +0 -15
  492. package/legacy/utils/getPublicApiRef.js +0 -5
  493. package/legacy/utils/index.js +0 -1
  494. package/legacy/utils/keyboardUtils.js +0 -60
  495. package/legacy/utils/utils.js +0 -189
  496. package/legacy/utils/warning.js +0 -25
@@ -1,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';