@mui/x-data-grid 5.8.0 → 5.11.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 (626) hide show
  1. package/CHANGELOG.md +333 -66
  2. package/DataGrid/DataGrid.js +36 -2
  3. package/DataGrid/useDataGridComponent.js +3 -1
  4. package/DataGrid/useDataGridProps.js +2 -1
  5. package/LICENSE +21 -0
  6. package/README.md +7 -5
  7. package/colDef/gridActionsColDef.js +2 -1
  8. package/colDef/gridBooleanColDef.js +2 -1
  9. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  10. package/colDef/gridDateColDef.js +4 -2
  11. package/colDef/gridNumericColDef.js +3 -2
  12. package/colDef/gridNumericOperators.d.ts +2 -0
  13. package/colDef/gridNumericOperators.js +11 -0
  14. package/colDef/gridSingleSelectColDef.js +3 -2
  15. package/colDef/gridSingleSelectOperators.d.ts +3 -0
  16. package/colDef/gridSingleSelectOperators.js +52 -0
  17. package/colDef/gridStringColDef.js +3 -2
  18. package/colDef/gridStringOperators.d.ts +2 -0
  19. package/colDef/gridStringOperators.js +12 -0
  20. package/components/GridFooter.d.ts +4 -2
  21. package/components/GridFooter.js +11 -2
  22. package/components/GridRow.d.ts +4 -0
  23. package/components/GridRow.js +58 -28
  24. package/components/GridRowCount.d.ts +4 -1
  25. package/components/GridRowCount.js +1 -0
  26. package/components/GridScrollArea.js +3 -4
  27. package/components/GridSelectedRowCount.d.ts +4 -1
  28. package/components/GridSelectedRowCount.js +2 -1
  29. package/components/base/GridBody.js +1 -2
  30. package/components/base/GridOverlays.js +5 -5
  31. package/components/cell/GridActionsCell.d.ts +5 -1
  32. package/components/cell/GridActionsCell.js +179 -21
  33. package/components/cell/GridActionsCellItem.d.ts +66 -4
  34. package/components/cell/GridActionsCellItem.js +7 -5
  35. package/components/cell/GridCell.d.ts +1 -0
  36. package/components/cell/GridCell.js +36 -15
  37. package/components/cell/GridEditBooleanCell.d.ts +15 -3
  38. package/components/cell/GridEditBooleanCell.js +101 -6
  39. package/components/cell/GridEditDateCell.d.ts +16 -4
  40. package/components/cell/GridEditDateCell.js +99 -5
  41. package/components/cell/GridEditInputCell.d.ts +11 -5
  42. package/components/cell/GridEditInputCell.js +30 -6
  43. package/components/cell/GridEditSingleSelectCell.d.ts +12 -4
  44. package/components/cell/GridEditSingleSelectCell.js +50 -18
  45. package/components/cell/index.d.ts +2 -0
  46. package/components/cell/index.js +2 -0
  47. package/components/columnHeaders/GridColumnHeaderItem.js +19 -23
  48. package/components/columnHeaders/GridColumnHeaders.d.ts +2 -1
  49. package/components/columnHeaders/GridColumnHeaders.js +1 -1
  50. package/components/columnHeaders/GridColumnHeadersInner.d.ts +2 -0
  51. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +3 -3
  52. package/components/columnSelection/GridCellCheckboxRenderer.js +22 -6
  53. package/components/columnSelection/GridHeaderCheckbox.js +4 -5
  54. package/components/containers/GridFooterContainer.d.ts +8 -2
  55. package/components/containers/GridFooterContainer.js +11 -2
  56. package/components/containers/GridRootStyles.js +36 -1
  57. package/components/containers/GridToolbarContainer.d.ts +8 -2
  58. package/components/containers/GridToolbarContainer.js +12 -2
  59. package/components/menu/GridMenu.js +1 -0
  60. package/components/panel/GridPanel.js +1 -0
  61. package/components/panel/GridPanelContent.d.ts +8 -1
  62. package/components/panel/GridPanelContent.js +13 -2
  63. package/components/panel/GridPanelFooter.d.ts +8 -1
  64. package/components/panel/GridPanelFooter.js +13 -2
  65. package/components/panel/GridPanelHeader.d.ts +8 -1
  66. package/components/panel/GridPanelHeader.js +13 -2
  67. package/components/panel/filterPanel/GridFilterForm.js +14 -10
  68. package/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
  69. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -15
  70. package/components/panel/filterPanel/GridFilterInputValue.js +22 -15
  71. package/components/toolbar/GridToolbar.d.ts +12 -2
  72. package/components/toolbar/GridToolbar.js +30 -7
  73. package/components/toolbar/GridToolbarDensitySelector.js +1 -1
  74. package/components/toolbar/GridToolbarExport.d.ts +5 -4
  75. package/components/toolbar/GridToolbarExport.js +15 -20
  76. package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
  77. package/components/toolbar/GridToolbarQuickFilter.d.ts +20 -0
  78. package/components/toolbar/GridToolbarQuickFilter.js +88 -0
  79. package/components/toolbar/index.d.ts +3 -1
  80. package/components/toolbar/index.js +3 -2
  81. package/components/virtualization/GridVirtualScroller.d.ts +4 -1
  82. package/components/virtualization/GridVirtualScroller.js +2 -0
  83. package/components/virtualization/GridVirtualScrollerContent.d.ts +4 -1
  84. package/components/virtualization/GridVirtualScrollerContent.js +1 -3
  85. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +4 -1
  86. package/constants/defaultGridSlotsComponents.js +3 -2
  87. package/constants/gridClasses.d.ts +20 -0
  88. package/constants/gridClasses.js +1 -1
  89. package/constants/gridDetailPanelToggleField.d.ts +1 -0
  90. package/constants/gridDetailPanelToggleField.js +2 -0
  91. package/constants/localeTextConstants.js +8 -1
  92. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +39 -15
  93. package/hooks/core/pipeProcessing/index.d.ts +1 -0
  94. package/hooks/core/pipeProcessing/index.js +2 -1
  95. package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +8 -3
  96. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
  97. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +3 -0
  98. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
  99. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +0 -3
  100. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
  101. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +4 -4
  102. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  103. package/hooks/core/useGridApiInitialization.js +3 -3
  104. package/hooks/core/useGridErrorHandler.js +1 -2
  105. package/hooks/core/useGridStateInitialization.js +1 -2
  106. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +0 -1
  107. package/hooks/features/columnHeaders/useGridColumnHeaders.js +81 -16
  108. package/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  109. package/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -1
  110. package/hooks/features/columns/gridColumnsUtils.d.ts +19 -1
  111. package/hooks/features/columns/gridColumnsUtils.js +61 -8
  112. package/hooks/features/columns/useGridColumnSpanning.d.ts +7 -0
  113. package/hooks/features/columns/useGridColumnSpanning.js +108 -0
  114. package/hooks/features/columns/useGridColumns.d.ts +1 -1
  115. package/hooks/features/columns/useGridColumns.js +30 -25
  116. package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
  117. package/hooks/features/dimensions/useGridDimensions.js +10 -11
  118. package/hooks/features/editRows/useGridCellEditing.new.d.ts +1 -1
  119. package/hooks/features/editRows/useGridCellEditing.new.js +151 -42
  120. package/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  121. package/hooks/features/editRows/useGridEditing.new.js +7 -3
  122. package/hooks/features/editRows/useGridEditing.old.js +4 -5
  123. package/hooks/features/editRows/useGridRowEditing.new.d.ts +1 -1
  124. package/hooks/features/editRows/useGridRowEditing.new.js +145 -57
  125. package/hooks/features/editRows/useGridRowEditing.old.js +21 -22
  126. package/hooks/features/events/useGridEvents.js +17 -18
  127. package/hooks/features/export/serializers/csvSerializer.js +5 -5
  128. package/hooks/features/export/useGridCsvExport.js +23 -16
  129. package/hooks/features/export/useGridPrintExport.js +22 -0
  130. package/hooks/features/export/utils.d.ts +3 -1
  131. package/hooks/features/export/utils.js +13 -0
  132. package/hooks/features/filter/gridFilterState.d.ts +1 -2
  133. package/hooks/features/filter/gridFilterState.js +3 -1
  134. package/hooks/features/filter/gridFilterUtils.d.ts +8 -0
  135. package/hooks/features/filter/gridFilterUtils.js +84 -2
  136. package/hooks/features/filter/useGridFilter.js +32 -15
  137. package/hooks/features/focus/useGridFocus.d.ts +1 -1
  138. package/hooks/features/focus/useGridFocus.js +48 -42
  139. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -0
  140. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -12
  141. package/hooks/features/pagination/useGridPage.js +3 -4
  142. package/hooks/features/pagination/useGridPageSize.js +2 -3
  143. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  144. package/hooks/features/rows/gridRowsSelector.d.ts +2 -0
  145. package/hooks/features/rows/gridRowsSelector.js +2 -0
  146. package/hooks/features/rows/gridRowsState.d.ts +7 -7
  147. package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  148. package/hooks/features/rows/gridRowsUtils.js +25 -1
  149. package/hooks/features/rows/useGridRows.d.ts +2 -2
  150. package/hooks/features/rows/useGridRows.js +121 -61
  151. package/hooks/features/rows/useGridRowsMeta.js +6 -13
  152. package/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  153. package/hooks/features/scroll/useGridScroll.d.ts +2 -0
  154. package/hooks/features/scroll/useGridScroll.js +31 -4
  155. package/hooks/features/selection/useGridSelection.d.ts +1 -1
  156. package/hooks/features/selection/useGridSelection.js +15 -11
  157. package/hooks/features/sorting/useGridSorting.js +17 -18
  158. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +9 -0
  159. package/hooks/features/virtualization/useGridVirtualScroller.js +68 -32
  160. package/hooks/utils/useGridApiEventHandler.d.ts +4 -1
  161. package/hooks/utils/useGridApiEventHandler.js +22 -9
  162. package/hooks/utils/useGridNativeEventListener.js +1 -2
  163. package/hooks/utils/useGridSelector.js +1 -1
  164. package/index.d.ts +2 -0
  165. package/index.js +1 -1
  166. package/internals/index.d.ts +5 -1
  167. package/internals/index.js +6 -2
  168. package/legacy/DataGrid/DataGrid.js +36 -2
  169. package/legacy/DataGrid/useDataGridComponent.js +3 -1
  170. package/legacy/DataGrid/useDataGridProps.js +2 -1
  171. package/legacy/colDef/gridActionsColDef.js +2 -1
  172. package/legacy/colDef/gridBooleanColDef.js +2 -1
  173. package/legacy/colDef/gridCheckboxSelectionColDef.js +1 -0
  174. package/legacy/colDef/gridDateColDef.js +4 -2
  175. package/legacy/colDef/gridNumericColDef.js +3 -2
  176. package/legacy/colDef/gridNumericOperators.js +28 -18
  177. package/legacy/colDef/gridSingleSelectColDef.js +3 -2
  178. package/legacy/colDef/gridSingleSelectOperators.js +55 -6
  179. package/legacy/colDef/gridStringColDef.js +3 -2
  180. package/legacy/colDef/gridStringOperators.js +25 -14
  181. package/legacy/components/GridFooter.js +11 -2
  182. package/legacy/components/GridRow.js +56 -28
  183. package/legacy/components/GridRowCount.js +1 -0
  184. package/legacy/components/GridScrollArea.js +3 -4
  185. package/legacy/components/GridSelectedRowCount.js +2 -1
  186. package/legacy/components/base/GridBody.js +1 -2
  187. package/legacy/components/base/GridOverlays.js +5 -5
  188. package/legacy/components/cell/GridActionsCell.js +197 -27
  189. package/legacy/components/cell/GridActionsCellItem.js +7 -5
  190. package/legacy/components/cell/GridCell.js +37 -15
  191. package/legacy/components/cell/GridEditBooleanCell.js +132 -11
  192. package/legacy/components/cell/GridEditDateCell.js +148 -42
  193. package/legacy/components/cell/GridEditInputCell.js +62 -13
  194. package/legacy/components/cell/GridEditSingleSelectCell.js +65 -28
  195. package/legacy/components/cell/index.js +2 -0
  196. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +19 -23
  197. package/legacy/components/columnHeaders/GridColumnHeaders.js +2 -3
  198. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +23 -6
  199. package/legacy/components/columnSelection/GridHeaderCheckbox.js +4 -5
  200. package/legacy/components/containers/GridFooterContainer.js +11 -2
  201. package/legacy/components/containers/GridRootStyles.js +26 -5
  202. package/legacy/components/containers/GridToolbarContainer.js +12 -2
  203. package/legacy/components/menu/GridMenu.js +1 -0
  204. package/legacy/components/panel/GridPanel.js +1 -0
  205. package/legacy/components/panel/GridPanelContent.js +13 -2
  206. package/legacy/components/panel/GridPanelFooter.js +13 -2
  207. package/legacy/components/panel/GridPanelHeader.js +13 -2
  208. package/legacy/components/panel/filterPanel/GridFilterForm.js +14 -10
  209. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
  210. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -17
  211. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +22 -17
  212. package/legacy/components/toolbar/GridToolbar.js +31 -6
  213. package/legacy/components/toolbar/GridToolbarDensitySelector.js +1 -1
  214. package/legacy/components/toolbar/GridToolbarExport.js +18 -19
  215. package/legacy/components/toolbar/GridToolbarQuickFilter.js +103 -0
  216. package/legacy/components/toolbar/index.js +3 -2
  217. package/legacy/components/virtualization/GridVirtualScroller.js +2 -0
  218. package/legacy/components/virtualization/GridVirtualScrollerContent.js +1 -3
  219. package/legacy/constants/defaultGridSlotsComponents.js +3 -2
  220. package/legacy/constants/gridClasses.js +1 -1
  221. package/legacy/constants/gridDetailPanelToggleField.js +2 -0
  222. package/legacy/constants/localeTextConstants.js +8 -1
  223. package/legacy/hooks/core/pipeProcessing/index.js +2 -1
  224. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +60 -24
  225. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
  226. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
  227. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  228. package/legacy/hooks/core/useGridApiInitialization.js +3 -3
  229. package/legacy/hooks/core/useGridErrorHandler.js +1 -2
  230. package/legacy/hooks/core/useGridStateInitialization.js +1 -2
  231. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +94 -16
  232. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  233. package/legacy/hooks/features/columns/gridColumnsUtils.js +79 -22
  234. package/legacy/hooks/features/columns/useGridColumnSpanning.js +106 -0
  235. package/legacy/hooks/features/columns/useGridColumns.js +30 -25
  236. package/legacy/hooks/features/dimensions/useGridDimensions.js +10 -11
  237. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +225 -89
  238. package/legacy/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  239. package/legacy/hooks/features/editRows/useGridEditing.new.js +7 -3
  240. package/legacy/hooks/features/editRows/useGridEditing.old.js +4 -5
  241. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +157 -65
  242. package/legacy/hooks/features/editRows/useGridRowEditing.old.js +20 -21
  243. package/legacy/hooks/features/events/useGridEvents.js +17 -18
  244. package/legacy/hooks/features/export/serializers/csvSerializer.js +5 -5
  245. package/legacy/hooks/features/export/useGridCsvExport.js +24 -17
  246. package/legacy/hooks/features/export/useGridPrintExport.js +22 -0
  247. package/legacy/hooks/features/export/utils.js +14 -0
  248. package/legacy/hooks/features/filter/gridFilterState.js +3 -1
  249. package/legacy/hooks/features/filter/gridFilterUtils.js +96 -2
  250. package/legacy/hooks/features/filter/useGridFilter.js +32 -15
  251. package/legacy/hooks/features/focus/useGridFocus.js +50 -44
  252. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -11
  253. package/legacy/hooks/features/pagination/useGridPage.js +3 -4
  254. package/legacy/hooks/features/pagination/useGridPageSize.js +2 -3
  255. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  256. package/legacy/hooks/features/rows/gridRowsSelector.js +6 -0
  257. package/legacy/hooks/features/rows/gridRowsUtils.js +27 -1
  258. package/legacy/hooks/features/rows/useGridRows.js +131 -61
  259. package/legacy/hooks/features/rows/useGridRowsMeta.js +6 -13
  260. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  261. package/legacy/hooks/features/scroll/useGridScroll.js +31 -4
  262. package/legacy/hooks/features/selection/useGridSelection.js +15 -11
  263. package/legacy/hooks/features/sorting/useGridSorting.js +12 -15
  264. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +79 -42
  265. package/legacy/hooks/utils/useGridApiEventHandler.js +20 -9
  266. package/legacy/hooks/utils/useGridNativeEventListener.js +1 -2
  267. package/legacy/hooks/utils/useGridSelector.js +1 -1
  268. package/legacy/index.js +1 -1
  269. package/legacy/internals/index.js +6 -2
  270. package/legacy/locales/arSD.js +8 -1
  271. package/legacy/locales/bgBG.js +8 -1
  272. package/legacy/locales/csCZ.js +7 -0
  273. package/legacy/locales/daDK.js +8 -1
  274. package/legacy/locales/deDE.js +10 -3
  275. package/legacy/locales/elGR.js +7 -0
  276. package/legacy/locales/esES.js +7 -0
  277. package/legacy/locales/faIR.js +8 -1
  278. package/legacy/locales/fiFI.js +7 -0
  279. package/legacy/locales/frFR.js +7 -0
  280. package/legacy/locales/heIL.js +8 -1
  281. package/legacy/locales/huHU.js +127 -0
  282. package/legacy/locales/index.js +1 -0
  283. package/legacy/locales/itIT.js +7 -0
  284. package/legacy/locales/jaJP.js +7 -0
  285. package/legacy/locales/koKR.js +7 -0
  286. package/legacy/locales/nlNL.js +7 -0
  287. package/legacy/locales/plPL.js +8 -1
  288. package/legacy/locales/ptBR.js +8 -1
  289. package/legacy/locales/ruRU.js +7 -0
  290. package/legacy/locales/skSK.js +7 -0
  291. package/legacy/locales/trTR.js +8 -1
  292. package/legacy/locales/ukUA.js +7 -0
  293. package/legacy/locales/viVN.js +7 -0
  294. package/legacy/locales/zhCN.js +7 -0
  295. package/legacy/models/api/gridColumnSpanning.js +1 -0
  296. package/legacy/models/events/gridEvents.js +10 -3
  297. package/legacy/models/gridColumnSpanning.js +1 -0
  298. package/legacy/models/index.js +4 -3
  299. package/legacy/utils/createSelector.js +18 -2
  300. package/legacy/utils/exportAs.js +1 -1
  301. package/locales/arSD.js +8 -1
  302. package/locales/bgBG.js +8 -1
  303. package/locales/csCZ.js +7 -0
  304. package/locales/daDK.js +8 -1
  305. package/locales/deDE.js +10 -3
  306. package/locales/elGR.js +7 -0
  307. package/locales/esES.js +7 -0
  308. package/locales/faIR.js +8 -1
  309. package/locales/fiFI.js +7 -0
  310. package/locales/frFR.js +7 -0
  311. package/locales/heIL.js +8 -1
  312. package/locales/huHU.d.ts +2 -0
  313. package/locales/huHU.js +115 -0
  314. package/locales/index.d.ts +1 -0
  315. package/locales/index.js +1 -0
  316. package/locales/itIT.js +7 -0
  317. package/locales/jaJP.js +7 -0
  318. package/locales/koKR.js +7 -0
  319. package/locales/nlNL.js +7 -0
  320. package/locales/plPL.js +8 -1
  321. package/locales/ptBR.js +8 -1
  322. package/locales/ruRU.js +7 -0
  323. package/locales/skSK.js +7 -0
  324. package/locales/trTR.js +8 -1
  325. package/locales/ukUA.js +7 -0
  326. package/locales/viVN.js +7 -0
  327. package/locales/zhCN.js +7 -0
  328. package/models/api/gridApiCommon.d.ts +2 -1
  329. package/models/api/gridColumnSpanning.d.ts +28 -0
  330. package/models/api/gridColumnSpanning.js +1 -0
  331. package/models/api/gridCoreApi.d.ts +10 -0
  332. package/models/api/gridEditingApi.d.ts +72 -7
  333. package/models/api/gridFilterApi.d.ts +5 -0
  334. package/models/api/gridFocusApi.d.ts +1 -0
  335. package/models/api/gridLocaleTextApi.d.ts +5 -0
  336. package/models/api/gridRowApi.d.ts +34 -0
  337. package/models/api/index.d.ts +1 -1
  338. package/models/colDef/gridColDef.d.ts +18 -0
  339. package/models/events/gridEventLookup.d.ts +296 -11
  340. package/models/events/gridEvents.d.ts +10 -258
  341. package/models/events/gridEvents.js +10 -3
  342. package/models/gridColumnSpanning.d.ts +12 -0
  343. package/models/gridColumnSpanning.js +1 -0
  344. package/models/gridEditRowModel.d.ts +1 -1
  345. package/models/gridExport.d.ts +29 -2
  346. package/models/gridFilterModel.d.ts +11 -0
  347. package/models/gridFilterOperator.d.ts +1 -1
  348. package/models/gridIconSlotsComponent.d.ts +5 -0
  349. package/models/gridStateCommunity.d.ts +0 -2
  350. package/models/index.d.ts +1 -1
  351. package/models/index.js +4 -3
  352. package/models/params/gridCellParams.d.ts +12 -2
  353. package/models/params/gridRowParams.d.ts +5 -0
  354. package/models/props/DataGridProps.d.ts +57 -29
  355. package/modern/DataGrid/DataGrid.js +36 -2
  356. package/modern/DataGrid/useDataGridComponent.js +3 -1
  357. package/modern/DataGrid/useDataGridProps.js +2 -1
  358. package/modern/colDef/gridActionsColDef.js +2 -1
  359. package/modern/colDef/gridBooleanColDef.js +2 -1
  360. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  361. package/modern/colDef/gridDateColDef.js +4 -2
  362. package/modern/colDef/gridNumericColDef.js +3 -2
  363. package/modern/colDef/gridNumericOperators.js +11 -0
  364. package/modern/colDef/gridSingleSelectColDef.js +3 -2
  365. package/modern/colDef/gridSingleSelectOperators.js +52 -0
  366. package/modern/colDef/gridStringColDef.js +3 -2
  367. package/modern/colDef/gridStringOperators.js +12 -0
  368. package/modern/components/GridFooter.js +11 -2
  369. package/modern/components/GridRow.js +56 -26
  370. package/modern/components/GridRowCount.js +1 -0
  371. package/modern/components/GridScrollArea.js +3 -4
  372. package/modern/components/GridSelectedRowCount.js +2 -1
  373. package/modern/components/base/GridBody.js +1 -2
  374. package/modern/components/base/GridOverlays.js +5 -5
  375. package/modern/components/cell/GridActionsCell.js +179 -21
  376. package/modern/components/cell/GridActionsCellItem.js +7 -5
  377. package/modern/components/cell/GridCell.js +36 -15
  378. package/modern/components/cell/GridEditBooleanCell.js +101 -6
  379. package/modern/components/cell/GridEditDateCell.js +99 -5
  380. package/modern/components/cell/GridEditInputCell.js +30 -6
  381. package/modern/components/cell/GridEditSingleSelectCell.js +48 -16
  382. package/modern/components/cell/index.js +2 -0
  383. package/modern/components/columnHeaders/GridColumnHeaderItem.js +19 -23
  384. package/modern/components/columnHeaders/GridColumnHeaders.js +1 -1
  385. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +22 -6
  386. package/modern/components/columnSelection/GridHeaderCheckbox.js +4 -5
  387. package/modern/components/containers/GridFooterContainer.js +11 -2
  388. package/modern/components/containers/GridRootStyles.js +36 -1
  389. package/modern/components/containers/GridToolbarContainer.js +12 -2
  390. package/modern/components/menu/GridMenu.js +1 -0
  391. package/modern/components/panel/GridPanel.js +1 -0
  392. package/modern/components/panel/GridPanelContent.js +13 -2
  393. package/modern/components/panel/GridPanelFooter.js +13 -2
  394. package/modern/components/panel/GridPanelHeader.js +13 -2
  395. package/modern/components/panel/filterPanel/GridFilterForm.js +10 -6
  396. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +11 -6
  397. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +20 -13
  398. package/modern/components/panel/filterPanel/GridFilterInputValue.js +20 -13
  399. package/modern/components/toolbar/GridToolbar.js +30 -7
  400. package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -1
  401. package/modern/components/toolbar/GridToolbarExport.js +15 -20
  402. package/modern/components/toolbar/GridToolbarQuickFilter.js +86 -0
  403. package/modern/components/toolbar/index.js +3 -2
  404. package/modern/components/virtualization/GridVirtualScroller.js +2 -0
  405. package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -3
  406. package/modern/constants/defaultGridSlotsComponents.js +3 -2
  407. package/modern/constants/gridClasses.js +1 -1
  408. package/modern/constants/gridDetailPanelToggleField.js +2 -0
  409. package/modern/constants/localeTextConstants.js +8 -1
  410. package/modern/hooks/core/pipeProcessing/index.js +2 -1
  411. package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
  412. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
  413. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
  414. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  415. package/modern/hooks/core/useGridApiInitialization.js +3 -3
  416. package/modern/hooks/core/useGridErrorHandler.js +1 -2
  417. package/modern/hooks/core/useGridStateInitialization.js +1 -2
  418. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +81 -16
  419. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  420. package/modern/hooks/features/columns/gridColumnsUtils.js +61 -8
  421. package/modern/hooks/features/columns/useGridColumnSpanning.js +106 -0
  422. package/modern/hooks/features/columns/useGridColumns.js +30 -25
  423. package/modern/hooks/features/dimensions/useGridDimensions.js +10 -11
  424. package/modern/hooks/features/editRows/useGridCellEditing.new.js +149 -42
  425. package/modern/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  426. package/modern/hooks/features/editRows/useGridEditing.new.js +7 -3
  427. package/modern/hooks/features/editRows/useGridEditing.old.js +4 -5
  428. package/modern/hooks/features/editRows/useGridRowEditing.new.js +143 -57
  429. package/modern/hooks/features/editRows/useGridRowEditing.old.js +21 -22
  430. package/modern/hooks/features/events/useGridEvents.js +17 -18
  431. package/modern/hooks/features/export/serializers/csvSerializer.js +5 -5
  432. package/modern/hooks/features/export/useGridCsvExport.js +21 -16
  433. package/modern/hooks/features/export/useGridPrintExport.js +20 -0
  434. package/modern/hooks/features/export/utils.js +13 -0
  435. package/modern/hooks/features/filter/gridFilterState.js +3 -1
  436. package/modern/hooks/features/filter/gridFilterUtils.js +80 -2
  437. package/modern/hooks/features/filter/useGridFilter.js +32 -15
  438. package/modern/hooks/features/focus/useGridFocus.js +48 -42
  439. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +41 -12
  440. package/modern/hooks/features/pagination/useGridPage.js +3 -4
  441. package/modern/hooks/features/pagination/useGridPageSize.js +2 -3
  442. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  443. package/modern/hooks/features/rows/gridRowsSelector.js +2 -0
  444. package/modern/hooks/features/rows/gridRowsUtils.js +23 -1
  445. package/modern/hooks/features/rows/useGridRows.js +121 -61
  446. package/modern/hooks/features/rows/useGridRowsMeta.js +6 -13
  447. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  448. package/modern/hooks/features/scroll/useGridScroll.js +29 -4
  449. package/modern/hooks/features/selection/useGridSelection.js +15 -11
  450. package/modern/hooks/features/sorting/useGridSorting.js +17 -18
  451. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +68 -28
  452. package/modern/hooks/utils/useGridApiEventHandler.js +20 -9
  453. package/modern/hooks/utils/useGridNativeEventListener.js +1 -2
  454. package/modern/hooks/utils/useGridSelector.js +1 -1
  455. package/modern/index.js +1 -1
  456. package/modern/internals/index.js +6 -2
  457. package/modern/locales/arSD.js +8 -1
  458. package/modern/locales/bgBG.js +8 -1
  459. package/modern/locales/csCZ.js +7 -0
  460. package/modern/locales/daDK.js +8 -1
  461. package/modern/locales/deDE.js +10 -3
  462. package/modern/locales/elGR.js +7 -0
  463. package/modern/locales/esES.js +7 -0
  464. package/modern/locales/faIR.js +8 -1
  465. package/modern/locales/fiFI.js +7 -0
  466. package/modern/locales/frFR.js +7 -0
  467. package/modern/locales/heIL.js +8 -1
  468. package/modern/locales/huHU.js +115 -0
  469. package/modern/locales/index.js +1 -0
  470. package/modern/locales/itIT.js +7 -0
  471. package/modern/locales/jaJP.js +7 -0
  472. package/modern/locales/koKR.js +7 -0
  473. package/modern/locales/nlNL.js +7 -0
  474. package/modern/locales/plPL.js +8 -1
  475. package/modern/locales/ptBR.js +8 -1
  476. package/modern/locales/ruRU.js +7 -0
  477. package/modern/locales/skSK.js +7 -0
  478. package/modern/locales/trTR.js +8 -1
  479. package/modern/locales/ukUA.js +7 -0
  480. package/modern/locales/viVN.js +7 -0
  481. package/modern/locales/zhCN.js +7 -0
  482. package/modern/models/api/gridColumnSpanning.js +1 -0
  483. package/modern/models/events/gridEvents.js +10 -3
  484. package/modern/models/gridColumnSpanning.js +1 -0
  485. package/modern/models/index.js +4 -3
  486. package/modern/utils/createSelector.js +20 -2
  487. package/modern/utils/exportAs.js +1 -1
  488. package/node/DataGrid/DataGrid.js +36 -2
  489. package/node/DataGrid/useDataGridComponent.js +4 -1
  490. package/node/DataGrid/useDataGridProps.js +2 -1
  491. package/node/colDef/gridActionsColDef.js +2 -1
  492. package/node/colDef/gridBooleanColDef.js +2 -1
  493. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  494. package/node/colDef/gridDateColDef.js +4 -2
  495. package/node/colDef/gridNumericColDef.js +2 -1
  496. package/node/colDef/gridNumericOperators.js +15 -1
  497. package/node/colDef/gridSingleSelectColDef.js +2 -1
  498. package/node/colDef/gridSingleSelectOperators.js +56 -1
  499. package/node/colDef/gridStringColDef.js +2 -1
  500. package/node/colDef/gridStringOperators.js +16 -1
  501. package/node/components/GridFooter.js +10 -1
  502. package/node/components/GridRow.js +59 -29
  503. package/node/components/GridRowCount.js +1 -0
  504. package/node/components/GridScrollArea.js +3 -5
  505. package/node/components/GridSelectedRowCount.js +2 -1
  506. package/node/components/base/GridBody.js +1 -3
  507. package/node/components/base/GridOverlays.js +4 -5
  508. package/node/components/cell/GridActionsCell.js +181 -21
  509. package/node/components/cell/GridActionsCellItem.js +7 -4
  510. package/node/components/cell/GridCell.js +35 -14
  511. package/node/components/cell/GridEditBooleanCell.js +100 -5
  512. package/node/components/cell/GridEditDateCell.js +98 -4
  513. package/node/components/cell/GridEditInputCell.js +30 -6
  514. package/node/components/cell/GridEditSingleSelectCell.js +50 -18
  515. package/node/components/cell/index.js +26 -0
  516. package/node/components/columnHeaders/GridColumnHeaderItem.js +19 -24
  517. package/node/components/columnHeaders/GridColumnHeaders.js +1 -1
  518. package/node/components/columnSelection/GridCellCheckboxRenderer.js +22 -7
  519. package/node/components/columnSelection/GridHeaderCheckbox.js +4 -6
  520. package/node/components/containers/GridFooterContainer.js +10 -1
  521. package/node/components/containers/GridRootStyles.js +36 -1
  522. package/node/components/containers/GridToolbarContainer.js +11 -1
  523. package/node/components/menu/GridMenu.js +1 -0
  524. package/node/components/panel/GridPanel.js +1 -0
  525. package/node/components/panel/GridPanelContent.js +11 -1
  526. package/node/components/panel/GridPanelFooter.js +11 -1
  527. package/node/components/panel/GridPanelHeader.js +11 -1
  528. package/node/components/panel/filterPanel/GridFilterForm.js +15 -10
  529. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +14 -8
  530. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +23 -15
  531. package/node/components/panel/filterPanel/GridFilterInputValue.js +23 -15
  532. package/node/components/toolbar/GridToolbar.js +32 -7
  533. package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
  534. package/node/components/toolbar/GridToolbarExport.js +14 -19
  535. package/node/components/toolbar/GridToolbarQuickFilter.js +111 -0
  536. package/node/components/toolbar/index.js +42 -11
  537. package/node/components/virtualization/GridVirtualScroller.js +2 -0
  538. package/node/components/virtualization/GridVirtualScrollerContent.js +1 -3
  539. package/node/constants/defaultGridSlotsComponents.js +2 -1
  540. package/node/constants/gridClasses.js +1 -1
  541. package/node/constants/gridDetailPanelToggleField.js +9 -0
  542. package/node/constants/localeTextConstants.js +8 -1
  543. package/node/hooks/core/pipeProcessing/index.js +13 -0
  544. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +51 -20
  545. package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +42 -0
  546. package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -3
  547. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -8
  548. package/node/hooks/core/useGridApiInitialization.js +3 -4
  549. package/node/hooks/core/useGridErrorHandler.js +1 -3
  550. package/node/hooks/core/useGridStateInitialization.js +1 -3
  551. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +85 -17
  552. package/node/hooks/features/columnMenu/useGridColumnMenu.js +3 -4
  553. package/node/hooks/features/columns/gridColumnsUtils.js +65 -9
  554. package/node/hooks/features/columns/useGridColumnSpanning.js +128 -0
  555. package/node/hooks/features/columns/useGridColumns.js +29 -25
  556. package/node/hooks/features/dimensions/useGridDimensions.js +10 -12
  557. package/node/hooks/features/editRows/useGridCellEditing.new.js +151 -42
  558. package/node/hooks/features/editRows/useGridCellEditing.old.js +20 -22
  559. package/node/hooks/features/editRows/useGridEditing.new.js +6 -2
  560. package/node/hooks/features/editRows/useGridEditing.old.js +4 -6
  561. package/node/hooks/features/editRows/useGridRowEditing.new.js +143 -57
  562. package/node/hooks/features/editRows/useGridRowEditing.old.js +21 -23
  563. package/node/hooks/features/events/useGridEvents.js +17 -19
  564. package/node/hooks/features/export/serializers/csvSerializer.js +5 -5
  565. package/node/hooks/features/export/useGridCsvExport.js +26 -17
  566. package/node/hooks/features/export/useGridPrintExport.js +25 -0
  567. package/node/hooks/features/export/utils.js +19 -2
  568. package/node/hooks/features/filter/gridFilterState.js +3 -1
  569. package/node/hooks/features/filter/gridFilterUtils.js +92 -3
  570. package/node/hooks/features/filter/useGridFilter.js +33 -16
  571. package/node/hooks/features/focus/useGridFocus.js +48 -43
  572. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +44 -13
  573. package/node/hooks/features/pagination/useGridPage.js +3 -5
  574. package/node/hooks/features/pagination/useGridPageSize.js +2 -4
  575. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -8
  576. package/node/hooks/features/rows/gridRowsSelector.js +5 -1
  577. package/node/hooks/features/rows/gridRowsUtils.js +29 -1
  578. package/node/hooks/features/rows/useGridRows.js +122 -61
  579. package/node/hooks/features/rows/useGridRowsMeta.js +6 -14
  580. package/node/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  581. package/node/hooks/features/scroll/useGridScroll.js +32 -3
  582. package/node/hooks/features/selection/useGridSelection.js +16 -12
  583. package/node/hooks/features/sorting/useGridSorting.js +17 -19
  584. package/node/hooks/features/virtualization/useGridVirtualScroller.js +73 -33
  585. package/node/hooks/utils/useGridApiEventHandler.js +22 -10
  586. package/node/hooks/utils/useGridNativeEventListener.js +1 -3
  587. package/node/hooks/utils/useGridSelector.js +1 -1
  588. package/node/index.js +1 -1
  589. package/node/internals/index.js +47 -3
  590. package/node/locales/arSD.js +8 -1
  591. package/node/locales/bgBG.js +8 -1
  592. package/node/locales/csCZ.js +7 -0
  593. package/node/locales/daDK.js +8 -1
  594. package/node/locales/deDE.js +10 -3
  595. package/node/locales/elGR.js +7 -0
  596. package/node/locales/esES.js +7 -0
  597. package/node/locales/faIR.js +8 -1
  598. package/node/locales/fiFI.js +7 -0
  599. package/node/locales/frFR.js +7 -0
  600. package/node/locales/heIL.js +8 -1
  601. package/node/locales/huHU.js +125 -0
  602. package/node/locales/index.js +13 -0
  603. package/node/locales/itIT.js +7 -0
  604. package/node/locales/jaJP.js +7 -0
  605. package/node/locales/koKR.js +7 -0
  606. package/node/locales/nlNL.js +7 -0
  607. package/node/locales/plPL.js +8 -1
  608. package/node/locales/ptBR.js +8 -1
  609. package/node/locales/ruRU.js +7 -0
  610. package/node/locales/skSK.js +7 -0
  611. package/node/locales/trTR.js +8 -1
  612. package/node/locales/ukUA.js +7 -0
  613. package/node/locales/viVN.js +7 -0
  614. package/node/locales/zhCN.js +7 -0
  615. package/node/models/api/gridColumnSpanning.js +5 -0
  616. package/node/models/events/gridEvents.js +10 -3
  617. package/node/models/gridColumnSpanning.js +5 -0
  618. package/node/models/index.js +0 -13
  619. package/node/utils/createSelector.js +25 -4
  620. package/node/utils/exportAs.js +1 -1
  621. package/package.json +4 -4
  622. package/utils/createSelector.d.ts +2 -1
  623. package/utils/createSelector.js +20 -2
  624. package/utils/domUtils.d.ts +2 -2
  625. package/utils/exportAs.d.ts +2 -2
  626. package/utils/exportAs.js +1 -1
