@mui/x-data-grid 8.0.0-alpha.12 → 8.0.0-alpha.13

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 (348) hide show
  1. package/CHANGELOG.md +299 -0
  2. package/DataGrid/DataGrid.js +31 -22
  3. package/DataGrid/useDataGridProps.js +1 -1
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -3
  5. package/components/GridFooter.js +1 -1
  6. package/components/GridHeader.js +1 -1
  7. package/components/GridPagination.js +5 -6
  8. package/components/GridRowCount.js +4 -5
  9. package/components/GridScrollArea.js +4 -3
  10. package/components/GridSelectedRowCount.js +5 -6
  11. package/components/GridShadowScrollArea.d.ts +8 -0
  12. package/components/GridShadowScrollArea.js +82 -0
  13. package/components/cell/GridEditInputCell.js +2 -3
  14. package/components/columnSelection/GridHeaderCheckbox.js +51 -17
  15. package/components/columnsManagement/GridColumnsManagement.js +59 -61
  16. package/components/containers/GridOverlay.js +6 -8
  17. package/components/containers/GridRoot.js +4 -2
  18. package/components/containers/GridRootStyles.d.ts +1 -2
  19. package/components/containers/GridRootStyles.js +77 -100
  20. package/components/containers/GridToolbarContainer.js +5 -6
  21. package/components/menu/GridMenu.js +7 -6
  22. package/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -3
  23. package/components/panel/GridPanel.js +18 -20
  24. package/components/panel/GridPanelContent.js +6 -8
  25. package/components/panel/GridPanelFooter.js +5 -6
  26. package/components/panel/GridPanelHeader.js +4 -5
  27. package/components/panel/filterPanel/GridFilterForm.js +13 -20
  28. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  29. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  30. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  31. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +20 -45
  32. package/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  33. package/components/toolbar/GridToolbarFilterButton.js +5 -6
  34. package/components/toolbar/GridToolbarQuickFilter.js +23 -30
  35. package/components/virtualization/GridVirtualScrollbar.js +8 -5
  36. package/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  37. package/constants/cssVariables.d.ts +294 -0
  38. package/constants/cssVariables.js +168 -0
  39. package/constants/dataGridPropsDefaultValues.js +1 -0
  40. package/constants/defaultGridSlotsComponents.js +1 -1
  41. package/constants/gridClasses.d.ts +13 -0
  42. package/constants/gridClasses.js +1 -1
  43. package/context/GridContextProvider.js +4 -1
  44. package/esm/DataGrid/DataGrid.js +31 -22
  45. package/esm/DataGrid/useDataGridProps.js +1 -1
  46. package/esm/colDef/gridCheckboxSelectionColDef.js +1 -3
  47. package/esm/components/GridFooter.js +2 -2
  48. package/esm/components/GridHeader.js +1 -1
  49. package/esm/components/GridPagination.js +5 -6
  50. package/esm/components/GridRowCount.js +4 -5
  51. package/esm/components/GridScrollArea.js +2 -1
  52. package/esm/components/GridSelectedRowCount.js +5 -6
  53. package/esm/components/GridShadowScrollArea.d.ts +8 -0
  54. package/esm/components/GridShadowScrollArea.js +74 -0
  55. package/esm/components/cell/GridEditInputCell.js +2 -3
  56. package/esm/components/columnSelection/GridHeaderCheckbox.js +51 -17
  57. package/esm/components/columnsManagement/GridColumnsManagement.js +60 -62
  58. package/esm/components/containers/GridOverlay.js +6 -8
  59. package/esm/components/containers/GridRoot.js +4 -2
  60. package/esm/components/containers/GridRootStyles.d.ts +1 -2
  61. package/esm/components/containers/GridRootStyles.js +78 -101
  62. package/esm/components/containers/GridToolbarContainer.js +5 -6
  63. package/esm/components/menu/GridMenu.js +7 -6
  64. package/esm/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  65. package/esm/components/panel/GridPanel.js +18 -20
  66. package/esm/components/panel/GridPanelContent.js +6 -8
  67. package/esm/components/panel/GridPanelFooter.js +5 -6
  68. package/esm/components/panel/GridPanelHeader.js +4 -5
  69. package/esm/components/panel/filterPanel/GridFilterForm.js +13 -20
  70. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  71. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  72. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  73. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  74. package/esm/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  75. package/esm/components/toolbar/GridToolbarFilterButton.js +5 -6
  76. package/esm/components/toolbar/GridToolbarQuickFilter.js +23 -30
  77. package/esm/components/virtualization/GridVirtualScrollbar.js +3 -1
  78. package/esm/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  79. package/esm/constants/cssVariables.d.ts +294 -0
  80. package/esm/constants/cssVariables.js +161 -0
  81. package/esm/constants/dataGridPropsDefaultValues.js +1 -0
  82. package/esm/constants/defaultGridSlotsComponents.js +2 -2
  83. package/esm/constants/gridClasses.d.ts +13 -0
  84. package/esm/constants/gridClasses.js +1 -1
  85. package/esm/context/GridContextProvider.js +4 -1
  86. package/esm/hooks/features/clipboard/useGridClipboard.js +3 -2
  87. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  88. package/esm/hooks/features/columnResize/useGridColumnResize.js +2 -1
  89. package/esm/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  90. package/esm/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  91. package/esm/hooks/features/columns/gridColumnsSelector.js +8 -0
  92. package/esm/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  93. package/esm/hooks/features/columns/gridColumnsUtils.js +6 -3
  94. package/esm/hooks/features/columns/index.d.ts +1 -1
  95. package/esm/hooks/features/columns/index.js +1 -1
  96. package/esm/hooks/features/columns/useGridColumns.js +4 -2
  97. package/esm/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  98. package/esm/hooks/features/dataSource/gridDataSourceError.js +32 -0
  99. package/esm/hooks/features/dataSource/index.d.ts +2 -0
  100. package/esm/hooks/features/dataSource/index.js +2 -0
  101. package/esm/hooks/features/dataSource/models.d.ts +1 -1
  102. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  103. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  104. package/esm/hooks/features/dimensions/useGridDimensions.js +11 -10
  105. package/esm/hooks/features/editing/useGridCellEditing.js +2 -1
  106. package/esm/hooks/features/editing/useGridRowEditing.js +2 -1
  107. package/esm/hooks/features/export/utils.js +4 -2
  108. package/esm/hooks/features/focus/useGridFocus.js +3 -2
  109. package/esm/hooks/features/index.d.ts +1 -1
  110. package/esm/hooks/features/index.js +1 -1
  111. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  112. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  113. package/esm/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  114. package/esm/hooks/features/rowSelection/utils.d.ts +2 -2
  115. package/esm/hooks/features/rowSelection/utils.js +11 -11
  116. package/esm/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  117. package/esm/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  118. package/esm/hooks/features/rows/gridRowsUtils.js +8 -0
  119. package/esm/hooks/features/rows/useGridParamsApi.js +2 -8
  120. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  121. package/esm/hooks/features/rows/useGridRows.d.ts +2 -2
  122. package/esm/hooks/features/rows/useGridRows.js +7 -7
  123. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +5 -9
  124. package/esm/hooks/utils/useGridSelector.js +4 -1
  125. package/esm/hooks/utils/useIsSSR.js +4 -1
  126. package/esm/index.js +1 -1
  127. package/esm/internals/index.d.ts +2 -1
  128. package/esm/internals/index.js +2 -1
  129. package/esm/internals/utils/propValidation.js +1 -1
  130. package/esm/locales/bnBD.d.ts +2 -0
  131. package/esm/locales/bnBD.js +167 -0
  132. package/esm/locales/deDE.js +3 -5
  133. package/esm/locales/huHU.js +10 -13
  134. package/esm/locales/index.d.ts +1 -0
  135. package/esm/locales/index.js +1 -0
  136. package/esm/locales/ruRU.js +17 -21
  137. package/esm/material/index.d.ts +1 -0
  138. package/esm/material/index.js +164 -49
  139. package/esm/material/variables.d.ts +5 -0
  140. package/esm/material/variables.js +89 -0
  141. package/esm/models/api/gridRowSelectionApi.d.ts +4 -2
  142. package/esm/models/api/gridSortApi.d.ts +1 -1
  143. package/esm/models/configuration/gridConfiguration.d.ts +7 -1
  144. package/esm/models/gridBaseSlots.d.ts +56 -6
  145. package/esm/models/gridDataSource.d.ts +9 -4
  146. package/esm/models/gridRowSelectionManager.d.ts +9 -0
  147. package/esm/models/gridRowSelectionManager.js +36 -0
  148. package/esm/models/gridRowSelectionModel.d.ts +4 -2
  149. package/esm/models/gridSlotsComponent.d.ts +7 -27
  150. package/esm/models/gridSlotsComponentsProps.d.ts +3 -11
  151. package/esm/models/gridSortModel.d.ts +1 -1
  152. package/esm/models/index.d.ts +2 -1
  153. package/esm/models/index.js +2 -3
  154. package/esm/models/props/DataGridProps.d.ts +22 -17
  155. package/esm/utils/css/context.d.ts +14 -0
  156. package/esm/utils/css/context.js +54 -0
  157. package/esm/utils/index.d.ts +2 -1
  158. package/esm/utils/index.js +1 -1
  159. package/hooks/features/clipboard/useGridClipboard.js +3 -2
  160. package/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  161. package/hooks/features/columnResize/useGridColumnResize.js +28 -27
  162. package/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  163. package/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  164. package/hooks/features/columns/gridColumnsSelector.js +9 -1
  165. package/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  166. package/hooks/features/columns/gridColumnsUtils.js +6 -3
  167. package/hooks/features/columns/index.d.ts +1 -1
  168. package/hooks/features/columns/index.js +94 -10
  169. package/hooks/features/columns/useGridColumns.js +4 -2
  170. package/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  171. package/hooks/features/dataSource/gridDataSourceError.js +40 -0
  172. package/hooks/features/dataSource/index.d.ts +2 -0
  173. package/hooks/features/dataSource/index.js +25 -0
  174. package/hooks/features/dataSource/models.d.ts +1 -1
  175. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  176. package/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  177. package/hooks/features/dimensions/useGridDimensions.js +19 -18
  178. package/hooks/features/editing/useGridCellEditing.js +10 -9
  179. package/hooks/features/editing/useGridRowEditing.js +11 -10
  180. package/hooks/features/export/utils.js +4 -2
  181. package/hooks/features/focus/useGridFocus.js +8 -7
  182. package/hooks/features/index.d.ts +1 -1
  183. package/hooks/features/index.js +11 -28
  184. package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  185. package/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  186. package/hooks/features/rowSelection/useGridRowSelection.js +146 -79
  187. package/hooks/features/rowSelection/utils.d.ts +2 -2
  188. package/hooks/features/rowSelection/utils.js +10 -10
  189. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  190. package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  191. package/hooks/features/rows/gridRowsUtils.js +10 -1
  192. package/hooks/features/rows/useGridParamsApi.js +2 -8
  193. package/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  194. package/hooks/features/rows/useGridRows.d.ts +2 -2
  195. package/hooks/features/rows/useGridRows.js +7 -7
  196. package/hooks/features/virtualization/useGridVirtualScroller.js +21 -25
  197. package/hooks/utils/useGridSelector.js +6 -2
  198. package/hooks/utils/useIsSSR.js +6 -2
  199. package/index.js +1 -1
  200. package/internals/index.d.ts +2 -1
  201. package/internals/index.js +15 -0
  202. package/internals/utils/propValidation.js +1 -1
  203. package/locales/bnBD.d.ts +2 -0
  204. package/locales/bnBD.js +173 -0
  205. package/locales/deDE.js +3 -5
  206. package/locales/huHU.js +10 -13
  207. package/locales/index.d.ts +1 -0
  208. package/locales/index.js +11 -0
  209. package/locales/ruRU.js +17 -21
  210. package/material/index.d.ts +1 -0
  211. package/material/index.js +170 -49
  212. package/material/variables.d.ts +5 -0
  213. package/material/variables.js +95 -0
  214. package/models/api/gridRowSelectionApi.d.ts +4 -2
  215. package/models/api/gridSortApi.d.ts +1 -1
  216. package/models/configuration/gridConfiguration.d.ts +7 -1
  217. package/models/gridBaseSlots.d.ts +56 -6
  218. package/models/gridDataSource.d.ts +9 -4
  219. package/models/gridRowSelectionManager.d.ts +9 -0
  220. package/models/gridRowSelectionManager.js +43 -0
  221. package/models/gridRowSelectionModel.d.ts +4 -2
  222. package/models/gridSlotsComponent.d.ts +7 -27
  223. package/models/gridSlotsComponentsProps.d.ts +3 -11
  224. package/models/gridSortModel.d.ts +1 -1
  225. package/models/index.d.ts +2 -1
  226. package/models/index.js +34 -11
  227. package/models/props/DataGridProps.d.ts +22 -17
  228. package/modern/DataGrid/DataGrid.js +31 -22
  229. package/modern/DataGrid/useDataGridProps.js +1 -1
  230. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -3
  231. package/modern/components/GridFooter.js +2 -2
  232. package/modern/components/GridHeader.js +1 -1
  233. package/modern/components/GridPagination.js +5 -6
  234. package/modern/components/GridRowCount.js +4 -5
  235. package/modern/components/GridScrollArea.js +2 -1
  236. package/modern/components/GridSelectedRowCount.js +5 -6
  237. package/modern/components/GridShadowScrollArea.d.ts +8 -0
  238. package/modern/components/GridShadowScrollArea.js +74 -0
  239. package/modern/components/cell/GridEditInputCell.js +2 -3
  240. package/modern/components/columnSelection/GridHeaderCheckbox.js +51 -17
  241. package/modern/components/columnsManagement/GridColumnsManagement.js +60 -62
  242. package/modern/components/containers/GridOverlay.js +6 -8
  243. package/modern/components/containers/GridRoot.js +4 -2
  244. package/modern/components/containers/GridRootStyles.d.ts +1 -2
  245. package/modern/components/containers/GridRootStyles.js +78 -101
  246. package/modern/components/containers/GridToolbarContainer.js +5 -6
  247. package/modern/components/menu/GridMenu.js +7 -6
  248. package/modern/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  249. package/modern/components/panel/GridPanel.js +18 -20
  250. package/modern/components/panel/GridPanelContent.js +6 -8
  251. package/modern/components/panel/GridPanelFooter.js +5 -6
  252. package/modern/components/panel/GridPanelHeader.js +4 -5
  253. package/modern/components/panel/filterPanel/GridFilterForm.js +13 -20
  254. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  255. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  256. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  257. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  258. package/modern/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  259. package/modern/components/toolbar/GridToolbarFilterButton.js +5 -6
  260. package/modern/components/toolbar/GridToolbarQuickFilter.js +23 -30
  261. package/modern/components/virtualization/GridVirtualScrollbar.js +3 -1
  262. package/modern/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  263. package/modern/constants/cssVariables.d.ts +294 -0
  264. package/modern/constants/cssVariables.js +161 -0
  265. package/modern/constants/dataGridPropsDefaultValues.js +1 -0
  266. package/modern/constants/defaultGridSlotsComponents.js +2 -2
  267. package/modern/constants/gridClasses.d.ts +13 -0
  268. package/modern/constants/gridClasses.js +1 -1
  269. package/modern/context/GridContextProvider.js +4 -1
  270. package/modern/hooks/features/clipboard/useGridClipboard.js +3 -2
  271. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  272. package/modern/hooks/features/columnResize/useGridColumnResize.js +2 -1
  273. package/modern/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  274. package/modern/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  275. package/modern/hooks/features/columns/gridColumnsSelector.js +8 -0
  276. package/modern/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  277. package/modern/hooks/features/columns/gridColumnsUtils.js +6 -3
  278. package/modern/hooks/features/columns/index.d.ts +1 -1
  279. package/modern/hooks/features/columns/index.js +1 -1
  280. package/modern/hooks/features/columns/useGridColumns.js +4 -2
  281. package/modern/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  282. package/modern/hooks/features/dataSource/gridDataSourceError.js +32 -0
  283. package/modern/hooks/features/dataSource/index.d.ts +2 -0
  284. package/modern/hooks/features/dataSource/index.js +2 -0
  285. package/modern/hooks/features/dataSource/models.d.ts +1 -1
  286. package/modern/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  287. package/modern/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  288. package/modern/hooks/features/dimensions/useGridDimensions.js +11 -10
  289. package/modern/hooks/features/editing/useGridCellEditing.js +2 -1
  290. package/modern/hooks/features/editing/useGridRowEditing.js +2 -1
  291. package/modern/hooks/features/export/utils.js +4 -2
  292. package/modern/hooks/features/focus/useGridFocus.js +3 -2
  293. package/modern/hooks/features/index.d.ts +1 -1
  294. package/modern/hooks/features/index.js +1 -1
  295. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  296. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  297. package/modern/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  298. package/modern/hooks/features/rowSelection/utils.d.ts +2 -2
  299. package/modern/hooks/features/rowSelection/utils.js +11 -11
  300. package/modern/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  301. package/modern/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  302. package/modern/hooks/features/rows/gridRowsUtils.js +8 -0
  303. package/modern/hooks/features/rows/useGridParamsApi.js +2 -8
  304. package/modern/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  305. package/modern/hooks/features/rows/useGridRows.d.ts +2 -2
  306. package/modern/hooks/features/rows/useGridRows.js +7 -7
  307. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +5 -9
  308. package/modern/hooks/utils/useGridSelector.js +4 -1
  309. package/modern/hooks/utils/useIsSSR.js +4 -1
  310. package/modern/index.js +1 -1
  311. package/modern/internals/index.d.ts +2 -1
  312. package/modern/internals/index.js +2 -1
  313. package/modern/internals/utils/propValidation.js +1 -1
  314. package/modern/locales/bnBD.d.ts +2 -0
  315. package/modern/locales/bnBD.js +167 -0
  316. package/modern/locales/deDE.js +3 -5
  317. package/modern/locales/huHU.js +10 -13
  318. package/modern/locales/index.d.ts +1 -0
  319. package/modern/locales/index.js +1 -0
  320. package/modern/locales/ruRU.js +17 -21
  321. package/modern/material/index.d.ts +1 -0
  322. package/modern/material/index.js +164 -49
  323. package/modern/material/variables.d.ts +5 -0
  324. package/modern/material/variables.js +89 -0
  325. package/modern/models/api/gridRowSelectionApi.d.ts +4 -2
  326. package/modern/models/api/gridSortApi.d.ts +1 -1
  327. package/modern/models/configuration/gridConfiguration.d.ts +7 -1
  328. package/modern/models/gridBaseSlots.d.ts +56 -6
  329. package/modern/models/gridDataSource.d.ts +9 -4
  330. package/modern/models/gridRowSelectionManager.d.ts +9 -0
  331. package/modern/models/gridRowSelectionManager.js +36 -0
  332. package/modern/models/gridRowSelectionModel.d.ts +4 -2
  333. package/modern/models/gridSlotsComponent.d.ts +7 -27
  334. package/modern/models/gridSlotsComponentsProps.d.ts +3 -11
  335. package/modern/models/gridSortModel.d.ts +1 -1
  336. package/modern/models/index.d.ts +2 -1
  337. package/modern/models/index.js +2 -3
  338. package/modern/models/props/DataGridProps.d.ts +22 -17
  339. package/modern/utils/css/context.d.ts +14 -0
  340. package/modern/utils/css/context.js +54 -0
  341. package/modern/utils/index.d.ts +2 -1
  342. package/modern/utils/index.js +1 -1
  343. package/package.json +2 -2
  344. package/tsconfig.build.tsbuildinfo +1 -1
  345. package/utils/css/context.d.ts +14 -0
  346. package/utils/css/context.js +64 -0
  347. package/utils/index.d.ts +2 -1
  348. package/utils/index.js +8 -1
