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

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 (504) hide show
  1. package/CHANGELOG.md +430 -0
  2. package/DataGrid/DataGrid.js +31 -22
  3. package/DataGrid/useDataGridProps.js +1 -1
  4. package/colDef/gridActionsColDef.js +1 -1
  5. package/colDef/gridBooleanColDef.js +1 -1
  6. package/colDef/gridCheckboxSelectionColDef.js +2 -4
  7. package/components/GridFooter.js +1 -1
  8. package/components/GridHeader.js +1 -1
  9. package/components/GridPagination.js +5 -6
  10. package/components/GridRowCount.js +4 -5
  11. package/components/GridScrollArea.js +4 -3
  12. package/components/GridSelectedRowCount.js +5 -6
  13. package/components/GridShadowScrollArea.d.ts +8 -0
  14. package/components/GridShadowScrollArea.js +82 -0
  15. package/components/cell/GridEditInputCell.js +2 -3
  16. package/components/columnSelection/GridHeaderCheckbox.js +51 -17
  17. package/components/columnsManagement/GridColumnsManagement.js +60 -61
  18. package/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  19. package/components/columnsPanel/ColumnsPanelTrigger.js +209 -0
  20. package/components/columnsPanel/index.d.ts +1 -0
  21. package/components/columnsPanel/index.js +16 -0
  22. package/components/containers/GridOverlay.js +6 -8
  23. package/components/containers/GridRoot.js +4 -2
  24. package/components/containers/GridRootStyles.d.ts +1 -2
  25. package/components/containers/GridRootStyles.js +77 -100
  26. package/components/containers/GridToolbarContainer.js +5 -6
  27. package/components/export/ExportCsv.d.ts +30 -0
  28. package/components/export/ExportCsv.js +196 -0
  29. package/components/export/ExportPrint.d.ts +30 -0
  30. package/components/export/ExportPrint.js +196 -0
  31. package/components/export/index.d.ts +2 -0
  32. package/components/export/index.js +27 -0
  33. package/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  34. package/components/filterPanel/FilterPanelTrigger.js +212 -0
  35. package/components/filterPanel/index.d.ts +1 -0
  36. package/components/filterPanel/index.js +16 -0
  37. package/components/index.d.ts +6 -1
  38. package/components/index.js +60 -0
  39. package/components/menu/GridMenu.js +7 -6
  40. package/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -3
  41. package/components/panel/GridPanel.js +18 -20
  42. package/components/panel/GridPanelContent.js +6 -8
  43. package/components/panel/GridPanelFooter.js +5 -6
  44. package/components/panel/GridPanelHeader.js +4 -5
  45. package/components/panel/filterPanel/GridFilterForm.js +13 -20
  46. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  47. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  48. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  49. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +20 -45
  50. package/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  51. package/components/quickFilter/QuickFilter.d.ts +41 -0
  52. package/components/quickFilter/QuickFilter.js +110 -0
  53. package/components/quickFilter/QuickFilterClear.d.ts +28 -0
  54. package/components/quickFilter/QuickFilterClear.js +161 -0
  55. package/components/quickFilter/QuickFilterContext.d.ts +13 -0
  56. package/components/quickFilter/QuickFilterContext.js +17 -0
  57. package/components/quickFilter/QuickFilterControl.d.ts +28 -0
  58. package/components/quickFilter/QuickFilterControl.js +104 -0
  59. package/components/quickFilter/index.d.ts +3 -0
  60. package/components/quickFilter/index.js +38 -0
  61. package/components/toolbar/GridToolbar.d.ts +1 -1
  62. package/components/toolbar/GridToolbar.js +2 -2
  63. package/components/toolbar/GridToolbarFilterButton.js +5 -6
  64. package/components/toolbar/GridToolbarQuickFilter.js +57 -97
  65. package/components/toolbarV8/GridToolbar.d.ts +11 -0
  66. package/components/toolbarV8/GridToolbar.js +142 -0
  67. package/components/toolbarV8/Toolbar.d.ts +32 -0
  68. package/components/toolbarV8/Toolbar.js +132 -0
  69. package/components/toolbarV8/ToolbarButton.d.ts +23 -0
  70. package/components/toolbarV8/ToolbarButton.js +179 -0
  71. package/components/toolbarV8/ToolbarContext.d.ts +9 -0
  72. package/components/toolbarV8/ToolbarContext.js +17 -0
  73. package/components/toolbarV8/index.d.ts +2 -0
  74. package/components/toolbarV8/index.js +27 -0
  75. package/components/virtualization/GridVirtualScrollbar.js +15 -6
  76. package/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  77. package/constants/cssVariables.d.ts +294 -0
  78. package/constants/cssVariables.js +168 -0
  79. package/constants/dataGridPropsDefaultValues.js +1 -0
  80. package/constants/defaultGridSlotsComponents.js +2 -1
  81. package/constants/gridClasses.d.ts +17 -0
  82. package/constants/gridClasses.js +1 -1
  83. package/context/GridContextProvider.js +4 -1
  84. package/esm/DataGrid/DataGrid.js +31 -22
  85. package/esm/DataGrid/useDataGridProps.js +1 -1
  86. package/esm/colDef/gridActionsColDef.js +1 -1
  87. package/esm/colDef/gridBooleanColDef.js +1 -1
  88. package/esm/colDef/gridCheckboxSelectionColDef.js +2 -4
  89. package/esm/components/GridFooter.js +2 -2
  90. package/esm/components/GridHeader.js +1 -1
  91. package/esm/components/GridPagination.js +5 -6
  92. package/esm/components/GridRowCount.js +4 -5
  93. package/esm/components/GridScrollArea.js +2 -1
  94. package/esm/components/GridSelectedRowCount.js +5 -6
  95. package/esm/components/GridShadowScrollArea.d.ts +8 -0
  96. package/esm/components/GridShadowScrollArea.js +74 -0
  97. package/esm/components/cell/GridEditInputCell.js +2 -3
  98. package/esm/components/columnSelection/GridHeaderCheckbox.js +51 -17
  99. package/esm/components/columnsManagement/GridColumnsManagement.js +61 -62
  100. package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  101. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  102. package/esm/components/columnsPanel/index.d.ts +1 -0
  103. package/esm/components/columnsPanel/index.js +1 -0
  104. package/esm/components/containers/GridOverlay.js +6 -8
  105. package/esm/components/containers/GridRoot.js +4 -2
  106. package/esm/components/containers/GridRootStyles.d.ts +1 -2
  107. package/esm/components/containers/GridRootStyles.js +78 -101
  108. package/esm/components/containers/GridToolbarContainer.js +5 -6
  109. package/esm/components/export/ExportCsv.d.ts +30 -0
  110. package/esm/components/export/ExportCsv.js +189 -0
  111. package/esm/components/export/ExportPrint.d.ts +30 -0
  112. package/esm/components/export/ExportPrint.js +189 -0
  113. package/esm/components/export/index.d.ts +2 -0
  114. package/esm/components/export/index.js +2 -0
  115. package/esm/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  116. package/esm/components/filterPanel/FilterPanelTrigger.js +205 -0
  117. package/esm/components/filterPanel/index.d.ts +1 -0
  118. package/esm/components/filterPanel/index.js +1 -0
  119. package/esm/components/index.d.ts +6 -1
  120. package/esm/components/index.js +6 -1
  121. package/esm/components/menu/GridMenu.js +7 -6
  122. package/esm/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  123. package/esm/components/panel/GridPanel.js +18 -20
  124. package/esm/components/panel/GridPanelContent.js +6 -8
  125. package/esm/components/panel/GridPanelFooter.js +5 -6
  126. package/esm/components/panel/GridPanelHeader.js +4 -5
  127. package/esm/components/panel/filterPanel/GridFilterForm.js +13 -20
  128. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  129. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  130. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  131. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  132. package/esm/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  133. package/esm/components/quickFilter/QuickFilter.d.ts +41 -0
  134. package/esm/components/quickFilter/QuickFilter.js +103 -0
  135. package/esm/components/quickFilter/QuickFilterClear.d.ts +28 -0
  136. package/esm/components/quickFilter/QuickFilterClear.js +154 -0
  137. package/esm/components/quickFilter/QuickFilterContext.d.ts +13 -0
  138. package/esm/components/quickFilter/QuickFilterContext.js +9 -0
  139. package/esm/components/quickFilter/QuickFilterControl.d.ts +28 -0
  140. package/esm/components/quickFilter/QuickFilterControl.js +97 -0
  141. package/esm/components/quickFilter/index.d.ts +3 -0
  142. package/esm/components/quickFilter/index.js +3 -0
  143. package/esm/components/toolbar/GridToolbar.d.ts +1 -1
  144. package/esm/components/toolbar/GridToolbar.js +2 -2
  145. package/esm/components/toolbar/GridToolbarFilterButton.js +5 -6
  146. package/esm/components/toolbar/GridToolbarQuickFilter.js +59 -97
  147. package/esm/components/toolbarV8/GridToolbar.d.ts +11 -0
  148. package/esm/components/toolbarV8/GridToolbar.js +135 -0
  149. package/esm/components/toolbarV8/Toolbar.d.ts +32 -0
  150. package/esm/components/toolbarV8/Toolbar.js +125 -0
  151. package/esm/components/toolbarV8/ToolbarButton.d.ts +23 -0
  152. package/esm/components/toolbarV8/ToolbarButton.js +172 -0
  153. package/esm/components/toolbarV8/ToolbarContext.d.ts +9 -0
  154. package/esm/components/toolbarV8/ToolbarContext.js +9 -0
  155. package/esm/components/toolbarV8/index.d.ts +2 -0
  156. package/esm/components/toolbarV8/index.js +2 -0
  157. package/esm/components/virtualization/GridVirtualScrollbar.js +10 -2
  158. package/esm/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  159. package/esm/constants/cssVariables.d.ts +294 -0
  160. package/esm/constants/cssVariables.js +161 -0
  161. package/esm/constants/dataGridPropsDefaultValues.js +1 -0
  162. package/esm/constants/defaultGridSlotsComponents.js +2 -1
  163. package/esm/constants/gridClasses.d.ts +17 -0
  164. package/esm/constants/gridClasses.js +1 -1
  165. package/esm/context/GridContextProvider.js +4 -1
  166. package/esm/hooks/features/clipboard/useGridClipboard.js +3 -2
  167. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  168. package/esm/hooks/features/columnResize/useGridColumnResize.js +2 -1
  169. package/esm/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  170. package/esm/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  171. package/esm/hooks/features/columns/gridColumnsSelector.js +8 -0
  172. package/esm/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  173. package/esm/hooks/features/columns/gridColumnsUtils.js +6 -3
  174. package/esm/hooks/features/columns/index.d.ts +1 -1
  175. package/esm/hooks/features/columns/index.js +1 -1
  176. package/esm/hooks/features/columns/useGridColumns.js +4 -2
  177. package/esm/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  178. package/esm/hooks/features/dataSource/gridDataSourceError.js +32 -0
  179. package/esm/hooks/features/dataSource/index.d.ts +2 -0
  180. package/esm/hooks/features/dataSource/index.js +2 -0
  181. package/esm/hooks/features/dataSource/models.d.ts +1 -1
  182. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  183. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  184. package/esm/hooks/features/dimensions/useGridDimensions.js +11 -10
  185. package/esm/hooks/features/editing/useGridCellEditing.js +2 -1
  186. package/esm/hooks/features/editing/useGridRowEditing.js +2 -1
  187. package/esm/hooks/features/export/utils.js +4 -2
  188. package/esm/hooks/features/focus/useGridFocus.js +3 -2
  189. package/esm/hooks/features/index.d.ts +1 -1
  190. package/esm/hooks/features/index.js +1 -1
  191. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  192. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  193. package/esm/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  194. package/esm/hooks/features/rowSelection/utils.d.ts +2 -2
  195. package/esm/hooks/features/rowSelection/utils.js +11 -11
  196. package/esm/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  197. package/esm/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  198. package/esm/hooks/features/rows/gridRowsUtils.js +8 -0
  199. package/esm/hooks/features/rows/useGridParamsApi.js +2 -8
  200. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  201. package/esm/hooks/features/rows/useGridRows.d.ts +2 -2
  202. package/esm/hooks/features/rows/useGridRows.js +7 -7
  203. package/esm/hooks/features/rows/useGridRowsMeta.js +8 -0
  204. package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  205. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +5 -11
  206. package/esm/hooks/utils/index.d.ts +2 -1
  207. package/esm/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  208. package/esm/hooks/utils/useGridComponentRenderer.js +36 -0
  209. package/esm/hooks/utils/useGridSelector.js +4 -1
  210. package/esm/hooks/utils/useIsSSR.js +4 -1
  211. package/esm/index.js +1 -1
  212. package/esm/internals/demo/TailwindDemoContainer.d.ts +11 -0
  213. package/esm/internals/demo/TailwindDemoContainer.js +55 -0
  214. package/esm/internals/demo/index.d.ts +1 -0
  215. package/esm/internals/demo/index.js +1 -0
  216. package/esm/internals/index.d.ts +6 -1
  217. package/esm/internals/index.js +5 -1
  218. package/esm/internals/utils/propValidation.js +1 -1
  219. package/esm/locales/bnBD.d.ts +2 -0
  220. package/esm/locales/bnBD.js +167 -0
  221. package/esm/locales/deDE.js +3 -5
  222. package/esm/locales/huHU.js +10 -13
  223. package/esm/locales/index.d.ts +1 -0
  224. package/esm/locales/index.js +1 -0
  225. package/esm/locales/ruRU.js +17 -21
  226. package/esm/material/icons/index.d.ts +3 -3
  227. package/esm/material/icons/index.js +6 -6
  228. package/esm/material/index.d.ts +1 -0
  229. package/esm/material/index.js +167 -52
  230. package/esm/material/variables.d.ts +5 -0
  231. package/esm/material/variables.js +89 -0
  232. package/esm/models/api/gridRowSelectionApi.d.ts +4 -2
  233. package/esm/models/api/gridSortApi.d.ts +1 -1
  234. package/esm/models/configuration/gridConfiguration.d.ts +7 -1
  235. package/esm/models/gridBaseSlots.d.ts +61 -7
  236. package/esm/models/gridDataSource.d.ts +9 -4
  237. package/esm/models/gridIconSlotsComponent.d.ts +1 -1
  238. package/esm/models/gridRowSelectionManager.d.ts +9 -0
  239. package/esm/models/gridRowSelectionManager.js +36 -0
  240. package/esm/models/gridRowSelectionModel.d.ts +4 -2
  241. package/esm/models/gridSlotsComponent.d.ts +7 -28
  242. package/esm/models/gridSlotsComponentsProps.d.ts +3 -11
  243. package/esm/models/gridSortModel.d.ts +1 -1
  244. package/esm/models/index.d.ts +2 -1
  245. package/esm/models/index.js +2 -3
  246. package/esm/models/props/DataGridProps.d.ts +22 -17
  247. package/esm/utils/css/context.d.ts +14 -0
  248. package/esm/utils/css/context.js +54 -0
  249. package/esm/utils/index.d.ts +2 -1
  250. package/esm/utils/index.js +1 -1
  251. package/hooks/features/clipboard/useGridClipboard.js +3 -2
  252. package/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  253. package/hooks/features/columnResize/useGridColumnResize.js +28 -27
  254. package/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  255. package/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  256. package/hooks/features/columns/gridColumnsSelector.js +9 -1
  257. package/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  258. package/hooks/features/columns/gridColumnsUtils.js +6 -3
  259. package/hooks/features/columns/index.d.ts +1 -1
  260. package/hooks/features/columns/index.js +94 -10
  261. package/hooks/features/columns/useGridColumns.js +4 -2
  262. package/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  263. package/hooks/features/dataSource/gridDataSourceError.js +40 -0
  264. package/hooks/features/dataSource/index.d.ts +2 -0
  265. package/hooks/features/dataSource/index.js +25 -0
  266. package/hooks/features/dataSource/models.d.ts +1 -1
  267. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  268. package/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  269. package/hooks/features/dimensions/useGridDimensions.js +19 -18
  270. package/hooks/features/editing/useGridCellEditing.js +10 -9
  271. package/hooks/features/editing/useGridRowEditing.js +11 -10
  272. package/hooks/features/export/utils.js +4 -2
  273. package/hooks/features/focus/useGridFocus.js +8 -7
  274. package/hooks/features/index.d.ts +1 -1
  275. package/hooks/features/index.js +11 -28
  276. package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  277. package/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  278. package/hooks/features/rowSelection/useGridRowSelection.js +146 -79
  279. package/hooks/features/rowSelection/utils.d.ts +2 -2
  280. package/hooks/features/rowSelection/utils.js +10 -10
  281. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  282. package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  283. package/hooks/features/rows/gridRowsUtils.js +10 -1
  284. package/hooks/features/rows/useGridParamsApi.js +2 -8
  285. package/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  286. package/hooks/features/rows/useGridRows.d.ts +2 -2
  287. package/hooks/features/rows/useGridRows.js +7 -7
  288. package/hooks/features/rows/useGridRowsMeta.js +8 -0
  289. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  290. package/hooks/features/virtualization/useGridVirtualScroller.js +21 -27
  291. package/hooks/utils/index.d.ts +2 -1
  292. package/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  293. package/hooks/utils/useGridComponentRenderer.js +44 -0
  294. package/hooks/utils/useGridSelector.js +6 -2
  295. package/hooks/utils/useIsSSR.js +6 -2
  296. package/index.js +1 -1
  297. package/internals/demo/TailwindDemoContainer.d.ts +11 -0
  298. package/internals/demo/TailwindDemoContainer.js +63 -0
  299. package/internals/demo/index.d.ts +1 -0
  300. package/internals/demo/index.js +12 -0
  301. package/internals/index.d.ts +6 -1
  302. package/internals/index.js +43 -0
  303. package/internals/utils/propValidation.js +1 -1
  304. package/locales/bnBD.d.ts +2 -0
  305. package/locales/bnBD.js +173 -0
  306. package/locales/deDE.js +3 -5
  307. package/locales/huHU.js +10 -13
  308. package/locales/index.d.ts +1 -0
  309. package/locales/index.js +11 -0
  310. package/locales/ruRU.js +17 -21
  311. package/material/icons/index.d.ts +3 -3
  312. package/material/icons/index.js +7 -7
  313. package/material/index.d.ts +1 -0
  314. package/material/index.js +172 -51
  315. package/material/variables.d.ts +5 -0
  316. package/material/variables.js +95 -0
  317. package/models/api/gridRowSelectionApi.d.ts +4 -2
  318. package/models/api/gridSortApi.d.ts +1 -1
  319. package/models/configuration/gridConfiguration.d.ts +7 -1
  320. package/models/gridBaseSlots.d.ts +61 -7
  321. package/models/gridDataSource.d.ts +9 -4
  322. package/models/gridIconSlotsComponent.d.ts +1 -1
  323. package/models/gridRowSelectionManager.d.ts +9 -0
  324. package/models/gridRowSelectionManager.js +43 -0
  325. package/models/gridRowSelectionModel.d.ts +4 -2
  326. package/models/gridSlotsComponent.d.ts +7 -28
  327. package/models/gridSlotsComponentsProps.d.ts +3 -11
  328. package/models/gridSortModel.d.ts +1 -1
  329. package/models/index.d.ts +2 -1
  330. package/models/index.js +34 -11
  331. package/models/props/DataGridProps.d.ts +22 -17
  332. package/modern/DataGrid/DataGrid.js +31 -22
  333. package/modern/DataGrid/useDataGridProps.js +1 -1
  334. package/modern/colDef/gridActionsColDef.js +1 -1
  335. package/modern/colDef/gridBooleanColDef.js +1 -1
  336. package/modern/colDef/gridCheckboxSelectionColDef.js +2 -4
  337. package/modern/components/GridFooter.js +2 -2
  338. package/modern/components/GridHeader.js +1 -1
  339. package/modern/components/GridPagination.js +5 -6
  340. package/modern/components/GridRowCount.js +4 -5
  341. package/modern/components/GridScrollArea.js +2 -1
  342. package/modern/components/GridSelectedRowCount.js +5 -6
  343. package/modern/components/GridShadowScrollArea.d.ts +8 -0
  344. package/modern/components/GridShadowScrollArea.js +74 -0
  345. package/modern/components/cell/GridEditInputCell.js +2 -3
  346. package/modern/components/columnSelection/GridHeaderCheckbox.js +51 -17
  347. package/modern/components/columnsManagement/GridColumnsManagement.js +61 -62
  348. package/modern/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  349. package/modern/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  350. package/modern/components/columnsPanel/index.d.ts +1 -0
  351. package/modern/components/columnsPanel/index.js +1 -0
  352. package/modern/components/containers/GridOverlay.js +6 -8
  353. package/modern/components/containers/GridRoot.js +4 -2
  354. package/modern/components/containers/GridRootStyles.d.ts +1 -2
  355. package/modern/components/containers/GridRootStyles.js +78 -101
  356. package/modern/components/containers/GridToolbarContainer.js +5 -6
  357. package/modern/components/export/ExportCsv.d.ts +30 -0
  358. package/modern/components/export/ExportCsv.js +189 -0
  359. package/modern/components/export/ExportPrint.d.ts +30 -0
  360. package/modern/components/export/ExportPrint.js +189 -0
  361. package/modern/components/export/index.d.ts +2 -0
  362. package/modern/components/export/index.js +2 -0
  363. package/modern/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  364. package/modern/components/filterPanel/FilterPanelTrigger.js +205 -0
  365. package/modern/components/filterPanel/index.d.ts +1 -0
  366. package/modern/components/filterPanel/index.js +1 -0
  367. package/modern/components/index.d.ts +6 -1
  368. package/modern/components/index.js +6 -1
  369. package/modern/components/menu/GridMenu.js +7 -6
  370. package/modern/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  371. package/modern/components/panel/GridPanel.js +18 -20
  372. package/modern/components/panel/GridPanelContent.js +6 -8
  373. package/modern/components/panel/GridPanelFooter.js +5 -6
  374. package/modern/components/panel/GridPanelHeader.js +4 -5
  375. package/modern/components/panel/filterPanel/GridFilterForm.js +13 -20
  376. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  377. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  378. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  379. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  380. package/modern/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  381. package/modern/components/quickFilter/QuickFilter.d.ts +41 -0
  382. package/modern/components/quickFilter/QuickFilter.js +103 -0
  383. package/modern/components/quickFilter/QuickFilterClear.d.ts +28 -0
  384. package/modern/components/quickFilter/QuickFilterClear.js +154 -0
  385. package/modern/components/quickFilter/QuickFilterContext.d.ts +13 -0
  386. package/modern/components/quickFilter/QuickFilterContext.js +9 -0
  387. package/modern/components/quickFilter/QuickFilterControl.d.ts +28 -0
  388. package/modern/components/quickFilter/QuickFilterControl.js +97 -0
  389. package/modern/components/quickFilter/index.d.ts +3 -0
  390. package/modern/components/quickFilter/index.js +3 -0
  391. package/modern/components/toolbar/GridToolbar.d.ts +1 -1
  392. package/modern/components/toolbar/GridToolbar.js +2 -2
  393. package/modern/components/toolbar/GridToolbarFilterButton.js +5 -6
  394. package/modern/components/toolbar/GridToolbarQuickFilter.js +59 -97
  395. package/modern/components/toolbarV8/GridToolbar.d.ts +11 -0
  396. package/modern/components/toolbarV8/GridToolbar.js +135 -0
  397. package/modern/components/toolbarV8/Toolbar.d.ts +32 -0
  398. package/modern/components/toolbarV8/Toolbar.js +125 -0
  399. package/modern/components/toolbarV8/ToolbarButton.d.ts +23 -0
  400. package/modern/components/toolbarV8/ToolbarButton.js +172 -0
  401. package/modern/components/toolbarV8/ToolbarContext.d.ts +9 -0
  402. package/modern/components/toolbarV8/ToolbarContext.js +9 -0
  403. package/modern/components/toolbarV8/index.d.ts +2 -0
  404. package/modern/components/toolbarV8/index.js +2 -0
  405. package/modern/components/virtualization/GridVirtualScrollbar.js +10 -2
  406. package/modern/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  407. package/modern/constants/cssVariables.d.ts +294 -0
  408. package/modern/constants/cssVariables.js +161 -0
  409. package/modern/constants/dataGridPropsDefaultValues.js +1 -0
  410. package/modern/constants/defaultGridSlotsComponents.js +2 -1
  411. package/modern/constants/gridClasses.d.ts +17 -0
  412. package/modern/constants/gridClasses.js +1 -1
  413. package/modern/context/GridContextProvider.js +4 -1
  414. package/modern/hooks/features/clipboard/useGridClipboard.js +3 -2
  415. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  416. package/modern/hooks/features/columnResize/useGridColumnResize.js +2 -1
  417. package/modern/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  418. package/modern/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  419. package/modern/hooks/features/columns/gridColumnsSelector.js +8 -0
  420. package/modern/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  421. package/modern/hooks/features/columns/gridColumnsUtils.js +6 -3
  422. package/modern/hooks/features/columns/index.d.ts +1 -1
  423. package/modern/hooks/features/columns/index.js +1 -1
  424. package/modern/hooks/features/columns/useGridColumns.js +4 -2
  425. package/modern/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  426. package/modern/hooks/features/dataSource/gridDataSourceError.js +32 -0
  427. package/modern/hooks/features/dataSource/index.d.ts +2 -0
  428. package/modern/hooks/features/dataSource/index.js +2 -0
  429. package/modern/hooks/features/dataSource/models.d.ts +1 -1
  430. package/modern/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  431. package/modern/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  432. package/modern/hooks/features/dimensions/useGridDimensions.js +11 -10
  433. package/modern/hooks/features/editing/useGridCellEditing.js +2 -1
  434. package/modern/hooks/features/editing/useGridRowEditing.js +2 -1
  435. package/modern/hooks/features/export/utils.js +4 -2
  436. package/modern/hooks/features/focus/useGridFocus.js +3 -2
  437. package/modern/hooks/features/index.d.ts +1 -1
  438. package/modern/hooks/features/index.js +1 -1
  439. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  440. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  441. package/modern/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  442. package/modern/hooks/features/rowSelection/utils.d.ts +2 -2
  443. package/modern/hooks/features/rowSelection/utils.js +11 -11
  444. package/modern/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  445. package/modern/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  446. package/modern/hooks/features/rows/gridRowsUtils.js +8 -0
  447. package/modern/hooks/features/rows/useGridParamsApi.js +2 -8
  448. package/modern/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  449. package/modern/hooks/features/rows/useGridRows.d.ts +2 -2
  450. package/modern/hooks/features/rows/useGridRows.js +7 -7
  451. package/modern/hooks/features/rows/useGridRowsMeta.js +8 -0
  452. package/modern/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  453. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +5 -11
  454. package/modern/hooks/utils/index.d.ts +2 -1
  455. package/modern/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  456. package/modern/hooks/utils/useGridComponentRenderer.js +36 -0
  457. package/modern/hooks/utils/useGridSelector.js +4 -1
  458. package/modern/hooks/utils/useIsSSR.js +4 -1
  459. package/modern/index.js +1 -1
  460. package/modern/internals/demo/TailwindDemoContainer.d.ts +11 -0
  461. package/modern/internals/demo/TailwindDemoContainer.js +55 -0
  462. package/modern/internals/demo/index.d.ts +1 -0
  463. package/modern/internals/demo/index.js +1 -0
  464. package/modern/internals/index.d.ts +6 -1
  465. package/modern/internals/index.js +5 -1
  466. package/modern/internals/utils/propValidation.js +1 -1
  467. package/modern/locales/bnBD.d.ts +2 -0
  468. package/modern/locales/bnBD.js +167 -0
  469. package/modern/locales/deDE.js +3 -5
  470. package/modern/locales/huHU.js +10 -13
  471. package/modern/locales/index.d.ts +1 -0
  472. package/modern/locales/index.js +1 -0
  473. package/modern/locales/ruRU.js +17 -21
  474. package/modern/material/icons/index.d.ts +3 -3
  475. package/modern/material/icons/index.js +6 -6
  476. package/modern/material/index.d.ts +1 -0
  477. package/modern/material/index.js +167 -52
  478. package/modern/material/variables.d.ts +5 -0
  479. package/modern/material/variables.js +89 -0
  480. package/modern/models/api/gridRowSelectionApi.d.ts +4 -2
  481. package/modern/models/api/gridSortApi.d.ts +1 -1
  482. package/modern/models/configuration/gridConfiguration.d.ts +7 -1
  483. package/modern/models/gridBaseSlots.d.ts +61 -7
  484. package/modern/models/gridDataSource.d.ts +9 -4
  485. package/modern/models/gridIconSlotsComponent.d.ts +1 -1
  486. package/modern/models/gridRowSelectionManager.d.ts +9 -0
  487. package/modern/models/gridRowSelectionManager.js +36 -0
  488. package/modern/models/gridRowSelectionModel.d.ts +4 -2
  489. package/modern/models/gridSlotsComponent.d.ts +7 -28
  490. package/modern/models/gridSlotsComponentsProps.d.ts +3 -11
  491. package/modern/models/gridSortModel.d.ts +1 -1
  492. package/modern/models/index.d.ts +2 -1
  493. package/modern/models/index.js +2 -3
  494. package/modern/models/props/DataGridProps.d.ts +22 -17
  495. package/modern/utils/css/context.d.ts +14 -0
  496. package/modern/utils/css/context.js +54 -0
  497. package/modern/utils/index.d.ts +2 -1
  498. package/modern/utils/index.js +1 -1
  499. package/package.json +2 -2
  500. package/tsconfig.build.tsbuildinfo +1 -1
  501. package/utils/css/context.d.ts +14 -0
  502. package/utils/css/context.js +64 -0
  503. package/utils/index.d.ts +2 -1
  504. package/utils/index.js +8 -1
