@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
package/material/index.js CHANGED
@@ -6,10 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ Object.defineProperty(exports, "useMaterialCSSVariables", {
10
+ enumerable: true,
11
+ get: function () {
12
+ return _variables.useMaterialCSSVariables;
13
+ }
14
+ });
9
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
16
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
17
  var React = _interopRequireWildcard(require("react"));
12
18
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
19
+ var _styles = require("@mui/material/styles");
20
+ var _Autocomplete = _interopRequireDefault(require("@mui/material/Autocomplete"));
13
21
  var _Badge = _interopRequireDefault(require("@mui/material/Badge"));
14
22
  var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
15
23
  var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
@@ -24,12 +32,12 @@ var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
24
32
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
25
33
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
26
34
  var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
27
- var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
35
+ var _FormControlLabel = _interopRequireWildcard(require("@mui/material/FormControlLabel"));
28
36
  var _Select = _interopRequireDefault(require("@mui/material/Select"));
29
37
  var _Switch = _interopRequireDefault(require("@mui/material/Switch"));
30
38
  var _Button = _interopRequireDefault(require("@mui/material/Button"));
31
- var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
32
- var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
39
+ var _IconButton = _interopRequireWildcard(require("@mui/material/IconButton"));
40
+ var _InputAdornment = _interopRequireWildcard(require("@mui/material/InputAdornment"));
33
41
  var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
34
42
  var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
35
43
  var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAwayListener"));
@@ -42,15 +50,56 @@ var _GridColumnUnsortedIcon = require("./icons/GridColumnUnsortedIcon");
42
50
  var _icons = require("./icons");
43
51
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
44
52
  var _jsxRuntime = require("react/jsx-runtime");
53
+ var _variables = require("./variables");
45
54
  const _excluded = ["id", "label", "labelId", "disabled", "slotProps", "onChange", "onKeyDown", "onOpen", "onClose", "size", "style", "fullWidth"],
46
- _excluded2 = ["autoFocus", "label", "fullWidth", "slotProps", "className", "density"],
55
+ _excluded2 = ["autoFocus", "label", "fullWidth", "slotProps", "className"],
47
56
  _excluded3 = ["inert", "iconStart", "iconEnd", "children"],
48
57
  _excluded4 = ["slotProps"],
49
- _excluded5 = ["slotProps"],
50
- _excluded6 = ["native"];
58
+ _excluded5 = ["id", "multiple", "freeSolo", "options", "getOptionLabel", "isOptionEqualToValue", "value", "onChange", "label", "placeholder", "slotProps"],
59
+ _excluded6 = ["key"],
60
+ _excluded7 = ["inputProps", "InputProps", "InputLabelProps"],
61
+ _excluded8 = ["slotProps"],
62
+ _excluded9 = ["native"];
51
63
  const ClickAwayListener = (0, _forwardRef.forwardRef)(_ClickAwayListener.default);
