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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/CHANGELOG.md +430 -0
  2. package/DataGrid/DataGrid.js +31 -22
  3. package/DataGrid/useDataGridProps.js +1 -1
  4. package/colDef/gridActionsColDef.js +1 -1
  5. package/colDef/gridBooleanColDef.js +1 -1
  6. package/colDef/gridCheckboxSelectionColDef.js +2 -4
  7. package/components/GridFooter.js +1 -1
  8. package/components/GridHeader.js +1 -1
  9. package/components/GridPagination.js +5 -6
  10. package/components/GridRowCount.js +4 -5
  11. package/components/GridScrollArea.js +4 -3
  12. package/components/GridSelectedRowCount.js +5 -6
  13. package/components/GridShadowScrollArea.d.ts +8 -0
  14. package/components/GridShadowScrollArea.js +82 -0
  15. package/components/cell/GridEditInputCell.js +2 -3
  16. package/components/columnSelection/GridHeaderCheckbox.js +51 -17
  17. package/components/columnsManagement/GridColumnsManagement.js +60 -61
  18. package/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  19. package/components/columnsPanel/ColumnsPanelTrigger.js +209 -0
  20. package/components/columnsPanel/index.d.ts +1 -0
  21. package/components/columnsPanel/index.js +16 -0
  22. package/components/containers/GridOverlay.js +6 -8
  23. package/components/containers/GridRoot.js +4 -2
  24. package/components/containers/GridRootStyles.d.ts +1 -2
  25. package/components/containers/GridRootStyles.js +77 -100
  26. package/components/containers/GridToolbarContainer.js +5 -6
  27. package/components/export/ExportCsv.d.ts +30 -0
  28. package/components/export/ExportCsv.js +196 -0
  29. package/components/export/ExportPrint.d.ts +30 -0
  30. package/components/export/ExportPrint.js +196 -0
  31. package/components/export/index.d.ts +2 -0
  32. package/components/export/index.js +27 -0
  33. package/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  34. package/components/filterPanel/FilterPanelTrigger.js +212 -0
  35. package/components/filterPanel/index.d.ts +1 -0
  36. package/components/filterPanel/index.js +16 -0
  37. package/components/index.d.ts +6 -1
  38. package/components/index.js +60 -0
  39. package/components/menu/GridMenu.js +7 -6
  40. package/components/menu/columnMenu/GridColumnHeaderMenu.js +4 -3
  41. package/components/panel/GridPanel.js +18 -20
  42. package/components/panel/GridPanelContent.js +6 -8
  43. package/components/panel/GridPanelFooter.js +5 -6
  44. package/components/panel/GridPanelHeader.js +4 -5
  45. package/components/panel/filterPanel/GridFilterForm.js +13 -20
  46. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  47. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  48. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  49. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +20 -45
  50. package/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  51. package/components/quickFilter/QuickFilter.d.ts +41 -0
  52. package/components/quickFilter/QuickFilter.js +110 -0
  53. package/components/quickFilter/QuickFilterClear.d.ts +28 -0
  54. package/components/quickFilter/QuickFilterClear.js +161 -0
  55. package/components/quickFilter/QuickFilterContext.d.ts +13 -0
  56. package/components/quickFilter/QuickFilterContext.js +17 -0
  57. package/components/quickFilter/QuickFilterControl.d.ts +28 -0
  58. package/components/quickFilter/QuickFilterControl.js +104 -0
  59. package/components/quickFilter/index.d.ts +3 -0
  60. package/components/quickFilter/index.js +38 -0
  61. package/components/toolbar/GridToolbar.d.ts +1 -1
  62. package/components/toolbar/GridToolbar.js +2 -2
  63. package/components/toolbar/GridToolbarFilterButton.js +5 -6
  64. package/components/toolbar/GridToolbarQuickFilter.js +57 -97
  65. package/components/toolbarV8/GridToolbar.d.ts +11 -0
  66. package/components/toolbarV8/GridToolbar.js +142 -0
  67. package/components/toolbarV8/Toolbar.d.ts +32 -0
  68. package/components/toolbarV8/Toolbar.js +132 -0
  69. package/components/toolbarV8/ToolbarButton.d.ts +23 -0
  70. package/components/toolbarV8/ToolbarButton.js +179 -0
  71. package/components/toolbarV8/ToolbarContext.d.ts +9 -0
  72. package/components/toolbarV8/ToolbarContext.js +17 -0
  73. package/components/toolbarV8/index.d.ts +2 -0
  74. package/components/toolbarV8/index.js +27 -0
  75. package/components/virtualization/GridVirtualScrollbar.js +15 -6
  76. package/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  77. package/constants/cssVariables.d.ts +294 -0
  78. package/constants/cssVariables.js +168 -0
  79. package/constants/dataGridPropsDefaultValues.js +1 -0
  80. package/constants/defaultGridSlotsComponents.js +2 -1
  81. package/constants/gridClasses.d.ts +17 -0
  82. package/constants/gridClasses.js +1 -1
  83. package/context/GridContextProvider.js +4 -1
  84. package/esm/DataGrid/DataGrid.js +31 -22
  85. package/esm/DataGrid/useDataGridProps.js +1 -1
  86. package/esm/colDef/gridActionsColDef.js +1 -1
  87. package/esm/colDef/gridBooleanColDef.js +1 -1
  88. package/esm/colDef/gridCheckboxSelectionColDef.js +2 -4
  89. package/esm/components/GridFooter.js +2 -2
  90. package/esm/components/GridHeader.js +1 -1
  91. package/esm/components/GridPagination.js +5 -6
  92. package/esm/components/GridRowCount.js +4 -5
  93. package/esm/components/GridScrollArea.js +2 -1
  94. package/esm/components/GridSelectedRowCount.js +5 -6
  95. package/esm/components/GridShadowScrollArea.d.ts +8 -0
  96. package/esm/components/GridShadowScrollArea.js +74 -0
  97. package/esm/components/cell/GridEditInputCell.js +2 -3
  98. package/esm/components/columnSelection/GridHeaderCheckbox.js +51 -17
  99. package/esm/components/columnsManagement/GridColumnsManagement.js +61 -62
  100. package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  101. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  102. package/esm/components/columnsPanel/index.d.ts +1 -0
  103. package/esm/components/columnsPanel/index.js +1 -0
  104. package/esm/components/containers/GridOverlay.js +6 -8
  105. package/esm/components/containers/GridRoot.js +4 -2
  106. package/esm/components/containers/GridRootStyles.d.ts +1 -2
  107. package/esm/components/containers/GridRootStyles.js +78 -101
  108. package/esm/components/containers/GridToolbarContainer.js +5 -6
  109. package/esm/components/export/ExportCsv.d.ts +30 -0
  110. package/esm/components/export/ExportCsv.js +189 -0
  111. package/esm/components/export/ExportPrint.d.ts +30 -0
  112. package/esm/components/export/ExportPrint.js +189 -0
  113. package/esm/components/export/index.d.ts +2 -0
  114. package/esm/components/export/index.js +2 -0
  115. package/esm/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  116. package/esm/components/filterPanel/FilterPanelTrigger.js +205 -0
  117. package/esm/components/filterPanel/index.d.ts +1 -0
  118. package/esm/components/filterPanel/index.js +1 -0
  119. package/esm/components/index.d.ts +6 -1
  120. package/esm/components/index.js +6 -1
  121. package/esm/components/menu/GridMenu.js +7 -6
  122. package/esm/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  123. package/esm/components/panel/GridPanel.js +18 -20
  124. package/esm/components/panel/GridPanelContent.js +6 -8
  125. package/esm/components/panel/GridPanelFooter.js +5 -6
  126. package/esm/components/panel/GridPanelHeader.js +4 -5
  127. package/esm/components/panel/filterPanel/GridFilterForm.js +13 -20
  128. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  129. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  130. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  131. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  132. package/esm/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  133. package/esm/components/quickFilter/QuickFilter.d.ts +41 -0
  134. package/esm/components/quickFilter/QuickFilter.js +103 -0
  135. package/esm/components/quickFilter/QuickFilterClear.d.ts +28 -0
  136. package/esm/components/quickFilter/QuickFilterClear.js +154 -0
  137. package/esm/components/quickFilter/QuickFilterContext.d.ts +13 -0
  138. package/esm/components/quickFilter/QuickFilterContext.js +9 -0
  139. package/esm/components/quickFilter/QuickFilterControl.d.ts +28 -0
  140. package/esm/components/quickFilter/QuickFilterControl.js +97 -0
  141. package/esm/components/quickFilter/index.d.ts +3 -0
  142. package/esm/components/quickFilter/index.js +3 -0
  143. package/esm/components/toolbar/GridToolbar.d.ts +1 -1
  144. package/esm/components/toolbar/GridToolbar.js +2 -2
  145. package/esm/components/toolbar/GridToolbarFilterButton.js +5 -6
  146. package/esm/components/toolbar/GridToolbarQuickFilter.js +59 -97
  147. package/esm/components/toolbarV8/GridToolbar.d.ts +11 -0
  148. package/esm/components/toolbarV8/GridToolbar.js +135 -0
  149. package/esm/components/toolbarV8/Toolbar.d.ts +32 -0
  150. package/esm/components/toolbarV8/Toolbar.js +125 -0
  151. package/esm/components/toolbarV8/ToolbarButton.d.ts +23 -0
  152. package/esm/components/toolbarV8/ToolbarButton.js +172 -0
  153. package/esm/components/toolbarV8/ToolbarContext.d.ts +9 -0
  154. package/esm/components/toolbarV8/ToolbarContext.js +9 -0
  155. package/esm/components/toolbarV8/index.d.ts +2 -0
  156. package/esm/components/toolbarV8/index.js +2 -0
  157. package/esm/components/virtualization/GridVirtualScrollbar.js +10 -2
  158. package/esm/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  159. package/esm/constants/cssVariables.d.ts +294 -0
  160. package/esm/constants/cssVariables.js +161 -0
  161. package/esm/constants/dataGridPropsDefaultValues.js +1 -0
  162. package/esm/constants/defaultGridSlotsComponents.js +2 -1
  163. package/esm/constants/gridClasses.d.ts +17 -0
  164. package/esm/constants/gridClasses.js +1 -1
  165. package/esm/context/GridContextProvider.js +4 -1
  166. package/esm/hooks/features/clipboard/useGridClipboard.js +3 -2
  167. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  168. package/esm/hooks/features/columnResize/useGridColumnResize.js +2 -1
  169. package/esm/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  170. package/esm/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  171. package/esm/hooks/features/columns/gridColumnsSelector.js +8 -0
  172. package/esm/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  173. package/esm/hooks/features/columns/gridColumnsUtils.js +6 -3
  174. package/esm/hooks/features/columns/index.d.ts +1 -1
  175. package/esm/hooks/features/columns/index.js +1 -1
  176. package/esm/hooks/features/columns/useGridColumns.js +4 -2
  177. package/esm/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  178. package/esm/hooks/features/dataSource/gridDataSourceError.js +32 -0
  179. package/esm/hooks/features/dataSource/index.d.ts +2 -0
  180. package/esm/hooks/features/dataSource/index.js +2 -0
  181. package/esm/hooks/features/dataSource/models.d.ts +1 -1
  182. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  183. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  184. package/esm/hooks/features/dimensions/useGridDimensions.js +11 -10
  185. package/esm/hooks/features/editing/useGridCellEditing.js +2 -1
  186. package/esm/hooks/features/editing/useGridRowEditing.js +2 -1
  187. package/esm/hooks/features/export/utils.js +4 -2
  188. package/esm/hooks/features/focus/useGridFocus.js +3 -2
  189. package/esm/hooks/features/index.d.ts +1 -1
  190. package/esm/hooks/features/index.js +1 -1
  191. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  192. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  193. package/esm/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  194. package/esm/hooks/features/rowSelection/utils.d.ts +2 -2
  195. package/esm/hooks/features/rowSelection/utils.js +11 -11
  196. package/esm/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  197. package/esm/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  198. package/esm/hooks/features/rows/gridRowsUtils.js +8 -0
  199. package/esm/hooks/features/rows/useGridParamsApi.js +2 -8
  200. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  201. package/esm/hooks/features/rows/useGridRows.d.ts +2 -2
  202. package/esm/hooks/features/rows/useGridRows.js +7 -7
  203. package/esm/hooks/features/rows/useGridRowsMeta.js +8 -0
  204. package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  205. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +5 -11
  206. package/esm/hooks/utils/index.d.ts +2 -1
  207. package/esm/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  208. package/esm/hooks/utils/useGridComponentRenderer.js +36 -0
  209. package/esm/hooks/utils/useGridSelector.js +4 -1
  210. package/esm/hooks/utils/useIsSSR.js +4 -1
  211. package/esm/index.js +1 -1
  212. package/esm/internals/demo/TailwindDemoContainer.d.ts +11 -0
  213. package/esm/internals/demo/TailwindDemoContainer.js +55 -0
  214. package/esm/internals/demo/index.d.ts +1 -0
  215. package/esm/internals/demo/index.js +1 -0
  216. package/esm/internals/index.d.ts +6 -1
  217. package/esm/internals/index.js +5 -1
  218. package/esm/internals/utils/propValidation.js +1 -1
  219. package/esm/locales/bnBD.d.ts +2 -0
  220. package/esm/locales/bnBD.js +167 -0
  221. package/esm/locales/deDE.js +3 -5
  222. package/esm/locales/huHU.js +10 -13
  223. package/esm/locales/index.d.ts +1 -0
  224. package/esm/locales/index.js +1 -0
  225. package/esm/locales/ruRU.js +17 -21
  226. package/esm/material/icons/index.d.ts +3 -3
  227. package/esm/material/icons/index.js +6 -6
  228. package/esm/material/index.d.ts +1 -0
  229. package/esm/material/index.js +167 -52
  230. package/esm/material/variables.d.ts +5 -0
  231. package/esm/material/variables.js +89 -0
  232. package/esm/models/api/gridRowSelectionApi.d.ts +4 -2
  233. package/esm/models/api/gridSortApi.d.ts +1 -1
  234. package/esm/models/configuration/gridConfiguration.d.ts +7 -1
  235. package/esm/models/gridBaseSlots.d.ts +61 -7
  236. package/esm/models/gridDataSource.d.ts +9 -4
  237. package/esm/models/gridIconSlotsComponent.d.ts +1 -1
  238. package/esm/models/gridRowSelectionManager.d.ts +9 -0
  239. package/esm/models/gridRowSelectionManager.js +36 -0
  240. package/esm/models/gridRowSelectionModel.d.ts +4 -2
  241. package/esm/models/gridSlotsComponent.d.ts +7 -28
  242. package/esm/models/gridSlotsComponentsProps.d.ts +3 -11
  243. package/esm/models/gridSortModel.d.ts +1 -1
  244. package/esm/models/index.d.ts +2 -1
  245. package/esm/models/index.js +2 -3
  246. package/esm/models/props/DataGridProps.d.ts +22 -17
  247. package/esm/utils/css/context.d.ts +14 -0
  248. package/esm/utils/css/context.js +54 -0
  249. package/esm/utils/index.d.ts +2 -1
  250. package/esm/utils/index.js +1 -1
  251. package/hooks/features/clipboard/useGridClipboard.js +3 -2
  252. package/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  253. package/hooks/features/columnResize/useGridColumnResize.js +28 -27
  254. package/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  255. package/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  256. package/hooks/features/columns/gridColumnsSelector.js +9 -1
  257. package/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  258. package/hooks/features/columns/gridColumnsUtils.js +6 -3
  259. package/hooks/features/columns/index.d.ts +1 -1
  260. package/hooks/features/columns/index.js +94 -10
  261. package/hooks/features/columns/useGridColumns.js +4 -2
  262. package/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  263. package/hooks/features/dataSource/gridDataSourceError.js +40 -0
  264. package/hooks/features/dataSource/index.d.ts +2 -0
  265. package/hooks/features/dataSource/index.js +25 -0
  266. package/hooks/features/dataSource/models.d.ts +1 -1
  267. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  268. package/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  269. package/hooks/features/dimensions/useGridDimensions.js +19 -18
  270. package/hooks/features/editing/useGridCellEditing.js +10 -9
  271. package/hooks/features/editing/useGridRowEditing.js +11 -10
  272. package/hooks/features/export/utils.js +4 -2
  273. package/hooks/features/focus/useGridFocus.js +8 -7
  274. package/hooks/features/index.d.ts +1 -1
  275. package/hooks/features/index.js +11 -28
  276. package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  277. package/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  278. package/hooks/features/rowSelection/useGridRowSelection.js +146 -79
  279. package/hooks/features/rowSelection/utils.d.ts +2 -2
  280. package/hooks/features/rowSelection/utils.js +10 -10
  281. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  282. package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  283. package/hooks/features/rows/gridRowsUtils.js +10 -1
  284. package/hooks/features/rows/useGridParamsApi.js +2 -8
  285. package/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  286. package/hooks/features/rows/useGridRows.d.ts +2 -2
  287. package/hooks/features/rows/useGridRows.js +7 -7
  288. package/hooks/features/rows/useGridRowsMeta.js +8 -0
  289. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  290. package/hooks/features/virtualization/useGridVirtualScroller.js +21 -27
  291. package/hooks/utils/index.d.ts +2 -1
  292. package/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  293. package/hooks/utils/useGridComponentRenderer.js +44 -0
  294. package/hooks/utils/useGridSelector.js +6 -2
  295. package/hooks/utils/useIsSSR.js +6 -2
  296. package/index.js +1 -1
  297. package/internals/demo/TailwindDemoContainer.d.ts +11 -0
  298. package/internals/demo/TailwindDemoContainer.js +63 -0
  299. package/internals/demo/index.d.ts +1 -0
  300. package/internals/demo/index.js +12 -0
  301. package/internals/index.d.ts +6 -1
  302. package/internals/index.js +43 -0
  303. package/internals/utils/propValidation.js +1 -1
  304. package/locales/bnBD.d.ts +2 -0
  305. package/locales/bnBD.js +173 -0
  306. package/locales/deDE.js +3 -5
  307. package/locales/huHU.js +10 -13
  308. package/locales/index.d.ts +1 -0
  309. package/locales/index.js +11 -0
  310. package/locales/ruRU.js +17 -21
  311. package/material/icons/index.d.ts +3 -3
  312. package/material/icons/index.js +7 -7
  313. package/material/index.d.ts +1 -0
  314. package/material/index.js +172 -51
  315. package/material/variables.d.ts +5 -0
  316. package/material/variables.js +95 -0
  317. package/models/api/gridRowSelectionApi.d.ts +4 -2
  318. package/models/api/gridSortApi.d.ts +1 -1
  319. package/models/configuration/gridConfiguration.d.ts +7 -1
  320. package/models/gridBaseSlots.d.ts +61 -7
  321. package/models/gridDataSource.d.ts +9 -4
  322. package/models/gridIconSlotsComponent.d.ts +1 -1
  323. package/models/gridRowSelectionManager.d.ts +9 -0
  324. package/models/gridRowSelectionManager.js +43 -0
  325. package/models/gridRowSelectionModel.d.ts +4 -2
  326. package/models/gridSlotsComponent.d.ts +7 -28
  327. package/models/gridSlotsComponentsProps.d.ts +3 -11
  328. package/models/gridSortModel.d.ts +1 -1
  329. package/models/index.d.ts +2 -1
  330. package/models/index.js +34 -11
  331. package/models/props/DataGridProps.d.ts +22 -17
  332. package/modern/DataGrid/DataGrid.js +31 -22
  333. package/modern/DataGrid/useDataGridProps.js +1 -1
  334. package/modern/colDef/gridActionsColDef.js +1 -1
  335. package/modern/colDef/gridBooleanColDef.js +1 -1
  336. package/modern/colDef/gridCheckboxSelectionColDef.js +2 -4
  337. package/modern/components/GridFooter.js +2 -2
  338. package/modern/components/GridHeader.js +1 -1
  339. package/modern/components/GridPagination.js +5 -6
  340. package/modern/components/GridRowCount.js +4 -5
  341. package/modern/components/GridScrollArea.js +2 -1
  342. package/modern/components/GridSelectedRowCount.js +5 -6
  343. package/modern/components/GridShadowScrollArea.d.ts +8 -0
  344. package/modern/components/GridShadowScrollArea.js +74 -0
  345. package/modern/components/cell/GridEditInputCell.js +2 -3
  346. package/modern/components/columnSelection/GridHeaderCheckbox.js +51 -17
  347. package/modern/components/columnsManagement/GridColumnsManagement.js +61 -62
  348. package/modern/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  349. package/modern/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  350. package/modern/components/columnsPanel/index.d.ts +1 -0
  351. package/modern/components/columnsPanel/index.js +1 -0
  352. package/modern/components/containers/GridOverlay.js +6 -8
  353. package/modern/components/containers/GridRoot.js +4 -2
  354. package/modern/components/containers/GridRootStyles.d.ts +1 -2
  355. package/modern/components/containers/GridRootStyles.js +78 -101
  356. package/modern/components/containers/GridToolbarContainer.js +5 -6
  357. package/modern/components/export/ExportCsv.d.ts +30 -0
  358. package/modern/components/export/ExportCsv.js +189 -0
  359. package/modern/components/export/ExportPrint.d.ts +30 -0
  360. package/modern/components/export/ExportPrint.js +189 -0
  361. package/modern/components/export/index.d.ts +2 -0
  362. package/modern/components/export/index.js +2 -0
  363. package/modern/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  364. package/modern/components/filterPanel/FilterPanelTrigger.js +205 -0
  365. package/modern/components/filterPanel/index.d.ts +1 -0
  366. package/modern/components/filterPanel/index.js +1 -0
  367. package/modern/components/index.d.ts +6 -1
  368. package/modern/components/index.js +6 -1
  369. package/modern/components/menu/GridMenu.js +7 -6
  370. package/modern/components/menu/columnMenu/GridColumnHeaderMenu.js +2 -1
  371. package/modern/components/panel/GridPanel.js +18 -20
  372. package/modern/components/panel/GridPanelContent.js +6 -8
  373. package/modern/components/panel/GridPanelFooter.js +5 -6
  374. package/modern/components/panel/GridPanelHeader.js +4 -5
  375. package/modern/components/panel/filterPanel/GridFilterForm.js +13 -20
  376. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
  377. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +10 -39
  378. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +2 -2
  379. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +19 -44
  380. package/modern/components/panel/filterPanel/GridFilterInputValue.js +3 -6
  381. package/modern/components/quickFilter/QuickFilter.d.ts +41 -0
  382. package/modern/components/quickFilter/QuickFilter.js +103 -0
  383. package/modern/components/quickFilter/QuickFilterClear.d.ts +28 -0
  384. package/modern/components/quickFilter/QuickFilterClear.js +154 -0
  385. package/modern/components/quickFilter/QuickFilterContext.d.ts +13 -0
  386. package/modern/components/quickFilter/QuickFilterContext.js +9 -0
  387. package/modern/components/quickFilter/QuickFilterControl.d.ts +28 -0
  388. package/modern/components/quickFilter/QuickFilterControl.js +97 -0
  389. package/modern/components/quickFilter/index.d.ts +3 -0
  390. package/modern/components/quickFilter/index.js +3 -0
  391. package/modern/components/toolbar/GridToolbar.d.ts +1 -1
  392. package/modern/components/toolbar/GridToolbar.js +2 -2
  393. package/modern/components/toolbar/GridToolbarFilterButton.js +5 -6
  394. package/modern/components/toolbar/GridToolbarQuickFilter.js +59 -97
  395. package/modern/components/toolbarV8/GridToolbar.d.ts +11 -0
  396. package/modern/components/toolbarV8/GridToolbar.js +135 -0
  397. package/modern/components/toolbarV8/Toolbar.d.ts +32 -0
  398. package/modern/components/toolbarV8/Toolbar.js +125 -0
  399. package/modern/components/toolbarV8/ToolbarButton.d.ts +23 -0
  400. package/modern/components/toolbarV8/ToolbarButton.js +172 -0
  401. package/modern/components/toolbarV8/ToolbarContext.d.ts +9 -0
  402. package/modern/components/toolbarV8/ToolbarContext.js +9 -0
  403. package/modern/components/toolbarV8/index.d.ts +2 -0
  404. package/modern/components/toolbarV8/index.js +2 -0
  405. package/modern/components/virtualization/GridVirtualScrollbar.js +10 -2
  406. package/modern/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  407. package/modern/constants/cssVariables.d.ts +294 -0
  408. package/modern/constants/cssVariables.js +161 -0
  409. package/modern/constants/dataGridPropsDefaultValues.js +1 -0
  410. package/modern/constants/defaultGridSlotsComponents.js +2 -1
  411. package/modern/constants/gridClasses.d.ts +17 -0
  412. package/modern/constants/gridClasses.js +1 -1
  413. package/modern/context/GridContextProvider.js +4 -1
  414. package/modern/hooks/features/clipboard/useGridClipboard.js +3 -2
  415. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
  416. package/modern/hooks/features/columnResize/useGridColumnResize.js +2 -1
  417. package/modern/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -0
  418. package/modern/hooks/features/columns/gridColumnsSelector.d.ts +7 -0
  419. package/modern/hooks/features/columns/gridColumnsSelector.js +8 -0
  420. package/modern/hooks/features/columns/gridColumnsUtils.d.ts +3 -1
  421. package/modern/hooks/features/columns/gridColumnsUtils.js +6 -3
  422. package/modern/hooks/features/columns/index.d.ts +1 -1
  423. package/modern/hooks/features/columns/index.js +1 -1
  424. package/modern/hooks/features/columns/useGridColumns.js +4 -2
  425. package/modern/hooks/features/dataSource/gridDataSourceError.d.ts +31 -0
  426. package/modern/hooks/features/dataSource/gridDataSourceError.js +32 -0
  427. package/modern/hooks/features/dataSource/index.d.ts +2 -0
  428. package/modern/hooks/features/dataSource/index.js +2 -0
  429. package/modern/hooks/features/dataSource/models.d.ts +1 -1
  430. package/modern/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  431. package/modern/hooks/features/dataSource/useGridDataSourceBase.js +27 -17
  432. package/modern/hooks/features/dimensions/useGridDimensions.js +11 -10
  433. package/modern/hooks/features/editing/useGridCellEditing.js +2 -1
  434. package/modern/hooks/features/editing/useGridRowEditing.js +2 -1
  435. package/modern/hooks/features/export/utils.js +4 -2
  436. package/modern/hooks/features/focus/useGridFocus.js +3 -2
  437. package/modern/hooks/features/index.d.ts +1 -1
  438. package/modern/hooks/features/index.js +1 -1
  439. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  440. package/modern/hooks/features/rowSelection/gridRowSelectionSelector.js +27 -7
  441. package/modern/hooks/features/rowSelection/useGridRowSelection.js +148 -81
  442. package/modern/hooks/features/rowSelection/utils.d.ts +2 -2
  443. package/modern/hooks/features/rowSelection/utils.js +11 -11
  444. package/modern/hooks/features/rows/gridRowsInterfaces.d.ts +1 -1
  445. package/modern/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  446. package/modern/hooks/features/rows/gridRowsUtils.js +8 -0
  447. package/modern/hooks/features/rows/useGridParamsApi.js +2 -8
  448. package/modern/hooks/features/rows/useGridRowAriaAttributes.js +2 -4
  449. package/modern/hooks/features/rows/useGridRows.d.ts +2 -2
  450. package/modern/hooks/features/rows/useGridRows.js +7 -7
  451. package/modern/hooks/features/rows/useGridRowsMeta.js +8 -0
  452. package/modern/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  453. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +5 -11
  454. package/modern/hooks/utils/index.d.ts +2 -1
  455. package/modern/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  456. package/modern/hooks/utils/useGridComponentRenderer.js +36 -0
  457. package/modern/hooks/utils/useGridSelector.js +4 -1
  458. package/modern/hooks/utils/useIsSSR.js +4 -1
  459. package/modern/index.js +1 -1
  460. package/modern/internals/demo/TailwindDemoContainer.d.ts +11 -0
  461. package/modern/internals/demo/TailwindDemoContainer.js +55 -0
  462. package/modern/internals/demo/index.d.ts +1 -0
  463. package/modern/internals/demo/index.js +1 -0
  464. package/modern/internals/index.d.ts +6 -1
  465. package/modern/internals/index.js +5 -1
  466. package/modern/internals/utils/propValidation.js +1 -1
  467. package/modern/locales/bnBD.d.ts +2 -0
  468. package/modern/locales/bnBD.js +167 -0
  469. package/modern/locales/deDE.js +3 -5
  470. package/modern/locales/huHU.js +10 -13
  471. package/modern/locales/index.d.ts +1 -0
  472. package/modern/locales/index.js +1 -0
  473. package/modern/locales/ruRU.js +17 -21
  474. package/modern/material/icons/index.d.ts +3 -3
  475. package/modern/material/icons/index.js +6 -6
  476. package/modern/material/index.d.ts +1 -0
  477. package/modern/material/index.js +167 -52
  478. package/modern/material/variables.d.ts +5 -0
  479. package/modern/material/variables.js +89 -0
  480. package/modern/models/api/gridRowSelectionApi.d.ts +4 -2
  481. package/modern/models/api/gridSortApi.d.ts +1 -1
  482. package/modern/models/configuration/gridConfiguration.d.ts +7 -1
  483. package/modern/models/gridBaseSlots.d.ts +61 -7
  484. package/modern/models/gridDataSource.d.ts +9 -4
  485. package/modern/models/gridIconSlotsComponent.d.ts +1 -1
  486. package/modern/models/gridRowSelectionManager.d.ts +9 -0
  487. package/modern/models/gridRowSelectionManager.js +36 -0
  488. package/modern/models/gridRowSelectionModel.d.ts +4 -2
  489. package/modern/models/gridSlotsComponent.d.ts +7 -28
  490. package/modern/models/gridSlotsComponentsProps.d.ts +3 -11
  491. package/modern/models/gridSortModel.d.ts +1 -1
  492. package/modern/models/index.d.ts +2 -1
  493. package/modern/models/index.js +2 -3
  494. package/modern/models/props/DataGridProps.d.ts +22 -17
  495. package/modern/utils/css/context.d.ts +14 -0
  496. package/modern/utils/css/context.js +54 -0
  497. package/modern/utils/index.d.ts +2 -1
  498. package/modern/utils/index.js +1 -1
  499. package/package.json +2 -2
  500. package/tsconfig.build.tsbuildinfo +1 -1
  501. package/utils/css/context.d.ts +14 -0
  502. package/utils/css/context.js +64 -0
  503. package/utils/index.d.ts +2 -1
  504. package/utils/index.js +8 -1