@@ -0,0 +1,54 @@
1
+ import * as React from 'react';
2
+ import { useGridConfiguration } from "../../hooks/utils/useGridConfiguration.js";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ const CLASSNAME_PREFIX = 'MuiDataGridVariables';
5
+ const CSSVariablesContext = /*#__PURE__*/React.createContext({
6
+ className: 'unset',
7
+ tag: /*#__PURE__*/_jsx("style", {
8
+ href: "/unset"
9
+ })
10
+ });
11
+ export function useCSSVariablesClass() {
12
+ return React.useContext(CSSVariablesContext).className;
13
+ }
14
+ export function useCSSVariablesContext() {
15
+ return React.useContext(CSSVariablesContext);
16
+ }
17
+ export function GridPortalWrapper({
18
+ children
19
+ }) {
20
+ const className = useCSSVariablesClass();
21
+ return /*#__PURE__*/_jsx("div", {
22
+ className: className,
23
+ children: children
24
+ });
25
+ }
26
+ export function GridCSSVariablesContext(props) {
27
+ const config = useGridConfiguration();
28
+ const description = config.hooks.useCSSVariables();
29
+ const context = React.useMemo(() => {
30
+ const className = `${CLASSNAME_PREFIX}-${description.id}`;
31
+ const cssString = `.${className}{${variablesToString(description.variables)}}`;
32
+ const tag = /*#__PURE__*/_jsx("style", {
33
+ href: `/${className}`,
34
+ children: cssString
35
+ });
36
+ return {
37
+ className,
38
+ tag
39
+ };
40
+ }, [description]);
41
+ return /*#__PURE__*/_jsx(CSSVariablesContext.Provider, {
42
+ value: context,
43
+ children: props.children
44
+ });
45
+ }
46
+ function variablesToString(variables) {
47
+ let output = '';
48
+ for (const key in variables) {
49
+ if (Object.hasOwn(variables, key)) {
50
+ output += `${key}:${variables[key]};`;
51
+ }
52
+ }
53
+ return output;
54
+ }
@@ -1 +1,2 @@
1
- export type { OutputSelector } from './createSelector';
1
+ export type { OutputSelector } from './createSelector';
2
+ export { GridPortalWrapper } from "./css/context.js";
@@ -1 +1 @@
1
- export {};
1
+ export { GridPortalWrapper } from "./css/context.js";
@@ -10,6 +10,7 @@ var _utils = require("../../utils");
10
10
  var _gridFocusStateSelector = require("../focus/gridFocusStateSelector");
