@mui/x-data-grid 7.0.0-alpha.7 → 7.0.0-alpha.9

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 (501) hide show
  1. package/CHANGELOG.md +554 -51
  2. package/DataGrid/DataGrid.js +15 -27
  3. package/DataGrid/useDataGridComponent.js +2 -1
  4. package/DataGrid/useDataGridProps.js +1 -0
  5. package/README.md +1 -1
  6. package/colDef/gridDateColDef.js +1 -1
  7. package/components/GridColumnHeaders.d.ts +3 -2
  8. package/components/GridColumnHeaders.js +3 -11
  9. package/components/GridDetailPanels.d.ts +5 -0
  10. package/components/GridDetailPanels.js +4 -0
  11. package/components/GridHeaders.d.ts +4 -0
  12. package/components/GridHeaders.js +53 -0
  13. package/components/GridPagination.d.ts +4 -4
  14. package/components/GridPagination.js +1 -1
  15. package/components/GridPinnedRows.d.ts +7 -0
  16. package/components/GridPinnedRows.js +4 -0
  17. package/components/GridRow.d.ts +7 -4
  18. package/components/GridRow.js +260 -97
  19. package/components/GridScrollbarFillerCell.d.ts +7 -0
  20. package/components/GridScrollbarFillerCell.js +39 -0
  21. package/components/base/GridBody.d.ts +2 -13
  22. package/components/base/GridBody.js +2 -116
  23. package/components/base/GridOverlays.js +10 -21
  24. package/components/cell/GridActionsCell.js +1 -1
  25. package/components/cell/GridActionsCellItem.d.ts +6 -6
  26. package/components/cell/GridCell.d.ts +15 -21
  27. package/components/cell/GridCell.js +68 -373
  28. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  29. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
  30. package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  31. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
  32. package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  33. package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  34. package/components/containers/GridRoot.js +18 -15
  35. package/components/containers/GridRootStyles.js +307 -204
  36. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  37. package/components/panel/GridPanel.d.ts +3 -3
  38. package/components/panel/GridPanel.js +3 -4
  39. package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
  40. package/components/panel/filterPanel/GridFilterForm.js +32 -15
  41. package/components/panel/filterPanel/GridFilterPanel.js +46 -20
  42. package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
  43. package/components/toolbar/GridToolbarColumnsButton.js +40 -22
  44. package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
  45. package/components/toolbar/GridToolbarDensitySelector.js +40 -22
  46. package/components/toolbar/GridToolbarExport.d.ts +10 -1
  47. package/components/toolbar/GridToolbarExport.js +6 -1
  48. package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
  49. package/components/toolbar/GridToolbarExportContainer.js +41 -23
  50. package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
  51. package/components/toolbar/GridToolbarFilterButton.js +6 -10
  52. package/components/toolbar/GridToolbarQuickFilter.d.ts +4 -0
  53. package/components/toolbar/GridToolbarQuickFilter.js +4 -0
  54. package/components/virtualization/GridBottomContainer.d.ts +2 -0
  55. package/components/virtualization/GridBottomContainer.js +25 -0
  56. package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
  57. package/components/virtualization/GridMainContainer.js +20 -0
  58. package/components/virtualization/GridTopContainer.d.ts +2 -0
  59. package/components/virtualization/GridTopContainer.js +35 -0
  60. package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
  61. package/components/virtualization/GridVirtualScrollbar.js +131 -0
  62. package/components/virtualization/GridVirtualScroller.d.ts +4 -4
  63. package/components/virtualization/GridVirtualScroller.js +69 -16
  64. package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
  65. package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  66. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  67. package/constants/defaultGridSlotsComponents.js +6 -2
  68. package/constants/gridClasses.d.ts +60 -8
  69. package/constants/gridClasses.js +1 -1
  70. package/hooks/core/gridCoreSelector.d.ts +6 -0
  71. package/hooks/core/gridCoreSelector.js +5 -0
  72. package/hooks/core/useGridInitialization.js +4 -0
  73. package/hooks/core/useGridLoggerFactory.js +2 -2
  74. package/hooks/core/useGridRefs.d.ts +3 -0
  75. package/hooks/core/useGridRefs.js +13 -0
  76. package/hooks/core/useGridTheme.d.ts +3 -0
  77. package/hooks/core/useGridTheme.js +19 -0
  78. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  79. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  80. package/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
  81. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
  82. package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
  83. package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  84. package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
  85. package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  86. package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
  87. package/hooks/features/columns/gridColumnsSelector.js +52 -0
  88. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
  89. package/hooks/features/columns/gridColumnsUtils.js +10 -12
  90. package/hooks/features/columns/index.d.ts +2 -2
  91. package/hooks/features/columns/index.js +2 -1
  92. package/hooks/features/columns/useGridColumnSpanning.js +62 -61
  93. package/hooks/features/columns/useGridColumns.js +20 -23
  94. package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
  95. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
  96. package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  97. package/hooks/features/dimensions/index.d.ts +2 -0
  98. package/hooks/features/dimensions/index.js +1 -0
  99. package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
  100. package/hooks/features/dimensions/useGridDimensions.js +216 -148
  101. package/hooks/features/editing/useGridCellEditing.js +4 -4
  102. package/hooks/features/editing/useGridRowEditing.js +4 -4
  103. package/hooks/features/export/serializers/csvSerializer.js +3 -3
  104. package/hooks/features/export/useGridPrintExport.js +1 -1
  105. package/hooks/features/filter/gridFilterUtils.js +5 -5
  106. package/hooks/features/filter/useGridFilter.js +3 -3
  107. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
  108. package/hooks/features/focus/gridFocusStateSelector.js +2 -6
  109. package/hooks/features/focus/useGridFocus.js +3 -3
  110. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  111. package/hooks/features/pagination/gridPaginationUtils.js +2 -2
  112. package/hooks/features/pagination/useGridPagination.js +3 -5
  113. package/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  114. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
  115. package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
  116. package/hooks/features/rows/gridRowsSelector.js +5 -5
  117. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  118. package/hooks/features/rows/gridRowsUtils.js +6 -6
  119. package/hooks/features/rows/useGridRows.js +7 -7
  120. package/hooks/features/rows/useGridRowsMeta.js +9 -6
  121. package/hooks/features/scroll/useGridScroll.js +8 -10
  122. package/hooks/features/sorting/gridSortingUtils.js +5 -3
  123. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  124. package/hooks/features/sorting/useGridSorting.js +15 -10
  125. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
  126. package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  127. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
  128. package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
  129. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  130. package/hooks/features/virtualization/useGridVirtualization.js +8 -1
  131. package/hooks/utils/index.d.ts +3 -0
  132. package/hooks/utils/index.js +4 -1
  133. package/hooks/utils/useGridApiContext.js +1 -1
  134. package/hooks/utils/useGridAriaAttributes.js +1 -2
  135. package/hooks/utils/useGridNativeEventListener.js +4 -9
  136. package/hooks/utils/useGridPrivateApiContext.js +1 -1
  137. package/hooks/utils/useGridRootProps.js +1 -1
  138. package/hooks/utils/useGridSelector.js +1 -1
  139. package/hooks/utils/useResizeObserver.d.ts +2 -0
  140. package/hooks/utils/useResizeObserver.js +36 -0
  141. package/hooks/utils/useRunOnce.d.ts +5 -0
  142. package/hooks/utils/useRunOnce.js +18 -0
  143. package/index.d.ts +0 -1
  144. package/index.js +1 -2
  145. package/internals/index.d.ts +13 -9
  146. package/internals/index.js +9 -7
  147. package/internals/utils/index.d.ts +1 -0
  148. package/internals/utils/index.js +2 -1
  149. package/internals/utils/propValidation.d.ts +4 -0
  150. package/internals/utils/propValidation.js +19 -0
  151. package/legacy/DataGrid/DataGrid.js +20 -29
  152. package/legacy/DataGrid/useDataGridComponent.js +2 -1
  153. package/legacy/DataGrid/useDataGridProps.js +1 -0
  154. package/legacy/colDef/gridDateColDef.js +1 -1
  155. package/legacy/components/GridColumnHeaders.js +3 -11
  156. package/legacy/components/GridDetailPanels.js +4 -0
  157. package/legacy/components/GridHeaders.js +53 -0
  158. package/legacy/components/GridPagination.js +1 -1
  159. package/legacy/components/GridPinnedRows.js +4 -0
  160. package/legacy/components/GridRow.js +258 -98
  161. package/legacy/components/GridScrollbarFillerCell.js +36 -0
  162. package/legacy/components/base/GridBody.js +2 -114
  163. package/legacy/components/base/GridOverlays.js +10 -25
  164. package/legacy/components/cell/GridActionsCell.js +1 -1
  165. package/legacy/components/cell/GridCell.js +70 -378
  166. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  167. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  168. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  169. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  170. package/legacy/components/containers/GridRoot.js +18 -15
  171. package/legacy/components/containers/GridRootStyles.js +215 -137
  172. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  173. package/legacy/components/panel/GridPanel.js +3 -4
  174. package/legacy/components/panel/filterPanel/GridFilterForm.js +31 -14
  175. package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
  176. package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
  177. package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
  178. package/legacy/components/toolbar/GridToolbarExport.js +6 -1
  179. package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
  180. package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
  181. package/legacy/components/toolbar/GridToolbarQuickFilter.js +4 -0
  182. package/legacy/components/virtualization/GridBottomContainer.js +25 -0
  183. package/legacy/components/virtualization/GridMainContainer.js +20 -0
  184. package/legacy/components/virtualization/GridTopContainer.js +35 -0
  185. package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
  186. package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
  187. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
  188. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  189. package/legacy/constants/defaultGridSlotsComponents.js +6 -2
  190. package/legacy/constants/gridClasses.js +1 -1
  191. package/legacy/hooks/core/gridCoreSelector.js +7 -0
  192. package/legacy/hooks/core/useGridInitialization.js +4 -0
  193. package/legacy/hooks/core/useGridLoggerFactory.js +2 -2
  194. package/legacy/hooks/core/useGridRefs.js +13 -0
  195. package/legacy/hooks/core/useGridTheme.js +21 -0
  196. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  197. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
  198. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
  199. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  200. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  201. package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
  202. package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
  203. package/legacy/hooks/features/columns/index.js +2 -1
  204. package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
  205. package/legacy/hooks/features/columns/useGridColumns.js +22 -23
  206. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
  207. package/legacy/hooks/features/dimensions/index.js +1 -0
  208. package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
  209. package/legacy/hooks/features/editing/useGridCellEditing.js +4 -4
  210. package/legacy/hooks/features/editing/useGridRowEditing.js +4 -4
  211. package/legacy/hooks/features/export/serializers/csvSerializer.js +3 -3
  212. package/legacy/hooks/features/export/useGridPrintExport.js +1 -1
  213. package/legacy/hooks/features/filter/gridFilterUtils.js +5 -5
  214. package/legacy/hooks/features/filter/useGridFilter.js +3 -3
  215. package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
  216. package/legacy/hooks/features/focus/useGridFocus.js +3 -3
  217. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  218. package/legacy/hooks/features/pagination/gridPaginationUtils.js +2 -2
  219. package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
  220. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  221. package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
  222. package/legacy/hooks/features/rows/gridRowsUtils.js +6 -6
  223. package/legacy/hooks/features/rows/useGridParamsApi.js +4 -5
  224. package/legacy/hooks/features/rows/useGridRows.js +7 -7
  225. package/legacy/hooks/features/rows/useGridRowsMeta.js +9 -6
  226. package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
  227. package/legacy/hooks/features/sorting/gridSortingUtils.js +5 -3
  228. package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
  229. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
  230. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
  231. package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
  232. package/legacy/hooks/utils/index.js +4 -1
  233. package/legacy/hooks/utils/useGridApiContext.js +1 -1
  234. package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
  235. package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
  236. package/legacy/hooks/utils/useGridPrivateApiContext.js +1 -1
  237. package/legacy/hooks/utils/useGridRootProps.js +1 -1
  238. package/legacy/hooks/utils/useGridSelector.js +1 -1
  239. package/legacy/hooks/utils/useResizeObserver.js +36 -0
  240. package/legacy/hooks/utils/useRunOnce.js +18 -0
  241. package/legacy/index.js +1 -2
  242. package/legacy/internals/index.js +9 -7
  243. package/legacy/internals/utils/index.js +2 -1
  244. package/legacy/internals/utils/propValidation.js +21 -0
  245. package/legacy/locales/hrHR.js +161 -0
  246. package/legacy/locales/index.js +4 -1
  247. package/legacy/locales/ptPT.js +161 -0
  248. package/legacy/locales/zhHK.js +161 -0
  249. package/legacy/models/index.js +0 -1
  250. package/legacy/models/params/index.js +1 -2
  251. package/legacy/utils/createSelector.js +1 -1
  252. package/legacy/utils/exportAs.js +1 -1
  253. package/legacy/utils/utils.js +10 -1
  254. package/locales/hrHR.d.ts +1 -0
  255. package/locales/hrHR.js +149 -0
  256. package/locales/index.d.ts +3 -0
  257. package/locales/index.js +4 -1
  258. package/locales/ptPT.d.ts +1 -0
  259. package/locales/ptPT.js +149 -0
  260. package/locales/zhHK.d.ts +1 -0
  261. package/locales/zhHK.js +149 -0
  262. package/models/api/gridColumnGroupingApi.d.ts +2 -2
  263. package/models/api/gridCoreApi.d.ts +16 -16
  264. package/models/api/gridRowsMetaApi.d.ts +1 -1
  265. package/models/api/gridVirtualizationApi.d.ts +2 -3
  266. package/models/events/gridEventLookup.d.ts +3 -3
  267. package/models/gridFilterModel.d.ts +1 -1
  268. package/models/gridSlotsComponent.d.ts +16 -2
  269. package/models/gridStateCommunity.d.ts +5 -1
  270. package/models/index.d.ts +0 -1
  271. package/models/index.js +0 -1
  272. package/models/params/index.d.ts +0 -1
  273. package/models/params/index.js +1 -2
  274. package/models/props/DataGridProps.d.ts +7 -12
  275. package/modern/DataGrid/DataGrid.js +15 -27
  276. package/modern/DataGrid/useDataGridComponent.js +2 -1
  277. package/modern/DataGrid/useDataGridProps.js +1 -0
  278. package/modern/colDef/gridDateColDef.js +1 -1
  279. package/modern/components/GridColumnHeaders.js +3 -11
  280. package/modern/components/GridDetailPanels.js +4 -0
  281. package/modern/components/GridHeaders.js +53 -0
  282. package/modern/components/GridPagination.js +1 -1
  283. package/modern/components/GridPinnedRows.js +4 -0
  284. package/modern/components/GridRow.js +258 -96
  285. package/modern/components/GridScrollbarFillerCell.js +39 -0
  286. package/modern/components/base/GridBody.js +2 -116
  287. package/modern/components/base/GridOverlays.js +10 -16
  288. package/modern/components/cell/GridActionsCell.js +1 -1
  289. package/modern/components/cell/GridCell.js +66 -370
  290. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  291. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  292. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  293. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  294. package/modern/components/containers/GridRoot.js +18 -14
  295. package/modern/components/containers/GridRootStyles.js +307 -204
  296. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  297. package/modern/components/panel/GridPanel.js +3 -4
  298. package/modern/components/panel/filterPanel/GridFilterForm.js +31 -14
  299. package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
  300. package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
  301. package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
  302. package/modern/components/toolbar/GridToolbarExport.js +6 -1
  303. package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
  304. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
  305. package/modern/components/toolbar/GridToolbarQuickFilter.js +4 -0
  306. package/modern/components/virtualization/GridBottomContainer.js +25 -0
  307. package/modern/components/virtualization/GridMainContainer.js +20 -0
  308. package/modern/components/virtualization/GridTopContainer.js +35 -0
  309. package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
  310. package/modern/components/virtualization/GridVirtualScroller.js +69 -16
  311. package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  312. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  313. package/modern/constants/defaultGridSlotsComponents.js +6 -2
  314. package/modern/constants/gridClasses.js +1 -1
  315. package/modern/hooks/core/gridCoreSelector.js +5 -0
  316. package/modern/hooks/core/useGridInitialization.js +4 -0
  317. package/modern/hooks/core/useGridLoggerFactory.js +2 -2
  318. package/modern/hooks/core/useGridRefs.js +13 -0
  319. package/modern/hooks/core/useGridTheme.js +19 -0
  320. package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  321. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
  322. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
  323. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  324. package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  325. package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
  326. package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
  327. package/modern/hooks/features/columns/index.js +2 -1
  328. package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
  329. package/modern/hooks/features/columns/useGridColumns.js +19 -21
  330. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  331. package/modern/hooks/features/dimensions/index.js +1 -0
  332. package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
  333. package/modern/hooks/features/editing/useGridCellEditing.js +4 -4
  334. package/modern/hooks/features/editing/useGridRowEditing.js +4 -4
  335. package/modern/hooks/features/export/serializers/csvSerializer.js +3 -3
  336. package/modern/hooks/features/export/useGridPrintExport.js +1 -1
  337. package/modern/hooks/features/filter/gridFilterUtils.js +5 -5
  338. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  339. package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
  340. package/modern/hooks/features/focus/useGridFocus.js +3 -3
  341. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  342. package/modern/hooks/features/pagination/gridPaginationUtils.js +2 -2
  343. package/modern/hooks/features/pagination/useGridPagination.js +3 -5
  344. package/modern/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  345. package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
  346. package/modern/hooks/features/rows/gridRowsUtils.js +6 -6
  347. package/modern/hooks/features/rows/useGridRows.js +7 -7
  348. package/modern/hooks/features/rows/useGridRowsMeta.js +9 -6
  349. package/modern/hooks/features/scroll/useGridScroll.js +8 -9
  350. package/modern/hooks/features/sorting/gridSortingUtils.js +5 -3
  351. package/modern/hooks/features/sorting/useGridSorting.js +15 -10
  352. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  353. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
  354. package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
  355. package/modern/hooks/utils/index.js +4 -1
  356. package/modern/hooks/utils/useGridApiContext.js +1 -1
  357. package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
  358. package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
  359. package/modern/hooks/utils/useGridPrivateApiContext.js +1 -1
  360. package/modern/hooks/utils/useGridRootProps.js +1 -1
  361. package/modern/hooks/utils/useGridSelector.js +1 -1
  362. package/modern/hooks/utils/useResizeObserver.js +36 -0
  363. package/modern/hooks/utils/useRunOnce.js +18 -0
  364. package/modern/index.js +1 -2
  365. package/modern/internals/index.js +9 -7
  366. package/modern/internals/utils/index.js +2 -1
  367. package/modern/internals/utils/propValidation.js +19 -0
  368. package/modern/locales/hrHR.js +149 -0
  369. package/modern/locales/index.js +4 -1
  370. package/modern/locales/ptPT.js +149 -0
  371. package/modern/locales/zhHK.js +149 -0
  372. package/modern/models/index.js +0 -1
  373. package/modern/models/params/index.js +1 -2
  374. package/modern/utils/createSelector.js +1 -1
  375. package/modern/utils/exportAs.js +1 -1
  376. package/modern/utils/utils.js +10 -1
  377. package/node/DataGrid/DataGrid.js +15 -27
  378. package/node/DataGrid/useDataGridComponent.js +1 -0
  379. package/node/DataGrid/useDataGridProps.js +1 -0
  380. package/node/colDef/gridDateColDef.js +1 -1
  381. package/node/components/GridColumnHeaders.js +3 -11
  382. package/node/components/GridDetailPanels.js +10 -0
  383. package/node/components/GridHeaders.js +60 -0
  384. package/node/components/GridPagination.js +1 -1
  385. package/node/components/GridPinnedRows.js +10 -0
  386. package/node/components/GridRow.js +256 -94
  387. package/node/components/GridScrollbarFillerCell.js +47 -0
  388. package/node/components/base/GridBody.js +7 -118
  389. package/node/components/base/GridOverlays.js +9 -15
  390. package/node/components/cell/GridActionsCell.js +1 -1
  391. package/node/components/cell/GridCell.js +67 -370
  392. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  393. package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
  394. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  395. package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  396. package/node/components/containers/GridRoot.js +17 -14
  397. package/node/components/containers/GridRootStyles.js +175 -72
  398. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  399. package/node/components/panel/GridPanel.js +3 -4
  400. package/node/components/panel/filterPanel/GridFilterForm.js +30 -13
  401. package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
  402. package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
  403. package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
  404. package/node/components/toolbar/GridToolbarExport.js +6 -1
  405. package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
  406. package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
  407. package/node/components/toolbar/GridToolbarQuickFilter.js +4 -0
  408. package/node/components/virtualization/GridBottomContainer.js +34 -0
  409. package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
  410. package/node/components/virtualization/GridTopContainer.js +44 -0
  411. package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
  412. package/node/components/virtualization/GridVirtualScroller.js +69 -17
  413. package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
  414. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  415. package/node/constants/defaultGridSlotsComponents.js +5 -1
  416. package/node/constants/gridClasses.js +1 -1
  417. package/node/hooks/core/gridCoreSelector.js +12 -0
  418. package/node/hooks/core/useGridInitialization.js +4 -0
  419. package/node/hooks/core/useGridLoggerFactory.js +2 -2
  420. package/node/hooks/core/useGridRefs.js +22 -0
  421. package/node/hooks/core/useGridTheme.js +29 -0
  422. package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  423. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
  424. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
  425. package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  426. package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
  427. package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
  428. package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
  429. package/node/hooks/features/columns/index.js +22 -61
  430. package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
  431. package/node/hooks/features/columns/useGridColumns.js +20 -22
  432. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
  433. package/node/hooks/features/dimensions/index.js +11 -0
  434. package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
  435. package/node/hooks/features/editing/useGridCellEditing.js +4 -4
  436. package/node/hooks/features/editing/useGridRowEditing.js +4 -4
  437. package/node/hooks/features/export/serializers/csvSerializer.js +3 -3
  438. package/node/hooks/features/export/useGridPrintExport.js +1 -1
  439. package/node/hooks/features/filter/gridFilterUtils.js +5 -5
  440. package/node/hooks/features/filter/useGridFilter.js +2 -2
  441. package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
  442. package/node/hooks/features/focus/useGridFocus.js +2 -2
  443. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
  444. package/node/hooks/features/pagination/gridPaginationUtils.js +2 -2
  445. package/node/hooks/features/pagination/useGridPagination.js +3 -5
  446. package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  447. package/node/hooks/features/rows/gridRowsSelector.js +2 -2
  448. package/node/hooks/features/rows/gridRowsUtils.js +6 -6
  449. package/node/hooks/features/rows/useGridRows.js +7 -7
  450. package/node/hooks/features/rows/useGridRowsMeta.js +7 -5
  451. package/node/hooks/features/scroll/useGridScroll.js +8 -9
  452. package/node/hooks/features/sorting/gridSortingUtils.js +5 -3
  453. package/node/hooks/features/sorting/useGridSorting.js +15 -10
  454. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  455. package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
  456. package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
  457. package/node/hooks/utils/index.js +36 -0
  458. package/node/hooks/utils/useGridApiContext.js +1 -1
  459. package/node/hooks/utils/useGridAriaAttributes.js +1 -1
  460. package/node/hooks/utils/useGridNativeEventListener.js +3 -9
  461. package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
  462. package/node/hooks/utils/useGridRootProps.js +1 -1
  463. package/node/hooks/utils/useGridSelector.js +1 -1
  464. package/node/hooks/utils/useResizeObserver.js +44 -0
  465. package/node/hooks/utils/useRunOnce.js +27 -0
  466. package/node/index.js +1 -13
  467. package/node/internals/index.js +86 -71
  468. package/node/internals/utils/index.js +11 -0
  469. package/node/internals/utils/propValidation.js +26 -0
  470. package/node/locales/hrHR.js +155 -0
  471. package/node/locales/index.js +33 -0
  472. package/node/locales/ptPT.js +155 -0
  473. package/node/locales/zhHK.js +155 -0
  474. package/node/models/index.js +0 -11
  475. package/node/models/params/index.js +0 -11
  476. package/node/utils/createSelector.js +1 -1
  477. package/node/utils/exportAs.js +1 -1
  478. package/node/utils/utils.js +11 -1
  479. package/package.json +6 -6
  480. package/utils/createSelector.js +1 -1
  481. package/utils/exportAs.js +1 -1
  482. package/utils/utils.d.ts +6 -0
  483. package/utils/utils.js +10 -1
  484. package/components/DataGridVirtualScroller.d.ts +0 -3
  485. package/components/DataGridVirtualScroller.js +0 -35
  486. package/components/containers/GridMainContainer.js +0 -43
  487. package/legacy/components/DataGridVirtualScroller.js +0 -32
  488. package/legacy/components/containers/GridMainContainer.js +0 -45
  489. package/legacy/models/gridRootContainerRef.js +0 -1
  490. package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  491. package/models/gridRootContainerRef.d.ts +0 -5
  492. package/models/gridRootContainerRef.js +0 -1
  493. package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
  494. package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  495. package/modern/components/DataGridVirtualScroller.js +0 -35
  496. package/modern/components/containers/GridMainContainer.js +0 -42
  497. package/modern/models/gridRootContainerRef.js +0 -1
  498. package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  499. package/node/components/DataGridVirtualScroller.js +0 -42
  500. package/node/models/gridRootContainerRef.js +0 -5
  501. package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import { alpha, styled, darken, lighten } from '@mui/material/styles';
