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

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