@@ -14,6 +14,7 @@ var _utils = require("@mui/utils");
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _forwardRef = require("@mui/x-internals/forwardRef");
16
16
  var _assert = require("../../utils/assert");
17
+ var _cssVariables = require("../../constants/cssVariables");
17
18
  var _gridClasses = require("../../constants/gridClasses");
18
19
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
20
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -31,9 +32,7 @@ const useUtilityClasses = ownerState => {
31
32
  const GridEditInputCellRoot = (0, _styles.styled)(_assert.NotRendered, {
32
33
  name: 'MuiDataGrid',
33
34
  slot: 'EditInputCell'
34
- })(({
35
- theme
36
- }) => (0, _extends2.default)({}, theme.typography.body2, {
35
+ })((0, _extends2.default)({}, _cssVariables.vars.typography.body, {
37
36
  padding: '1px 0',
38
37
  '& input': {
39
38
  padding: '0 16px',
@@ -21,6 +21,7 @@ var _gridClasses = require("../../constants/gridClasses");
21
21
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
22
22
  var _gridFilterSelector = require("../../hooks/features/filter/gridFilterSelector");
23
23
  var _gridPaginationSelector = require("../../hooks/features/pagination/gridPaginationSelector");
24
+ var _gridRowSelectionManager = require("../../models/gridRowSelectionManager");
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  const _excluded = ["field", "colDef"];
26
27
  const useUtilityClasses = ownerState => {
@@ -46,39 +47,72 @@ const GridHeaderCheckbox = exports.GridHeaderCheckbox = (0, _forwardRef.forwardR
46
47
  const visibleRowIds = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridExpandedSortedRowIdsSelector);
47
48
  const paginatedVisibleRowIds = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginatedVisibleSortedGridRowIdsSelector);
48
49
  const filteredSelection = React.useMemo(() => {
49
- if (typeof rootProps.isRowSelectable !== 'function') {
50
+ const isRowSelectable = rootProps.isRowSelectable;
51
+ if (typeof isRowSelectable !== 'function') {
50
52
  return selection;
51
53
  }
52
- return selection.filter(id => {
54
+ if (selection.type === 'exclude') {
55
+ return selection;
56
+ }
57
+
58
+ // selection.type === 'include'
59
+ const selectionModel = {
60
+ type: 'include',
61
+ ids: new Set()
62
+ };
63
+ for (const id of selection.ids) {
53
64
  if (rootProps.keepNonExistentRowsSelected) {
54
- return true;
65
+ selectionModel.ids.add(id);
55
66
  }
56
67
  // The row might have been deleted
57
68
  if (!apiRef.current.getRow(id)) {
58
- return false;
69
+ continue;
70
+ }
71
+ if (isRowSelectable(apiRef.current.getRowParams(id))) {
72
+ selectionModel.ids.add(id);
59
73
  }
60
- return rootProps.isRowSelectable(apiRef.current.getRowParams(id));
61
- });
62
- }, [apiRef, rootProps.isRowSelectable, selection, rootProps.keepNonExistentRowsSelected]);
74
+ }
75
+ return selectionModel;
76
+ }, [apiRef, rootProps.isRowSelectable, rootProps.keepNonExistentRowsSelected, selection]);
63
77
 
64
78
  // All the rows that could be selected / unselected by toggling this checkbox
65
79
  const selectionCandidates = React.useMemo(() => {
66
80
  const rowIds = !rootProps.pagination || !rootProps.checkboxSelectionVisibleOnly ? visibleRowIds : paginatedVisibleRowIds;
67
81
 
68
- // Convert to an object to make O(1) checking if a row exists or not
69
- // TODO create selector that returns visibleRowIds/paginatedVisibleRowIds as an object
70
- return rowIds.reduce((acc, id) => {
71
- if (!apiRef.current.isRowSelectable(id)) {
72
- return acc;
82
+ // Convert to a Set to make O(1) checking if a row exists or not
83
+ const candidates = new Set();
84
+ for (let i = 0; i < rowIds.length; i += 1) {
85
+ const id = rowIds[i];
86
+ if (apiRef.current.isRowSelectable(id)) {
87
+ candidates.add(id);
73
88
  }
74
- acc[id] = true;
75
- return acc;
76
- }, {});
89
+ }
90
+ return candidates;
77
91
  }, [apiRef, rootProps.pagination, rootProps.checkboxSelectionVisibleOnly, paginatedVisibleRowIds, visibleRowIds]);
78
92
 
79
93
  // Amount of rows selected and that are visible in the current page
80
- const currentSelectionSize = React.useMemo(() => filteredSelection.filter(id => selectionCandidates[id]).length, [filteredSelection, selectionCandidates]);
81
- const isIndeterminate = currentSelectionSize > 0 && currentSelectionSize < Object.keys(selectionCandidates).length;
94
+ const currentSelectionSize = React.useMemo(() => {
95
+ const selectionManager = (0, _gridRowSelectionManager.createRowSelectionManager)(filteredSelection);
96
+ let size = 0;
97
+ for (const id of selectionCandidates) {
98
+ if (selectionManager.has(id)) {
99
+ size += 1;
100
+ }
101
+ }
102
+ return size;
103
+ }, [filteredSelection, selectionCandidates]);
104
+ const isIndeterminate = React.useMemo(() => {
105
+ if (filteredSelection.ids.size === 0) {
106
+ return false;
107
+ }
108
+ const selectionManager = (0, _gridRowSelectionManager.createRowSelectionManager)(filteredSelection);
109
+ for (const rowId of selectionCandidates) {
110
+ if (!selectionManager.has(rowId)) {
111
+ return true;
112
+ }
113
+ }
114
+ return false;
115
+ }, [filteredSelection, selectionCandidates]);
82
116
  const isChecked = currentSelectionSize > 0;
83
117
  const handleChange = event => {
84
118
  const params = {
@@ -12,14 +12,15 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _styles = require("@mui/material/styles");
14
14
  var _InputBase = require("@mui/material/InputBase");
15
+ var _cssVariables = require("../../constants/cssVariables");
15
16
  var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
16
17
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
17
18
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
18
19
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
20
  var _gridClasses = require("../../constants/gridClasses");
20
- var _useLazyRef = require("../../hooks/utils/useLazyRef");
21
21
  var _utils = require("./utils");
22
22
  var _assert = require("../../utils/assert");
23
+ var _GridShadowScrollArea = require("../GridShadowScrollArea");
23
24
  var _jsxRuntime = require("react/jsx-runtime");
24
25
  /* eslint-disable @typescript-eslint/no-use-before-define */
25
26
 
@@ -41,7 +42,7 @@ function GridColumnsManagement(props) {
41
42
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
42
43
  const searchInputRef = React.useRef(null);
43
44
  const columns = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnDefinitionsSelector);
44
- const initialColumnVisibilityModel = (0, _useLazyRef.useLazyRef)(() => (0, _gridColumnsSelector.gridColumnVisibilityModelSelector)(apiRef)).current;
45
+ const initialColumnVisibilityModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridInitialColumnVisibilityModelSelector);
45
46
  const columnVisibilityModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnVisibilityModelSelector);
46
47
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
47
48
  const [searchValue, setSearchValue] = React.useState('');
@@ -141,20 +142,20 @@ function GridColumnsManagement(props) {
141
142
  type: "search",
142
143
  slotProps: {
143
144
  input: {
144
- startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
145
- position: "start",
146
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterIcon, {})
145
+ startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterIcon, {
146
+ fontSize: "small"
147
147
  }),
148
148
  endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
149
- "aria-label": apiRef.current.getLocaleText('columnsManagementDeleteIconLabel'),
150
149
  size: "small",
150
+ "aria-label": apiRef.current.getLocaleText('columnsManagementDeleteIconLabel'),
151
151
  style: searchValue ? {
152
152
  visibility: 'visible'
153
153
  } : {
154
154
  visibility: 'hidden'
155
155
  },
156
156
  tabIndex: -1,
157
- onClick: handleSearchReset
157
+ onClick: handleSearchReset,
158
+ edge: "end"
158
159
  }, rootProps.slotProps?.baseIconButton, {
159
160
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
160
161
  fontSize: "small"
@@ -168,25 +169,27 @@ function GridColumnsManagement(props) {
168
169
  autoComplete: "off",
169
170
  fullWidth: true
170
171
  }, rootProps.slotProps?.baseTextField, searchInputProps))
171
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridColumnsManagementBody, {
172
- className: classes.root,
172
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(GridColumnsManagementScrollArea, {
173
173
  ownerState: rootProps,
174
- children: [currentColumns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseCheckbox, (0, _extends2.default)({
175
- className: classes.row,
176
- disabled: column.hideable === false,
177
- checked: columnVisibilityModel[column.field] !== false,
178
- onClick: toggleColumn,
179
- name: column.field,
180
- inputRef: isFirstHideableColumn(column) ? firstSwitchRef : undefined,
181
- label: column.headerName || column.field,
182
- size: "medium",
183
- density: "compact",
184
- fullWidth: true
185
- }, rootProps.slotProps?.baseCheckbox), column.field)), currentColumns.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(GridColumnsManagementEmptyText, {
174
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridColumnsManagementBody, {
175
+ className: classes.root,
186
176
  ownerState: rootProps,
187
- children: apiRef.current.getLocaleText('columnsManagementNoColumns')
188
- })]
189
- }), (!disableShowHideToggle || !disableResetButton) && currentColumns.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridColumnsManagementFooter, {
177
+ children: [currentColumns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseCheckbox, (0, _extends2.default)({
178
+ className: classes.row,
179
+ disabled: column.hideable === false,
180
+ checked: columnVisibilityModel[column.field] !== false,
181
+ onClick: toggleColumn,
182
+ name: column.field,
183
+ inputRef: isFirstHideableColumn(column) ? firstSwitchRef : undefined,
184
+ label: column.headerName || column.field,
185
+ density: "compact",
186
+ fullWidth: true
187
+ }, rootProps.slotProps?.baseCheckbox), column.field)), currentColumns.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(GridColumnsManagementEmptyText, {
188
+ ownerState: rootProps,
189
+ children: apiRef.current.getLocaleText('columnsManagementNoColumns')
190
+ })]
191
+ })
192
+ }), !disableShowHideToggle || !disableResetButton ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridColumnsManagementFooter, {
190
193
  ownerState: rootProps,
191
194
  className: classes.footer,
192
195
  children: [!disableShowHideToggle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseCheckbox, (0, _extends2.default)({
@@ -195,7 +198,8 @@ function GridColumnsManagement(props) {
195
198
  indeterminate: !allHideableColumnsVisible && !allHideableColumnsHidden,
196
199
  onClick: () => toggleAllColumns(!allHideableColumnsVisible),
197
200
  name: apiRef.current.getLocaleText('columnsManagementShowHideAllText'),
198
- label: apiRef.current.getLocaleText('columnsManagementShowHideAllText')
201
+ label: apiRef.current.getLocaleText('columnsManagementShowHideAllText'),
202
+ density: "compact"
199
203
  }, rootProps.slotProps?.baseCheckbox)) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}), !disableResetButton ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