4
- import { gridClasses } from '../../constants/gridClasses';
3
+ import { alpha, styled, darken, lighten, decomposeColor, recomposeColor } from '@mui/material/styles';
4
+ import { gridClasses as c } from '../../constants/gridClasses';
5
5
  function getBorderColor(theme) {
6
6
  if (theme.vars) {
7
7
  return theme.vars.palette.TableCell.border;
@@ -11,14 +11,14 @@ function getBorderColor(theme) {
11
11
  }
12
12
  return darken(alpha(theme.palette.divider, 1), 0.68);
13
13
  }
14
- var columnHeadersStyles = _defineProperty({}, ".".concat(gridClasses.columnSeparator, ", .").concat(gridClasses['columnSeparator--resizing']), {
14
+ var columnHeadersStyles = _defineProperty({}, ".".concat(c.columnSeparator, ", .").concat(c['columnSeparator--resizing']), {
15
15
  visibility: 'visible',
16
16
  width: 'auto'
17
17
  });
18
- var columnHeaderStyles = _defineProperty(_defineProperty({}, "& .".concat(gridClasses.iconButtonContainer), {
18
+ var columnHeaderStyles = _defineProperty(_defineProperty({}, "& .".concat(c.iconButtonContainer), {
19
19
  visibility: 'visible',
20
20
  width: 'auto'
21
- }), "& .".concat(gridClasses.menuIcon), {
21
+ }), "& .".concat(c.menuIcon), {
22
22
  width: 'auto',
23
23
  visibility: 'visible'
24
24
  });
@@ -26,19 +26,57 @@ export var GridRootStyles = styled('div', {
26
26
  name: 'MuiDataGrid',
27
27
  slot: 'Root',
28
28
  overridesResolver: function overridesResolver(props, styles) {
29
- return [_defineProperty({}, "&.".concat(gridClasses.autoHeight), styles.autoHeight), _defineProperty({}, "&.".concat(gridClasses.aggregationColumnHeader), styles.aggregationColumnHeader), _defineProperty({}, "&.".concat(gridClasses['aggregationColumnHeader--alignLeft']), styles['aggregationColumnHeader--alignLeft']), _defineProperty({}, "&.".concat(gridClasses['aggregationColumnHeader--alignCenter']), styles['aggregationColumnHeader--alignCenter']), _defineProperty({}, "&.".concat(gridClasses['aggregationColumnHeader--alignRight']), styles['aggregationColumnHeader--alignRight']), _defineProperty({}, "&.".concat(gridClasses.aggregationColumnHeaderLabel), styles.aggregationColumnHeaderLabel), _defineProperty({}, "&.".concat(gridClasses['root--disableUserSelection'], " .").concat(gridClasses.cell), styles['root--disableUserSelection']), _defineProperty({}, "&.".concat(gridClasses.autosizing), styles.autosizing), _defineProperty({}, "& .".concat(gridClasses.editBooleanCell), styles.editBooleanCell), _defineProperty({}, "& .".concat(gridClasses['cell--editing']), styles['cell--editing']), _defineProperty({}, "& .".concat(gridClasses['cell--textCenter']), styles['cell--textCenter']), _defineProperty({}, "& .".concat(gridClasses['cell--textLeft']), styles['cell--textLeft']), _defineProperty({}, "& .".concat(gridClasses['cell--textRight']), styles['cell--textRight']), // TODO v6: Remove
30
- _defineProperty({}, "& .".concat(gridClasses['cell--withRenderer']), styles['cell--withRenderer']), _defineProperty({}, "& .".concat(gridClasses.cell), styles.cell), _defineProperty({}, "& .".concat(gridClasses['cell--rangeTop']), styles['cell--rangeTop']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeBottom']), styles['cell--rangeBottom']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeLeft']), styles['cell--rangeLeft']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeRight']), styles['cell--rangeRight']), _defineProperty({}, "& .".concat(gridClasses['cell--withRightBorder']), styles['cell--withRightBorder']), _defineProperty({}, "& .".concat(gridClasses.cellContent), styles.cellContent), _defineProperty({}, "& .".concat(gridClasses.cellCheckbox), styles.cellCheckbox), _defineProperty({}, "& .".concat(gridClasses.cellSkeleton), styles.cellSkeleton), _defineProperty({}, "& .".concat(gridClasses.checkboxInput), styles.checkboxInput), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignCenter']), styles['columnHeader--alignCenter']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignLeft']), styles['columnHeader--alignLeft']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignRight']), styles['columnHeader--alignRight']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--dragging']), styles['columnHeader--dragging']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--moving']), styles['columnHeader--moving']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--numeric']), styles['columnHeader--numeric']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sortable']), styles['columnHeader--sortable']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sorted']), styles['columnHeader--sorted']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--withRightBorder']), styles['columnHeader--withRightBorder']), _defineProperty({}, "& .".concat(gridClasses.columnHeader), styles.columnHeader), _defineProperty({}, "& .".concat(gridClasses.headerFilterRow), styles.headerFilterRow), _defineProperty({}, "& .".concat(gridClasses.columnHeaderCheckbox), styles.columnHeaderCheckbox), _defineProperty({}, "& .".concat(gridClasses.columnHeaderDraggableContainer), styles.columnHeaderDraggableContainer), _defineProperty({}, "& .".concat(gridClasses.columnHeaderTitleContainer), styles.columnHeaderTitleContainer), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizable']), styles['columnSeparator--resizable']), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizing']), styles['columnSeparator--resizing']), _defineProperty({}, "& .".concat(gridClasses.columnSeparator), styles.columnSeparator), _defineProperty({}, "& .".concat(gridClasses.filterIcon), styles.filterIcon), _defineProperty({}, "& .".concat(gridClasses.iconSeparator), styles.iconSeparator), _defineProperty({}, "& .".concat(gridClasses.menuIcon), styles.menuIcon), _defineProperty({}, "& .".concat(gridClasses.menuIconButton), styles.menuIconButton), _defineProperty({}, "& .".concat(gridClasses.menuOpen), styles.menuOpen), _defineProperty({}, "& .".concat(gridClasses.menuList), styles.menuList), _defineProperty({}, "& .".concat(gridClasses['row--editable']), styles['row--editable']), _defineProperty({}, "& .".concat(gridClasses['row--editing']), styles['row--editing']), _defineProperty({}, "& .".concat(gridClasses['row--dragging']), styles['row--dragging']), _defineProperty({}, "& .".concat(gridClasses.row), styles.row), _defineProperty({}, "& .".concat(gridClasses.rowReorderCellPlaceholder), styles.rowReorderCellPlaceholder), _defineProperty({}, "& .".concat(gridClasses.rowReorderCell), styles.rowReorderCell), _defineProperty({}, "& .".concat(gridClasses['rowReorderCell--draggable']), styles['rowReorderCell--draggable']), _defineProperty({}, "& .".concat(gridClasses.sortIcon), styles.sortIcon), _defineProperty({}, "& .".concat(gridClasses.withBorderColor), styles.withBorderColor), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCell), styles.treeDataGroupingCell), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCellToggle), styles.treeDataGroupingCellToggle), _defineProperty({}, "& .".concat(gridClasses.detailPanelToggleCell), styles.detailPanelToggleCell), _defineProperty({}, "& .".concat(gridClasses['detailPanelToggleCell--expanded']), styles['detailPanelToggleCell--expanded']), styles.root];
29
+ return [_defineProperty({}, "&.".concat(c.autoHeight), styles.autoHeight), _defineProperty({}, "&.".concat(c.aggregationColumnHeader), styles.aggregationColumnHeader), _defineProperty({}, "&.".concat(c['aggregationColumnHeader--alignLeft']), styles['aggregationColumnHeader--alignLeft']), _defineProperty({}, "&.".concat(c['aggregationColumnHeader--alignCenter']), styles['aggregationColumnHeader--alignCenter']), _defineProperty({}, "&.".concat(c['aggregationColumnHeader--alignRight']), styles['aggregationColumnHeader--alignRight']), _defineProperty({}, "&.".concat(c.aggregationColumnHeaderLabel), styles.aggregationColumnHeaderLabel), _defineProperty({}, "&.".concat(c['root--disableUserSelection'], " .").concat(c.cell), styles['root--disableUserSelection']), _defineProperty({}, "&.".concat(c.autosizing), styles.autosizing), _defineProperty({}, "& .".concat(c.editBooleanCell), styles.editBooleanCell), _defineProperty({}, "& .".concat(c['cell--editing']), styles['cell--editing']), _defineProperty({}, "& .".concat(c['cell--textCenter']), styles['cell--textCenter']), _defineProperty({}, "& .".concat(c['cell--textLeft']), styles['cell--textLeft']), _defineProperty({}, "& .".concat(c['cell--textRight']), styles['cell--textRight']), // TODO v6: Remove
30
+ _defineProperty({}, "& .".concat(c['cell--withRenderer']), styles['cell--withRenderer']), _defineProperty({}, "& .".concat(c.cell), styles.cell), _defineProperty({}, "& .".concat(c['cell--rangeTop']), styles['cell--rangeTop']), _defineProperty({}, "& .".concat(c['cell--rangeBottom']), styles['cell--rangeBottom']), _defineProperty({}, "& .".concat(c['cell--rangeLeft']), styles['cell--rangeLeft']), _defineProperty({}, "& .".concat(c['cell--rangeRight']), styles['cell--rangeRight']), _defineProperty({}, "& .".concat(c['cell--withRightBorder']), styles['cell--withRightBorder']), _defineProperty({}, "& .".concat(c.cellContent), styles.cellContent), _defineProperty({}, "& .".concat(c.cellCheckbox), styles.cellCheckbox), _defineProperty({}, "& .".concat(c.cellSkeleton), styles.cellSkeleton), _defineProperty({}, "& .".concat(c.checkboxInput), styles.checkboxInput), _defineProperty({}, "& .".concat(c['columnHeader--alignCenter']), styles['columnHeader--alignCenter']), _defineProperty({}, "& .".concat(c['columnHeader--alignLeft']), styles['columnHeader--alignLeft']), _defineProperty({}, "& .".concat(c['columnHeader--alignRight']), styles['columnHeader--alignRight']), _defineProperty({}, "& .".concat(c['columnHeader--dragging']), styles['columnHeader--dragging']), _defineProperty({}, "& .".concat(c['columnHeader--moving']), styles['columnHeader--moving']), _defineProperty({}, "& .".concat(c['columnHeader--numeric']), styles['columnHeader--numeric']), _defineProperty({}, "& .".concat(c['columnHeader--sortable']), styles['columnHeader--sortable']), _defineProperty({}, "& .".concat(c['columnHeader--sorted']), styles['columnHeader--sorted']), _defineProperty({}, "& .".concat(c['columnHeader--withRightBorder']), styles['columnHeader--withRightBorder']), _defineProperty({}, "& .".concat(c.columnHeader), styles.columnHeader), _defineProperty({}, "& .".concat(c.headerFilterRow), styles.headerFilterRow), _defineProperty({}, "& .".concat(c.columnHeaderCheckbox), styles.columnHeaderCheckbox), _defineProperty({}, "& .".concat(c.columnHeaderDraggableContainer), styles.columnHeaderDraggableContainer), _defineProperty({}, "& .".concat(c.columnHeaderTitleContainer), styles.columnHeaderTitleContainer), _defineProperty({}, "& .".concat(c['columnSeparator--resizable']), styles['columnSeparator--resizable']), _defineProperty({}, "& .".concat(c['columnSeparator--resizing']), styles['columnSeparator--resizing']), _defineProperty({}, "& .".concat(c.columnSeparator), styles.columnSeparator), _defineProperty({}, "& .".concat(c.filterIcon), styles.filterIcon), _defineProperty({}, "& .".concat(c.iconSeparator), styles.iconSeparator), _defineProperty({}, "& .".concat(c.menuIcon), styles.menuIcon), _defineProperty({}, "& .".concat(c.menuIconButton), styles.menuIconButton), _defineProperty({}, "& .".concat(c.menuOpen), styles.menuOpen), _defineProperty({}, "& .".concat(c.menuList), styles.menuList), _defineProperty({}, "& .".concat(c['row--editable']), styles['row--editable']), _defineProperty({}, "& .".concat(c['row--editing']), styles['row--editing']), _defineProperty({}, "& .".concat(c['row--dragging']), styles['row--dragging']), _defineProperty({}, "& .".concat(c.row), styles.row), _defineProperty({}, "& .".concat(c.rowReorderCellPlaceholder), styles.rowReorderCellPlaceholder), _defineProperty({}, "& .".concat(c.rowReorderCell), styles.rowReorderCell), _defineProperty({}, "& .".concat(c['rowReorderCell--draggable']), styles['rowReorderCell--draggable']), _defineProperty({}, "& .".concat(c.sortIcon), styles.sortIcon), _defineProperty({}, "& .".concat(c.withBorderColor), styles.withBorderColor), _defineProperty({}, "& .".concat(c.treeDataGroupingCell), styles.treeDataGroupingCell), _defineProperty({}, "& .".concat(c.treeDataGroupingCellToggle), styles.treeDataGroupingCellToggle), _defineProperty({}, "& .".concat(c.detailPanelToggleCell), styles.detailPanelToggleCell), _defineProperty({}, "& .".concat(c['detailPanelToggleCell--expanded']), styles['detailPanelToggleCell--expanded']), styles.root];
31
31
  }