11
11
  var _csvSerializer = require("../export/serializers/csvSerializer");
12
12
  var _keyboardUtils = require("../../../utils/keyboardUtils");
13
+ var _rowSelection = require("../rowSelection");
13
14
  function writeToClipboardPolyfill(data) {
14
15
  const span = document.createElement('span');
15
16
  span.style.whiteSpace = 'pre';
@@ -70,8 +71,8 @@ const useGridClipboard = (apiRef, props) => {
70
71
  return;
71
72
  }
72
73
  let textToCopy = '';
73
- const selectedRows = apiRef.current.getSelectedRows();
74
- if (selectedRows.size > 0) {
74
+ const selectedRowsCount = (0, _rowSelection.gridRowSelectionCountSelector)(apiRef);
75
+ if (selectedRowsCount > 0) {
75
76
  textToCopy = apiRef.current.getDataAsCsv({
76
77
  includeHeaders: false,
77
78
  delimiter: clipboardCopyCellDelimiter,
@@ -143,7 +143,7 @@ const useGridColumnHeaders = props => {
143
143
  const indexInSection = i;
144
144
  const sectionLength = renderedColumns.length;
145
145
  const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
146
- const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
146
+ const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showColumnVerticalBorder, gridHasFiller);
147
147
  columns.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderItem.GridColumnHeaderItem, (0, _extends2.default)({}, sortColumnLookup[colDef.field], {
148
148
  columnMenuOpen: open,
149
149
  filterItemsCounter: filterColumnLookup[colDef.field] && filterColumnLookup[colDef.field].length,
@@ -263,7 +263,7 @@ const useGridColumnHeaders = props => {
263
263
  pinnedPosition: pinnedPosition,
264
264
  pinnedOffset: pinnedOffset,
265
265
  showLeftBorder: (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection),
266
- showRightBorder: (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, visibleColumnGroupHeader.length, rootProps.showCellVerticalBorder, gridHasFiller)
266
+ showRightBorder: (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, visibleColumnGroupHeader.length, rootProps.showColumnVerticalBorder, gridHasFiller)
267
267
  }, index);
268
268
  });
269
269
  return getFillers(params, children, leftOverflow);
@@ -8,16 +8,17 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.useGridColumnResize = exports.columnResizeStateInitializer = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
- var _utils = require("@mui/utils");
11
+ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
12
+ var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
12
13
  var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
13
14
  var _RtlProvider = require("@mui/system/RtlProvider");
14
15
  var _domUtils = require("../../../utils/domUtils");
15
16
  var _gridColumnResizeApi = require("./gridColumnResizeApi");
16
17
  var _gridClasses = require("../../../constants/gridClasses");
17
- var _utils2 = require("../../utils");
18
+ var _utils = require("../../utils");
18
19
  var _virtualization = require("../virtualization");
19
20
  var _createControllablePromise = require("../../../utils/createControllablePromise");
20
- var _utils3 = require("../../../utils/utils");
21
+ var _utils2 = require("../../../utils/utils");
21
22
  var _useTimeout = require("../../utils/useTimeout");
22
23
  var _gridColumnsInterfaces = require("../columns/gridColumnsInterfaces");
23
24
  var _columns = require("../columns");
@@ -80,7 +81,7 @@ function preventClick(event) {
80
81
  function useColumnVirtualizationDisabled(apiRef) {
81
82
  const promise = React.useRef(undefined);
82
83
  const selector = () => (0, _virtualization.gridVirtualizationColumnEnabledSelector)(apiRef);
83
- const value = (0, _utils2.useGridSelector)(apiRef, selector);
84
+ const value = (0, _utils.useGridSelector)(apiRef, selector);
84
85
  React.useEffect(() => {
85
86
  if (promise.current && value === false) {
86
87
  promise.current.resolve();
@@ -151,7 +152,7 @@ function extractColumnWidths(apiRef, options, columns) {
151
152
  const min = hasColumnMin ? column.minWidth : 0;
152
153
  const max = hasColumnMax ? column.maxWidth : Infinity;
153
154
  const maxContent = filteredWidths.length === 0 ? 0 : Math.max(...filteredWidths);
154
- widthByField[column.field] = (0, _utils3.clamp)(maxContent, min, max);
155
+ widthByField[column.field] = (0, _utils2.clamp)(maxContent, min, max);
155
156
  });
156
157
  root.classList.remove(_gridClasses.gridClasses.autosizing);
157
158
  return widthByField;
@@ -187,7 +188,7 @@ function createResizeRefs() {
187
188
  */
188
189
  const useGridColumnResize = (apiRef, props) => {
189
190
  const isRtl = (0, _RtlProvider.useRtl)();
190
- const logger = (0, _utils2.useGridLogger)(apiRef, 'useGridColumnResize');
191
+ const logger = (0, _utils.useGridLogger)(apiRef, 'useGridColumnResize');
191
192
  const refs = (0, _useLazyRef.default)(createResizeRefs).current;
192
193
 
193
194
  // To improve accessibility, the separator has padding on both sides.
@@ -323,15 +324,15 @@ const useGridColumnResize = (apiRef, props) => {
323
324
  resizeDirection.current = getResizeDirection(separator, isRtl);
324
325
  initialOffsetToSeparator.current = computeOffsetToSeparator(xStart, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
325
326
  };
326
- const handleResizeMouseUp = (0, _utils.unstable_useEventCallback)(finishResize);
327
- const handleResizeMouseMove = (0, _utils.unstable_useEventCallback)(nativeEvent => {
327
+ const handleResizeMouseUp = (0, _useEventCallback.default)(finishResize);
328
+ const handleResizeMouseMove = (0, _useEventCallback.default)(nativeEvent => {
328
329
  // Cancel move in case some other element consumed a mouseup event and it was not fired.
329
330
  if (nativeEvent.buttons === 0) {
330
331
  handleResizeMouseUp(nativeEvent);
331
332
  return;
332
333
  }
333
334
  let newWidth = computeNewWidth(initialOffsetToSeparator.current, nativeEvent.clientX, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
334
- newWidth = (0, _utils3.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
335
+ newWidth = (0, _utils2.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
335
336
  updateWidth(newWidth);
336
337
  const params = {
337
338
  element: refs.columnHeaderElement,
@@ -340,14 +341,14 @@ const useGridColumnResize = (apiRef, props) => {
340
341
  };
341
342
  apiRef.current.publishEvent('columnResize', params, nativeEvent);
342
343
  });
343
- const handleTouchEnd = (0, _utils.unstable_useEventCallback)(nativeEvent => {
344
+ const handleTouchEnd = (0, _useEventCallback.default)(nativeEvent => {
344
345
  const finger = trackFinger(nativeEvent, touchId.current);
345
346
  if (!finger) {
346
347
  return;
347
348
  }
348
349
  finishResize(nativeEvent);
349
350
  });
350
- const handleTouchMove = (0, _utils.unstable_useEventCallback)(nativeEvent => {
351
+ const handleTouchMove = (0, _useEventCallback.default)(nativeEvent => {
351
352
  const finger = trackFinger(nativeEvent, touchId.current);
352
353
  if (!finger) {
353
354
  return;
@@ -359,7 +360,7 @@ const useGridColumnResize = (apiRef, props) => {
359
360
  return;
360
361
  }
361
362
  let newWidth = computeNewWidth(initialOffsetToSeparator.current, finger.x, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
362
- newWidth = (0, _utils3.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
363
+ newWidth = (0, _utils2.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
363
364
  updateWidth(newWidth);
364
365
  const params = {
365
366
  element: refs.columnHeaderElement,
@@ -368,7 +369,7 @@ const useGridColumnResize = (apiRef, props) => {
368
369
  };
369
370
  apiRef.current.publishEvent('columnResize', params, nativeEvent);
370
371
  });
371
- const handleTouchStart = (0, _utils.unstable_useEventCallback)(event => {
372
+ const handleTouchStart = (0, _useEventCallback.default)(event => {
372
373
  const cellSeparator = (0, _domUtils.findParentElementFromClassName)(event.target, _gridClasses.gridClasses['columnSeparator--resizable']);
373
374
  // Let the event bubble if the target is not a col separator
374
375
  if (!cellSeparator) {
@@ -387,12 +388,12 @@ const useGridColumnResize = (apiRef, props) => {
387
388
  field
388
389
  }, event);
389
390
  storeReferences(colDef, cellSeparator, touch.clientX);
390
- const doc = (0, _utils.unstable_ownerDocument)(event.currentTarget);
391
+ const doc = (0, _ownerDocument.default)(event.currentTarget);
391
392
  doc.addEventListener('touchmove', handleTouchMove);
392
393
  doc.addEventListener('touchend', handleTouchEnd);
393
394
  });
394
395
  const stopListening = React.useCallback(() => {
395
- const doc = (0, _utils.unstable_ownerDocument)(apiRef.current.rootElementRef.current);
396
+ const doc = (0, _ownerDocument.default)(apiRef.current.rootElementRef.current);
396
397
  doc.body.style.removeProperty('cursor');
397
398
  doc.removeEventListener('mousemove', handleResizeMouseMove);
398
399
  doc.removeEventListener('mouseup', handleResizeMouseUp);
@@ -423,7 +424,7 @@ const useGridColumnResize = (apiRef, props) => {
423
424
  })
424
425
  }));
425
426
  }, [apiRef]);
426
- const handleColumnResizeMouseDown = (0, _utils.unstable_useEventCallback)(({
427
+ const handleColumnResizeMouseDown = (0, _useEventCallback.default)(({
427
428
  colDef
428
429
  }, event) => {
429
430
  // Only handle left clicks
@@ -443,7 +444,7 @@ const useGridColumnResize = (apiRef, props) => {
443
444
  field: colDef.field
444
445
  }, event);
445
446
  storeReferences(colDef, event.currentTarget, event.clientX);
446
- const doc = (0, _utils.unstable_ownerDocument)(apiRef.current.rootElementRef.current);
447
+ const doc = (0, _ownerDocument.default)(apiRef.current.rootElementRef.current);
447
448
  doc.body.style.cursor = 'col-resize';
448
449
  refs.previousMouseClickEvent = event.nativeEvent;
449
450
  doc.addEventListener('mousemove', handleResizeMouseMove);
@@ -453,7 +454,7 @@ const useGridColumnResize = (apiRef, props) => {
453
454
  // Fixes https://github.com/mui/mui-x/issues/4777
454
455
  doc.addEventListener('click', preventClick, true);
455
456
  });
456
- const handleColumnSeparatorDoubleClick = (0, _utils.unstable_useEventCallback)((params, event) => {
457
+ const handleColumnSeparatorDoubleClick = (0, _useEventCallback.default)((params, event) => {
457
458
  if (props.disableAutosize) {
458
459
  return;
459
460
  }
@@ -542,25 +543,25 @@ const useGridColumnResize = (apiRef, props) => {
542
543
  */
543
544
 
544
545
  React.useEffect(() => stopListening, [stopListening]);
545
- (0, _utils2.useOnMount)(() => {
546
+ (0, _utils.useOnMount)(() => {
546
547
  if (props.autosizeOnMount) {
547
548
  Promise.resolve().then(() => {
548
549
  apiRef.current.autosizeColumns(props.autosizeOptions);
549
550
  });
550
551
  }
551
552
  });
552
- (0, _utils2.useGridNativeEventListener)(apiRef, () => apiRef.current.columnHeadersContainerRef?.current, 'touchstart', handleTouchStart, {
553
+ (0, _utils.useGridNativeEventListener)(apiRef, () => apiRef.current.columnHeadersContainerRef?.current, 'touchstart', handleTouchStart, {
553
554
  passive: true
554
555
  });
555
- (0, _utils2.useGridApiMethod)(apiRef, {
556
+ (0, _utils.useGridApiMethod)(apiRef, {
556
557
  autosizeColumns
557
558
  }, 'public');
558
- (0, _utils2.useGridApiEventHandler)(apiRef, 'columnResizeStop', handleResizeStop);
559
- (0, _utils2.useGridApiEventHandler)(apiRef, 'columnResizeStart', handleResizeStart);
560
- (0, _utils2.useGridApiEventHandler)(apiRef, 'columnSeparatorMouseDown', handleColumnResizeMouseDown);
561
- (0, _utils2.useGridApiEventHandler)(apiRef, 'columnSeparatorDoubleClick', handleColumnSeparatorDoubleClick);
562
- (0, _utils2.useGridApiOptionHandler)(apiRef, 'columnResize', props.onColumnResize);
563
- (0, _utils2.useGridApiOptionHandler)(apiRef, 'columnWidthChange', props.onColumnWidthChange);
559
+ (0, _utils.useGridApiEventHandler)(apiRef, 'columnResizeStop', handleResizeStop);
560
+ (0, _utils.useGridApiEventHandler)(apiRef, 'columnResizeStart', handleResizeStart);
561
+ (0, _utils.useGridApiEventHandler)(apiRef, 'columnSeparatorMouseDown', handleColumnResizeMouseDown);
562
+ (0, _utils.useGridApiEventHandler)(apiRef, 'columnSeparatorDoubleClick', handleColumnSeparatorDoubleClick);
563
+ (0, _utils.useGridApiOptionHandler)(apiRef, 'columnResize', props.onColumnResize);
564
+ (0, _utils.useGridApiOptionHandler)(apiRef, 'columnWidthChange', props.onColumnWidthChange);
564
565
  };
565
566
  exports.useGridColumnResize = useGridColumnResize;
566
567
  function updateProperty(element, property, delta) {
@@ -14,6 +14,7 @@ export interface GridColumnsState {
14
14
  orderedFields: string[];
15
15
  lookup: GridColumnLookup;
16
16
  columnVisibilityModel: GridColumnVisibilityModel;
17
+ initialColumnVisibilityModel: GridColumnVisibilityModel;
17
18
  }
18
19
  export interface GridPinnedColumnFields {
19
20
  left?: string[];
@@ -26,6 +26,13 @@ export declare const gridColumnDefinitionsSelector: import("../../..").OutputSel
26
26
  * @category Visible Columns
27
27
  */
28
28
  export declare const gridColumnVisibilityModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, import("./gridColumnsInterfaces").GridColumnVisibilityModel>;
29
+ /**
30
+ * Get the "initial" column visibility model, containing the visibility status of each column.
31
+ * It is updated when the `columns` prop is updated or when `updateColumns` API method is called.
32
+ * If a column is not registered in the model, it is visible.
33
+ * @category Visible Columns
34
+ */
35
+ export declare const gridInitialColumnVisibilityModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, import("./gridColumnsInterfaces").GridColumnVisibilityModel>;
29
36
  /**
30
37
  * Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
31
38
  * @category Visible Columns
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
6
+ exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridInitialColumnVisibilityModelSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
9
9
  var _gridCoreSelector = require("../../core/gridCoreSelector");
@@ -38,6 +38,14 @@ const gridColumnDefinitionsSelector = exports.gridColumnDefinitionsSelector = (0
38
38
  */
39
39
  const gridColumnVisibilityModelSelector = exports.gridColumnVisibilityModelSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.columnVisibilityModel);
40
40
 
41
+ /**
42
+ * Get the "initial" column visibility model, containing the visibility status of each column.
43
+ * It is updated when the `columns` prop is updated or when `updateColumns` API method is called.
44
+ * If a column is not registered in the model, it is visible.
45
+ * @category Visible Columns
46
+ */
47
+ const gridInitialColumnVisibilityModelSelector = exports.gridInitialColumnVisibilityModelSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.initialColumnVisibilityModel);
48
+
41
49
  /**
42
50
  * Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
43
51
  * @category Visible Columns
@@ -48,12 +48,14 @@ export declare const createColumnsState: ({
48
48
  columnsToUpsert,
49
49
  initialState,
50
50
  columnVisibilityModel,
51
- keepOnlyColumnsToUpsert
51
+ keepOnlyColumnsToUpsert,
52
+ updateInitialVisibilityModel
52
53
  }: {
53
54
  columnsToUpsert: readonly GridColDef[];
54
55
  initialState: GridColumnsInitialState | undefined;
55
56
  columnVisibilityModel?: GridColumnVisibilityModel;
56
57
  keepOnlyColumnsToUpsert: boolean;
58
+ updateInitialVisibilityModel?: boolean;
57
59
  apiRef: RefObject<GridApiCommunity>;
58
60
  }) => GridColumnsState;
59
61
  export declare function getFirstNonSpannedColumnToRender({
@@ -232,7 +232,8 @@ const createColumnsState = ({
232
232
  columnsToUpsert,
233
233
  initialState,
234
234
  columnVisibilityModel = (0, _gridColumnsSelector.gridColumnVisibilityModelSelector)(apiRef),
235
- keepOnlyColumnsToUpsert = false
235
+ keepOnlyColumnsToUpsert = false,
236
+ updateInitialVisibilityModel = false
236
237
  }) => {
237
238
  const isInsideStateInitializer = !apiRef.current.state.columns;
238
239
  let columnsState;
@@ -240,7 +241,8 @@ const createColumnsState = ({
240
241
  columnsState = {
241
242
  orderedFields: [],
242
243
  lookup: {},
243
- columnVisibilityModel
244
+ columnVisibilityModel,
245
+ initialColumnVisibilityModel: columnVisibilityModel
244
246
  };
245
247
  } else {
246
248
  const currentState = (0, _gridColumnsSelector.gridColumnsStateSelector)(apiRef);
@@ -248,7 +250,8 @@ const createColumnsState = ({
248
250
  orderedFields: keepOnlyColumnsToUpsert ? [] : [...currentState.orderedFields],
249
251
  lookup: (0, _extends2.default)({}, currentState.lookup),
250
252
  // Will be cleaned later if keepOnlyColumnsToUpsert=true
251
- columnVisibilityModel
253
+ columnVisibilityModel,
254
+ initialColumnVisibilityModel: updateInitialVisibilityModel ? columnVisibilityModel : currentState.initialColumnVisibilityModel
252
255
  };
253
256
  }
254
257
  let columnsToKeep = {};
@@ -1,2 +1,2 @@
1
- export * from "./gridColumnsSelector.js";
1
+ export { gridColumnsStateSelector, gridColumnFieldsSelector, gridColumnLookupSelector, gridColumnVisibilityModelSelector, gridColumnDefinitionsSelector, gridVisibleColumnDefinitionsSelector, gridVisibleColumnFieldsSelector, gridPinnedColumnsSelector, gridVisiblePinnedColumnDefinitionsSelector, gridColumnPositionsSelector, gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector, gridHasColSpanSelector } from "./gridColumnsSelector.js";
2
2
  export * from "./gridColumnsInterfaces.js";
@@ -3,20 +3,104 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _gridColumnsSelector = require("./gridColumnsSelector");
7
- Object.keys(_gridColumnsSelector).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _gridColumnsSelector[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _gridColumnsSelector[key];
14
- }
15
- });
6
+ var _exportNames = {
7
+ gridColumnsStateSelector: true,
8
+ gridColumnFieldsSelector: true,
9
+ gridColumnLookupSelector: true,
10
+ gridColumnVisibilityModelSelector: true,
11
+ gridColumnDefinitionsSelector: true,
12
+ gridVisibleColumnDefinitionsSelector: true,
13
+ gridVisibleColumnFieldsSelector: true,
14
+ gridPinnedColumnsSelector: true,
15
+ gridVisiblePinnedColumnDefinitionsSelector: true,
16
+ gridColumnPositionsSelector: true,
17
+ gridFilterableColumnDefinitionsSelector: true,
18
+ gridFilterableColumnLookupSelector: true,
19
+ gridHasColSpanSelector: true
20
+ };
21
+ Object.defineProperty(exports, "gridColumnDefinitionsSelector", {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _gridColumnsSelector.gridColumnDefinitionsSelector;
25
+ }
26
+ });
27
+ Object.defineProperty(exports, "gridColumnFieldsSelector", {
28
+ enumerable: true,
29
+ get: function () {
30
+ return _gridColumnsSelector.gridColumnFieldsSelector;
31
+ }
32
+ });
33
+ Object.defineProperty(exports, "gridColumnLookupSelector", {
34
+ enumerable: true,
35
+ get: function () {
36
+ return _gridColumnsSelector.gridColumnLookupSelector;
37
+ }
38
+ });
39
+ Object.defineProperty(exports, "gridColumnPositionsSelector", {
40
+ enumerable: true,
41
+ get: function () {
42
+ return _gridColumnsSelector.gridColumnPositionsSelector;
43
+ }
16
44
  });
45
+ Object.defineProperty(exports, "gridColumnVisibilityModelSelector", {
46
+ enumerable: true,
47
+ get: function () {
48
+ return _gridColumnsSelector.gridColumnVisibilityModelSelector;
49
+ }
50
+ });
51
+ Object.defineProperty(exports, "gridColumnsStateSelector", {
52
+ enumerable: true,
53
+ get: function () {
54
+ return _gridColumnsSelector.gridColumnsStateSelector;
55
+ }
56
+ });
57
+ Object.defineProperty(exports, "gridFilterableColumnDefinitionsSelector", {
58
+ enumerable: true,
59
+ get: function () {
60
+ return _gridColumnsSelector.gridFilterableColumnDefinitionsSelector;
61
+ }
62
+ });
63
+ Object.defineProperty(exports, "gridFilterableColumnLookupSelector", {
64
+ enumerable: true,
65
+ get: function () {
66
+ return _gridColumnsSelector.gridFilterableColumnLookupSelector;
67
+ }
68
+ });
69
+ Object.defineProperty(exports, "gridHasColSpanSelector", {
70
+ enumerable: true,
71
+ get: function () {
72
+ return _gridColumnsSelector.gridHasColSpanSelector;
73
+ }
74
+ });
75
+ Object.defineProperty(exports, "gridPinnedColumnsSelector", {
76
+ enumerable: true,
77
+ get: function () {
78
+ return _gridColumnsSelector.gridPinnedColumnsSelector;
79
+ }
80
+ });
81
+ Object.defineProperty(exports, "gridVisibleColumnDefinitionsSelector", {
82
+ enumerable: true,
83
+ get: function () {
84
+ return _gridColumnsSelector.gridVisibleColumnDefinitionsSelector;
85
+ }
86
+ });
87
+ Object.defineProperty(exports, "gridVisibleColumnFieldsSelector", {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _gridColumnsSelector.gridVisibleColumnFieldsSelector;
91
+ }
92
+ });
93
+ Object.defineProperty(exports, "gridVisiblePinnedColumnDefinitionsSelector", {
94
+ enumerable: true,
95
+ get: function () {
96
+ return _gridColumnsSelector.gridVisiblePinnedColumnDefinitionsSelector;
97
+ }
98
+ });
99
+ var _gridColumnsSelector = require("./gridColumnsSelector");
17
100
  var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
18
101
  Object.keys(_gridColumnsInterfaces).forEach(function (key) {
19
102
  if (key === "default" || key === "__esModule") return;
103
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
104
  if (key in exports && exports[key] === _gridColumnsInterfaces[key]) return;
21
105
  Object.defineProperty(exports, key, {
22
106
  enumerable: true,
@@ -92,7 +92,8 @@ function useGridColumns(apiRef, props) {
92
92
  apiRef,
93
93
  columnsToUpsert: columns,
94
94
  initialState: undefined,
95
- keepOnlyColumnsToUpsert: false
95
+ keepOnlyColumnsToUpsert: false,
96
+ updateInitialVisibilityModel: true
96
97
  });
97
98
  setGridColumnsState(columnsState);
98
99
  }, [apiRef, setGridColumnsState]);
@@ -298,7 +299,8 @@ function useGridColumns(apiRef, props) {
298
299
  initialState: undefined,
299
300
  // If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`
300
301
  columnsToUpsert: props.columns,
301
- keepOnlyColumnsToUpsert: true
302
+ keepOnlyColumnsToUpsert: true,
303
+ updateInitialVisibilityModel: true
302
304
  });
303
305
  previousColumnsProp.current = props.columns;
304
306
  setGridColumnsState(columnsState);
@@ -0,0 +1,31 @@
1
+ import type { GridGetRowsParams, GridUpdateRowParams } from '../../../models/gridDataSource';
2
+ export declare class GridGetRowsError<T extends GridGetRowsParams = GridGetRowsParams> extends Error {
3
+ /**
4
+ * The parameters used in the failed request
5
+ */
6
+ readonly params: T;
7
+ /**
8
+ * The original error that caused this error
9
+ */
10
+ readonly cause?: Error;
11
+ constructor(options: {
12
+ message: string;
13
+ params: T;
14
+ cause?: Error;
15
+ });
16
+ }
17
+ export declare class GridUpdateRowError extends Error {
18
+ /**
19
+ * The parameters used in the failed request
20
+ */
21
+ readonly params: GridUpdateRowParams;
22
+ /**
23
+ * The original error that caused this error
24
+ */
25
+ readonly cause?: Error;
26
+ constructor(options: {
27
+ message: string;
28
+ params: GridUpdateRowParams;
29
+ cause?: Error;
30
+ });
31
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GridUpdateRowError = exports.GridGetRowsError = void 0;
7
+ class GridGetRowsError extends Error {
8
+ constructor(options) {
9
+ super(options.message);
10
+ /**
11
+ * The parameters used in the failed request
12
+ */
13
+ this.params = void 0;
14
+ /**
15
+ * The original error that caused this error
16
+ */
17
+ this.cause = void 0;
18
+ this.name = 'GridGetRowsError';
19
+ this.params = options.params;
20
+ this.cause = options.cause;
21
+ }
22
+ }
23
+ exports.GridGetRowsError = GridGetRowsError;
24
+ class GridUpdateRowError extends Error {
25
+ constructor(options) {
26
+ super(options.message);
27
+ /**
28
+ * The parameters used in the failed request
29
+ */
30
+ this.params = void 0;
31
+ /**
32
+ * The original error that caused this error
33
+ */
34
+ this.cause = void 0;
35
+ this.name = 'GridUpdateRowError';
36
+ this.params = options.params;
37
+ this.cause = options.cause;
38
+ }
39
+ }
40
+ exports.GridUpdateRowError = GridUpdateRowError;
@@ -0,0 +1,2 @@
1
+ export { GridDataSourceCacheDefault, type GridDataSourceCacheDefaultConfig } from "./cache.js";
2
+ export { GridGetRowsError, GridUpdateRowError } from "./gridDataSourceError.js";
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "GridDataSourceCacheDefault", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _cache.GridDataSourceCacheDefault;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "GridGetRowsError", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _gridDataSourceError.GridGetRowsError;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "GridUpdateRowError", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _gridDataSourceError.GridUpdateRowError;
22
+ }
23
+ });
24
+ var _cache = require("./cache");
25
+ var _gridDataSourceError = require("./gridDataSourceError");
@@ -18,5 +18,5 @@ export interface GridDataSourceApi {
18
18
  /**
19
19
  * The data source API.
20
20
  */
21
- unstable_dataSource: GridDataSourceApiBase;
21
+ dataSource: GridDataSourceApiBase;
22
22
  }
@@ -8,7 +8,7 @@ import type { DataGridProcessedProps } from '../../../models/props/DataGridProps
8
8
  import type { GridStrategyProcessor } from '../../core/strategyProcessing';
9
9
  import type { GridEventListener } from '../../../models/events';
10
10
  import type { GridRowId } from '../../../models';
11
- export declare const useGridDataSourceBase: <Api extends GridPrivateApiCommunity>(apiRef: RefObject<Api>, props: Pick<DataGridProcessedProps, "unstable_dataSource" | "unstable_dataSourceCache" | "unstable_onDataSourceError" | "pageSizeOptions" | "signature">, options?: {
11
+ export declare const useGridDataSourceBase: <Api extends GridPrivateApiCommunity>(apiRef: RefObject<Api>, props: Pick<DataGridProcessedProps, "dataSource" | "dataSourceCache" | "onDataSourceError" | "pageSizeOptions" | "signature">, options?: {
12
12
  cacheOptions?: GridDataSourceCacheDefaultConfig;
13
13
  fetchRowChildren?: (parents: GridRowId[]) => void;
14
14
  clearDataSourceState?: () => void;