@@ -1,8 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "hasFocus", "getValue", "inputProps", "isValidating", "isProcessingProps"];
5
+ var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "hasFocus", "getValue", "inputProps", "isValidating", "isProcessingProps", "onValueChange"];
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
7
  import * as React from 'react';
8
+ import PropTypes from 'prop-types';
6
9
  import { unstable_composeClasses as composeClasses } from '@mui/material';
7
10
  import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';
8
11
  import InputBase from '@mui/material/InputBase';
@@ -18,7 +21,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
18
21
  return composeClasses(slots, getDataGridUtilityClass, classes);
19
22
  };
20
23
 
21
- export function GridEditDateCell(props) {
24
+ function GridEditDateCell(props) {
22
25
  var id = props.id,
23
26
  valueProp = props.value,
24
27
  formattedValue = props.formattedValue,
@@ -35,6 +38,7 @@ export function GridEditDateCell(props) {
35
38
  inputProps = props.inputProps,
36
39
  isValidating = props.isValidating,
37
40
  isProcessingProps = props.isProcessingProps,
41
+ onValueChange = props.onValueChange,
38
42
  other = _objectWithoutProperties(props, _excluded);
39
43
 
40
44
  var isDateTime = colDef.type === 'dateTime';
@@ -75,48 +79,62 @@ export function GridEditDateCell(props) {
75
79
  classes: rootProps.classes
76
80
  };
77
81
  var classes = useUtilityClasses(ownerState);
78
- var handleChange = React.useCallback(function (event) {
79
- var newFormattedDate = event.target.value;
80
- var newParsedDate;
82
+ var handleChange = React.useCallback( /*#__PURE__*/function () {
83
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
84
+ var newFormattedDate, newParsedDate, _newFormattedDate$spl, _newFormattedDate$spl2, date, time, _date$split, _date$split2, year, month, day, _time$split, _time$split2, hours, minutes;
81
85
 
82
- if (newFormattedDate === '') {
83
- newParsedDate = null;
84
- } else {
85
- var _newFormattedDate$spl = newFormattedDate.split('T'),
86
- _newFormattedDate$spl2 = _slicedToArray(_newFormattedDate$spl, 2),
87
- date = _newFormattedDate$spl2[0],
88
- time = _newFormattedDate$spl2[1];
89
-
90
- var _date$split = date.split('-'),
91
- _date$split2 = _slicedToArray(_date$split, 3),
92
- year = _date$split2[0],
93
- month = _date$split2[1],
94
- day = _date$split2[2];
95
-
96
- newParsedDate = new Date();
97
- newParsedDate.setFullYear(year, Number(month) - 1, day);
98
- newParsedDate.setHours(0, 0, 0, 0);
99
-
100
- if (time) {
101
- var _time$split = time.split(':'),
102
- _time$split2 = _slicedToArray(_time$split, 2),
103
- hours = _time$split2[0],
104
- minutes = _time$split2[1];
105
-
106
- newParsedDate.setHours(Number(hours), Number(minutes), 0, 0);
107
- }
108
- }
86
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
87
+ while (1) {
88
+ switch (_context.prev = _context.next) {
89
+ case 0:
90
+ newFormattedDate = event.target.value;
109
91
 
110
- setValueState({
111
- parsed: newParsedDate,
112
- formatted: newFormattedDate
113
- });
114
- api.setEditCellValue({
115
- id: id,
116
- field: field,
117
- value: newParsedDate
118
- }, event);
119
- }, [api, field, id]);
92
+ if (newFormattedDate === '') {
93
+ newParsedDate = null;
94
+ } else {
95
+ _newFormattedDate$spl = newFormattedDate.split('T'), _newFormattedDate$spl2 = _slicedToArray(_newFormattedDate$spl, 2), date = _newFormattedDate$spl2[0], time = _newFormattedDate$spl2[1];
96
+ _date$split = date.split('-'), _date$split2 = _slicedToArray(_date$split, 3), year = _date$split2[0], month = _date$split2[1], day = _date$split2[2];
97
+ newParsedDate = new Date();
98
+ newParsedDate.setFullYear(year, Number(month) - 1, day);
99
+ newParsedDate.setHours(0, 0, 0, 0);
100
+
101
+ if (time) {
102
+ _time$split = time.split(':'), _time$split2 = _slicedToArray(_time$split, 2), hours = _time$split2[0], minutes = _time$split2[1];
103
+ newParsedDate.setHours(Number(hours), Number(minutes), 0, 0);
104
+ }
105
+ }
106
+
107
+ if (!onValueChange) {
108
+ _context.next = 5;
109
+ break;
110
+ }
111
+
112
+ _context.next = 5;
113
+ return onValueChange(event, newParsedDate);
114
+
115
+ case 5:
116
+ setValueState({
117
+ parsed: newParsedDate,
118
+ formatted: newFormattedDate
119
+ });
120
+ api.setEditCellValue({
121
+ id: id,
122
+ field: field,
123
+ value: newParsedDate
124
+ }, event);
125
+
126
+ case 7:
127
+ case "end":
128
+ return _context.stop();
129
+ }
130
+ }
131
+ }, _callee);
132
+ }));
133
+
134
+ return function (_x) {
135
+ return _ref.apply(this, arguments);
136
+ };
137
+ }(), [api, field, id, onValueChange]);
120
138
  React.useEffect(function () {
121
139
  setValueState(function (state) {
122
140
  var _valueTransformed$par, _state$parsed;
@@ -145,6 +163,94 @@ export function GridEditDateCell(props) {
145
163
  onChange: handleChange
146
164
  }, other));
147
165
  }
166
+
167
+ process.env.NODE_ENV !== "production" ? GridEditDateCell.propTypes = {
168
+ // ----------------------------- Warning --------------------------------
169
+ // | These PropTypes are generated from the TypeScript type definitions |
170
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
171
+ // ----------------------------------------------------------------------
172
+
173
+ /**
174
+ * GridApi that let you manipulate the grid.
175
+ * @deprecated Use the `apiRef` returned by `useGridApiContext` or `useGridApiRef` (only available in `@mui/x-data-grid-pro`)
176
+ */
177
+ api: PropTypes.any.isRequired,
178
+
179
+ /**
180
+ * The mode of the cell.
181
+ */
182
+ cellMode: PropTypes.oneOf(['edit', 'view']).isRequired,
183
+
184
+ /**
185
+ * The column of the row that the current cell belongs to.
186
+ */
187
+ colDef: PropTypes.object.isRequired,
188
+
189
+ /**
190
+ * The column field of the cell that triggered the event.
191
+ */
192
+ field: PropTypes.string.isRequired,
193
+
194
+ /**
195
+ * The cell value formatted with the column valueFormatter.
196
+ */
197
+ formattedValue: PropTypes.any,
198
+
199
+ /**
200
+ * Get the cell value of a row and field.
201
+ * @param {GridRowId} id The row id.
202
+ * @param {string} field The field.
203
+ * @returns {any} The cell value.
204
+ * @deprecated Use `params.row` to directly access the fields you want instead.
205
+ */
206
+ getValue: PropTypes.func.isRequired,
207
+
208
+ /**
209
+ * If true, the cell is the active element.
210
+ */
211
+ hasFocus: PropTypes.bool.isRequired,
212
+
213
+ /**
214
+ * The grid row id.
215
+ */
216
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
217
+
218
+ /**
219
+ * If true, the cell is editable.
220
+ */
221
+ isEditable: PropTypes.bool,
222
+ isProcessingProps: PropTypes.bool,
223
+ isValidating: PropTypes.bool,
224
+
225
+ /**
226
+ * Callback called when the value is changed by the user.
227
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
228
+ * @param {Date | null} newValue The value that is going to be passed to `apiRef.current.setEditCellValue`.
229
+ * @returns {Promise<void> | void} A promise to be awaited before calling `apiRef.current.setEditCellValue`
230
+ */
231
+ onValueChange: PropTypes.func,
232
+
233
+ /**
234
+ * The row model of the row that the current cell belongs to.
235
+ */
236
+ row: PropTypes.object.isRequired,
237
+
238
+ /**
239
+ * The node of the row that the current cell belongs to.
240
+ */
241
+ rowNode: PropTypes.object.isRequired,
242
+
243
+ /**
244
+ * the tabIndex value.
245
+ */
246
+ tabIndex: PropTypes.oneOf([-1, 0]).isRequired,
247
+
248
+ /**
249
+ * The cell value, but if the column has valueGetter, use getValue.
250
+ */
251
+ value: PropTypes.any
252
+ } : void 0;
253
+ export { GridEditDateCell };
148
254
  export var renderEditDateCell = function renderEditDateCell(params) {
149
255
  return /*#__PURE__*/_jsx(GridEditDateCell, _extends({}, params));
150
256
  };
@@ -1,7 +1,9 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
1
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
4
  import _extends from "@babel/runtime/helpers/esm/extends";
4
- var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "hasFocus", "getValue", "isValidating", "debounceMs", "isProcessingProps"];
5
+ var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "hasFocus", "getValue", "isValidating", "debounceMs", "isProcessingProps", "onValueChange"];
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
7
  import * as React from 'react';
