@mui/x-data-grid 6.3.1 → 6.5.0

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 (349) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/DataGrid/DataGrid.js +20 -1
  3. package/DataGrid/useDataGridComponent.js +2 -2
  4. package/DataGrid/useDataGridProps.js +8 -13
  5. package/colDef/gridBooleanColDef.js +19 -1
  6. package/colDef/gridDateColDef.js +6 -2
  7. package/colDef/gridNumericOperators.js +0 -6
  8. package/colDef/gridSingleSelectColDef.js +21 -1
  9. package/components/base/GridBody.js +2 -1
  10. package/components/cell/GridEditInputCell.js +4 -1
  11. package/components/containers/GridRootStyles.js +1 -0
  12. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +15 -2
  13. package/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  14. package/components/panel/filterPanel/GridFilterInputDate.d.ts +8 -1
  15. package/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  16. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  17. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  18. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +8 -1
  19. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  20. package/components/panel/filterPanel/GridFilterInputValue.d.ts +11 -4
  21. package/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  22. package/components/panel/filterPanel/GridFilterPanel.d.ts +2 -1
  23. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  24. package/components/panel/filterPanel/index.d.ts +3 -1
  25. package/components/panel/filterPanel/index.js +2 -1
  26. package/constants/localeTextConstants.js +26 -0
  27. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +12 -1
  28. package/hooks/features/clipboard/useGridClipboard.d.ts +2 -1
  29. package/hooks/features/clipboard/useGridClipboard.js +43 -26
  30. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +9 -2
  31. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  32. package/hooks/features/dimensions/useGridDimensions.js +4 -6
  33. package/hooks/features/editing/useGridCellEditing.js +7 -3
  34. package/hooks/features/editing/useGridEditing.js +0 -3
  35. package/hooks/features/editing/useGridRowEditing.js +7 -3
  36. package/hooks/features/export/serializers/csvSerializer.d.ts +5 -0
  37. package/hooks/features/export/serializers/csvSerializer.js +46 -6
  38. package/hooks/features/export/useGridCsvExport.d.ts +2 -1
  39. package/hooks/features/export/useGridCsvExport.js +7 -5
  40. package/hooks/features/focus/gridFocusState.d.ts +2 -0
  41. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -0
  42. package/hooks/features/focus/gridFocusStateSelector.js +6 -0
  43. package/hooks/features/focus/useGridFocus.js +55 -9
  44. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +4 -0
  45. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  46. package/hooks/features/headerFiltering/index.d.ts +1 -0
  47. package/hooks/features/headerFiltering/index.js +1 -0
  48. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +6 -0
  49. package/hooks/features/headerFiltering/useGridHeaderFiltering.js +91 -0
  50. package/hooks/features/index.d.ts +1 -0
  51. package/hooks/features/index.js +2 -1
  52. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  53. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +124 -4
  54. package/hooks/features/rows/useGridRows.js +16 -1
  55. package/index.js +1 -1
  56. package/internals/index.d.ts +9 -3
  57. package/internals/index.js +7 -2
  58. package/internals/utils/index.d.ts +1 -0
  59. package/internals/utils/index.js +2 -1
  60. package/internals/utils/useProps.d.ts +8 -0
  61. package/internals/utils/useProps.js +13 -0
  62. package/joy/icons.d.ts +33 -0
  63. package/joy/icons.js +433 -0
  64. package/joy/joySlots.js +114 -4
  65. package/legacy/DataGrid/DataGrid.js +20 -1
  66. package/legacy/DataGrid/useDataGridComponent.js +2 -2
  67. package/legacy/DataGrid/useDataGridProps.js +11 -9
  68. package/legacy/colDef/gridBooleanColDef.js +21 -1
  69. package/legacy/colDef/gridDateColDef.js +10 -2
  70. package/legacy/colDef/gridNumericOperators.js +0 -6
  71. package/legacy/colDef/gridSingleSelectColDef.js +21 -1
  72. package/legacy/components/base/GridBody.js +2 -1
  73. package/legacy/components/cell/GridEditInputCell.js +4 -1
  74. package/legacy/components/containers/GridRootStyles.js +1 -0
  75. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +79 -35
  76. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +26 -5
  77. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  78. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  79. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +54 -31
  80. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +28 -5
  81. package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
  82. package/legacy/components/panel/filterPanel/index.js +2 -1
  83. package/legacy/constants/localeTextConstants.js +26 -0
  84. package/legacy/hooks/features/clipboard/useGridClipboard.js +44 -26
  85. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -5
  86. package/legacy/hooks/features/dimensions/useGridDimensions.js +4 -6
  87. package/legacy/hooks/features/editing/useGridCellEditing.js +7 -3
  88. package/legacy/hooks/features/editing/useGridEditing.js +0 -3
  89. package/legacy/hooks/features/editing/useGridRowEditing.js +7 -3
  90. package/legacy/hooks/features/export/serializers/csvSerializer.js +43 -6
  91. package/legacy/hooks/features/export/useGridCsvExport.js +8 -5
  92. package/legacy/hooks/features/focus/gridFocusStateSelector.js +10 -0
  93. package/legacy/hooks/features/focus/useGridFocus.js +58 -9
  94. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +11 -0
  95. package/legacy/hooks/features/headerFiltering/index.js +1 -0
  96. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +93 -0
  97. package/legacy/hooks/features/index.js +2 -1
  98. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +123 -4
  99. package/legacy/hooks/features/rows/useGridRows.js +16 -1
  100. package/legacy/index.js +1 -1
  101. package/legacy/internals/index.js +7 -2
  102. package/legacy/internals/utils/index.js +2 -1
  103. package/legacy/internals/utils/useProps.js +11 -0
  104. package/legacy/joy/icons.js +432 -0
  105. package/legacy/joy/joySlots.js +118 -4
  106. package/legacy/locales/arSD.js +28 -0
  107. package/legacy/locales/beBY.js +28 -0
  108. package/legacy/locales/bgBG.js +28 -0
  109. package/legacy/locales/csCZ.js +36 -8
  110. package/legacy/locales/daDK.js +28 -0
  111. package/legacy/locales/deDE.js +30 -2
  112. package/legacy/locales/elGR.js +27 -0
  113. package/legacy/locales/esES.js +28 -0
  114. package/legacy/locales/faIR.js +28 -0
  115. package/legacy/locales/fiFI.js +28 -0
  116. package/legacy/locales/frFR.js +34 -6
  117. package/legacy/locales/heIL.js +30 -2
  118. package/legacy/locales/huHU.js +28 -0
  119. package/legacy/locales/itIT.js +28 -0
  120. package/legacy/locales/jaJP.js +28 -0
  121. package/legacy/locales/koKR.js +28 -0
  122. package/legacy/locales/nbNO.js +28 -0
  123. package/legacy/locales/nlNL.js +28 -0
  124. package/legacy/locales/plPL.js +28 -0
  125. package/legacy/locales/ptBR.js +29 -1
  126. package/legacy/locales/roRO.js +28 -0
  127. package/legacy/locales/ruRU.js +28 -0
  128. package/legacy/locales/skSK.js +28 -0
  129. package/legacy/locales/svSE.js +28 -0
  130. package/legacy/locales/trTR.js +28 -0
  131. package/legacy/locales/ukUA.js +36 -9
  132. package/legacy/locales/urPK.js +28 -0
  133. package/legacy/locales/viVN.js +27 -0
  134. package/legacy/locales/zhCN.js +28 -0
  135. package/legacy/locales/zhTW.js +28 -0
  136. package/legacy/material/index.js +5 -1
  137. package/legacy/models/api/index.js +0 -1
  138. package/legacy/models/index.js +0 -1
  139. package/legacy/utils/domUtils.js +14 -1
  140. package/locales/arSD.js +28 -0
  141. package/locales/beBY.js +28 -0
  142. package/locales/bgBG.js +28 -0
  143. package/locales/csCZ.js +36 -8
  144. package/locales/daDK.js +28 -0
  145. package/locales/deDE.js +30 -2
  146. package/locales/elGR.js +27 -0
  147. package/locales/esES.js +28 -0
  148. package/locales/faIR.js +28 -0
  149. package/locales/fiFI.js +28 -0
  150. package/locales/frFR.js +34 -6
  151. package/locales/heIL.js +30 -2
  152. package/locales/huHU.js +28 -0
  153. package/locales/itIT.js +28 -0
  154. package/locales/jaJP.js +28 -0
  155. package/locales/koKR.js +28 -0
  156. package/locales/nbNO.js +28 -0
  157. package/locales/nlNL.js +28 -0
  158. package/locales/plPL.js +28 -0
  159. package/locales/ptBR.js +29 -1
  160. package/locales/roRO.js +28 -0
  161. package/locales/ruRU.js +28 -0
  162. package/locales/skSK.js +28 -0
  163. package/locales/svSE.js +28 -0
  164. package/locales/trTR.js +28 -0
  165. package/locales/ukUA.js +36 -9
  166. package/locales/urPK.js +28 -0
  167. package/locales/viVN.js +27 -0
  168. package/locales/zhCN.js +28 -0
  169. package/locales/zhTW.js +28 -0
  170. package/material/index.d.ts +3 -65
  171. package/material/index.js +5 -1
  172. package/models/api/gridApiCommon.d.ts +3 -3
  173. package/models/api/gridCoreApi.d.ts +8 -0
  174. package/models/api/gridFocusApi.d.ts +6 -0
  175. package/models/api/gridHeaderFilteringApi.d.ts +30 -0
  176. package/models/api/gridLocaleTextApi.d.ts +25 -0
  177. package/models/api/index.d.ts +0 -1
  178. package/models/api/index.js +0 -1
  179. package/models/events/gridEventLookup.d.ts +33 -1
  180. package/models/gridFilterOperator.d.ts +4 -0
  181. package/models/gridHeaderFilteringModel.d.ts +5 -0
  182. package/models/gridHeaderFilteringModel.js +1 -0
  183. package/models/gridSlotsComponent.d.ts +21 -4
  184. package/models/gridSlotsComponentsProps.d.ts +4 -0
  185. package/models/gridStateCommunity.d.ts +2 -0
  186. package/models/index.d.ts +1 -1
  187. package/models/index.js +0 -1
  188. package/models/props/DataGridProps.d.ts +19 -0
  189. package/modern/DataGrid/DataGrid.js +20 -1
  190. package/modern/DataGrid/useDataGridComponent.js +2 -2
  191. package/modern/DataGrid/useDataGridProps.js +8 -13
  192. package/modern/colDef/gridBooleanColDef.js +19 -1
  193. package/modern/colDef/gridDateColDef.js +6 -2
  194. package/modern/colDef/gridNumericOperators.js +0 -6
  195. package/modern/colDef/gridSingleSelectColDef.js +21 -1
  196. package/modern/components/base/GridBody.js +2 -1
  197. package/modern/components/cell/GridEditInputCell.js +4 -1
  198. package/modern/components/containers/GridRootStyles.js +1 -0
  199. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  200. package/modern/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  201. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  202. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  203. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  204. package/modern/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  205. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
  206. package/modern/components/panel/filterPanel/index.js +2 -1
  207. package/modern/constants/localeTextConstants.js +26 -0
  208. package/modern/hooks/features/clipboard/useGridClipboard.js +43 -26
  209. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  210. package/modern/hooks/features/dimensions/useGridDimensions.js +3 -5
  211. package/modern/hooks/features/editing/useGridCellEditing.js +7 -3
  212. package/modern/hooks/features/editing/useGridEditing.js +0 -3
  213. package/modern/hooks/features/editing/useGridRowEditing.js +7 -3
  214. package/modern/hooks/features/export/serializers/csvSerializer.js +44 -6
  215. package/modern/hooks/features/export/useGridCsvExport.js +7 -5
  216. package/modern/hooks/features/focus/gridFocusStateSelector.js +6 -0
  217. package/modern/hooks/features/focus/useGridFocus.js +55 -9
  218. package/modern/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  219. package/modern/hooks/features/headerFiltering/index.js +1 -0
  220. package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +90 -0
  221. package/modern/hooks/features/index.js +2 -1
  222. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +124 -4
  223. package/modern/hooks/features/rows/useGridRows.js +16 -1
  224. package/modern/index.js +1 -1
  225. package/modern/internals/index.js +7 -2
  226. package/modern/internals/utils/index.js +2 -1
  227. package/modern/internals/utils/useProps.js +13 -0
  228. package/modern/joy/icons.js +433 -0
  229. package/modern/joy/joySlots.js +110 -4
  230. package/modern/locales/arSD.js +28 -0
  231. package/modern/locales/beBY.js +28 -0
  232. package/modern/locales/bgBG.js +28 -0
  233. package/modern/locales/csCZ.js +36 -8
  234. package/modern/locales/daDK.js +28 -0
  235. package/modern/locales/deDE.js +30 -2
  236. package/modern/locales/elGR.js +27 -0
  237. package/modern/locales/esES.js +28 -0
  238. package/modern/locales/faIR.js +28 -0
  239. package/modern/locales/fiFI.js +28 -0
  240. package/modern/locales/frFR.js +34 -6
  241. package/modern/locales/heIL.js +30 -2
  242. package/modern/locales/huHU.js +28 -0
  243. package/modern/locales/itIT.js +28 -0
  244. package/modern/locales/jaJP.js +28 -0
  245. package/modern/locales/koKR.js +28 -0
  246. package/modern/locales/nbNO.js +28 -0
  247. package/modern/locales/nlNL.js +28 -0
  248. package/modern/locales/plPL.js +28 -0
  249. package/modern/locales/ptBR.js +29 -1
  250. package/modern/locales/roRO.js +28 -0
  251. package/modern/locales/ruRU.js +28 -0
  252. package/modern/locales/skSK.js +28 -0
  253. package/modern/locales/svSE.js +28 -0
  254. package/modern/locales/trTR.js +28 -0
  255. package/modern/locales/ukUA.js +36 -9
  256. package/modern/locales/urPK.js +28 -0
  257. package/modern/locales/viVN.js +27 -0
  258. package/modern/locales/zhCN.js +28 -0
  259. package/modern/locales/zhTW.js +28 -0
  260. package/modern/material/index.js +5 -1
  261. package/modern/models/api/gridHeaderFilteringApi.js +1 -0
  262. package/modern/models/api/index.js +0 -1
  263. package/modern/models/gridHeaderFilteringModel.js +1 -0
  264. package/modern/models/index.js +0 -1
  265. package/modern/utils/domUtils.js +13 -1
  266. package/node/DataGrid/DataGrid.js +20 -1
  267. package/node/DataGrid/useDataGridComponent.js +2 -2
  268. package/node/DataGrid/useDataGridProps.js +7 -12
  269. package/node/colDef/gridBooleanColDef.js +19 -1
  270. package/node/colDef/gridDateColDef.js +6 -2
  271. package/node/colDef/gridNumericOperators.js +0 -6
  272. package/node/colDef/gridSingleSelectColDef.js +21 -1
  273. package/node/components/base/GridBody.js +2 -1
  274. package/node/components/cell/GridEditInputCell.js +4 -1
  275. package/node/components/containers/GridRootStyles.js +1 -0
  276. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +78 -35
  277. package/node/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  278. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  279. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  280. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  281. package/node/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  282. package/node/components/panel/filterPanel/GridFilterPanel.js +2 -1
  283. package/node/components/panel/filterPanel/index.js +26 -8
  284. package/node/constants/localeTextConstants.js +26 -0
  285. package/node/hooks/features/clipboard/useGridClipboard.js +42 -25
  286. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  287. package/node/hooks/features/dimensions/useGridDimensions.js +3 -5
  288. package/node/hooks/features/editing/useGridCellEditing.js +7 -3
  289. package/node/hooks/features/editing/useGridEditing.js +0 -3
  290. package/node/hooks/features/editing/useGridRowEditing.js +7 -3
  291. package/node/hooks/features/export/serializers/csvSerializer.js +46 -6
  292. package/node/hooks/features/export/useGridCsvExport.js +6 -3
  293. package/node/hooks/features/focus/gridFocusStateSelector.js +9 -1
  294. package/node/hooks/features/focus/useGridFocus.js +55 -9
  295. package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +15 -0
  296. package/node/hooks/features/headerFiltering/index.js +16 -0
  297. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +101 -0
  298. package/node/hooks/features/index.js +11 -0
  299. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +124 -4
  300. package/node/hooks/features/rows/useGridRows.js +16 -1
  301. package/node/index.js +1 -1
  302. package/node/internals/index.js +69 -1
  303. package/node/internals/utils/index.js +11 -0
  304. package/node/internals/utils/useProps.js +22 -0
  305. package/node/joy/icons.js +471 -0
  306. package/node/joy/joySlots.js +110 -3
  307. package/node/locales/arSD.js +28 -0
  308. package/node/locales/beBY.js +28 -0
  309. package/node/locales/bgBG.js +28 -0
  310. package/node/locales/csCZ.js +36 -8
  311. package/node/locales/daDK.js +28 -0
  312. package/node/locales/deDE.js +30 -2
  313. package/node/locales/elGR.js +27 -0
  314. package/node/locales/esES.js +28 -0
  315. package/node/locales/faIR.js +28 -0
  316. package/node/locales/fiFI.js +28 -0
  317. package/node/locales/frFR.js +34 -6
  318. package/node/locales/heIL.js +30 -2
  319. package/node/locales/huHU.js +28 -0
  320. package/node/locales/itIT.js +28 -0
  321. package/node/locales/jaJP.js +28 -0
  322. package/node/locales/koKR.js +28 -0
  323. package/node/locales/nbNO.js +28 -0
  324. package/node/locales/nlNL.js +28 -0
  325. package/node/locales/plPL.js +28 -0
  326. package/node/locales/ptBR.js +29 -1
  327. package/node/locales/roRO.js +28 -0
  328. package/node/locales/ruRU.js +28 -0
  329. package/node/locales/skSK.js +28 -0
  330. package/node/locales/svSE.js +28 -0
  331. package/node/locales/trTR.js +28 -0
  332. package/node/locales/ukUA.js +36 -9
  333. package/node/locales/urPK.js +28 -0
  334. package/node/locales/viVN.js +27 -0
  335. package/node/locales/zhCN.js +28 -0
  336. package/node/locales/zhTW.js +28 -0
  337. package/node/material/index.js +5 -1
  338. package/node/models/api/index.js +0 -11
  339. package/node/models/gridHeaderFilteringModel.js +5 -0
  340. package/node/models/index.js +0 -11
  341. package/node/utils/domUtils.js +15 -1
  342. package/package.json +1 -1
  343. package/utils/domUtils.d.ts +1 -0
  344. package/utils/domUtils.js +13 -1
  345. package/models/api/gridClipboardApi.d.ts +0 -11
  346. /package/legacy/models/api/{gridClipboardApi.js → gridHeaderFilteringApi.js} +0 -0
  347. /package/{models/api/gridClipboardApi.js → legacy/models/gridHeaderFilteringModel.js} +0 -0
  348. /package/{modern/models/api/gridClipboardApi.js → models/api/gridHeaderFilteringApi.js} +0 -0
  349. /package/node/models/api/{gridClipboardApi.js → gridHeaderFilteringApi.js} +0 -0