200
204
  onClick: () => apiRef.current.setColumnVisibilityModel(initialColumnVisibilityModel),
201
205
  disabled: isResetDisabled
@@ -271,56 +275,50 @@ process.env.NODE_ENV !== "production" ? GridColumnsManagement.propTypes = {
271
275
  const GridColumnsManagementBody = (0, _styles.styled)('div', {
272
276
  name: 'MuiDataGrid',
273
277
  slot: 'ColumnsManagement'
274
- })(({
275
- theme
276
- }) => ({
277
- padding: theme.spacing(0, 2, 1.5),
278
+ })({
278
279
  display: 'flex',
279
280
  flexDirection: 'column',
280
- overflow: 'auto',
281
- flex: '1 1',
282
- maxHeight: 400,
283
- alignItems: 'flex-start'
284
- }));
281
+ padding: _cssVariables.vars.spacing(0.5, 1.5)
282
+ });
283
+ const GridColumnsManagementScrollArea = (0, _styles.styled)(_GridShadowScrollArea.GridShadowScrollArea, {
284
+ name: 'MuiDataGrid',
285
+ slot: 'ColumnsManagementScrollArea'
286
+ })({
287
+ maxHeight: 400
288
+ });
285
289
  const GridColumnsManagementHeader = (0, _styles.styled)('div', {
286
290
  name: 'MuiDataGrid',
287
291
  slot: 'ColumnsManagementHeader'
288
- })(({
289
- theme
290
- }) => ({
291
- padding: theme.spacing(1.5, 3)
292
- }));
292
+ })({
293
+ padding: _cssVariables.vars.spacing(1.5, 2),
294
+ borderBottom: `1px solid ${_cssVariables.vars.colors.border.base}`
295
+ });
293
296
  const SearchInput = (0, _styles.styled)(_assert.NotRendered, {
294
297
  name: 'MuiDataGrid',
295
298
  slot: 'ColumnsManagementSearchInput'
296
- })(({
297
- theme
298
- }) => ({
299
- [`& .${_InputBase.inputBaseClasses.root}`]: {
300
- padding: theme.spacing(0, 1.5, 0, 1.5)
301
- },
299
+ })({
302
300
  [`& .${_InputBase.inputBaseClasses.input}::-webkit-search-decoration,
303
- & .${_InputBase.inputBaseClasses.input}::-webkit-search-cancel-button,
304
- & .${_InputBase.inputBaseClasses.input}::-webkit-search-results-button,
305
- & .${_InputBase.inputBaseClasses.input}::-webkit-search-results-decoration`]: {
301
+ & .${_InputBase.inputBaseClasses.input}::-webkit-search-cancel-button,
302
+ & .${_InputBase.inputBaseClasses.input}::-webkit-search-results-button,
303
+ & .${_InputBase.inputBaseClasses.input}::-webkit-search-results-decoration`]: {
306
304
  /* clears the 'X' icon from Chrome */
307
305
  display: 'none'
308
306
  }
309
- }));
307
+ });
310
308
  const GridColumnsManagementFooter = (0, _styles.styled)('div', {
311
309
  name: 'MuiDataGrid',
312
310
  slot: 'ColumnsManagementFooter'
313
- })(({
314
- theme
315
- }) => ({
316
- padding: theme.spacing(0.5, 1, 0.5, 3),
311
+ })({
312
+ padding: _cssVariables.vars.spacing(1, 1, 1, 1.5),
317
313
  display: 'flex',
318
314
  justifyContent: 'space-between',
319
- borderTop: `1px solid ${theme.palette.divider}`
320
- }));
321
- const GridColumnsManagementEmptyText = (0, _styles.styled)('div')(({
322
- theme
323
- }) => ({
324
- padding: theme.spacing(0.5, 0),
325
- color: theme.palette.grey[500]
326
- }));
315
+ borderTop: `1px solid ${_cssVariables.vars.colors.border.base}`
316
+ });
317
+ const GridColumnsManagementEmptyText = (0, _styles.styled)('div', {
318
+ name: 'MuiDataGrid',
319
+ slot: 'ColumnsManagementEmptyText'
320
+ })({
321
+ padding: _cssVariables.vars.spacing(1, 0),
322
+ alignSelf: 'center',
323
+ fontSize: _cssVariables.vars.typography.body.fontSize
324
+ });
@@ -14,6 +14,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _system = require("@mui/system");
16
16
  var _forwardRef = require("@mui/x-internals/forwardRef");
17
+ var _cssVariables = require("../../constants/cssVariables");
17
18
  var _gridClasses = require("../../constants/gridClasses");
18
19
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
@@ -29,21 +30,18 @@ const useUtilityClasses = ownerState => {
29
30
  };
30
31
  const GridOverlayRoot = (0, _system.styled)('div', {
31
32
  name: 'MuiDataGrid',
32
- slot: 'Overlay',
33
- overridesResolver: (_, styles) => styles.overlay
34
- })(({
35
- theme
36
- }) => ({
33
+ slot: 'Overlay'
34
+ })({
37
35
  width: '100%',
38
36
  height: '100%',
39
37
  display: 'flex',
40
- gap: theme.spacing(1),
38
+ gap: _cssVariables.vars.spacing(1),
41
39
  flexDirection: 'column',
42
40
  alignSelf: 'center',
43
41
  alignItems: 'center',
44
42
  justifyContent: 'center',
45
- backgroundColor: 'var(--unstable_DataGrid-overlayBackground)'
46
- }));
43
+ backgroundColor: _cssVariables.vars.colors.background.backdrop
44
+ });
47
45
  const GridOverlay = exports.GridOverlay = (0, _forwardRef.forwardRef)(function GridOverlay(props, ref) {
48
46
  const {
49
47
  className
@@ -15,6 +15,7 @@ var _utils = require("@mui/utils");
15
15
  var _fastMemo = require("@mui/x-internals/fastMemo");
16
16
  var _forwardRef = require("@mui/x-internals/forwardRef");
17
17
  var _GridRootStyles = require("./GridRootStyles");
18
+ var _context = require("../../utils/css/context");
18
19
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
19
20
  var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
20
21
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -55,18 +56,19 @@ const GridRoot = (0, _forwardRef.forwardRef)(function GridRoot(props, ref) {
55
56
  const handleRef = (0, _utils.unstable_useForkRef)(rootElementRef, ref, rootMountCallback);
56
57
  const ownerState = rootProps;
57
58
  const classes = useUtilityClasses(ownerState, density);
59
+ const cssVariables = (0, _context.useCSSVariablesContext)();
58
60
  const isSSR = (0, _useIsSSR.useIsSSR)();
59
61
  if (isSSR) {
60
62
  return null;
61
63
  }
62
64
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridRootStyles.GridRootStyles, (0, _extends2.default)({
63
- className: (0, _clsx.default)(classes.root, className),
65
+ className: (0, _clsx.default)(classes.root, className, cssVariables.className),
64
66
  ownerState: ownerState
65
67
  }, other, {
66
68
  ref: handleRef,
67
69
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeader.GridHeader, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.GridBody, {
68
70
  children: children
69
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.GridFooterPlaceholder, {})]
71
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_base.GridFooterPlaceholder, {}), cssVariables.tag]
70
72
  }));
71
73
  });
72
74
  process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
@@ -1,6 +1,5 @@
1
- import { Theme } from '@mui/material/styles';
2
1
  import { DataGridProcessedProps } from "../../models/props/DataGridProps.js";
3
2
  export type OwnerState = DataGridProcessedProps;
4
- export declare const GridRootStyles: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<Theme> & {
3
+ export declare const GridRootStyles: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
5
4
  ownerState: OwnerState;
6
5
  }, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").ClassAttributes<HTMLDivElement> | keyof import("react").HTMLAttributes<HTMLDivElement>>, {}>;