6
8
  import PropTypes from 'prop-types';
7
9
  import { unstable_composeClasses as composeClasses } from '@mui/material';
@@ -61,6 +63,7 @@ function GridEditInputCell(props) {
61
63
  _props$debounceMs = props.debounceMs,
62
64
  debounceMs = _props$debounceMs === void 0 ? (_rootProps$experiment = rootProps.experimentalFeatures) != null && _rootProps$experiment.newEditingApi ? 200 : SUBMIT_FILTER_STROKE_TIME : _props$debounceMs,
63
65
  isProcessingProps = props.isProcessingProps,
66
+ onValueChange = props.onValueChange,
64
67
  other = _objectWithoutProperties(props, _excluded);
65
68
 
66
69
  var inputRef = React.useRef();
@@ -74,16 +77,44 @@ function GridEditInputCell(props) {
74
77
  classes: rootProps.classes
75
78
  };
76
79
  var classes = useUtilityClasses(ownerState);
77
- var handleChange = React.useCallback(function (event) {
78
- var newValue = event.target.value;
79
- setValueState(newValue);
80
- api.setEditCellValue({
81
- id: id,
82
- field: field,
83
- value: newValue,
84
- debounceMs: debounceMs
85
- }, event);
86
- }, [api, debounceMs, field, id]);
80
+ var handleChange = React.useCallback( /*#__PURE__*/function () {
81
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
82
+ var newValue;
83
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
84
+ while (1) {
85
+ switch (_context.prev = _context.next) {
86
+ case 0:
87
+ newValue = event.target.value;
88
+
89
+ if (!onValueChange) {
90
+ _context.next = 4;
91
+ break;
92
+ }
93
+
94
+ _context.next = 4;
95
+ return onValueChange(event, newValue);
96
+
97
+ case 4:
98
+ setValueState(newValue);
99
+ api.setEditCellValue({
100
+ id: id,
101
+ field: field,
102
+ value: newValue,
103
+ debounceMs: debounceMs
104
+ }, event);
105
+
106
+ case 6:
107
+ case "end":
108
+ return _context.stop();
109
+ }
110
+ }
111
+ }, _callee);
112
+ }));
113
+
114
+ return function (_x) {
115
+ return _ref2.apply(this, arguments);
116
+ };
117
+ }(), [api, debounceMs, field, id, onValueChange]);
87
118
  React.useEffect(function () {
88
119
  setValueState(value);
89
120
  }, [value]);