@@ -14,6 +14,8 @@ import { gridPinnedRowsSelector } from '../rows/gridRowsSelector';
14
14
  import { unstable_gridFocusColumnGroupHeaderSelector } from '../focus';
15
15
  import { gridColumnGroupsHeaderMaxDepthSelector } from '../columnGrouping/gridColumnGroupsSelector';
16
16
  import { useGridSelector } from '../../utils/useGridSelector';
17
+ import { unstable_gridHeaderFilteringEditFieldSelector, unstable_gridHeaderFilteringMenuSelector } from '../headerFiltering/gridHeaderFilteringSelectors';
18
+ import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
17
19
  function enrichPageRowsWithPinnedRows(apiRef, rows) {
18
20
  const pinnedRows = gridPinnedRowsSelector(apiRef) || {};
19
21
  return [...(pinnedRows.top || []), ...rows, ...(pinnedRows.bottom || [])];
@@ -67,6 +69,9 @@ export const useGridKeyboardNavigation = (apiRef, props) => {
67
69
  const initialCurrentPageRows = useGridVisibleRows(apiRef, props).rows;
68
70
  const theme = useTheme();
69
71
  const currentPageRows = React.useMemo(() => enrichPageRowsWithPinnedRows(apiRef, initialCurrentPageRows), [apiRef, initialCurrentPageRows]);
72
+ const headerFilteringEnabled =
73
+ // @ts-expect-error // TODO move relevant code to the `DataGridPro`
74
+ props.signature !== 'DataGrid' && props.unstable_headerFilters;
70
75
 
71
76
  /**
72
77
  * @param {number} colIndex Index of the column to focus
@@ -103,6 +108,14 @@ export const useGridKeyboardNavigation = (apiRef, props) => {
103
108
  const field = apiRef.current.getVisibleColumns()[colIndex].field;
104
109
  apiRef.current.setColumnHeaderFocus(field, event);
105
110
  }, [apiRef, logger]);
111
+ const goToHeaderFilter = React.useCallback((colIndex, event) => {
112
+ logger.debug(`Navigating to header filter col ${colIndex}`);
113
+ apiRef.current.scrollToIndexes({
114
+ colIndex
115
+ });
116
+ const field = apiRef.current.getVisibleColumns()[colIndex].field;
117
+ apiRef.current.setColumnHeaderFilterFocus(field, event);
118
+ }, [apiRef, logger]);
106
119
  const goToGroupHeader = React.useCallback((colIndex, depth, event) => {
107
120
  logger.debug(`Navigating to header col ${colIndex}`);
108
121
  apiRef.current.scrollToIndexes({
@@ -114,7 +127,7 @@ export const useGridKeyboardNavigation = (apiRef, props) => {
114
127
  apiRef.current.setColumnGroupHeaderFocus(field, depth, event);
115
128
  }, [apiRef, logger]);
116
129
  const getRowIdFromIndex = React.useCallback(rowIndex => {
117
- return currentPageRows[rowIndex].id;
130
+ return currentPageRows == null ? void 0 : currentPageRows[rowIndex].id;
118
131
  }, [currentPageRows]);
119
132
  const handleColumnHeaderKeyDown = React.useCallback((params, event) => {
120
133
  const headerTitleNode = event.currentTarget.querySelector(`.${gridClasses.columnHeaderTitleContainerContent}`);
@@ -140,7 +153,11 @@ export const useGridKeyboardNavigation = (apiRef, props) => {
140
153
  case 'ArrowDown':
141
154
  {
142
155
  if (firstRowIndexInPage !== null) {
143
- goToCell(colIndexBefore, getRowIdFromIndex(firstRowIndexInPage));
156
+ if (headerFilteringEnabled) {
157
+ goToHeaderFilter(colIndexBefore, event);
158
+ } else {
159
+ goToCell(colIndexBefore, getRowIdFromIndex(firstRowIndexInPage));
160
+ }
144
161
  }
145
162
  break;
146
163
  }
@@ -214,7 +231,97 @@ export const useGridKeyboardNavigation = (apiRef, props) => {
214
231
  if (shouldPreventDefault) {
215
232
  event.preventDefault();
216
233
  }
217
- }, [apiRef, currentPageRows.length, theme.direction, goToCell, getRowIdFromIndex, goToHeader, goToGroupHeader]);
234
+ }, [apiRef, currentPageRows.length, headerFilteringEnabled, goToHeaderFilter, goToCell, getRowIdFromIndex, theme.direction, goToHeader, goToGroupHeader]);
235
+ const handleHeaderFilterKeyDown = React.useCallback((params, event) => {
236
+ const dimensions = apiRef.current.getRootDimensions();
237
+ if (!dimensions) {
238
+ return;
239
+ }
240
+ const isEditing = unstable_gridHeaderFilteringEditFieldSelector(apiRef) === params.field;
241
+ const isHeaderMenuOpen = unstable_gridHeaderFilteringMenuSelector(apiRef) === params.field;
242
+ if (isEditing || isHeaderMenuOpen || !isNavigationKey(event.key)) {
243
+ return;
244
+ }
245
+ const viewportPageSize = apiRef.current.getViewportPageSize();
246
+ const colIndexBefore = params.field ? apiRef.current.getColumnIndex(params.field) : 0;
247
+ const firstRowIndexInPage = 0;
248
+ const lastRowIndexInPage = currentPageRows.length - 1;
249
+ const firstColIndex = 0;
250
+ const lastColIndex = gridVisibleColumnDefinitionsSelector(apiRef).length - 1;
251
+ let shouldPreventDefault = true;
252
+ switch (event.key) {
253
+ case 'ArrowDown':
254
+ {
255
+ const rowId = getRowIdFromIndex(firstRowIndexInPage);
256
+ if (firstRowIndexInPage !== null && rowId != null) {
257
+ goToCell(colIndexBefore, rowId);
258
+ }
259
+ break;
260
+ }
261
+ case 'ArrowRight':
262
+ {
263
+ const rightColIndex = getRightColumnIndex({
264
+ currentColIndex: colIndexBefore,
265
+ firstColIndex,
266
+ lastColIndex,
267
+ direction: theme.direction
268
+ });
269
+ if (rightColIndex !== null) {
270
+ goToHeaderFilter(rightColIndex, event);
271
+ }
272
+ break;
273
+ }
274
+ case 'ArrowLeft':
275
+ {
276
+ const leftColIndex = getLeftColumnIndex({
277
+ currentColIndex: colIndexBefore,
278
+ firstColIndex,
279
+ lastColIndex,
280
+ direction: theme.direction
281
+ });
282
+ if (leftColIndex !== null) {
283
+ goToHeaderFilter(leftColIndex, event);
284
+ } else {
285
+ apiRef.current.setColumnHeaderFilterFocus(params.field, event);
286
+ }
287
+ break;
288
+ }
289
+ case 'ArrowUp':
290
+ {
291
+ goToHeader(colIndexBefore, event);
292
+ break;
293
+ }
294
+ case 'PageDown':
295
+ {
296
+ if (firstRowIndexInPage !== null && lastRowIndexInPage !== null) {
297
+ goToCell(colIndexBefore, getRowIdFromIndex(Math.min(firstRowIndexInPage + viewportPageSize, lastRowIndexInPage)));
298
+ }
299
+ break;
300
+ }
301
+ case 'Home':
302
+ {
303
+ goToHeaderFilter(firstColIndex, event);
304
+ break;
305
+ }
306
+ case 'End':
307
+ {
308
+ goToHeaderFilter(lastColIndex, event);
309
+ break;
310
+ }
311
+ case ' ':
312
+ {
313
+ // prevent Space event from scrolling
314
+ break;
315
+ }
316
+ default:
317
+ {
318
+ shouldPreventDefault = false;
319
+ }
320
+ }
321
+ if (shouldPreventDefault) {
322
+ event.preventDefault();
323
+ }
324
+ }, [apiRef, currentPageRows.length, goToHeaderFilter, theme.direction, goToHeader, goToCell, getRowIdFromIndex]);
218
325
  const focusedColumnGroup = useGridSelector(apiRef, unstable_gridFocusColumnGroupHeaderSelector);
219
326
  const handleColumnGroupHeaderKeyDown = React.useCallback((params, event) => {
220
327
  const dimensions = apiRef.current.getRootDimensions();
@@ -349,6 +456,8 @@ export const useGridKeyboardNavigation = (apiRef, props) => {
349
456
  {
350
457
  if (rowIndexBefore > firstRowIndexInPage) {
351
458
  goToCell(colIndexBefore, getRowIdFromIndex(rowIndexBefore - 1));
459
+ } else if (headerFilteringEnabled) {
460
+ goToHeaderFilter(colIndexBefore, event);
352
461
  } else {
353
462
  goToHeader(colIndexBefore, event);
354
463
  }
@@ -449,8 +558,19 @@ export const useGridKeyboardNavigation = (apiRef, props) => {
449
558
  if (shouldPreventDefault) {
450
559
  event.preventDefault();
451
560
  }
452
- }, [apiRef, currentPageRows, theme.direction, getRowIdFromIndex, goToCell, goToHeader]);
561
+ }, [apiRef, currentPageRows, theme.direction, goToCell, getRowIdFromIndex, headerFilteringEnabled, goToHeaderFilter, goToHeader]);
562
+ const checkIfCanStartEditing = React.useCallback((initialValue, {
563
+ event
564
+ }) => {
565
+ if (event.key === ' ') {
566
+ // Space scrolls to the last row
567
+ return false;
568
+ }
569
+ return initialValue;
570
+ }, []);
571
+ useGridRegisterPipeProcessor(apiRef, 'canStartEditing', checkIfCanStartEditing);
453
572
  useGridApiEventHandler(apiRef, 'columnHeaderKeyDown', handleColumnHeaderKeyDown);
573
+ useGridApiEventHandler(apiRef, 'headerFilterKeyDown', handleHeaderFilterKeyDown);
454
574
  useGridApiEventHandler(apiRef, 'columnGroupHeaderKeyDown', handleColumnGroupHeaderKeyDown);
455
575
  useGridApiEventHandler(apiRef, 'cellKeyDown', handleCellKeyDown);
456
576
  };
@@ -115,8 +115,23 @@ export const useGridRows = (apiRef, props) => {
115
115
  if (props.signature === GridSignature.DataGrid && updates.length > 1) {
116
116
  throw new Error(["MUI: You can't update several rows at once in `apiRef.current.updateRows` on the DataGrid.", 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
117
117
  }
118
+ const nonPinnedRowsUpdates = [];
119
+ updates.forEach(update => {
120
+ const id = getRowIdFromRowModel(update, props.getRowId, 'A row was provided without id when calling updateRows():');
121
+ const rowNode = apiRef.current.getRowNode(id);
122
+ if ((rowNode == null ? void 0 : rowNode.type) === 'pinnedRow') {
123
+ // @ts-ignore because otherwise `release:build` doesn't work
124
+ const pinnedRowsCache = apiRef.current.caches.pinnedRows;
125
+ const prevModel = pinnedRowsCache.idLookup[id];
126
+ if (prevModel) {
127
+ pinnedRowsCache.idLookup[id] = _extends({}, prevModel, update);
128
+ }
129
+ } else {
130
+ nonPinnedRowsUpdates.push(update);
131
+ }
132
+ });
118
133
  const cache = updateCacheWithNewRows({
119
- updates,
134
+ updates: nonPinnedRowsUpdates,
120
135
  getRowId: props.getRowId,
121
136
  previousCache: apiRef.current.caches.rows
122
137
  });
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v6.3.1
2
+ * @mui/x-data-grid v6.5.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -5,6 +5,7 @@ export { GridVirtualScrollerRenderZone } from '../components/virtualization/Grid
5
5
  export { GridBaseColumnHeaders } from '../components/columnHeaders/GridBaseColumnHeaders';
6
6
  export { GridColumnHeadersInner } from '../components/columnHeaders/GridColumnHeadersInner';
7
7
  export { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from '../constants/defaultGridSlotsComponents';
8
+ export { getGridFilter } from '../components/panel/filterPanel/GridFilterPanel';
8
9
  export { useGridRegisterPipeProcessor } from '../hooks/core/pipeProcessing';
9
10
  export type { GridPipeProcessor } from '../hooks/core/pipeProcessing';
10
11
  export { useGridRegisterStrategyProcessor, GRID_DEFAULT_STRATEGY, } from '../hooks/core/strategyProcessing';
@@ -12,9 +13,12 @@ export type { GridStrategyProcessor } from '../hooks/core/strategyProcessing';
12
13
  export { useGridInitialization } from '../hooks/core/useGridInitialization';
13
14
  export { useGridClipboard } from '../hooks/features/clipboard/useGridClipboard';
14
15
  export { useGridColumnHeaders } from '../hooks/features/columnHeaders/useGridColumnHeaders';
15
- export type { UseGridColumnHeadersProps } from '../hooks/features/columnHeaders/useGridColumnHeaders';
16
+ export { unstable_gridHeaderFilteringEditFieldSelector, unstable_gridHeaderFilteringMenuSelector, } from '../hooks/features/headerFiltering/gridHeaderFilteringSelectors';
17
+ export type { GridSlotsComponentsProps } from '../models/gridSlotsComponentsProps';
18
+ export type { UseGridColumnHeadersProps, GetHeadersParams, } from '../hooks/features/columnHeaders/useGridColumnHeaders';
16
19
  export { useGridColumnMenu, columnMenuStateInitializer, } from '../hooks/features/columnMenu/useGridColumnMenu';
17
20
  export { useGridColumns, columnsStateInitializer } from '../hooks/features/columns/useGridColumns';
21
+ export { getTotalHeaderHeight } from '../hooks/features/columns/gridColumnsUtils';
18
22
  export { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
19
23
  export { useGridColumnGrouping, columnGroupsStateInitializer, } from '../hooks/features/columnGrouping/useGridColumnGrouping';
20
24
  export type { GridColumnGroupLookup } from '../hooks/features/columnGrouping/gridColumnGroupsInterfaces';
@@ -40,6 +44,7 @@ export { useGridRowsMeta, rowsMetaStateInitializer } from '../hooks/features/row
40
44
  export { useGridParamsApi } from '../hooks/features/rows/useGridParamsApi';
41
45
  export { getRowIdFromRowModel } from '../hooks/features/rows/gridRowsUtils';
42
46
  export { gridAdditionalRowGroupsSelector, gridPinnedRowsSelector, } from '../hooks/features/rows/gridRowsSelector';
47
+ export { headerFilteringStateInitializer, useGridHeaderFiltering, } from '../hooks/features/headerFiltering/useGridHeaderFiltering';
43
48
  export { calculatePinnedRowsHeight } from '../hooks/features/rows/gridRowsUtils';
44
49
  export { useGridRowSelection, rowSelectionStateInitializer, } from '../hooks/features/rowSelection/useGridRowSelection';
45
50
  export { useGridRowSelectionPreProcessors } from '../hooks/features/rowSelection/useGridRowSelectionPreProcessors';
@@ -51,13 +56,13 @@ export { useGridDimensions } from '../hooks/features/dimensions/useGridDimension
51
56
  export { useGridStatePersistence } from '../hooks/features/statePersistence/useGridStatePersistence';
52
57
  export type { GridRestoreStatePreProcessingContext } from '../hooks/features/statePersistence/gridStatePersistenceInterface';
53
58
  export { useGridVirtualScroller, getRenderableIndexes, } from '../hooks/features/virtualization/useGridVirtualScroller';
54
- export { useGridVisibleRows } from '../hooks/utils/useGridVisibleRows';
59
+ export { useGridVisibleRows, getVisibleRows } from '../hooks/utils/useGridVisibleRows';
55
60
  export { useGridInitializeState } from '../hooks/utils/useGridInitializeState';
56
61
  export type { GridStateInitializer } from '../hooks/utils/useGridInitializeState';
57
62
  export type { GridExperimentalFeatures, DataGridPropsWithoutDefaultValue, DataGridPropsWithDefaultValues, DataGridPropsWithComplexDefaultValueAfterProcessing, DataGridPropsWithComplexDefaultValueBeforeProcessing, } from '../models/props/DataGridProps';
58
63
  export { getColumnsToExport, defaultGetRowsToExport } from '../hooks/features/export/utils';
59
64
  export { createSelector, unstable_resetCreateSelectorCache } from '../utils/createSelector';
60
- export { findParentElementFromClassName } from '../utils/domUtils';
65
+ export { findParentElementFromClassName, getActiveElement } from '../utils/domUtils';
61
66
  export { isNavigationKey } from '../utils/keyboardUtils';
62
67
  export { clamp, isDeepEqual, isNumber, isFunction, isObject } from '../utils/utils';
63
68
  export { buildWarning } from '../utils/warning';
@@ -66,4 +71,5 @@ export type { GridPrivateOnlyApiCommon } from '../models/api/gridApiCommon';
66
71
  export { useGridPrivateApiContext } from '../hooks/utils/useGridPrivateApiContext';
67
72
  export type { GridApiCommunity } from '../models/api/gridApiCommunity';
68
73
  export type { GridApiCaches } from '../models/gridApiCaches';
74
+ export { serializeCellValue } from '../hooks/features/export/serializers/csvSerializer';
69
75
  export * from './utils';
@@ -4,13 +4,16 @@ export { GridVirtualScrollerRenderZone } from '../components/virtualization/Grid
4
4
  export { GridBaseColumnHeaders } from '../components/columnHeaders/GridBaseColumnHeaders';
5
5
  export { GridColumnHeadersInner } from '../components/columnHeaders/GridColumnHeadersInner';
6
6
  export { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from '../constants/defaultGridSlotsComponents';
7
+ export { getGridFilter } from '../components/panel/filterPanel/GridFilterPanel';
7
8
  export { useGridRegisterPipeProcessor } from '../hooks/core/pipeProcessing';
8
9
  export { useGridRegisterStrategyProcessor, GRID_DEFAULT_STRATEGY } from '../hooks/core/strategyProcessing';
9
10
  export { useGridInitialization } from '../hooks/core/useGridInitialization';
10
11
  export { useGridClipboard } from '../hooks/features/clipboard/useGridClipboard';
11
12
  export { useGridColumnHeaders } from '../hooks/features/columnHeaders/useGridColumnHeaders';
13
+ export { unstable_gridHeaderFilteringEditFieldSelector, unstable_gridHeaderFilteringMenuSelector } from '../hooks/features/headerFiltering/gridHeaderFilteringSelectors';
12
14
  export { useGridColumnMenu, columnMenuStateInitializer } from '../hooks/features/columnMenu/useGridColumnMenu';
13
15
  export { useGridColumns, columnsStateInitializer } from '../hooks/features/columns/useGridColumns';
16
+ export { getTotalHeaderHeight } from '../hooks/features/columns/gridColumnsUtils';
14
17
  export { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
15
18
  export { useGridColumnGrouping, columnGroupsStateInitializer } from '../hooks/features/columnGrouping/useGridColumnGrouping';
16
19
  export { useGridDensity, densityStateInitializer } from '../hooks/features/density/useGridDensity';
@@ -32,6 +35,7 @@ export { useGridRowsMeta, rowsMetaStateInitializer } from '../hooks/features/row
32
35
  export { useGridParamsApi } from '../hooks/features/rows/useGridParamsApi';
33
36
  export { getRowIdFromRowModel } from '../hooks/features/rows/gridRowsUtils';
34
37
  export { gridAdditionalRowGroupsSelector, gridPinnedRowsSelector } from '../hooks/features/rows/gridRowsSelector';
38
+ export { headerFilteringStateInitializer, useGridHeaderFiltering } from '../hooks/features/headerFiltering/useGridHeaderFiltering';
35
39
  export { calculatePinnedRowsHeight } from '../hooks/features/rows/gridRowsUtils';
36
40
  export { useGridRowSelection, rowSelectionStateInitializer } from '../hooks/features/rowSelection/useGridRowSelection';
37
41
  export { useGridRowSelectionPreProcessors } from '../hooks/features/rowSelection/useGridRowSelectionPreProcessors';
@@ -41,14 +45,15 @@ export { useGridEvents } from '../hooks/features/events/useGridEvents';
41
45
  export { useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
42
46
  export { useGridStatePersistence } from '../hooks/features/statePersistence/useGridStatePersistence';
43
47
  export { useGridVirtualScroller, getRenderableIndexes } from '../hooks/features/virtualization/useGridVirtualScroller';
44
- export { useGridVisibleRows } from '../hooks/utils/useGridVisibleRows';
48
+ export { useGridVisibleRows, getVisibleRows } from '../hooks/utils/useGridVisibleRows';
45
49
  export { useGridInitializeState } from '../hooks/utils/useGridInitializeState';
46
50
  export { getColumnsToExport, defaultGetRowsToExport } from '../hooks/features/export/utils';
47
51
  export { createSelector, unstable_resetCreateSelectorCache } from '../utils/createSelector';
48
- export { findParentElementFromClassName } from '../utils/domUtils';
52
+ export { findParentElementFromClassName, getActiveElement } from '../utils/domUtils';
49
53
  export { isNavigationKey } from '../utils/keyboardUtils';
50
54
  export { clamp, isDeepEqual, isNumber, isFunction, isObject } from '../utils/utils';
51
55
  export { buildWarning } from '../utils/warning';
52
56
  export { exportAs } from '../utils/exportAs';
53
57
  export { useGridPrivateApiContext } from '../hooks/utils/useGridPrivateApiContext';
58
+ export { serializeCellValue } from '../hooks/features/export/serializers/csvSerializer';
54
59
  export * from './utils';
@@ -1,2 +1,3 @@
1
1
  export * from './computeSlots';
2
2
  export * from './slotsMigration';
3
+ export * from './useProps';
@@ -1,2 +1,3 @@
1
1
  export * from './computeSlots';
2
- export * from './slotsMigration';
2
+ export * from './slotsMigration';
3
+ export * from './useProps';
@@ -0,0 +1,8 @@
1
+ import { GridSlotsComponentsProps } from '../../models/gridSlotsComponentsProps';
2
+ import { GridSlotsComponent } from '../../models';
3
+ interface WithComponents {
4
+ components?: Partial<GridSlotsComponent>;
5
+ componentsProps?: GridSlotsComponentsProps;
6
+ }
7
+ export declare function useProps<T extends WithComponents>(allProps: T): readonly [Partial<GridSlotsComponent> | undefined, GridSlotsComponentsProps | undefined, Omit<T, "components" | "componentsProps">];
8
+ export {};
@@ -0,0 +1,13 @@
1
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
+ const _excluded = ["components", "componentsProps"];
3
+ import * as React from 'react';
4
+ export function useProps(allProps) {
5
+ return React.useMemo(() => {
6
+ const {
7
+ components,
8
+ componentsProps
9
+ } = allProps,
10
+ themedProps = _objectWithoutPropertiesLoose(allProps, _excluded);
11
+ return [components, componentsProps, themedProps];
12
+ }, [allProps]);
13
+ }
package/joy/icons.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import { GridIconSlotsComponent } from '../models/gridIconSlotsComponent';
2
+ import { UncapitalizeObjectKeys } from '../internals/utils';
3
+ export declare const GridArrowUpwardIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
4
+ export declare const GridArrowDownwardIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
5
+ export declare const GridKeyboardArrowLeft: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
6
+ export declare const GridKeyboardArrowRight: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
7
+ export declare const GridExpandMoreIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
8
+ export declare const GridFilterListIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
9
+ export declare const GridFilterAltIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
10
+ export declare const GridSearchIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
11
+ export declare const GridMenuIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
12
+ export declare const GridCheckCircleIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
13
+ export declare const GridColumnIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
14
+ export declare const GridSeparatorIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
15
+ export declare const GridViewHeadlineIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
16
+ export declare const GridTableRowsIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
17
+ export declare const GridViewStreamIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
18
+ export declare const GridTripleDotsVerticalIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
19
+ export declare const GridCloseIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
20
+ export declare const GridAddIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
21
+ export declare const GridRemoveIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
22
+ export declare const GridLoadIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
23
+ export declare const GridDragIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
24
+ export declare const GridSaveAltIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
25
+ export declare const GridCheckIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
26
+ export declare const GridMoreVertIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
27
+ export declare const GridVisibilityOffIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
28
+ export declare const GridViewColumnIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
29
+ export declare const GridClearIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
30
+ export declare const GridDeleteIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
31
+ export declare const GridDeleteForeverIcon: import("@mui/types").OverridableComponent<import("@mui/joy/SvgIcon").SvgIconTypeMap<{}, "svg">>;
32
+ declare const joyIconSlots: UncapitalizeObjectKeys<GridIconSlotsComponent>;
33
+ export default joyIconSlots;