64
+ const InputAdornment = (0, _styles.styled)(_InputAdornment.default)({
65
+ [`&.${_InputAdornment.inputAdornmentClasses.positionEnd} .${_IconButton.iconButtonClasses.sizeSmall}`]: {
66
+ marginRight: '-7px'
67
+ }
68
+ });
69
+ const FormControlLabel = (0, _styles.styled)(_FormControlLabel.default, {
70
+ shouldForwardProp: prop => prop !== 'fullWidth'
71
+ })(({
72
+ theme
73
+ }) => ({
74
+ gap: theme.spacing(0.5),
75
+ margin: 0,
76
+ [`& .${_FormControlLabel.formControlLabelClasses.label}`]: {
77
+ fontSize: theme.typography.pxToRem(14)
78
+ },
79
+ variants: [{
80
+ props: {
81
+ fullWidth: true
82
+ },
83
+ style: {
84
+ width: '100%'
85
+ }
86
+ }]
87
+ }));
88
+ const Checkbox = (0, _styles.styled)(_Checkbox.default, {
89
+ shouldForwardProp: prop => prop !== 'density'
90
+ })(({
91
+ theme
92
+ }) => ({
93
+ variants: [{
94
+ props: {
95
+ density: 'compact'
96
+ },
97
+ style: {
98
+ padding: theme.spacing(0.5)
99
+ }
100
+ }]
101
+ }));
52
102
  const BaseSelect = (0, _forwardRef.forwardRef)(function BaseSelect(props, ref) {
53
- const rootProps = (0, _useGridRootProps.useGridRootProps)();
54
103
  const {
55
104
  id,
56
105
  label,
@@ -66,21 +115,27 @@ const BaseSelect = (0, _forwardRef.forwardRef)(function BaseSelect(props, ref) {
66
115
  fullWidth
67
116
  } = props,
68
117
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
69
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl.default, (0, _extends2.default)({
118
+ const menuProps = {
119
+ PaperProps: {
120
+ onKeyDown
121
+ }
122
+ };
123
+ if (onClose) {
124
+ menuProps.onClose = onClose;
125
+ }
126
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FormControl.default, {
70
127
  size: size,
71
128
  fullWidth: fullWidth,
72
129
  style: style,
73
- disabled: disabled
74
- }, rootProps.slotProps?.baseFormControl, {
130
+ disabled: disabled,
75
131
  ref: ref,
76
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, (0, _extends2.default)({
132
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, {
77
133
  id: labelId,
78
134
  htmlFor: id,
79
135
  shrink: true,
80
- variant: "outlined"
81
- }, rootProps.slotProps?.baseInputLabel, {
136
+ variant: "outlined",
82
137
  children: label
83
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, (0, _extends2.default)({
138
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, (0, _extends2.default)({
84
139
  id: id,
85
140
  labelId: labelId,
86
141
  label: label,
@@ -91,15 +146,10 @@ const BaseSelect = (0, _forwardRef.forwardRef)(function BaseSelect(props, ref) {
91
146
  notched: true,
92
147
  inputProps: slotProps?.htmlInput,
93
148
  onOpen: onOpen,
94
- MenuProps: {
95
- onClose,
96
- PaperProps: {
97
- onKeyDown
98
- }
99
- },
149
+ MenuProps: menuProps,
100
150
  size: size
101
151
  }))]
102
- }));
152
+ });
103
153
  });
104
154
 
105
155
  /* eslint-disable material-ui/disallow-react-api-in-server-components */
@@ -119,7 +169,7 @@ const iconSlots = {
119
169
  densityCompactIcon: _icons.GridViewHeadlineIcon,
120
170
  densityStandardIcon: _icons.GridTableRowsIcon,
121
171
  densityComfortableIcon: _icons.GridViewStreamIcon,
122
- exportIcon: _icons.GridSaveAltIcon,
172
+ exportIcon: _icons.GridDownloadIcon,
123
173
  moreActionsIcon: _icons.GridMoreVertIcon,
124
174
  treeDataCollapseIcon: _icons.GridExpandMoreIcon,
125
175
  treeDataExpandIcon: _icons.GridKeyboardArrowRight,
@@ -129,7 +179,7 @@ const iconSlots = {
129
179
  detailPanelCollapseIcon: _icons.GridRemoveIcon,
130
180
  rowReorderIcon: _icons.GridDragIcon,
131
181
  quickFilterIcon: _icons.GridSearchIcon,
132
- quickFilterClearIcon: _icons.GridCloseIcon,
182
+ quickFilterClearIcon: _icons.GridClearIcon,
133
183
  columnMenuHideIcon: _icons.GridVisibilityOffIcon,
134
184
  columnMenuSortAscendingIcon: _icons.GridArrowUpwardIcon,
135
185
  columnMenuSortDescendingIcon: _icons.GridArrowDownwardIcon,
@@ -143,6 +193,7 @@ const iconSlots = {
143
193
  menuItemCheckIcon: _icons.GridCheckIcon
144
194
  };
145
195
  const baseSlots = {
196
+ baseAutocomplete: BaseAutocomplete,
146
197
  baseBadge: _Badge.default,
147
198
  baseCheckbox: /*#__PURE__*/React.forwardRef(BaseCheckbox),
148
199
  baseCircularProgress: _CircularProgress.default,
@@ -152,38 +203,29 @@ const baseSlots = {
152
203
  baseMenuList: BaseMenuList,
153
204
  baseMenuItem: BaseMenuItem,
154
205
  baseTextField: BaseTextField,
155
- baseFormControl: _FormControl.default,
156
206
  baseButton: _Button.default,
157
207
  baseIconButton: _IconButton.default,
158
- baseInputAdornment: _InputAdornment.default,
159
208
  baseTooltip: _Tooltip.default,
160
209
  basePopper: BasePopper,
161
- baseInputLabel: _InputLabel.default,
162
210
  baseSelect: BaseSelect,
163
211
  baseSelectOption: BaseSelectOption,
164
212
  baseSkeleton: _Skeleton.default,
165
- baseSwitch: _Switch.default,
166
- baseChip: _Chip.default
213
+ baseSwitch: _Switch.default
167
214
  };
168
215
  const materialSlots = (0, _extends2.default)({}, baseSlots, iconSlots);
169
216
  var _default = exports.default = materialSlots;
170
- const CHECKBOX_COMPACT = {
171
- p: 0.5
172
- };
173
217
  function BaseCheckbox(props, ref) {
174
218
  const {
175
219
  autoFocus,
176
220
  label,
177
221
  fullWidth,
178
222
  slotProps,
179
- className,
180
- density
223
+ className
181
224
  } = props,
182
225
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
183
226
  const elementRef = React.useRef(null);
184
227
  const handleRef = (0, _useForkRef.default)(elementRef, ref);
185
228
  const rippleRef = React.useRef(null);
186
- const sx = density === 'compact' ? CHECKBOX_COMPACT : undefined;
187
229
  React.useEffect(() => {
188
230
  if (autoFocus) {
189
231
  const input = elementRef.current?.querySelector('input');
@@ -197,27 +239,22 @@ function BaseCheckbox(props, ref) {
197
239
  }
198
240
  }, [autoFocus]);
199
241
  if (!label) {
200
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, (0, _extends2.default)({}, other, {
242
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, other, {
201
243
  className: className,
202
244
  inputProps: slotProps?.htmlInput,
203
245
  ref: handleRef,
204
- sx: sx,
205
246
  touchRippleRef: rippleRef
206
247
  }));
207
248
  }
208
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
249
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FormControlLabel, {
209
250
  className: className,
210
- control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, (0, _extends2.default)({}, other, {
251
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, other, {
211
252
  inputProps: slotProps?.htmlInput,
212
253
  ref: handleRef,
213
- sx: sx,
214
254
  touchRippleRef: rippleRef
215
255
  })),
216
256
  label: label,
217
- sx: fullWidth ? {
218
- width: '100%',
219
- margin: 0
220
- } : undefined
257
+ fullWidth: fullWidth
221
258
  });
222
259
  }
223
260
  function BaseMenuList(props) {
@@ -253,20 +290,102 @@ function BaseTextField(props) {
253
290
  variant: "outlined"
254
291
  }, rest, {
255
292
  inputProps: slotProps?.htmlInput,
256
- InputProps: slotProps?.input,
293
+ InputProps: transformInputProps(slotProps?.input),
257
294
  InputLabelProps: (0, _extends2.default)({
258
295
  shrink: true
259
296
  }, slotProps?.inputLabel)
260
297
  }));
261
298
  }
262
- function BaseInput(props) {
299
+ function BaseAutocomplete(props) {
300
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
263
301
  const {
302
+ id,
303
+ multiple,
304
+ freeSolo,
305
+ options,
306
+ getOptionLabel,
307
+ isOptionEqualToValue,
308
+ value,
309
+ onChange,
310
+ label,
311
+ placeholder,
264
312
  slotProps
265
313
  } = props,
266
314
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded5);
267
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, (0, _extends2.default)({}, rest, {
268
- inputProps: slotProps?.htmlInput
269
- }));
315
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Autocomplete.default, (0, _extends2.default)({
316
+ id: id,
317
+ multiple: multiple,
318
+ freeSolo: freeSolo,
319
+ options: options,
320
+ getOptionLabel: getOptionLabel,
321
+ isOptionEqualToValue: isOptionEqualToValue,
322
+ value: value,
323
+ onChange: onChange,
324
+ renderTags: (currentValue, getTagProps) => currentValue.map((option, index) => {
325
+ const _getTagProps = getTagProps({
326
+ index
327
+ }),
328
+ {
329
+ key
330
+ } = _getTagProps,
331
+ tagProps = (0, _objectWithoutPropertiesLoose2.default)(_getTagProps, _excluded6);
332
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chip.default, (0, _extends2.default)({
333
+ variant: "outlined",
334
+ size: "small",
335
+ label: typeof option === 'string' ? option : getOptionLabel?.(option)
336
+ }, tagProps), key);
337
+ }),
338
+ renderInput: params => {
339
+ const {
340
+ inputProps,
341
+ InputProps,
342
+ InputLabelProps
343
+ } = params,
344
+ inputRest = (0, _objectWithoutPropertiesLoose2.default)(params, _excluded7);
345
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({}, inputRest, {
346
+ label: label,
347
+ placeholder: placeholder,
348
+ slotProps: {
349
+ input: InputProps,
350
+ inputLabel: InputLabelProps,
351
+ htmlInput: inputProps
352
+ }
353
+ }, slotProps?.textField, rootProps.slotProps?.baseTextField));
354
+ }
355
+ }, rest));
356
+ }
357
+ function BaseInput(props) {
358
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputBase.default, (0, _extends2.default)({}, transformInputProps(props)));
359
+ }
360
+ function transformInputProps(props) {
361
+ if (!props) {
362
+ return undefined;
363
+ }
364
+ const {
365
+ slotProps
366
+ } = props,
367
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded8);
368
+ const result = rest;
369
+ if (result.startAdornment) {
370
+ result.startAdornment = /*#__PURE__*/(0, _jsxRuntime.jsx)(InputAdornment, {
371
+ position: "start",
372
+ children: result.startAdornment
373
+ });
374
+ }
375
+ if (result.endAdornment) {
376
+ result.endAdornment = /*#__PURE__*/(0, _jsxRuntime.jsx)(InputAdornment, {
377
+ position: "end",
378
+ children: result.endAdornment
379
+ });
380
+ }
381
+ if (slotProps?.htmlInput) {
382
+ if (result.inputProps) {
383
+ result.inputProps = (0, _extends2.default)({}, result.inputProps, slotProps?.htmlInput);
384
+ } else {
385
+ result.inputProps = slotProps?.htmlInput;
386
+ }
387
+ }
388
+ return result;
270
389
  }