@@ -0,0 +1,161 @@
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.QuickFilterClear = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
14
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
15
+ var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
16
+ var _QuickFilterContext = require("./QuickFilterContext");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ const _excluded = ["render", "className"];
19
+ /**
20
+ * A button that resets the filter value.
21
+ * It renders the `baseIconButton` slot.
22
+ *
23
+ * Demos:
24
+ *
25
+ * - [Quick Filter](https://mui.com/x/react-data-grid/components/quick-filter/)
26
+ *
27
+ * API:
28
+ *
29
+ * - [QuickFilterClear API](https://mui.com/x/api/data-grid/quick-filter-clear/)
30
+ */
31
+ const QuickFilterClear = exports.QuickFilterClear = (0, _forwardRef.forwardRef)(function QuickFilterClear(props, ref) {
32
+ const {
33
+ render,
34
+ className
35
+ } = props,
36
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
37
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
38
+ const {
39
+ state,
40
+ clearValue
41
+ } = (0, _QuickFilterContext.useQuickFilterContext)();
42
+ const resolvedClassName = typeof className === 'function' ? className(state) : className;
43
+ const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseIconButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseIconButton, {
44
+ onClick: clearValue,
45
+ className: resolvedClassName
46
+ }, other, {
47
+ ref
48
+ }), state);
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
50
+ children: element
51
+ });
52
+ });
53
+ process.env.NODE_ENV !== "production" ? QuickFilterClear.propTypes = {
54
+ // ----------------------------- Warning --------------------------------
55
+ // | These PropTypes are generated from the TypeScript type definitions |
56
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
57
+ // ----------------------------------------------------------------------
58
+ /**
59
+ * A ref for imperative actions.
60
+ * It currently only supports `focusVisible()` action.
61
+ */
62
+ action: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
63
+ current: _propTypes.default.shape({
64
+ focusVisible: _propTypes.default.func.isRequired
65
+ })
66
+ })]),
67
+ /**
68
+ * If `true`, the ripples are centered.
69
+ * They won't start at the cursor interaction position.
70
+ * @default false
71
+ */
72
+ centerRipple: _propTypes.default.bool,
73
+ /**
74
+ * Override or extend the styles applied to the component.
75
+ */
76
+ className: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
77
+ /**
78
+ * The color of the component.
79
+ * It supports both default and custom theme colors, which can be added as shown in the
80
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
81
+ */
82
+ color: _propTypes.default.oneOf(['default', 'inherit', 'primary']),
83
+ component: _propTypes.default.elementType,
84
+ /**
85
+ * If `true`, the component is disabled.
86
+ */
87
+ disabled: _propTypes.default.bool,
88
+ /**
89
+ * If `true`, the keyboard focus ripple is disabled.
90
+ * @default false
91
+ */
92
+ disableFocusRipple: _propTypes.default.bool,
93
+ /**
94
+ * If `true`, the ripple effect is disabled.
95
+ *
96
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
97
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
98
+ * @default false
99
+ */
100
+ disableRipple: _propTypes.default.bool,
101
+ /**
102
+ * If `true`, the touch ripple effect is disabled.
103
+ * @default false
104
+ */
105
+ disableTouchRipple: _propTypes.default.bool,
106
+ /**
107
+ * If given, uses a negative margin to counteract the padding on one
108
+ * side (this is often helpful for aligning the left or right
109
+ * side of the icon with content above or below, without ruining the border
110
+ * size and shape).
111
+ */
112
+ edge: _propTypes.default.oneOf(['end', 'start', false]),
113
+ /**
114
+ * If `true`, the base button will have a keyboard focus ripple.
115
+ * @default false
116
+ */
117
+ focusRipple: _propTypes.default.bool,
118
+ /**
119
+ * This prop can help identify which element has keyboard focus.
120
+ * The class name will be applied when the element gains the focus through keyboard interaction.
121
+ * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
122
+ * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
123
+ * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
124
+ * if needed.
125
+ */
126
+ focusVisibleClassName: _propTypes.default.string,
127
+ label: _propTypes.default.string,
128
+ /**
129
+ * The component used to render a link when the `href` prop is provided.
130
+ * @default 'a'
131
+ */
132
+ LinkComponent: _propTypes.default.elementType,
133
+ /**
134
+ * Callback fired when the component is focused with a keyboard.
135
+ * We trigger a `onFocus` callback too.
136
+ */
137
+ onFocusVisible: _propTypes.default.func,
138
+ /**
139
+ * A function to customize rendering of the component.
140
+ */
141
+ render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
142
+ /**
143
+ * The size of the component.
144
+ * `small` is equivalent to the dense button styling.
145
+ */
146
+ size: _propTypes.default.oneOf(['large', 'medium', 'small']),
147
+ style: _propTypes.default.object,
148
+ /**
149
+ * The system prop that allows defining system overrides as well as additional CSS styles.
150
+ */
151
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
152
+ tabIndex: _propTypes.default.number,
153
+ /**
154
+ * Props applied to the `TouchRipple` element.
155
+ */
156
+ TouchRippleProps: _propTypes.default.object,
157
+ /**
158
+ * A ref that points to the `TouchRipple` element.
159
+ */
160
+ touchRippleRef: _propTypes.default.any
161
+ } : void 0;
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export interface QuickFilterState {
3
+ value: string;
4
+ }
5
+ export interface QuickFilterContextValue {
6
+ state: QuickFilterState;
7
+ controlRef: React.RefObject<HTMLInputElement | null>;
8
+ triggerRef: React.RefObject<HTMLButtonElement | null>;
9
+ onValueChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
10
+ clearValue: () => void;
11
+ }
12
+ export declare const QuickFilterContext: React.Context<QuickFilterContextValue | undefined>;
13
+ export declare function useQuickFilterContext(): QuickFilterContextValue;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QuickFilterContext = void 0;
8
+ exports.useQuickFilterContext = useQuickFilterContext;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ const QuickFilterContext = exports.QuickFilterContext = /*#__PURE__*/React.createContext(undefined);
11
+ function useQuickFilterContext() {
12
+ const context = React.useContext(QuickFilterContext);
13
+ if (context === undefined) {
14
+ throw new Error('MUI X: Missing context. Quick Filter subcomponents must be placed within a <QuickFilter /> component.');
15
+ }
16
+ return context;
17
+ }
@@ -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 QuickFilterControlProps = Omit<GridSlotProps['baseTextField'], 'className'> & {
6
+ /**
7
+ * A function to customize rendering of the component.
8
+ */
9
+ render?: RenderProp<GridSlotProps['baseTextField'], QuickFilterState>;
10
+ /**
11
+ * Override or extend the styles applied to the component.
12
+ */
13
+ className?: string | ((state: QuickFilterState) => string);
14
+ };
15
+ /**
16
+ * A component that takes user input and filters row data.
17
+ * It renders the `baseTextField` slot.
18
+ *
19
+ * Demos:
20
+ *
21
+ * - [Quick Filter](https://mui.com/x/react-data-grid/components/quick-filter/)
22
+ *
23
+ * API:
24
+ *
25
+ * - [QuickFilterControl API](https://mui.com/x/api/data-grid/quick-filter-control/)
26
+ */
27
+ declare const QuickFilterControl: React.ForwardRefExoticComponent<QuickFilterControlProps> | React.ForwardRefExoticComponent<Omit<QuickFilterControlProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
28
+ export { QuickFilterControl };
@@ -0,0 +1,104 @@
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.QuickFilterControl = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _utils = require("@mui/utils");
14
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
+ var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
17
+ var _QuickFilterContext = require("./QuickFilterContext");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["render", "className"];
20
+ /**
21
+ * A component that takes user input and filters row data.
22
+ * It renders the `baseTextField` slot.
23
+ *
24
+ * Demos:
25
+ *
26
+ * - [Quick Filter](https://mui.com/x/react-data-grid/components/quick-filter/)
27
+ *
28
+ * API:
29
+ *
30
+ * - [QuickFilterControl API](https://mui.com/x/api/data-grid/quick-filter-control/)
31
+ */
32
+ const QuickFilterControl = exports.QuickFilterControl = (0, _forwardRef.forwardRef)(function QuickFilterControl(props, ref) {
33
+ const {
34
+ render,
35
+ className
36
+ } = props,
37
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
38
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
39
+ const {
40
+ state,
41
+ controlRef,
42
+ onValueChange,
43
+ clearValue
44
+ } = (0, _QuickFilterContext.useQuickFilterContext)();
45
+ const resolvedClassName = typeof className === 'function' ? className(state) : className;
46
+ const handleRef = (0, _utils.unstable_useForkRef)(controlRef, ref);
47
+ const handleKeyDown = event => {
48
+ if (event.key === 'Escape') {
49
+ clearValue();
50
+ }
51
+ props.onKeyDown?.(event);
52
+ };
53
+ const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseTextField, render, (0, _extends2.default)({}, rootProps.slotProps?.baseTextField, {
54
+ slotProps: (0, _extends2.default)({
55
+ htmlInput: (0, _extends2.default)({
56
+ role: 'searchbox'
57
+ }, props.slotProps?.htmlInput)
58
+ }, props.slotProps),
59
+ value: state.value,
60
+ className: resolvedClassName,
61
+ onChange: onValueChange,
62
+ onKeyDown: handleKeyDown
63
+ }, other, {
64
+ ref: handleRef
65
+ }), state);
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
67
+ children: element
68
+ });
69
+ });
70
+ process.env.NODE_ENV !== "production" ? QuickFilterControl.propTypes = {
71
+ // ----------------------------- Warning --------------------------------
72
+ // | These PropTypes are generated from the TypeScript type definitions |
73
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
74
+ // ----------------------------------------------------------------------
75
+ autoComplete: _propTypes.default.string,
76
+ /**
77
+ * Override or extend the styles applied to the component.
78
+ */
79
+ className: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
80
+ color: _propTypes.default.oneOf(['error', 'primary']),
81
+ disabled: _propTypes.default.bool,
82
+ error: _propTypes.default.bool,
83
+ fullWidth: _propTypes.default.bool,
84
+ helperText: _propTypes.default.string,
85
+ id: _propTypes.default.string,
86
+ inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
87
+ current: _propTypes.default.object
88
+ })]),
89
+ label: _propTypes.default.node,
90
+ onChange: _propTypes.default.func,
91
+ onKeyDown: _propTypes.default.func,
92
+ placeholder: _propTypes.default.string,
93
+ /**
94
+ * A function to customize rendering of the component.
95
+ */
96
+ render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
97
+ role: _propTypes.default.string,
98
+ size: _propTypes.default.oneOf(['medium', 'small']),
99
+ slotProps: _propTypes.default.object,
100
+ style: _propTypes.default.object,
101
+ tabIndex: _propTypes.default.number,
102
+ type: _propTypes.default.oneOfType([_propTypes.default.oneOf(['button', 'checkbox', 'color', 'date', 'datetime-local', 'email', 'file', 'hidden', 'image', 'month', 'number', 'password', 'radio', 'range', 'reset', 'search', 'submit', 'tel', 'text', 'time', 'url', 'week']), _propTypes.default.object]),
103
+ value: _propTypes.default.string
104
+ } : void 0;
@@ -0,0 +1,3 @@
1
+ export * from "./QuickFilter.js";
2
+ export * from "./QuickFilterControl.js";
3
+ export * from "./QuickFilterClear.js";
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _QuickFilter = require("./QuickFilter");
7
+ Object.keys(_QuickFilter).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _QuickFilter[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _QuickFilter[key];
14
+ }
15
+ });
16
+ });
17
+ var _QuickFilterControl = require("./QuickFilterControl");
18
+ Object.keys(_QuickFilterControl).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _QuickFilterControl[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _QuickFilterControl[key];
25
+ }
26
+ });
27
+ });
28
+ var _QuickFilterClear = require("./QuickFilterClear");
29
+ Object.keys(_QuickFilterClear).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _QuickFilterClear[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _QuickFilterClear[key];
36
+ }
37
+ });
38
+ });
@@ -5,7 +5,7 @@ import { GridToolbarQuickFilterProps } from "./GridToolbarQuickFilter.js";
5
5
  export interface GridToolbarProps extends GridToolbarContainerProps, GridToolbarExportProps {
6
6
  /**
7
7
  * Show the quick filter component.
8
- * @default false
8
+ * @default true
9
9
  */
10
10
  showQuickFilter?: boolean;
11
11
  /**
@@ -28,7 +28,7 @@ const GridToolbar = exports.GridToolbar = (0, _forwardRef.forwardRef)(function G
28
28
  csvOptions,
29
29
  printOptions,
30
30
  excelOptions,
31
- showQuickFilter = false,
31
+ showQuickFilter = true,
32
32
  quickFilterProps = {}
33
33
  } = _ref,
34
34
  other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
@@ -70,7 +70,7 @@ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
70
70
  }),
71
71
  /**
72
72
  * Show the quick filter component.
73
- * @default false
73
+ * @default true
74
74
  */
75
75
  showQuickFilter: _propTypes.default.bool,
76
76
  /**
@@ -12,6 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _styles = require("@mui/material/styles");
13
13
  var _utils = require("@mui/utils");
14
14
  var _forwardRef = require("@mui/x-internals/forwardRef");
15
+ var _cssVariables = require("../../constants/cssVariables");
15
16
  var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
16
17
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
17
18
  var _gridFilterSelector = require("../../hooks/features/filter/gridFilterSelector");
@@ -34,12 +35,10 @@ const GridToolbarFilterListRoot = (0, _styles.styled)('ul', {
34
35
  name: 'MuiDataGrid',
35
36
  slot: 'ToolbarFilterList',
36
37
  overridesResolver: (_props, styles) => styles.toolbarFilterList
37
- })(({
38
- theme
39
- }) => ({
40
- margin: theme.spacing(1, 1, 0.5),
41
- padding: theme.spacing(0, 1)
42
- }));
38
+ })({
39
+ margin: _cssVariables.vars.spacing(1, 1, 0.5),
40
+ padding: _cssVariables.vars.spacing(0, 1)
41
+ });
43
42
 
44
43
  // FIXME(v8:romgrk): override slotProps
45
44
 
@@ -9,20 +9,17 @@ exports.GridToolbarQuickFilter = GridToolbarQuickFilter;
9
9
  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
- var _clsx = _interopRequireDefault(require("clsx"));
13
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _styles = require("@mui/material/styles");
15
- var _utils = require("@mui/utils");
16
13
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
17
- var _OutlinedInput = require("@mui/material/OutlinedInput");
14
+ var _system = require("@mui/system");
15
+ var _clsx = _interopRequireDefault(require("clsx"));
18
16
  var _constants = require("../../constants");
19
17
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
20
18
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
21
- var _useGridSelector = require("../../hooks/utils/useGridSelector");
22
- var _filter = require("../../hooks/features/filter");
23
- var _utils2 = require("../../utils/utils");
19
+ var _quickFilter = require("../quickFilter");
24
20
  var _jsxRuntime = require("react/jsx-runtime");
25
- const _excluded = ["quickFilterParser", "quickFilterFormatter", "debounceMs", "className", "slotProps"];
21
+ const _excluded = ["quickFilterParser", "quickFilterFormatter", "debounceMs", "className", "slotProps"],
22
+ _excluded2 = ["ref", "slotProps"]; // import { NotRendered } from '../../utils/assert';
26
23
  const useUtilityClasses = ownerState => {
27
24
  const {
28
25
  classes
@@ -32,106 +29,69 @@ const useUtilityClasses = ownerState => {
32
29
  };
33
30
  return (0, _composeClasses.default)(slots, _constants.getDataGridUtilityClass, classes);
34
31
  };
35
- const GridToolbarQuickFilterRoot = (0, _styles.styled)('div', {
32
+
33
+ // TODO: Use NotRendered from /utils/assert
34
+ // Currently causes react-docgen to fail
35
+ const GridToolbarQuickFilterRoot = (0, _system.styled)(_props => {
36
+ throw new Error('Failed assertion: should not be rendered');
37
+ }, {
36
38
  name: 'MuiDataGrid',
37
- slot: 'ToolbarQuickFilter',
38
- overridesResolver: (props, styles) => styles.toolbarQuickFilter
39
- })(({
40
- theme
41
- }) => ({
42
- [`.${_OutlinedInput.outlinedInputClasses.root}`]: {
43
- fontSize: theme.typography.body2.fontSize
44
- },
45
- [`& input[type="search"]::-webkit-search-decoration,
46
- & input[type="search"]::-webkit-search-cancel-button,
47
- & input[type="search"]::-webkit-search-results-button,
48
- & input[type="search"]::-webkit-search-results-decoration`]: {
49
- /* clears the 'X' icon from Chrome */
50
- display: 'none'
51
- }
52
- }));
53
- const defaultSearchValueParser = searchText => searchText.split(' ').filter(word => word !== '');
54
- const defaultSearchValueFormatter = values => values.join(' ');
39
+ slot: 'ToolbarQuickFilter'
40
+ })({
41
+ width: 260,
42
+ marginLeft: 'auto'
43
+ });
55
44
  function GridToolbarQuickFilter(props) {
56
45
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
57
46
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
58
47
  const classes = useUtilityClasses(rootProps);
59
- const quickFilterValues = (0, _useGridSelector.useGridSelector)(apiRef, _filter.gridQuickFilterValuesSelector);
60
48
  const {
61
- quickFilterParser = defaultSearchValueParser,
62
- quickFilterFormatter = defaultSearchValueFormatter,
63
- debounceMs = rootProps.filterDebounceMs,
49
+ quickFilterParser,
50
+ quickFilterFormatter,
51
+ debounceMs,
64
52
  className,
65
53
  slotProps
66
54
  } = props,
67
55
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
68
- const [searchValue, setSearchValue] = React.useState(() => quickFilterFormatter(quickFilterValues ?? []));
69
- const prevQuickFilterValuesRef = React.useRef(quickFilterValues);
70
- React.useEffect(() => {
71
- if (!(0, _utils2.isDeepEqual)(prevQuickFilterValuesRef.current, quickFilterValues)) {
72
- // The model of quick filter value has been updated
73
- prevQuickFilterValuesRef.current = quickFilterValues;
74
-
75
- // Update the input value if needed to match the new model
76
- setSearchValue(prevSearchValue => (0, _utils2.isDeepEqual)(quickFilterParser(prevSearchValue), quickFilterValues) ? prevSearchValue : quickFilterFormatter(quickFilterValues ?? []));
77
- }
78
- }, [quickFilterValues, quickFilterFormatter, quickFilterParser]);
79
- const updateSearchValue = React.useCallback(newSearchValue => {
80
- const newQuickFilterValues = quickFilterParser(newSearchValue);
81
- prevQuickFilterValuesRef.current = newQuickFilterValues;
82
- apiRef.current.setQuickFilterValues(newQuickFilterValues);
83
- }, [apiRef, quickFilterParser]);
84
- const debouncedUpdateSearchValue = React.useMemo(() => (0, _utils.unstable_debounce)(updateSearchValue, debounceMs), [updateSearchValue, debounceMs]);
85
- React.useEffect(() => debouncedUpdateSearchValue.clear, [debouncedUpdateSearchValue]);
86
- const handleSearchValueChange = React.useCallback(event => {
87
- const newSearchValue = event.target.value;
88
- setSearchValue(newSearchValue);
89
- debouncedUpdateSearchValue(newSearchValue);
90
- }, [debouncedUpdateSearchValue]);
91
- const handleSearchReset = React.useCallback(() => {
92
- setSearchValue('');
93
- updateSearchValue('');
94
- }, [updateSearchValue]);
95
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarQuickFilterRoot, (0, _extends2.default)({
96
- as: rootProps.slots.baseTextField,
97
- ownerState: rootProps,
98
- size: "small",
99
- value: searchValue,
100
- onChange: handleSearchValueChange,
101
- className: (0, _clsx.default)(classes.root, className),
102
- placeholder: apiRef.current.getLocaleText('toolbarQuickFilterPlaceholder'),
103
- "aria-label": apiRef.current.getLocaleText('toolbarQuickFilterLabel'),
104
- type: "search"
105
- }, other, {
106
- slotProps: (0, _extends2.default)({}, slotProps?.root.slotProps, {
107
- input: (0, _extends2.default)({
108
- startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
109
- position: "start",
110
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterIcon, {
111
- fontSize: "small"
112
- })
113
- }),
114
- endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseInputAdornment, {
115
- position: "end",
116
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
117
- "aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
118
- size: "small",
119
- edge: "end",
120
- style: searchValue ? {
121
- visibility: 'visible'
122
- } : {
123
- visibility: 'hidden'
124
- },
125
- onClick: handleSearchReset
126
- }, rootProps.slotProps?.baseIconButton, {
127
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
128
- fontSize: "small"
129
- })
130
- }))
131
- })
132
- }, slotProps?.root.slotProps?.input)
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_quickFilter.QuickFilter, {
57
+ parser: quickFilterParser,
58
+ formatter: quickFilterFormatter,
59
+ debounceMs: debounceMs,
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_quickFilter.QuickFilterControl, {
61
+ render: _ref => {
62
+ let {
63
+ ref,
64
+ slotProps: controlSlotProps
65
+ } = _ref,
66
+ controlProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarQuickFilterRoot, (0, _extends2.default)({
68
+ as: rootProps.slots.baseTextField,
69
+ className: (0, _clsx.default)(classes.root, className),
70
+ inputRef: ref,
71
+ "aria-label": apiRef.current.getLocaleText('toolbarQuickFilterLabel'),
72
+ placeholder: apiRef.current.getLocaleText('toolbarQuickFilterPlaceholder'),
73
+ size: "small",
74
+ slotProps: (0, _extends2.default)({
75
+ input: (0, _extends2.default)({
76
+ startAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterIcon, {
77
+ fontSize: "small"
78
+ }),
79
+ endAdornment: controlProps.value ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_quickFilter.QuickFilterClear, {
80
+ render: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, {
81
+ size: "small",
82
+ edge: "end",
83
+ "aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
85
+ fontSize: "small"
86
+ })
87
+ })
88
+ }) : null
89
+ }, controlSlotProps?.input)
90
+ }, controlSlotProps)
91
+ }, rootProps.slotProps?.baseTextField, controlProps, slotProps?.root, other));
92
+ }
133
93
  })
134
- }, rootProps.slotProps?.baseTextField));
94
+ });
135
95
  }
136
96
  process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes = {
137
97
  // ----------------------------- Warning --------------------------------
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { GridSlotProps } from "../../models/gridSlotsComponentsProps.js";
3
+ interface GridToolbarInternalProps {
4
+ additionalExportMenuItems?: (onMenuItemClick: () => void) => React.ReactNode;
5
+ }
6
+ export type GridToolbarProps = GridSlotProps['toolbar'] & GridToolbarInternalProps;
7
+ declare function GridToolbar(props: GridToolbarProps): React.JSX.Element;
8
+ declare namespace GridToolbar {
9
+ var propTypes: any;
10
+ }
11
+ export { GridToolbar };