@@ -134,7 +165,7 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
134
165
  /**
135
166
  * The cell value formatted with the column valueFormatter.
136
167
  */
137
- formattedValue: PropTypes.any.isRequired,
168
+ formattedValue: PropTypes.any,
138
169
 
139
170
  /**
140
171
  * Get the cell value of a row and field.
@@ -162,6 +193,14 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
162
193
  isProcessingProps: PropTypes.bool,
163
194
  isValidating: PropTypes.bool,
164
195
 
196
+ /**
197
+ * Callback called when the value is changed by the user.
198
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
199
+ * @param {Date | null} newValue The value that is going to be passed to `apiRef.current.setEditCellValue`.
200
+ * @returns {Promise<void> | void} A promise to be awaited before calling `apiRef.current.setEditCellValue`
201
+ */
202
+ onValueChange: PropTypes.func,
203
+
165
204
  /**
166
205
  * The row model of the row that the current cell belongs to.
167
206
  */
@@ -170,7 +209,17 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
170
209
  /**
171
210
  * The node of the row that the current cell belongs to.
172
211
  */
173
- rowNode: PropTypes.object.isRequired
212
+ rowNode: PropTypes.object.isRequired,
213
+
214
+ /**
215
+ * the tabIndex value.
216
+ */
217
+ tabIndex: PropTypes.oneOf([-1, 0]).isRequired,
218
+
219
+ /**
220
+ * The cell value, but if the column has valueGetter, use getValue.
221
+ */
222
+ value: PropTypes.any
174
223
  } : void 0;