271
390
  const transformOrigin = {
272
391
  'bottom-start': 'top left',
@@ -361,15 +480,17 @@ function focusTrapWrapper(props, content) {
361
480
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Unstable_TrapFocus.default, {
362
481
  open: true,
363
482
  disableEnforceFocus: true,
364
- isEnabled: () => props.focusTrapEnabled ?? true,
365
- children: content
483
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
484
+ tabIndex: -1,
485
+ children: content
486
+ })
366
487
  });
367
488
  }
368
489
  function BaseSelectOption(_ref) {
369
490
  let {
370
491
  native
371
492
  } = _ref,
372
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded6);
493
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded9);
373
494
  if (native) {
374
495
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("option", (0, _extends2.default)({}, props));
375
496
  }
@@ -0,0 +1,5 @@
1
+ import { type GridCSSVariablesInterface } from "../constants/cssVariables.js";
2
+ export declare function useMaterialCSSVariables(): {
3
+ id: string;
4
+ variables: GridCSSVariablesInterface;
5
+ };
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useMaterialCSSVariables = useMaterialCSSVariables;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _styles = require("@mui/material/styles");
10
+ var _hash = require("@mui/x-internals/hash");
11
+ var _cssVariables = require("../constants/cssVariables");
12
+ function useMaterialCSSVariables() {
13
+ const theme = (0, _styles.useTheme)();
14
+ return React.useMemo(() => {
15
+ const id = (0, _hash.hash)(JSON.stringify(theme));
16
+ const variables = transformTheme(theme);
17
+ return {
18
+ id,
19
+ variables
20
+ };
21
+ }, [theme]);
22
+ }
23
+ function transformTheme(t) {
24
+ const borderColor = getBorderColor(t);
25
+ const dataGridPalette = t.palette.DataGrid; // FIXME: docs typecheck error
26
+
27
+ const backgroundBase = dataGridPalette?.bg ?? (t.vars || t).palette.background.default;
28
+ const backgroundHeader = dataGridPalette?.headerBg ?? backgroundBase;
29
+ const backgroundPinned = dataGridPalette?.pinnedBg ?? backgroundBase;
30
+ const backgroundBackdrop = t.vars ? `rgba(${t.vars.palette.background.defaultChannel} / ${t.vars.palette.action.disabledOpacity})` : (0, _styles.alpha)(t.palette.background.default, t.palette.action.disabledOpacity);
31
+ const selectedColor = t.vars ? `rgb(${t.vars.palette.primary.mainChannel})` : t.palette.primary.main;
32
+ const k = _cssVariables.vars.keys;
33
+ return {
34
+ [k.spacingUnit]: t.spacing(1),
35
+ [k.colors.border.base]: borderColor,
36
+ [k.colors.background.base]: backgroundBase,
37
+ [k.colors.background.overlay]: t.palette.mode === 'dark' ? `color-mix(in srgb, ${t.palette.background.paper} 95%, #fff)` : t.palette.background.paper,
38
+ [k.colors.background.backdrop]: backgroundBackdrop,
39
+ [k.colors.foreground.base]: t.palette.text.primary,
40
+ [k.colors.foreground.muted]: t.palette.text.secondary,
41
+ [k.colors.foreground.accent]: t.palette.primary.dark,
42
+ [k.colors.foreground.disabled]: t.palette.text.disabled,
43
+ [k.colors.interactive.hover]: removeOpacity(t.palette.action.hover),
44
+ [k.colors.interactive.hoverOpacity]: t.palette.action.hoverOpacity,
45
+ [k.colors.interactive.focus]: removeOpacity(t.palette.primary.main),
46
+ [k.colors.interactive.focusOpacity]: t.palette.action.focusOpacity,
47
+ [k.colors.interactive.disabled]: removeOpacity(t.palette.action.disabled),
48
+ [k.colors.interactive.disabledOpacity]: t.palette.action.disabledOpacity,
49
+ [k.colors.interactive.selected]: selectedColor,
50
+ [k.colors.interactive.selectedOpacity]: t.palette.action.selectedOpacity,
51
+ [k.header.background.base]: backgroundHeader,
52
+ [k.cell.background.pinned]: backgroundPinned,
53
+ [k.radius.base]: typeof t.shape.borderRadius === 'number' ? `${t.shape.borderRadius}px` : t.shape.borderRadius,
54
+ [k.typography.fontFamily.base]: t.typography.fontFamily,
55
+ [k.typography.fontWeight.light]: t.typography.fontWeightLight,
56
+ [k.typography.fontWeight.regular]: t.typography.fontWeightRegular,
57
+ [k.typography.fontWeight.medium]: t.typography.fontWeightMedium,
58
+ [k.typography.fontWeight.bold]: t.typography.fontWeightBold,
59
+ [k.typography.body.fontFamily]: t.typography.body2.fontFamily,
60
+ [k.typography.body.fontSize]: t.typography.body2.fontSize,
61
+ [k.typography.body.fontWeight]: t.typography.body2.fontWeight,
62
+ [k.typography.body.letterSpacing]: t.typography.body2.letterSpacing,
63
+ [k.typography.body.lineHeight]: t.typography.body2.lineHeight,
64
+ [k.typography.small.fontFamily]: t.typography.caption.fontFamily,
65
+ [k.typography.small.fontSize]: t.typography.caption.fontSize,
66
+ [k.typography.small.fontWeight]: t.typography.caption.fontWeight,
67
+ [k.typography.small.letterSpacing]: t.typography.caption.letterSpacing,
68
+ [k.typography.small.lineHeight]: t.typography.caption.lineHeight,
69
+ [k.transitions.easing.easeIn]: t.transitions.easing.easeIn,
70
+ [k.transitions.easing.easeOut]: t.transitions.easing.easeOut,
71
+ [k.transitions.easing.easeInOut]: t.transitions.easing.easeInOut,
72
+ [k.transitions.duration.short]: `${t.transitions.duration.shorter}ms`,
73
+ [k.transitions.duration.base]: `${t.transitions.duration.short}ms`,
74
+ [k.transitions.duration.long]: `${t.transitions.duration.standard}ms`,
75
+ [k.shadows.base]: t.shadows[2],
76
+ [k.shadows.overlay]: t.shadows[8],
77
+ [k.zIndex.panel]: t.zIndex.modal,
78
+ [k.zIndex.menu]: t.zIndex.modal
79
+ };
80
+ }
81
+ function getBorderColor(theme) {
82
+ if (theme.vars) {
83
+ return theme.vars.palette.TableCell.border;
84
+ }
85
+ if (theme.palette.mode === 'light') {
86
+ return (0, _styles.lighten)((0, _styles.alpha)(theme.palette.divider, 1), 0.88);
87
+ }
88
+ return (0, _styles.darken)((0, _styles.alpha)(theme.palette.divider, 1), 0.68);
89
+ }
90
+ function setOpacity(color, opacity) {
91
+ return `rgba(from ${color} r g b / ${opacity})`;
92
+ }
93
+ function removeOpacity(color) {
94
+ return setOpacity(color, 1);
95
+ }
@@ -1,4 +1,5 @@
1
- import { GridRowId, GridRowModel } from "../gridRows.js";
1
+ import type { GridRowId, GridRowModel } from '../gridRows';
2
+ import type { GridRowSelectionModel } from '../gridRowSelectionModel';
2
3
  /**
3
4
  * The selection API interface that is available in the grid [[apiRef]].
4
5
  */