32
32
  })(function (_ref61) {
33
33
  var _extends2;
34
- var theme = _ref61.theme;
35
- var borderColor = getBorderColor(theme);
36
- var radius = theme.shape.borderRadius;
34
+ var t = _ref61.theme;
35
+ var borderColor = getBorderColor(t);
36
+ var radius = t.shape.borderRadius;
37
+ var containerBackground = t.vars ? t.vars.palette.background.default : t.palette.background.default;
38
+ var pinnedBackground = containerBackground;
39
+ var overlayBackground = t.vars ? "rgba(".concat(t.vars.palette.background.defaultChannel, " / ").concat(t.vars.palette.action.disabledOpacity, ")") : alpha(t.palette.background.default, t.palette.action.disabledOpacity);
40
+ var hoverOpacity = (t.vars || t).palette.action.hoverOpacity;
41
+ var hoverColor = (t.vars || t).palette.action.hover;
42
+ var selectedOpacity = (t.vars || t).palette.action.selectedOpacity;
43
+ var selectedBackground = t.vars ? "rgba(".concat(t.vars.palette.primary.mainChannel, " / ").concat(selectedOpacity, ")") : alpha(t.palette.primary.main, selectedOpacity);
44
+ var selectedHoverBackground = t.vars ? "rgba(".concat(t.vars.palette.primary.mainChannel, " / calc(\n ").concat(t.vars.palette.action.selectedOpacity, " + \n ").concat(t.vars.palette.action.hoverOpacity, "\n ))") : alpha(t.palette.primary.main, t.palette.action.selectedOpacity + t.palette.action.hoverOpacity);
45
+ var pinnedHoverBackground = t.vars ? hoverColor : blend(pinnedBackground, hoverColor, hoverOpacity);
46
+ var pinnedSelectedBackground = t.vars ? selectedBackground : blend(pinnedBackground, selectedBackground, selectedOpacity);
47
+ var pinnedSelectedHoverBackground = t.vars ? hoverColor : blend(pinnedSelectedBackground, hoverColor, hoverOpacity);
48
+ var selectedStyles = {
49
+ backgroundColor: selectedBackground,
50
+ '&:hover': {
51
+ backgroundColor: selectedHoverBackground,
52
+ // Reset on touch devices, it doesn't add specificity
53
+ '@media (hover: none)': {
54
+ backgroundColor: selectedBackground
55
+ }
56
+ }
57
+ };
37
58
  var gridStyle = _extends({
38
59
  '--unstable_DataGrid-radius': typeof radius === 'number' ? "".concat(radius, "px") : radius,
39
- '--unstable_DataGrid-headWeight': theme.typography.fontWeightMedium,
40
- '--unstable_DataGrid-overlayBackground': theme.vars ? "rgba(".concat(theme.vars.palette.background.defaultChannel, " / ").concat(theme.vars.palette.action.disabledOpacity, ")") : alpha(theme.palette.background.default, theme.palette.action.disabledOpacity),
60
+ '--unstable_DataGrid-headWeight': t.typography.fontWeightMedium,
61
+ '--unstable_DataGrid-overlayBackground': overlayBackground,
62
+ '--DataGrid-containerBackground': containerBackground,
63
+ '--DataGrid-pinnedBackground': pinnedBackground,
64
+ '--DataGrid-rowBorderColor': borderColor,
41
65
  '--DataGrid-cellOffsetMultiplier': 2,
66
+ '--DataGrid-width': '0px',
67
+ '--DataGrid-hasScrollX': '0',
68
+ '--DataGrid-hasScrollY': '0',
69
+ '--DataGrid-offsetTop': '0px',
70
+ '--DataGrid-offsetLeft': '0px',
71
+ '--DataGrid-scrollbarSize': '10px',
72
+ '--DataGrid-rowWidth': '0px',
73
+ '--DataGrid-columnsTotalWidth': '0px',
74
+ '--DataGrid-leftPinnedWidth': '0px',
75
+ '--DataGrid-rightPinnedWidth': '0px',
76
+ '--DataGrid-headerHeight': '0px',
77
+ '--DataGrid-headersTotalHeight': '0px',
78
+ '--DataGrid-topContainerHeight': '0px',
79
+ '--DataGrid-bottomContainerHeight': '0px',
42
80
  flex: 1,
43
81
  boxSizing: 'border-box',
44
82
  position: 'relative',
@@ -46,8 +84,8 @@ export var GridRootStyles = styled('div', {
46
84
  borderStyle: 'solid',
47
85
  borderColor: borderColor,
48
86
  borderRadius: 'var(--unstable_DataGrid-radius)',
49
- color: (theme.vars || theme).palette.text.primary
50
- }, theme.typography.body2, (_extends2 = {
87
+ color: (t.vars || t).palette.text.primary
88
+ }, t.typography.body2, (_extends2 = {
51
89
  outline: 'none',
52
90
  height: '100%',
53
91
  display: 'flex',
@@ -56,45 +94,45 @@ export var GridRootStyles = styled('div', {
56
94
  minHeight: 0,
57
95
  flexDirection: 'column',
58
96
  overflowAnchor: 'none'
59
- }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "&.".concat(gridClasses.autoHeight), _defineProperty({
97
+ }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, ".".concat(c.main, " > *:first-of-type"), {
98
+ borderTopLeftRadius: 'var(--unstable_DataGrid-radius)',
99
+ borderTopRightRadius: 'var(--unstable_DataGrid-radius)'
100
+ }), "&.".concat(c.autoHeight), {
60
101
  height: 'auto'
61
- }, "& .".concat(gridClasses['row--lastVisible'], " .").concat(gridClasses.cell), {
62
- borderBottomColor: 'transparent'
63
- })), "&.".concat(gridClasses.autosizing), _defineProperty(_defineProperty({}, "& .".concat(gridClasses.columnHeaderTitleContainerContent, " > *"), {
102
+ }), "&.".concat(c.autosizing), _defineProperty(_defineProperty({}, "& .".concat(c.columnHeaderTitleContainerContent, " > *"), {
64
103
  overflow: 'visible !important'
65
- }), "& .".concat(gridClasses.cell, " > *"), {
104
+ }), "& .".concat(c.cell, " > *"), {
66
105
  overflow: 'visible !important',
67
106
  whiteSpace: 'nowrap'
68
- })), "& .".concat(gridClasses['virtualScrollerContent--overflowed'], " .").concat(gridClasses['row--lastVisible'], " .").concat(gridClasses.cell), {
69
- borderBottomColor: 'transparent'
70
- }), "& .".concat(gridClasses.columnHeader, ", & .").concat(gridClasses.cell), {
107
+ })), "& .".concat(c.columnHeader, ", & .").concat(c.cell), {
71
108
  WebkitTapHighlightColor: 'transparent',
72
109
  lineHeight: null,
73
110
  padding: '0 10px',
74
111
  boxSizing: 'border-box'
75
- }), "& .".concat(gridClasses.columnHeader, ":focus-within, & .").concat(gridClasses.cell, ":focus-within"), {
76
- outline: "solid ".concat(theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / 0.5)") : alpha(theme.palette.primary.main, 0.5), " 1px"),
112
+ }), "& .".concat(c.columnHeader, ":focus-within, & .").concat(c.cell, ":focus-within"), {
113
+ outline: "solid ".concat(t.vars ? "rgba(".concat(t.vars.palette.primary.mainChannel, " / 0.5)") : alpha(t.palette.primary.main, 0.5), " 1px"),
77
114
  outlineWidth: 1,
78
115
  outlineOffset: -1
79
- }), "& .".concat(gridClasses.columnHeader, ":focus, & .").concat(gridClasses.cell, ":focus"), {
80
- outline: "solid ".concat(theme.palette.primary.main, " 1px")
81
- }), "& .".concat(gridClasses.columnHeaderCheckbox, ", & .").concat(gridClasses.cellCheckbox), {
116
+ }), "& .".concat(c.columnHeader, ":focus, & .").concat(c.cell, ":focus"), {
117
+ outline: "solid ".concat(t.palette.primary.main, " 1px")
118
+ }), "& .".concat(c.columnHeaderCheckbox, ", & .").concat(c.cellCheckbox), {
82
119
  padding: 0,
83
120
  justifyContent: 'center',
84
121
  alignItems: 'center'
85
- }), "& .".concat(gridClasses.columnHeader), {
122
+ }), "& .".concat(c.columnHeader), {
86
123
  position: 'relative',
87
124
  display: 'flex',
88
- alignItems: 'center'
89
- }), "& .".concat(gridClasses['columnHeader--sorted'], " .").concat(gridClasses.iconButtonContainer, ", & .").concat(gridClasses['columnHeader--filtered'], " .").concat(gridClasses.iconButtonContainer), {
125
+ alignItems: 'center',
126
+ overflow: 'hidden'
127
+ }), "& .".concat(c['columnHeader--sorted'], " .").concat(c.iconButtonContainer, ", & .").concat(c['columnHeader--filtered'], " .").concat(c.iconButtonContainer), {
90
128
  visibility: 'visible',
91
129
  width: 'auto'
92
- }), "& .".concat(gridClasses.columnHeader, ":not(.").concat(gridClasses['columnHeader--sorted'], ") .").concat(gridClasses.sortIcon), {
130
+ }), "& .".concat(c.columnHeader, ":not(.").concat(c['columnHeader--sorted'], ") .").concat(c.sortIcon), {
93
131
  opacity: 0,
94
- transition: theme.transitions.create(['opacity'], {
95
- duration: theme.transitions.duration.shorter
132
+ transition: t.transitions.create(['opacity'], {
133
+ duration: t.transitions.duration.shorter
96
134
  })
97
- }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(gridClasses.columnHeaderTitleContainer), {
135
+ }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(c.columnHeaderTitleContainer), {
98
136
  display: 'flex',
99
137
  alignItems: 'center',
100
138
  minWidth: 0,
@@ -103,39 +141,37 @@ export var GridRootStyles = styled('div', {
103
141
  overflow: 'hidden',
104
142
  // to anchor the aggregation label
105
143
  position: 'relative'
106
- }), "& .".concat(gridClasses.columnHeaderTitleContainerContent), {
144
+ }), "& .".concat(c.columnHeaderTitleContainerContent), {
107
145
  overflow: 'hidden',
108
146
  display: 'flex',
109
147
  alignItems: 'center'
110
- }), "& .".concat(gridClasses['columnHeader--filledGroup'], " .").concat(gridClasses.columnHeaderTitleContainer), {
148
+ }), "& .".concat(c['columnHeader--filledGroup'], " .").concat(c.columnHeaderTitleContainer), {
111
149
  borderBottomWidth: '1px',
112
150
  borderBottomStyle: 'solid',
113
151
  boxSizing: 'border-box'
114
- }), "& .".concat(gridClasses['columnHeader--filledGroup'], ".").concat(gridClasses['columnHeader--showColumnBorder'], " .").concat(gridClasses.columnHeaderTitleContainer), {
152
+ }), "& .".concat(c['columnHeader--filledGroup'], ".").concat(c['columnHeader--showColumnBorder'], " .").concat(c.columnHeaderTitleContainer), {
115
153
  borderBottom: "none"
116
- }), "& .".concat(gridClasses['columnHeader--filledGroup'], ".").concat(gridClasses['columnHeader--showColumnBorder']), {
154
+ }), "& .".concat(c['columnHeader--filledGroup'], ".").concat(c['columnHeader--showColumnBorder']), {
117
155
  borderBottomWidth: '1px',
118
156
  borderBottomStyle: 'solid',
119
157
  boxSizing: 'border-box'
120
- }), "& .".concat(gridClasses.headerFilterRow), {
121
- borderTop: "1px solid ".concat(borderColor)
122
- }), "& .".concat(gridClasses.sortIcon, ", & .").concat(gridClasses.filterIcon), {
158
+ }), "& .".concat(c.sortIcon, ", & .").concat(c.filterIcon), {
123
159
  fontSize: 'inherit'
124
- }), "& .".concat(gridClasses['columnHeader--sortable']), {
160
+ }), "& .".concat(c['columnHeader--sortable']), {
125
161
  cursor: 'pointer'
126
- }), "& .".concat(gridClasses['columnHeader--alignCenter'], " .").concat(gridClasses.columnHeaderTitleContainer), {
162
+ }), "& .".concat(c['columnHeader--alignCenter'], " .").concat(c.columnHeaderTitleContainer), {
127
163
  justifyContent: 'center'
128
- }), "& .".concat(gridClasses['columnHeader--alignRight'], " .").concat(gridClasses.columnHeaderDraggableContainer, ", & .").concat(gridClasses['columnHeader--alignRight'], " .").concat(gridClasses.columnHeaderTitleContainer), {
164
+ }), "& .".concat(c['columnHeader--alignRight'], " .").concat(c.columnHeaderDraggableContainer, ", & .").concat(c['columnHeader--alignRight'], " .").concat(c.columnHeaderTitleContainer), {
129
165
  flexDirection: 'row-reverse'
130
- }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(gridClasses['columnHeader--alignCenter'], " .").concat(gridClasses.menuIcon, ", & .").concat(gridClasses['columnHeader--alignRight'], " .").concat(gridClasses.menuIcon), {
166
+ }), "& .".concat(c['columnHeader--alignCenter'], " .").concat(c.menuIcon, ", & .").concat(c['columnHeader--alignRight'], " .").concat(c.menuIcon), {
131
167
  marginRight: 'auto',
132
168
  marginLeft: -6
133
- }), "& .".concat(gridClasses['columnHeader--alignRight'], " .").concat(gridClasses.menuIcon, ", & .").concat(gridClasses['columnHeader--alignRight'], " .").concat(gridClasses.menuIcon), {
169
+ }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(c['columnHeader--alignRight'], " .").concat(c.menuIcon, ", & .").concat(c['columnHeader--alignRight'], " .").concat(c.menuIcon), {
134
170
  marginRight: 'auto',
135
171
  marginLeft: -10
136
- }), "& .".concat(gridClasses['columnHeader--moving']), {
137
- backgroundColor: (theme.vars || theme).palette.action.hover
138
- }), "& .".concat(gridClasses.columnSeparator), {
172
+ }), "& .".concat(c['columnHeader--moving']), {
173
+ backgroundColor: (t.vars || t).palette.action.hover
174
+ }), "& .".concat(c.columnSeparator), {
139
175
  visibility: 'hidden',
140
176
  position: 'absolute',
141
177
  zIndex: 100,
@@ -143,172 +179,214 @@ export var GridRootStyles = styled('div', {
143
179
  flexDirection: 'column',
144
180
  justifyContent: 'center',
145
181
  color: borderColor
146
- }), '@media (hover: hover)', _defineProperty(_defineProperty(_defineProperty({}, "& .".concat(gridClasses.columnHeaders, ":hover"), columnHeadersStyles), "& .".concat(gridClasses.columnHeader, ":hover"), columnHeaderStyles), "& .".concat(gridClasses.columnHeader, ":not(.").concat(gridClasses['columnHeader--sorted'], "):hover .").concat(gridClasses.sortIcon), {
182
+ }), "& .".concat(c.columnHeaders), {
183
+ width: 'var(--DataGrid-rowWidth)'
184
+ }), '@media (hover: hover)', _defineProperty(_defineProperty(_defineProperty({}, "& .".concat(c.columnHeaders, ":hover"), columnHeadersStyles), "& .".concat(c.columnHeader, ":hover"), columnHeaderStyles), "& .".concat(c.columnHeader, ":not(.").concat(c['columnHeader--sorted'], "):hover .").concat(c.sortIcon), {
147
185
  opacity: 0.5
148
- })), '@media (hover: none)', _defineProperty(_defineProperty({}, "& .".concat(gridClasses.columnHeaders), columnHeadersStyles), "& .".concat(gridClasses.columnHeader), columnHeaderStyles)), "& .".concat(gridClasses['columnSeparator--sideLeft']), {
186
+ })), '@media (hover: none)', _defineProperty(_defineProperty({}, "& .".concat(c.columnHeaders), columnHeadersStyles), "& .".concat(c.columnHeader), columnHeaderStyles)), "& .".concat(c['columnSeparator--sideLeft']), {
149
187
  left: -12
150
- }), "& .".concat(gridClasses['columnSeparator--sideRight']), {
188
+ }), "& .".concat(c['columnSeparator--sideRight']), {
151
189
  right: -12
152
- }), "& .".concat(gridClasses['columnSeparator--resizable']), _defineProperty(_defineProperty({
190
+ }), "& .".concat(c['columnSeparator--resizable']), _defineProperty(_defineProperty({
153
191
  cursor: 'col-resize',
154
192
  touchAction: 'none',
155
193
  '&:hover': {
156
- color: (theme.vars || theme).palette.text.primary,
194
+ color: (t.vars || t).palette.text.primary,
157
195
  // Reset on touch devices, it doesn't add specificity
158
196
  '@media (hover: none)': {
159
197
  color: borderColor
160
198
  }
161
199
  }
162
- }, "&.".concat(gridClasses['columnSeparator--resizing']), {
163
- color: (theme.vars || theme).palette.text.primary
200
+ }, "&.".concat(c['columnSeparator--resizing']), {
201
+ color: (t.vars || t).palette.text.primary
164
202
  }), '& svg', {
165
203
  pointerEvents: 'none'
166
- })), "& .".concat(gridClasses.iconSeparator), {
204
+ })), "& .".concat(c.iconSeparator), {
167
205
  color: 'inherit'
168
- }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(gridClasses.menuIcon), {
206
+ }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(c.menuIcon), {
169
207
  width: 0,
170
208
  visibility: 'hidden',
171
209
  fontSize: 20,
172
210
  marginRight: -10,
173
211
  display: 'flex',
174
212
  alignItems: 'center'
175
- }), ".".concat(gridClasses.menuOpen), {
213
+ }), ".".concat(c.menuOpen), {
176
214
  visibility: 'visible',
177
215
  width: 'auto'
178
- }), "& .".concat(gridClasses.row), {
216
+ }), "& .".concat(c.headerFilterRow), _defineProperty({}, "& .".concat(c.columnHeader), {
217
+ boxSizing: 'border-box',
218
+ borderTop: '1px solid var(--DataGrid-rowBorderColor)'
219
+ })), ".".concat(c.row), _defineProperty(_defineProperty(_defineProperty({
179
220
  display: 'flex',
180
- width: 'fit-content',
221
+ width: 'var(--DataGrid-rowWidth)',
181
222
  breakInside: 'avoid',
182
223
  // Avoid the row to be broken in two different print pages.
183
- '&:hover, &.Mui-hovered': {
184
- backgroundColor: (theme.vars || theme).palette.action.hover,
185
- // Reset on touch devices, it doesn't add specificity
186
- '@media (hover: none)': {
187
- backgroundColor: 'transparent'
188
- }
189
- },
190
- '&.Mui-selected': {
191
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
192
- '&:hover, &.Mui-hovered': {
193
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / calc(\n ").concat(theme.vars.palette.action.selectedOpacity, " + \n ").concat(theme.vars.palette.action.hoverOpacity, "\n ))") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
194
- // Reset on touch devices, it doesn't add specificity
195
- '@media (hover: none)': {
196
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)
197
- }
198
- }
224
+
225
+ '--rowBorderColor': 'var(--DataGrid-rowBorderColor)'
226
+ }, "&.".concat(c['row--firstVisible']), {
227
+ '--rowBorderColor': 'transparent'
228
+ }), '&:hover', {
229
+ backgroundColor: (t.vars || t).palette.action.hover,
230
+ // Reset on touch devices, it doesn't add specificity
231
+ '@media (hover: none)': {
232
+ backgroundColor: 'transparent'
233
+ }
234
+ }), '&.Mui-selected', selectedStyles)), "& .".concat(c['container--top'], ", & .").concat(c['container--bottom']), _defineProperty({
235
+ '[role=row]': {
236
+ background: 'var(--DataGrid-containerBackground)'
199
237
  }
200
- }), "& .".concat(gridClasses.cell), {
238
+ }, ".".concat(c.pinnedColumnHeaders, " [role=row]"), {
239
+ background: 'var(--DataGrid-pinnedBackground)'
240
+ })), "& .".concat(c.cell), {
201
241
  display: 'flex',
202
242
  alignItems: 'center',
203
- borderBottom: '1px solid',
204
- '&.Mui-selected': {
205
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
206
- '&:hover, &.Mui-hovered': {
207
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity + theme.palette.action.hoverOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
208
- // Reset on touch devices, it doesn't add specificity
209
- '@media (hover: none)': {
210
- backgroundColor: theme.vars ? "rgba(".concat(theme.vars.palette.primary.mainChannel, " / ").concat(theme.vars.palette.action.selectedOpacity, ")") : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)
211
- }
212
- }
213
- }
214
- }), "&.".concat(gridClasses['root--disableUserSelection'], " .").concat(gridClasses.cell), {
243
+ height: 'var(--height)',
244
+ minWidth: 'var(--width)',
245
+ maxWidth: 'var(--width)',
246
+ '--width': '0px',
247
+ '--height': '0px',
248
+ boxSizing: 'border-box',
249
+ borderTop: "1px solid var(--rowBorderColor)",
250
+ '&.Mui-selected': selectedStyles
251
+ }), "& .".concat(c['virtualScrollerContent--overflowed'], " .").concat(c['row--lastVisible'], " .").concat(c.cell), {
252
+ borderTopColor: 'transparent'
253
+ }), "&.".concat(c['root--disableUserSelection'], " .").concat(c.cell), {
215
254
  userSelect: 'none'
216
- }), "& .".concat(gridClasses.row, ":not(.").concat(gridClasses['row--dynamicHeight'], ") > .").concat(gridClasses.cell), {
255
+ }), "& .".concat(c.row, ":not(.").concat(c['row--dynamicHeight'], ") > .").concat(c.cell), {
217
256
  overflow: 'hidden',
218
257
  whiteSpace: 'nowrap'
219
- }), "& .".concat(gridClasses.cellContent), {
220
- overflow: 'hidden',
221
- textOverflow: 'ellipsis'
222
- }), "& .".concat(gridClasses.cell, ".").concat(gridClasses['cell--selectionMode']), {
258
+ }), "& .".concat(c.cellEmpty), {
259
+ padding: 0
260
+ }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(c.cell, ".").concat(c['cell--selectionMode']), {
223
261
  cursor: 'default'
224
- }), "& .".concat(gridClasses.cell, ".").concat(gridClasses['cell--editing']), {
262
+ }), "& .".concat(c.cell, ".").concat(c['cell--editing']), {
225
263
  padding: 1,
226
264
  display: 'flex',
227
- boxShadow: theme.shadows[2],
228
- backgroundColor: (theme.vars || theme).palette.background.paper,
265
+ boxShadow: t.shadows[2],
266
+ backgroundColor: (t.vars || t).palette.background.paper,
229
267
  '&:focus-within': {
230
- outline: "solid ".concat((theme.vars || theme).palette.primary.main, " 1px"),
268
+ outline: "solid ".concat((t.vars || t).palette.primary.main, " 1px"),
231
269
  outlineOffset: '-1px'
232
270
  }
233
- }), "& .".concat(gridClasses['row--editing']), {
234
- boxShadow: theme.shadows[2]
235
- }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(gridClasses['row--editing'], " .").concat(gridClasses.cell), {
236
- boxShadow: theme.shadows[0],
237
- backgroundColor: (theme.vars || theme).palette.background.paper
238
- }), "& .".concat(gridClasses.editBooleanCell), {
271
+ }), "& .".concat(c.cellContent), {
272
+ overflow: 'hidden',
273
+ textOverflow: 'ellipsis'
274
+ }), "& .".concat(c['row--editing']), {
275
+ boxShadow: t.shadows[2]
276
+ }), "& .".concat(c['row--editing'], " .").concat(c.cell), {
277
+ boxShadow: t.shadows[0],
278
+ backgroundColor: (t.vars || t).palette.background.paper
279
+ }), "& .".concat(c.editBooleanCell), {
239
280
  display: 'flex',
240
281
  height: '100%',
241
282
  width: '100%',
242
283
  alignItems: 'center',
243
284
  justifyContent: 'center'
244
- }), "& .".concat(gridClasses.booleanCell, "[data-value=\"true\"]"), {
245
- color: (theme.vars || theme).palette.text.secondary
246
- }), "& .".concat(gridClasses.booleanCell, "[data-value=\"false\"]"), {
247
- color: (theme.vars || theme).palette.text.disabled
248
- }), "& .".concat(gridClasses.actionsCell), {
285
+ }), "& .".concat(c.booleanCell, "[data-value=\"true\"]"), {
286
+ color: (t.vars || t).palette.text.secondary
287
+ }), "& .".concat(c.booleanCell, "[data-value=\"false\"]"), {
288
+ color: (t.vars || t).palette.text.disabled
289
+ }), "& .".concat(c.actionsCell), {
249
290
  display: 'inline-flex',
250
291
  alignItems: 'center',
251
- gridGap: theme.spacing(1)
252
- }), "& .".concat(gridClasses.rowReorderCell), {
292
+ gridGap: t.spacing(1)
293
+ }), "& .".concat(c.rowReorderCell), {
253
294
  display: 'inline-flex',
254
295
  flex: 1,
255
296
  alignItems: 'center',
256
297
  justifyContent: 'center',
257
- opacity: (theme.vars || theme).palette.action.disabledOpacity
258
- }), "& .".concat(gridClasses['rowReorderCell--draggable']), {
298
+ opacity: (t.vars || t).palette.action.disabledOpacity
299
+ }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(c['rowReorderCell--draggable']), {
259
300
  cursor: 'move',
260
301
  opacity: 1
261
- }), "& .".concat(gridClasses.rowReorderCellContainer), {
302
+ }), "& .".concat(c.rowReorderCellContainer), {
262
303
  padding: 0,
263
304
  alignItems: 'stretch'
264
- }), ".".concat(gridClasses.withBorderColor), {
305
+ }), ".".concat(c.withBorderColor), {
265
306
  borderColor: borderColor
266
- }), "& .".concat(gridClasses['cell--withRightBorder']), {
307
+ }), "& .".concat(c['cell--withLeftBorder']), {
308
+ borderLeftColor: 'var(--DataGrid-rowBorderColor)',
309
+ borderLeftWidth: '1px',
310
+ borderLeftStyle: 'solid'
311
+ }), "& .".concat(c['cell--withRightBorder']), {
312
+ borderRightColor: 'var(--DataGrid-rowBorderColor)',
267
313
  borderRightWidth: '1px',
268
314
  borderRightStyle: 'solid'
269
- }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(gridClasses['columnHeader--withRightBorder']), {
315
+ }), "& .".concat(c['columnHeader--withRightBorder']), {
270
316
  borderRightWidth: '1px',
271
317
  borderRightStyle: 'solid'
272
- }), "& .".concat(gridClasses['cell--textLeft']), {
318
+ }), "& .".concat(c['cell--textLeft']), {
273
319
  justifyContent: 'flex-start'
274
- }), "& .".concat(gridClasses['cell--textRight']), {
320
+ }), "& .".concat(c['cell--textRight']), {
275
321
  justifyContent: 'flex-end'
276
- }), "& .".concat(gridClasses['cell--textCenter']), {
322
+ }), "& .".concat(c['cell--textCenter']), {
277
323
  justifyContent: 'center'
278
- }), "& .".concat(gridClasses.columnHeaderDraggableContainer), {
324
+ }), "& .".concat(c['cell--pinnedLeft'], ", & .").concat(c['cell--pinnedRight']), {
325
+ position: 'sticky',
326
+ zIndex: 3,
327
+ background: 'var(--DataGrid-pinnedBackground)'
328
+ }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_extends2, "& .".concat(c.virtualScrollerContent, " .").concat(c.row), _defineProperty({
329
+ '&:hover': _defineProperty({}, "& .".concat(c['cell--pinnedLeft'], ", & .").concat(c['cell--pinnedRight']), {
330
+ backgroundColor: pinnedHoverBackground
331
+ })
332
+ }, "&.Mui-selected", _defineProperty(_defineProperty({}, "& .".concat(c['cell--pinnedLeft'], ", & .").concat(c['cell--pinnedRight']), {
333
+ backgroundColor: pinnedSelectedBackground
334
+ }), '&:hover', _defineProperty({}, "& .".concat(c['cell--pinnedLeft'], ", & .").concat(c['cell--pinnedRight']), {
335
+ backgroundColor: pinnedSelectedHoverBackground
336
+ })))), "& .".concat(c.cell, ":not(.").concat(c['cell--pinnedLeft'], "):not(.").concat(c['cell--pinnedRight'], ")"), {
337
+ transform: 'translate3d(var(--DataGrid-offsetLeft), 0, 0)'
338
+ }), "& .".concat(c.columnHeaderDraggableContainer), {
279
339
  display: 'flex',
280
340
  width: '100%',
281
341
  height: '100%'
282
- }), "& .".concat(gridClasses.rowReorderCellPlaceholder), {
342
+ }), "& .".concat(c.rowReorderCellPlaceholder), {
283
343
  display: 'none'
284
- }), "& .".concat(gridClasses['columnHeader--dragging'], ", & .").concat(gridClasses['row--dragging']), {
285
- background: (theme.vars || theme).palette.background.paper,
344
+ }), "& .".concat(c['columnHeader--dragging'], ", & .").concat(c['row--dragging']), {
345
+ background: (t.vars || t).palette.background.paper,
286
346
  padding: '0 12px',
287
347
  borderRadius: 'var(--unstable_DataGrid-radius)',
288
- opacity: (theme.vars || theme).palette.action.disabledOpacity
289
- }), "& .".concat(gridClasses['row--dragging']), _defineProperty({
290
- background: (theme.vars || theme).palette.background.paper,
348
+ opacity: (t.vars || t).palette.action.disabledOpacity
349
+ }), "& .".concat(c['row--dragging']), _defineProperty({
350
+ background: (t.vars || t).palette.background.paper,
291
351
  padding: '0 12px',
292
352
  borderRadius: 'var(--unstable_DataGrid-radius)',
293
- opacity: (theme.vars || theme).palette.action.disabledOpacity
294
- }, "& .".concat(gridClasses.rowReorderCellPlaceholder), {
353
+ opacity: (t.vars || t).palette.action.disabledOpacity
354
+ }, "& .".concat(c.rowReorderCellPlaceholder), {
295
355
  display: 'flex'
296
- })), "& .".concat(gridClasses.treeDataGroupingCell), {
356
+ })), "& .".concat(c.treeDataGroupingCell), {
297
357
  display: 'flex',
298
358
  alignItems: 'center',
299
359
  width: '100%'
300
- }), "& .".concat(gridClasses.treeDataGroupingCellToggle), {
360
+ }), "& .".concat(c.treeDataGroupingCellToggle), {
301
361
  flex: '0 0 28px',
302
362
  alignSelf: 'stretch',
303
- marginRight: theme.spacing(2)
304
- }), _defineProperty(_defineProperty(_extends2, "& .".concat(gridClasses.groupingCriteriaCell), {
363
+ marginRight: t.spacing(2)
364
+ }), "& .".concat(c.groupingCriteriaCell), {
305
365
  display: 'flex',
306
366
  alignItems: 'center',
307
367
  width: '100%'
308
- }), "& .".concat(gridClasses.groupingCriteriaCellToggle), {
368
+ }), "& .".concat(c.groupingCriteriaCellToggle), {
309
369
  flex: '0 0 28px',
310
370
  alignSelf: 'stretch',
311
- marginRight: theme.spacing(2)
371
+ marginRight: t.spacing(2)
312
372
  })));