175
224
  export { GridEditInputCell };
176
225
  export var renderEditInputCell = function renderEditInputCell(params) {
@@ -3,7 +3,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  import _typeof from "@babel/runtime/helpers/esm/typeof";
6
- var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "className", "getValue", "hasFocus", "isValidating", "isProcessingProps", "error"];
6
+ var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "className", "getValue", "hasFocus", "isValidating", "isProcessingProps", "error", "onValueChange"];
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import * as React from 'react';
9
9
  import PropTypes from 'prop-types';
@@ -12,21 +12,22 @@ import MenuItem from '@mui/material/MenuItem';
12
12
  import { isEscapeKey } from '../../utils/keyboardUtils';
13
13
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
14
14
  import { GridEditModes } from '../../models/gridEditRowModel';
15
- import { GridEvents } from '../../models/events/gridEvents';
15
+ import { getValueFromValueOptions } from '../panel/filterPanel/filterPanelUtils';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
 
18
- var renderSingleSelectOptions = function renderSingleSelectOptions(option) {
19
- return _typeof(option) === 'object' ? /*#__PURE__*/_jsx(MenuItem, {
20
- value: option.value,
21
- children: option.label
22
- }, option.value) : /*#__PURE__*/_jsx(MenuItem, {
23
- value: option,
24
- children: option
25
- }, option);
18
+ var renderSingleSelectOptions = function renderSingleSelectOptions(option, OptionComponent) {
19
+ var isOptionTypeObject = _typeof(option) === 'object';
20
+ var key = isOptionTypeObject ? option.value : option;
21
+ var value = isOptionTypeObject ? option.value : option;
22
+ var content = isOptionTypeObject ? option.label : option;
23
+ return /*#__PURE__*/_jsx(OptionComponent, {
24
+ value: value,
25
+ children: content
26
+ }, key);
26
27
  };
27
28
 
28
29
  function GridEditSingleSelectCell(props) {
29
- var _rootProps$components;
30
+ var _rootProps$components, _baseSelectProps$nati, _rootProps$components2;
30
31
 
31
32
  var id = props.id,
32
33
  value = props.value,
@@ -45,6 +46,7 @@ function GridEditSingleSelectCell(props) {
45
46
  isValidating = props.isValidating,
46
47
  isProcessingProps = props.isProcessingProps,
47
48
  error = props.error,
49
+ onValueChange = props.onValueChange,
48
50
  other = _objectWithoutProperties(props, _excluded);
49
51
 
50
52
  var ref = React.useRef();
@@ -56,6 +58,8 @@ function GridEditSingleSelectCell(props) {
56
58
  open = _React$useState2[0],
57
59
  setOpen = _React$useState2[1];
58
60
 
61
+ var baseSelectProps = ((_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.baseSelect) || {};
62
+ var isSelectNative = (_baseSelectProps$nati = baseSelectProps.native) != null ? _baseSelectProps$nati : false;
59
63
  var valueOptionsFormatted;
60
64
 
61
65
  if (typeof colDef.valueOptions === 'function') {
@@ -90,46 +94,58 @@ function GridEditSingleSelectCell(props) {
90
94
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
91
95
  var _rootProps$experiment;
92
96
 
93
- var target, isValid, canCommit, params;
97
+ var target, formattedTargetValue, isValid, canCommit, params;
94
98
  return _regeneratorRuntime.wrap(function _callee$(_context) {
95
99
  while (1) {
96
100
  switch (_context.prev = _context.next) {
97
101
  case 0:
98
102
  setOpen(false);
99
- target = event.target;
100
- _context.next = 4;
103
+ target = event.target; // NativeSelect casts the value to a string.
104
+
105
+ formattedTargetValue = getValueFromValueOptions(target.value, valueOptionsFormatted);
106
+
107
+ if (!onValueChange) {
108
+ _context.next = 6;
109
+ break;
110
+ }
111
+
112
+ _context.next = 6;
113
+ return onValueChange(event, formattedTargetValue);
114
+
115
+ case 6:
116
+ _context.next = 8;
101
117
  return api.setEditCellValue({
102
118
  id: id,
103
119
  field: field,
104
- value: target.value
120
+ value: formattedTargetValue
105
121
  }, event);
106
122
 
107
- case 4:
123
+ case 8:
108
124
  isValid = _context.sent;
109
125
 
110
126
  if (!((_rootProps$experiment = rootProps.experimentalFeatures) != null && _rootProps$experiment.newEditingApi)) {
111
- _context.next = 7;
127
+ _context.next = 11;
112
128
  break;
113
129
  }
114
130
 
115
131
  return _context.abrupt("return");
116
132
 
117
- case 7:
133
+ case 11:
118
134
  if (!(rootProps.editMode === GridEditModes.Row || isValid === false)) {
119
- _context.next = 9;
135
+ _context.next = 13;
120
136
  break;
121
137
  }
122
138
 
123
139
  return _context.abrupt("return");
124
140
 
125
- case 9:
126
- _context.next = 11;
141
+ case 13:
142
+ _context.next = 15;
127
143
  return Promise.resolve(api.commitCellChange({
128
144
  id: id,
129
145
  field: field
130
146
  }, event));
131
147
 
132
- case 11:
148
+ case 15:
133
149
  canCommit = _context.sent;
134
150
 
135
151
  if (canCommit) {
@@ -138,11 +154,11 @@ function GridEditSingleSelectCell(props) {
138
154
  if (event.key) {
139
155
  // TODO v6: remove once we stop ignoring events fired from portals
140
156
  params = api.getCellParams(id, field);
141
- api.publishEvent(GridEvents.cellNavigationKeyDown, params, event);
157
+ api.publishEvent('cellNavigationKeyDown', params, event);
142
158
  }
143
159
  }
144
160
 
145
- case 13:
161
+ case 17:
146
162
  case "end":
147
163
  return _context.stop();
148
164
  }
@@ -196,9 +212,12 @@ function GridEditSingleSelectCell(props) {
196
212
  onClose: handleClose
197
213
  },
198
214
  error: error,
215
+ native: isSelectNative,
199
216
  fullWidth: true
200
- }, other, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.baseSelect, {
201
- children: valueOptionsFormatted.map(renderSingleSelectOptions)
217
+ }, other, (_rootProps$components2 = rootProps.componentsProps) == null ? void 0 : _rootProps$components2.baseSelect, {
218
+ children: valueOptionsFormatted.map(function (valueOptions) {
219
+ return renderSingleSelectOptions(valueOptions, isSelectNative ? 'option' : MenuItem);
220
+ })
202
221
  }));
203
222
  }
204
223
 
@@ -232,7 +251,7 @@ process.env.NODE_ENV !== "production" ? GridEditSingleSelectCell.propTypes = {
232
251
  /**
233
252
  * The cell value formatted with the column valueFormatter.
234
253
  */
235
- formattedValue: PropTypes.any.isRequired,
254
+ formattedValue: PropTypes.any,
236
255
 
237
256
  /**
238
257
  * Get the cell value of a row and field.
@@ -260,6 +279,14 @@ process.env.NODE_ENV !== "production" ? GridEditSingleSelectCell.propTypes = {
260
279
  isProcessingProps: PropTypes.bool,
261
280
  isValidating: PropTypes.bool,
262
281
 
282
+ /**
283
+ * Callback called when the value is changed by the user.
284
+ * @param {SelectChangeEvent<any>} event The event source of the callback.
285
+ * @param {any} newValue The value that is going to be passed to `apiRef.current.setEditCellValue`.
286
+ * @returns {Promise<void> | void} A promise to be awaited before calling `apiRef.current.setEditCellValue`
287
+ */
288
+ onValueChange: PropTypes.func,
289
+
263
290
  /**
264
291
  * The row model of the row that the current cell belongs to.
265
292
  */
@@ -268,7 +295,17 @@ process.env.NODE_ENV !== "production" ? GridEditSingleSelectCell.propTypes = {
268
295
  /**
269
296
  * The node of the row that the current cell belongs to.
270
297
  */
271
- rowNode: PropTypes.object.isRequired
298
+ rowNode: PropTypes.object.isRequired,
299
+
300
+ /**
301
+ * the tabIndex value.
302
+ */
303
+ tabIndex: PropTypes.oneOf([-1, 0]).isRequired,
304
+
305
+ /**
306
+ * The cell value, but if the column has valueGetter, use getValue.
307
+ */
308
+ value: PropTypes.any
272
309
  } : void 0;
273
310
  export { GridEditSingleSelectCell };
274
311
  export var renderEditSingleSelectCell = function renderEditSingleSelectCell(params) {
@@ -1,4 +1,6 @@
1
1
  export * from './GridCell';
2
+ export * from './GridEditBooleanCell';
3
+ export * from './GridEditDateCell';
2
4
  export * from './GridEditInputCell';
3
5
  export * from './GridEditSingleSelectCell';
4
6
  export * from './GridActionsCell';
@@ -5,7 +5,6 @@ import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
6
  import { unstable_composeClasses as composeClasses } from '@mui/material';
7
7
  import { unstable_useId as useId } from '@mui/material/utils';
8
- import { GridEvents } from '../../models/events';
9
8
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
10
9
  import { GridColumnHeaderSortIcon } from './GridColumnHeaderSortIcon';
11
10
  import { GridColumnHeaderTitle } from './GridColumnHeaderTitle';
@@ -91,25 +90,25 @@ function GridColumnHeaderItem(props) {
91
90
  };
92
91
  }, [apiRef, column.field]);
93
92
  var mouseEventsHandlers = {
94
- onClick: publish(GridEvents.columnHeaderClick),
95
- onDoubleClick: publish(GridEvents.columnHeaderDoubleClick),
96
- onMouseOver: publish(GridEvents.columnHeaderOver),
93
+ onClick: publish('columnHeaderClick'),
94
+ onDoubleClick: publish('columnHeaderDoubleClick'),
95
+ onMouseOver: publish('columnHeaderOver'),
97
96
  // TODO remove as it's not used
98
- onMouseOut: publish(GridEvents.columnHeaderOut),
97
+ onMouseOut: publish('columnHeaderOut'),
99
98
  // TODO remove as it's not used
100
- onMouseEnter: publish(GridEvents.columnHeaderEnter),
99
+ onMouseEnter: publish('columnHeaderEnter'),
101
100
  // TODO remove as it's not used
102
- onMouseLeave: publish(GridEvents.columnHeaderLeave),
101
+ onMouseLeave: publish('columnHeaderLeave'),
103
102
  // TODO remove as it's not used
104
- onKeyDown: publish(GridEvents.columnHeaderKeyDown),
105
- onFocus: publish(GridEvents.columnHeaderFocus),
106
- onBlur: publish(GridEvents.columnHeaderBlur)
103
+ onKeyDown: publish('columnHeaderKeyDown'),
104
+ onFocus: publish('columnHeaderFocus'),
105
+ onBlur: publish('columnHeaderBlur')
107
106
  };
108
107
  var draggableEventHandlers = {
109
- onDragStart: publish(GridEvents.columnHeaderDragStart),
110
- onDragEnter: publish(GridEvents.columnHeaderDragEnter),
111
- onDragOver: publish(GridEvents.columnHeaderDragOver),
112
- onDragEnd: publish(GridEvents.columnHeaderDragEnd)
108
+ onDragStart: publish('columnHeaderDragStart'),
109
+ onDragEnter: publish('columnHeaderDragEnter'),
110
+ onDragOver: publish('columnHeaderDragOver'),
111
+ onDragEnd: publish('columnHeaderDragEnd')
113
112
  };
114
113
  var removeLastBorderRight = isLastColumn && hasScrollX && !hasScrollY;
115
114
  var showRightBorder = !isLastColumn ? rootProps.showColumnRightBorder : !removeLastBorderRight && !extendRowFullWidth;
@@ -121,7 +120,7 @@ function GridColumnHeaderItem(props) {
121
120
 
122
121
  var classes = useUtilityClasses(ownerState);
123
122
  var width = column.computedWidth;
124
- var ariaSort;
123
+ var ariaSort = 'none';
125
124
 
126
125
  if (sortDirection != null) {
127
126
  ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';
@@ -162,14 +161,11 @@ function GridColumnHeaderItem(props) {
162
161
 
163
162
  if (hasFocus && !columnMenuState.open) {
164
163
  var focusableElement = headerCellRef.current.querySelector('[tabindex="0"]');
165
-
166
- if (focusableElement) {
167
- focusableElement.focus();
168
- } else {
169
- headerCellRef.current.focus();
170
- }
164
+ var elementToFocus = focusableElement || headerCellRef.current;
165
+ elementToFocus == null ? void 0 : elementToFocus.focus();
166
+ apiRef.current.columnHeadersContainerElementRef.current.scrollLeft = 0;
171
167
  }
172
- });
168
+ }, [apiRef, hasFocus]);
173
169
  var headerClassName = typeof column.headerClassName === 'function' ? column.headerClassName({
174
170
  field: column.field,
175
171
  colDef: column
@@ -207,7 +203,7 @@ function GridColumnHeaderItem(props) {
207
203
  resizable: !rootProps.disableColumnResize && !!column.resizable,
208
204
  resizing: isResizing,
209
205
  height: headerHeight,
210
- onMouseDown: publish(GridEvents.columnSeparatorMouseDown),
206
+ onMouseDown: publish('columnSeparatorMouseDown'),
211
207
  side: separatorSide
212
208
  }), /*#__PURE__*/_jsx(GridColumnHeaderMenu, {
213
209
  columnMenuId: columnMenuId,
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["innerRef", "className"];
3
+ var _excluded = ["className"];
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { unstable_composeClasses as composeClasses } from '@mui/material';
@@ -40,8 +40,7 @@ var GridColumnHeadersRoot = styled('div', {
40
40
  };
41
41
  });
42
42
  export var GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
43
- var innerRef = props.innerRef,
44
- className = props.className,
43
+ var className = props.className,
45
44
  other = _objectWithoutProperties(props, _excluded);
46
45
 
47
46
  var rootProps = useGridRootProps();