@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
@@ -14,8 +14,9 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _utils = require("@mui/utils");
16
16
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
17
- var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
18
17
  var _forwardRef = require("@mui/x-internals/forwardRef");
18
+ var _cssVariables = require("../../constants/cssVariables");
19
+ var _context = require("../../utils/css/context");
19
20
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
20
21
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
21
22
  var _assert = require("../../utils/assert");
@@ -24,25 +25,23 @@ const _excluded = ["children", "className", "classes"];
24
25
  const gridPanelClasses = exports.gridPanelClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['panel', 'paper']);
25
26
  const GridPanelRoot = (0, _styles.styled)(_assert.NotRendered, {
26
27
  name: 'MuiDataGrid',
27
- slot: 'Panel'
28
- })(({
29
- theme
30
- }) => ({
31
- zIndex: theme.zIndex.modal
32
- }));
33
- const GridPaperRoot = (0, _styles.styled)(_Paper.default, {
28
+ slot: 'panel'
29
+ })({
30
+ zIndex: _cssVariables.vars.zIndex.panel
31
+ });
32
+ const GridPanelContent = (0, _styles.styled)('div', {
34
33
  name: 'MuiDataGrid',
35
- slot: 'Paper'
36
- })(({
37
- theme
38
- }) => ({
39
- backgroundColor: (theme.vars || theme).palette.background.paper,
34
+ slot: 'panelContent'
35
+ })({
36
+ backgroundColor: _cssVariables.vars.colors.background.overlay,
37
+ borderRadius: _cssVariables.vars.radius.base,
38
+ boxShadow: _cssVariables.vars.shadows.overlay,
40
39
  minWidth: 300,
41
40
  maxHeight: 450,
42
41
  display: 'flex',
43
- maxWidth: `calc(100vw - ${theme.spacing(0.5)})`,
42
+ maxWidth: `calc(100vw - ${_cssVariables.vars.spacing(0.5)})`,
44
43
  overflow: 'auto'
45
- }));
44
+ });
46
45
  const GridPanel = exports.GridPanel = (0, _forwardRef.forwardRef)((props, ref) => {
47
46
  const {
48
47
  children,
@@ -53,6 +52,7 @@ const GridPanel = exports.GridPanel = (0, _forwardRef.forwardRef)((props, ref) =
53
52
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
54
53
  const classes = gridPanelClasses;
55
54
  const [isPlaced, setIsPlaced] = React.useState(false);
55
+ const variablesClass = (0, _context.useCSSVariablesClass)();
56
56
  const onDidShow = (0, _useEventCallback.default)(() => setIsPlaced(true));
57
57
  const onDidHide = (0, _useEventCallback.default)(() => setIsPlaced(false));
58
58
  const handleClickAway = (0, _useEventCallback.default)(() => {
@@ -77,7 +77,7 @@ const GridPanel = exports.GridPanel = (0, _forwardRef.forwardRef)((props, ref) =
77
77
  as: rootProps.slots.basePopper,
78
78
  ownerState: rootProps,
79
79
  placement: "bottom-start",
80
- className: (0, _clsx.default)(classes.panel, className),
80
+ className: (0, _clsx.default)(classes.panel, className, variablesClass),
81
81
  target: target,
82
82
  flip: true,
83
83
  onDidShow: onDidShow,
@@ -85,14 +85,12 @@ const GridPanel = exports.GridPanel = (0, _forwardRef.forwardRef)((props, ref) =
85
85
  onClickAway: handleClickAway,
86
86
  clickAwayMouseEvent: "onPointerUp",
87
87
  clickAwayTouchEvent: false,
88
- focusTrap: true,
89
- focusTrapEnabled: true
88
+ focusTrap: true
90
89
  }, other, rootProps.slotProps?.basePopper, {
91
90
  ref: ref,
92
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPaperRoot, {
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelContent, {
93
92
  className: classes.paper,
94
93
  ownerState: rootProps,
95
- elevation: 8,
96
94
  onKeyDown: handleKeyDown,
97
95
  children: isPlaced && children
98
96
  })
@@ -13,6 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _system = require("@mui/system");
15
15
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
+ var _cssVariables = require("../../constants/cssVariables");
16
17
  var _gridClasses = require("../../constants/gridClasses");
17
18
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
@@ -28,19 +29,16 @@ const useUtilityClasses = ownerState => {
28
29
  };
29
30
  const GridPanelContentRoot = (0, _system.styled)('div', {
30
31
  name: 'MuiDataGrid',
31
- slot: 'PanelContent',
32
- overridesResolver: (props, styles) => styles.panelContent
33
- })(({
34
- theme
35
- }) => ({
32
+ slot: 'PanelContent'
33
+ })({
36
34
  display: 'flex',
37
35
  flexDirection: 'column',
38
36
  overflow: 'auto',
39
37
  flex: '1 1',
40
38
  maxHeight: 400,
41
- padding: theme.spacing(2.5, 1.5, 2, 1),
42
- gap: theme.spacing(2.5)
43
- }));
39
+ padding: _cssVariables.vars.spacing(2.5, 1.5, 2, 1),
40
+ gap: _cssVariables.vars.spacing(2.5)
41
+ });
44
42
  function GridPanelContent(props) {
45
43
  const {
46
44
  className
@@ -13,6 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
+ var _cssVariables = require("../../constants/cssVariables");
16
17
  var _gridClasses = require("../../constants/gridClasses");
17
18
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
@@ -30,14 +31,12 @@ const GridPanelFooterRoot = (0, _styles.styled)('div', {
30
31
  name: 'MuiDataGrid',
31
32
  slot: 'PanelFooter',
32
33
  overridesResolver: (props, styles) => styles.panelFooter
33
- })(({
34
- theme
35
- }) => ({
36
- padding: theme.spacing(1),
34
+ })({
35
+ padding: _cssVariables.vars.spacing(1),
37
36
  display: 'flex',
38
37
  justifyContent: 'space-between',
39
- borderTop: `1px solid ${theme.palette.divider}`
40
- }));
38
+ borderTop: `1px solid ${_cssVariables.vars.colors.border.base}`
39
+ });
41
40
  function GridPanelFooter(props) {
42
41
  const {
43
42
  className
@@ -13,6 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _system = require("@mui/system");
15
15
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
+ var _cssVariables = require("../../constants/cssVariables");
16
17
  var _gridClasses = require("../../constants/gridClasses");
17
18
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
@@ -30,11 +31,9 @@ const GridPanelHeaderRoot = (0, _system.styled)('div', {
30
31
  name: 'MuiDataGrid',
31
32
  slot: 'PanelHeader',
32
33
  overridesResolver: (props, styles) => styles.panelHeader
33
- })(({
34
- theme
35
- }) => ({
36
- padding: theme.spacing(1)
37
- }));
34
+ })({
35
+ padding: _cssVariables.vars.spacing(1)
36
+ });
38
37
  function GridPanelHeader(props) {
39
38
  const {
40
39
  className
@@ -11,10 +11,11 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var React = _react;
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _clsx = _interopRequireDefault(require("clsx"));
14
15
  var _utils = require("@mui/utils");
15
16
  var _styles = require("@mui/material/styles");
16
- var _clsx = _interopRequireDefault(require("clsx"));
17
17
  var _forwardRef = require("@mui/x-internals/forwardRef");
18
+ var _cssVariables = require("../../../constants/cssVariables");
18
19
  var _gridColumnsSelector = require("../../../hooks/features/columns/gridColumnsSelector");
19
20
  var _gridFilterSelector = require("../../../hooks/features/filter/gridFilterSelector");
20
21
  var _useGridSelector = require("../../../hooks/utils/useGridSelector");
@@ -44,19 +45,19 @@ const GridFilterFormRoot = (0, _styles.styled)('div', {
44
45
  name: 'MuiDataGrid',
45
46
  slot: 'FilterForm',
46
47
  overridesResolver: (props, styles) => styles.filterForm
47
- })(({
48
- theme
49
- }) => ({
48
+ })({
50
49
  display: 'flex',
51
- gap: theme.spacing(1.5)
52
- }));
50
+ gap: _cssVariables.vars.spacing(1.5)
51
+ });
53
52
  const FilterFormDeleteIcon = (0, _styles.styled)('div', {
54
53
  name: 'MuiDataGrid',
55
54
  slot: 'FilterFormDeleteIcon',
56
55
  overridesResolver: (_, styles) => styles.filterFormDeleteIcon
57
56
  })({
58
57
  flexShrink: 0,
59
- justifyContent: 'center'
58
+ display: 'flex',
59
+ justifyContent: 'center',
60
+ alignItems: 'center'
60
61
  });
61
62
  const FilterFormLogicOperatorInput = (0, _styles.styled)('div', {
62
63
  name: 'MuiDataGrid',
@@ -134,7 +135,6 @@ const GridFilterForm = exports.GridFilterForm = (0, _forwardRef.forwardRef)(func
134
135
  const filterSelectorRef = React.useRef(null);
135
136
  const multiFilterOperator = filterModel.logicOperator ?? _gridFilterItem.GridLogicOperator.And;
136
137
  const hasLogicOperatorColumn = hasMultipleFilters && logicOperators.length > 0;
137
- const baseFormControlProps = rootProps.slotProps?.baseFormControl || {};
138
138
  const baseSelectProps = rootProps.slotProps?.baseSelect || {};
139
139
  const isBaseSelectNative = baseSelectProps.native ?? false;
140
140
  const baseSelectOptionProps = rootProps.slotProps?.baseSelectOption || {};
@@ -263,10 +263,8 @@ const GridFilterForm = exports.GridFilterForm = (0, _forwardRef.forwardRef)(func
263
263
  ownerState: rootProps
264
264
  }, other, {
265
265
  ref: ref,
266
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FilterFormDeleteIcon, (0, _extends2.default)({
267
- as: rootProps.slots.baseFormControl
268
- }, baseFormControlProps, deleteIconProps, {
269
- className: (0, _clsx.default)(classes.deleteIcon, baseFormControlProps.className, deleteIconProps.className),
266
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FilterFormDeleteIcon, (0, _extends2.default)({}, deleteIconProps, {
267
+ className: (0, _clsx.default)(classes.deleteIcon, deleteIconProps.className),
270
268
  ownerState: rootProps,
271
269
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
272
270
  "aria-label": apiRef.current.getLocaleText('filterPanelDeleteIconLabel'),
@@ -329,9 +327,8 @@ const GridFilterForm = exports.GridFilterForm = (0, _forwardRef.forwardRef)(func
329
327
  value: col.field
330
328
  }), getColumnLabel(col)))
331
329
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(FilterFormOperatorInput, (0, _extends2.default)({
332
- variant: "outlined",
333
- size: "small",
334
- as: rootProps.slots.baseSelect
330
+ as: rootProps.slots.baseSelect,
331
+ size: "small"
335
332
  }, operatorInputProps, {
336
333
  className: (0, _clsx.default)(classes.operatorInput, operatorInputProps.className),
337
334
  ownerState: rootProps,
@@ -349,11 +346,7 @@ const GridFilterForm = exports.GridFilterForm = (0, _forwardRef.forwardRef)(func
349
346
  key: operator.value,
350
347
  value: operator.value
351
348
  }), operator.label || apiRef.current.getLocaleText(`filterOperator${(0, _utils.unstable_capitalize)(operator.value)}`)))
352
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(FilterFormValueInput, (0, _extends2.default)({
353
- variant: "outlined",
354
- size: "small",
355
- as: rootProps.slots.baseFormControl
356
- }, valueInputPropsOther, {
349
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(FilterFormValueInput, (0, _extends2.default)({}, valueInputPropsOther, {
357
350
  className: (0, _clsx.default)(classes.valueInput, valueInputPropsOther.className),
358
351
  ownerState: rootProps,
359
352
  children: currentOperator?.InputComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(currentOperator.InputComponent, (0, _extends2.default)({
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import { AutocompleteProps } from '@mui/material/Autocomplete';
2
+ import { AutocompleteProps } from "../../../models/gridBaseSlots.js";
3
3
  import { GridFilterInputValueProps } from "../../../models/gridFilterInputComponent.js";
4
4
  import type { ValueOptions } from '../../../models/colDef/gridColDef';
5
- export type GridFilterInputMultipleSingleSelectProps = GridFilterInputValueProps<Omit<AutocompleteProps<ValueOptions, true, false, true>, 'options' | 'renderInput'>> & {
5
+ export type GridFilterInputMultipleSingleSelectProps = GridFilterInputValueProps<Omit<AutocompleteProps<ValueOptions, true, false, true>, 'options'>> & {
6
6
  type?: 'singleSelect';
7
7
  };
8
8
  declare function GridFilterInputMultipleSingleSelect(props: GridFilterInputMultipleSingleSelectProps): React.JSX.Element;
@@ -10,15 +10,11 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _Autocomplete = _interopRequireWildcard(require("@mui/material/Autocomplete"));
14
13
  var _utils = require("@mui/utils");
15
- var _filterPanelUtils = require("./filterPanelUtils");
16
14
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
15
+ var _filterPanelUtils = require("./filterPanelUtils");
17
16
  var _jsxRuntime = require("react/jsx-runtime");
18
- const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "slotProps"],
19
- _excluded2 = ["key"],
20
- _excluded3 = ["inputProps", "InputProps", "InputLabelProps"];
21
- const filter = (0, _Autocomplete.createFilterOptions)();
17
+ const _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "slotProps"];
22
18
  function GridFilterInputMultipleSingleSelect(props) {
23
19
  const {
24
20
  item,
@@ -64,47 +60,22 @@ function GridFilterInputMultipleSingleSelect(props) {
64
60
  value: value.map(getOptionValue)
65
61
  }));
66
62
  }, [applyValue, item, getOptionValue]);
67
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Autocomplete.default, (0, _extends2.default)({
63
+ const BaseAutocomplete = rootProps.slots.baseAutocomplete;
64
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseAutocomplete, (0, _extends2.default)({
68
65
  multiple: true,
69
66
  options: resolvedValueOptions,
70
67
  isOptionEqualToValue: isOptionEqualToValue,
71
- filterOptions: filter,
72
68
  id: id,
73
69
  value: filteredValues,
74
70
  onChange: handleChange,
75
71
  getOptionLabel: getOptionLabel,
76
- renderTags: (value, getTagProps) => value.map((option, index) => {
77
- const _getTagProps = getTagProps({
78
- index
79
- }),
80
- {
81
- key
82
- } = _getTagProps,
83
- tagProps = (0, _objectWithoutPropertiesLoose2.default)(_getTagProps, _excluded2);
84
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseChip, (0, _extends2.default)({
85
- variant: "outlined",
86
- size: "small",
87
- label: getOptionLabel(option)
88
- }, tagProps), key);
89
- }),
90
- renderInput: params => {
91
- const {
92
- inputProps,
93
- InputProps,
94
- InputLabelProps
95
- } = params,
96
- rest = (0, _objectWithoutPropertiesLoose2.default)(params, _excluded3);
97
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({}, rest, {
98
- label: apiRef.current.getLocaleText('filterPanelInputLabel'),
99
- placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
100
- inputRef: focusElementRef,
72
+ label: apiRef.current.getLocaleText('filterPanelInputLabel'),
73
+ placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
74
+ slotProps: {
75
+ textField: {
101
76
  type: type || 'text',
102
- slotProps: {
103
- input: InputProps,
104
- inputLabel: InputLabelProps,
105
- htmlInput: inputProps
106
- }
107
- }, rootProps.slotProps?.baseTextField));
77
+ inputRef: focusElementRef
78
+ }
108
79
  }
109
80
  }, other, slotProps?.root));
110
81
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { AutocompleteProps } from '@mui/material/Autocomplete';
2
+ import { AutocompleteProps } from "../../../models/gridBaseSlots.js";
3
3
  import { GridFilterInputValueProps } from "../../../models/gridFilterInputComponent.js";
4
- export type GridFilterInputMultipleValueProps = GridFilterInputValueProps<Omit<AutocompleteProps<string, true, false, true>, 'options' | 'renderInput'>> & {
4
+ export type GridFilterInputMultipleValueProps = GridFilterInputValueProps<Omit<AutocompleteProps<string, true, false, true>, 'options'>> & {
5
5
  type?: 'text' | 'number' | 'date' | 'datetime-local';
6
6
  };
7
7
  declare function GridFilterInputMultipleValue(props: GridFilterInputMultipleValueProps): React.JSX.Element;
@@ -1,21 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.GridFilterInputMultipleValue = GridFilterInputMultipleValue;
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var React = _interopRequireWildcard(require("react"));
12
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _Autocomplete = _interopRequireDefault(require("@mui/material/Autocomplete"));
14
12
  var _utils = require("@mui/utils");
15
13
  var _useGridRootProps = require("../../../hooks/utils/useGridRootProps");
16
14
  var _jsxRuntime = require("react/jsx-runtime");
17
- const _excluded = ["key"],
18
- _excluded2 = ["inputProps", "InputProps", "InputLabelProps"];
19
15
  function GridFilterInputMultipleValue(props) {
20
16
  const {
21
17
  item,
@@ -25,8 +21,9 @@ function GridFilterInputMultipleValue(props) {
25
21
  focusElementRef,
26
22
  slotProps
27
23
  } = props;
28
- const [filterValueState, setFilterValueState] = React.useState(item.value || []);
29
24
  const id = (0, _utils.unstable_useId)();
25
+ const [options, setOptions] = React.useState([]);
26
+ const [filterValueState, setFilterValueState] = React.useState(item.value || []);
30
27
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
31
28
  React.useEffect(() => {
32
29
  const itemValue = item.value ?? [];
@@ -38,51 +35,29 @@ function GridFilterInputMultipleValue(props) {
38
35
  value: [...value.map(filterItemValue => type === 'number' ? Number(filterItemValue) : filterItemValue)]
39
36
  }));
40
37
  }, [applyValue, item, type]);
41
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Autocomplete.default, (0, _extends2.default)({
38
+ const handleInputChange = React.useCallback((event, value) => {
39
+ if (value === '') {
40
+ setOptions([]);
41
+ } else {
42
+ setOptions([value]);
43
+ }
44
+ }, [setOptions]);
45
+ const BaseAutocomplete = rootProps.slots.baseAutocomplete;
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseAutocomplete, (0, _extends2.default)({
42
47
  multiple: true,
43
48
  freeSolo: true,
44
- options: [],
45
- filterOptions: (options, params) => {
46
- const {
47
- inputValue
48
- } = params;
49
- return inputValue == null || inputValue === '' ? [] : [inputValue];
50
- },
49
+ options: options,
51
50
  id: id,
52
51
  value: filterValueState,
53
52
  onChange: handleChange,
54
- renderTags: (value, getTagProps) => value.map((option, index) => {
55
- const _getTagProps = getTagProps({
56
- index
57
- }),
58
- {
59
- key
60
- } = _getTagProps,
61
- tagProps = (0, _objectWithoutPropertiesLoose2.default)(_getTagProps, _excluded);
62
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseChip, (0, _extends2.default)({
63
- variant: "outlined",
64
- size: "small",
65
- label: option
66
- }, tagProps), key);
67
- }),
68
- renderInput: params => {
69
- const {
70
- inputProps,
71
- InputProps,
72
- InputLabelProps
73
- } = params,
74
- rest = (0, _objectWithoutPropertiesLoose2.default)(params, _excluded2);
75
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({}, rest, {
76
- label: apiRef.current.getLocaleText('filterPanelInputLabel'),
77
- placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
78
- inputRef: focusElementRef,
53
+ onInputChange: handleInputChange,
54
+ label: apiRef.current.getLocaleText('filterPanelInputLabel'),
55
+ placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
56
+ slotProps: {
57
+ textField: {
79
58
  type: type || 'text',
80
- slotProps: {
81
- input: InputProps,
82
- inputLabel: InputLabelProps,
83
- htmlInput: inputProps
84
- }
85
- }, rootProps.slotProps?.baseTextField));
59
+ inputRef: focusElementRef
60
+ }
86
61
  }
87
62
  }, slotProps?.root));
88
63
  }
@@ -65,12 +65,9 @@ function GridFilterInputValue(props) {
65
65
  disabled: disabled,
66
66
  slotProps: (0, _extends2.default)({}, textFieldProps?.slotProps, {
67
67
  input: (0, _extends2.default)({
68
- endAdornment: applying ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
69
- position: "end",
70
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {
71
- fontSize: "small",
72
- color: "action"
73
- })
68
+ endAdornment: applying ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.loadIcon, {
69
+ fontSize: "small",
70
+ color: "action"
74
71
  }) : null
75
72
  }, textFieldProps?.slotProps?.input),
76
73
  htmlInput: (0, _extends2.default)({
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import type { GridFilterModel } from '../../models';
3
+ export type QuickFilterProps = {
4
+ children: React.ReactNode;
5
+ /**
6
+ * Function responsible for parsing text input in an array of independent values for quick filtering.
7
+ * @param {string} input The value entered by the user
8
+ * @returns {any[]} The array of value on which quick filter is applied
9
+ * @default (searchText: string) => searchText.split(' ').filter((word) => word !== '')
10
+ */
11
+ parser?: (input: string) => any[];
12
+ /**
13
+ * Function responsible for formatting values of quick filter in a string when the model is modified
14
+ * @param {any[]} values The new values passed to the quick filter model
15
+ * @returns {string} The string to display in the text field
16
+ * @default (values: string[]) => values.join(' ')
17
+ */
18
+ formatter?: (values: NonNullable<GridFilterModel['quickFilterValues']>) => string;
19
+ /**
20
+ * The debounce time in milliseconds.
21
+ * @default 150
22
+ */
23
+ debounceMs?: number;
24
+ };
25
+ /**
26
+ * The top level Quick Filter component that provides context to child components.
27
+ * It does not render any DOM elements.
28
+ *
29
+ * Demos:
30
+ *
31
+ * - [Quick Filter](https://mui.com/x/react-data-grid/components/quick-filter/)
32
+ *
33
+ * API:
34
+ *
35
+ * - [QuickFilter API](https://mui.com/x/api/data-grid/quick-filter/)
36
+ */
37
+ declare function QuickFilter(props: QuickFilterProps): React.JSX.Element;
38
+ declare namespace QuickFilter {
39
+ var propTypes: any;
40
+ }
41
+ export { QuickFilter };
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.QuickFilter = QuickFilter;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _utils = require("@mui/utils");
12
+ var _QuickFilterContext = require("./QuickFilterContext");
13
+ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
14
+ var _useGridSelector = require("../../hooks/utils/useGridSelector");
15
+ var _filter = require("../../hooks/features/filter");
16
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
+ var _utils2 = require("../../utils/utils");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const DEFAULT_PARSER = searchText => searchText.split(' ').filter(word => word !== '');
20
+ const DEFAULT_FORMATTER = values => values.join(' ');
21
+
22
+ /**
23
+ * The top level Quick Filter component that provides context to child components.
24
+ * It does not render any DOM elements.
25
+ *
26
+ * Demos:
27
+ *
28
+ * - [Quick Filter](https://mui.com/x/react-data-grid/components/quick-filter/)
29
+ *
30
+ * API:
31
+ *
32
+ * - [QuickFilter API](https://mui.com/x/api/data-grid/quick-filter/)
33
+ */
34
+ function QuickFilter(props) {
35
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
36
+ const {
37
+ parser = DEFAULT_PARSER,
38
+ formatter = DEFAULT_FORMATTER,
39
+ debounceMs = rootProps.filterDebounceMs,
40
+ children
41
+ } = props;
42
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
43
+ const controlRef = React.useRef(null);
44
+ const triggerRef = React.useRef(null);
45
+ const quickFilterValues = (0, _useGridSelector.useGridSelector)(apiRef, _filter.gridQuickFilterValuesSelector);
46
+ const [value, setValue] = React.useState(formatter(quickFilterValues ?? []));
47
+ const prevQuickFilterValuesRef = React.useRef(quickFilterValues);
48
+ React.useEffect(() => {
49
+ if (!(0, _utils2.isDeepEqual)(prevQuickFilterValuesRef.current, quickFilterValues)) {
50
+ // The model of quick filter value has been updated
51
+ prevQuickFilterValuesRef.current = quickFilterValues;
52
+
53
+ // Update the input value if needed to match the new model
54
+ setValue(prevSearchValue => (0, _utils2.isDeepEqual)(parser(prevSearchValue), quickFilterValues) ? prevSearchValue : formatter(quickFilterValues ?? []));
55
+ }
56
+ }, [quickFilterValues, formatter, parser]);
57
+ const setQuickFilterValueDebounced = React.useMemo(() => (0, _utils.unstable_debounce)(newValue => {
58
+ apiRef.current.setQuickFilterValues(parser(newValue));
59
+ }, debounceMs), [apiRef, debounceMs, parser]);
60
+ React.useEffect(() => setQuickFilterValueDebounced.clear, [setQuickFilterValueDebounced]);
61
+ const handleValueChange = React.useCallback(event => {
62
+ const newValue = event.target.value;
63
+ setValue(newValue);
64
+ setQuickFilterValueDebounced(newValue);
65
+ }, [setQuickFilterValueDebounced]);
66
+ const handleClear = React.useCallback(() => {
67
+ setValue('');
68
+ apiRef.current.setQuickFilterValues([]);
69
+ controlRef.current?.focus();
70
+ }, [apiRef, controlRef]);
71
+ const contextValue = React.useMemo(() => ({
72
+ controlRef,
73
+ triggerRef,
74
+ state: {
75
+ value
76
+ },
77
+ clearValue: handleClear,
78
+ onValueChange: handleValueChange
79
+ }), [value, handleValueChange, handleClear]);
80
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_QuickFilterContext.QuickFilterContext.Provider, {
81
+ value: contextValue,
82
+ children: children
83
+ });
84
+ }
85
+ process.env.NODE_ENV !== "production" ? QuickFilter.propTypes = {
86
+ // ----------------------------- Warning --------------------------------
87
+ // | These PropTypes are generated from the TypeScript type definitions |
88
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
89
+ // ----------------------------------------------------------------------
90
+ children: _propTypes.default.node,
91
+ /**
92
+ * The debounce time in milliseconds.
93
+ * @default 150
94
+ */
95
+ debounceMs: _propTypes.default.number,
96
+ /**
97
+ * Function responsible for formatting values of quick filter in a string when the model is modified
98
+ * @param {any[]} values The new values passed to the quick filter model
99
+ * @returns {string} The string to display in the text field
100
+ * @default (values: string[]) => values.join(' ')
101
+ */
102
+ formatter: _propTypes.default.func,
103
+ /**
104
+ * Function responsible for parsing text input in an array of independent values for quick filtering.
105
+ * @param {string} input The value entered by the user
106
+ * @returns {any[]} The array of value on which quick filter is applied
107
+ * @default (searchText: string) => searchText.split(' ').filter((word) => word !== '')
108
+ */
109
+ parser: _propTypes.default.func
110
+ } : void 0;
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
3
+ import type { GridSlotProps } from '../../models';
4
+ import { QuickFilterState } from "./QuickFilterContext.js";
5
+ export type QuickFilterClearProps = Omit<GridSlotProps['baseIconButton'], 'className'> & {
6
+ /**
7
+ * A function to customize rendering of the component.
8
+ */
9
+ render?: RenderProp<GridSlotProps['baseIconButton'], QuickFilterState>;
10
+ /**
11
+ * Override or extend the styles applied to the component.
12
+ */
13
+ className?: string | ((state: QuickFilterState) => string);
14
+ };
15
+ /**
16
+ * A button that resets the filter value.
17
+ * It renders the `baseIconButton` slot.
18
+ *
19
+ * Demos:
20
+ *
21
+ * - [Quick Filter](https://mui.com/x/react-data-grid/components/quick-filter/)
22
+ *
23
+ * API:
24
+ *
25
+ * - [QuickFilterClear API](https://mui.com/x/api/data-grid/quick-filter-clear/)
26
+ */
27
+ declare const QuickFilterClear: React.ForwardRefExoticComponent<QuickFilterClearProps> | React.ForwardRefExoticComponent<Omit<QuickFilterClearProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
28
+ export { QuickFilterClear };