313
373
  return gridStyle;
314
- });
374
+ });
375
+
376
+ /**
377
+ * Blend a transparent overlay color with a background color, resulting in a single
378
+ * RGB color.
379
+ */
380
+ function blend(background, overlay, opacity) {
381
+ var gamma = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
382
+ var f = function f(b, o) {
383
+ return Math.round(Math.pow(Math.pow(b, 1 / gamma) * (1 - opacity) + Math.pow(o, 1 / gamma) * opacity, gamma));
384
+ };
385
+ var backgroundColor = decomposeColor(background);
386
+ var overlayColor = decomposeColor(overlay);
387
+ var rgb = [f(backgroundColor.values[0], overlayColor.values[0]), f(backgroundColor.values[1], overlayColor.values[1]), f(backgroundColor.values[2], overlayColor.values[2])];
388
+ return recomposeColor({
389
+ type: 'rgb',
390
+ values: rgb
391
+ });
392
+ }
@@ -31,7 +31,7 @@ function GridColumnMenuSortItem(props) {
31
31
  var direction = event.currentTarget.getAttribute('data-value') || null;
32
32
  apiRef.current.sortColumn(colDef.field, direction === sortDirection ? null : direction);
33
33
  }, [apiRef, colDef, onClick, sortDirection]);
34
- if (!colDef || !colDef.sortable || !sortingOrder.some(function (item) {
34
+ if (rootProps.disableColumnSorting || !colDef || !colDef.sortable || !sortingOrder.some(function (item) {
35
35
  return !!item;
36
36
  })) {
37
37
  return null;
@@ -12,7 +12,6 @@ import Paper from '@mui/material/Paper';
12
12
  import Popper from '@mui/material/Popper';
13
13
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
14
14
  import { isEscapeKey } from '../../utils/keyboardUtils';
15
- import { gridClasses } from '../../constants/gridClasses';
16
15
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
17
16
  import { jsx as _jsx } from "react/jsx-runtime";
18
17
  export var gridPanelClasses = generateUtilityClasses('MuiDataGrid', ['panel', 'paper']);
@@ -87,9 +86,9 @@ var GridPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
87
86
  setAnchorEl = _React$useState4[1];
88
87
  React.useEffect(function () {
89
88
  var _apiRef$current$rootE;
90
- var columnHeadersElement = (_apiRef$current$rootE = apiRef.current.rootElementRef) == null || (_apiRef$current$rootE = _apiRef$current$rootE.current) == null ? void 0 : _apiRef$current$rootE.querySelector(".".concat(gridClasses.columnHeaders));
91
- if (columnHeadersElement) {
92
- setAnchorEl(columnHeadersElement);
89
+ var panelAnchor = (_apiRef$current$rootE = apiRef.current.rootElementRef) == null || (_apiRef$current$rootE = _apiRef$current$rootE.current) == null ? void 0 : _apiRef$current$rootE.querySelector('[data-id="gridPanelAnchor"]');
90
+ if (panelAnchor) {
91
+ setAnchorEl(panelAnchor);
93
92
  }
94
93
  }, [apiRef]);
95
94
  if (!anchorEl) {