@@ -25,6 +26,7 @@ export interface GridRowSelectionApi {
25
26
  /**
26
27
  * Returns an array of the selected rows.
27
28
  * @returns {Map<GridRowId, GridRowModel>} A `Map` with the selected rows.
29
+ * @deprecated Use `gridRowSelectionIdsSelector`, `gridRowSelectionCountSelector`, or `gridRowSelectionManagerSelector` instead.
28
30
  */
29
31
  getSelectedRows: () => Map<GridRowId, GridRowModel>;
30
32
  /**
@@ -32,7 +34,7 @@ export interface GridRowSelectionApi {
32
34
  * Any row already selected will be unselected.
33
35
  * @param {readonly GridRowId[]} rowIds The row ids to select.
34
36
  */
35
- setRowSelectionModel: (rowIds: readonly GridRowId[]) => void;
37
+ setRowSelectionModel: (rowIds: GridRowSelectionModel) => void;
36
38
  }
37
39
  export interface GridRowMultiSelectionApi {
38
40
  /**
@@ -23,7 +23,7 @@ export interface GridSortApi {
23
23
  * Sorts a column.
24
24
  * @param {GridColDef['field']} field The field identifier of the column to be sorted.
25
25
  * @param {GridSortDirection} direction The direction to be sorted. By default, the next in the `sortingOrder` prop.
26
- * @param {boolean} allowMultipleSorting Whether to keep the existing [[GridSortItem]]. Default is `false`.
26
+ * @param {boolean} allowMultipleSorting Whether to keep the existing [GridSortModel]. Default is `false`.
27
27
  */
28
28
  sortColumn: (field: GridColDef['field'], direction?: GridSortDirection, allowMultipleSorting?: boolean) => void;
29
29
  /**
@@ -1,9 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import { GridRowAriaAttributesInternalHook } from "./gridRowConfiguration.js";
3
+ import type { GridCSSVariablesInterface } from '../../constants/cssVariables';
3
4
  export interface GridAriaAttributesInternalHook {
4
5
  useGridAriaAttributes: () => React.HTMLAttributes<HTMLElement>;
5
6
  }
6
- export interface GridInternalHook extends GridAriaAttributesInternalHook, GridRowAriaAttributesInternalHook {}
7
+ export interface GridInternalHook extends GridAriaAttributesInternalHook, GridRowAriaAttributesInternalHook {
8
+ useCSSVariables: () => {
9
+ id: string;
10
+ variables: GridCSSVariablesInterface;
11
+ };
12
+ }
7
13
  export interface GridConfiguration {
8
14
  hooks: GridInternalHook;
9
15
  }
@@ -1,4 +1,59 @@
1
1
  type Ref<T = HTMLElement> = React.RefCallback<T | null> | React.RefObject<T | null> | null;
2
+ export interface AutocompleteFilterOptionsState<Value> {
3
+ inputValue: string;
4
+ getOptionLabel: (option: Value) => string;
5
+ }
6
+ type AcValueMap<FreeSolo> = FreeSolo extends true ? string : never;
7
+ type AcValue<Value, Multiple, DisableClearable, FreeSolo> = Multiple extends true ? Array<Value | AcValueMap<FreeSolo>> : DisableClearable extends true ? NonNullable<Value | AcValueMap<FreeSolo>> : Value | null | AcValueMap<FreeSolo>;
8
+ export type AutocompleteProps<Value = string, Multiple extends boolean = false, DisableClearable extends boolean = false, FreeSolo extends boolean = false> = {
9
+ id?: string;
10
+ /** Allow multiple selection. */
11
+ multiple?: Multiple;
12
+ /** Allow to add new options. */
13
+ freeSolo?: FreeSolo;
14
+ value?: AcValue<Value, Multiple, DisableClearable, FreeSolo>;
15
+ options: ReadonlyArray<Value>;
16
+ /**
17
+ * Used to determine the string value for a given option.
18
+ * It's used to fill the input (and the list box options if `renderOption` is not provided).
19
+ *
20
+ * If used in free solo mode, it must accept both the type of the options and a string.
21
+ *
22
+ * @param {Value} option The option
23
+ * @returns {string} The label
24
+ * @default (option) => option.label ?? option
25
+ */
26
+ getOptionLabel?: (option: Value | AcValueMap<FreeSolo>) => string;
27
+ /**
28
+ * Used to determine if the option represents the given value.
29
+ * Uses strict equality by default.
30
+ * ⚠️ Both arguments need to be handled, an option can only match with one value.
31
+ *
32
+ * @param {Value} option The option to test.
33
+ * @param {Value} value The value to test against.
34
+ * @returns {boolean} true if value matches
35
+ */
36
+ isOptionEqualToValue?: (option: Value, value: Value) => boolean;
37
+ /**
38
+ * Callback fired when the value changes.
39
+ *
40
+ * @param {React.SyntheticEvent} event The event source of the callback.
41
+ * @param {Value|Value[]} value The new value of the component.
42
+ */
43
+ onChange?: (event: React.SyntheticEvent, value: AcValue<Value, Multiple, DisableClearable, FreeSolo>) => void;
44
+ /**
45
+ * Callback fired when the input value changes.
46
+ *
47
+ * @param {React.SyntheticEvent} event The event source of the callback.
48
+ * @param {string} value The new value of the input.
49
+ */
50
+ onInputChange?: (event: React.SyntheticEvent, value: string) => void;
51
+ label?: React.ReactNode;
52
+ placeholder?: string;
53
+ slotProps?: {
54
+ textField: TextFieldProps;
55
+ };
56
+ };
2
57
  export type BadgeProps = {
3
58
  badgeContent?: React.ReactNode;
4
59
  children: React.ReactNode;
@@ -53,7 +108,9 @@ export type IconButtonProps = Omit<ButtonProps, 'startIcon'> & {
53
108
  color?: 'default' | 'inherit' | 'primary';
54
109
  edge?: 'start' | 'end' | false;
55
110
  };
56
- export type DividerProps = {};
111
+ export type DividerProps = {
112
+ orientation?: 'horizontal' | 'vertical';
113
+ };
57
114
  export type MenuListProps = {
58
115
  ref?: Ref<HTMLUListElement>;
59
116
  id?: string;
@@ -90,7 +147,6 @@ export type PopperProps = {
90
147
  clickAwayMouseEvent?: false | ClickAwayMouseEventHandler;
91
148
  flip?: boolean;
92
149
  focusTrap?: boolean;
93
- focusTrapEnabled?: boolean;
94
150
  onExited?: (node: HTMLElement | null) => void;
95
151
  onClickAway?: (event: MouseEvent | TouchEvent) => void;
96
152
  onDidShow?: () => void;
@@ -169,6 +225,7 @@ export type SwitchProps = {
169
225
  size?: 'small' | 'medium';
170
226
  };
171
227
  export type TextFieldProps = {
228
+ role?: string;
172
229
  autoComplete?: string;
173
230
  className?: string;
174
231
  color?: 'primary' | 'error';
@@ -184,11 +241,7 @@ export type TextFieldProps = {
184
241
  placeholder?: string;
185
242
  size?: 'small' | 'medium';
186
243
  slotProps?: {
187
- input?: {
188
- disabled?: boolean;
189
- endAdornment?: React.ReactNode;
190
- startAdornment?: React.ReactNode;
191
- };
244
+ input?: Partial<InputProps>;
192
245
  inputLabel?: {};
193
246
  htmlInput?: React.InputHTMLAttributes<HTMLInputElement>;
194
247
  };
@@ -196,6 +249,7 @@ export type TextFieldProps = {
196
249
  tabIndex?: number;
197
250
  type?: React.HTMLInputTypeAttribute;
198
251
  value?: string;
252
+ ref?: Ref<HTMLInputElement>;
199
253
  };
200
254
  export type TooltipProps = {
201
255
  children: React.ReactElement<any, any>;
@@ -1,4 +1,4 @@
1
- import type { GridSortModel, GridFilterModel, GridRowModel, GridPaginationModel } from '.';
1
+ import type { GridSortModel, GridFilterModel, GridRowModel, GridPaginationModel, GridRowId } from '.';
2
2
  export interface GridGetRowsParams {
3
3
  sortModel: GridSortModel;
4
4
  filterModel: GridFilterModel;
@@ -15,6 +15,11 @@ export interface GridGetRowsParams {
15
15
  */
16
16
  end: number;
17
17
  }
18
+ export interface GridUpdateRowParams {
19
+ rowId: GridRowId;
20
+ updatedRow: GridRowModel;
21
+ previousRow: GridRowModel;
22
+ }
18
23
  export interface GridGetRowsResponse {
19
24
  rows: GridRowModel[];
20
25
  /**
@@ -39,11 +44,11 @@ export interface GridDataSource {
39
44
  */
40
45
  getRows(params: GridGetRowsParams): Promise<GridGetRowsResponse>;
41
46
  /**
42
- * This method will be called when the user updates a row [Not yet implemented].
43
- * @param {GridRowModel} updatedRow The updated row.
47
+ * This method will be called when the user updates a row.
48
+ * @param {GridUpdateRowParams} params The parameters required to update the row.
44
49
  * @returns {Promise<any>} If resolved (synced on the backend), the grid will update the row and mutate the cache.
45
50
  */
46
- updateRow?(updatedRow: GridRowModel): Promise<any>;
51
+ updateRow?(params: GridUpdateRowParams): Promise<any>;
47
52
  }
48
53
  export interface GridDataSourceCache {
49
54
  /**
@@ -70,7 +70,7 @@ export interface GridIconSlotsComponent {
70
70
  densityComfortableIcon: React.JSXElementConstructor<any>;
71
71
  /**
72
72
  * Icon displayed on the open export button present in the toolbar by default.
73
- * @default GridSaveAltIcon
73
+ * @default GridDownloadIcon
74
74
  */
75
75
  exportIcon: React.JSXElementConstructor<any>;
76
76
  /**