@mui/x-data-grid-premium 8.0.0-alpha.8 → 8.0.0-beta.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 (419) hide show
  1. package/CHANGELOG.md +2566 -687
  2. package/DataGridPremium/DataGrid.d.ts +1 -1
  3. package/DataGridPremium/DataGridPremium.d.ts +6 -6
  4. package/DataGridPremium/DataGridPremium.js +61 -35
  5. package/DataGridPremium/index.d.ts +3 -3
  6. package/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -4
  7. package/DataGridPremium/useDataGridPremiumComponent.js +5 -4
  8. package/DataGridPremium/useDataGridPremiumProps.d.ts +2 -2
  9. package/DataGridPremium/useDataGridPremiumProps.js +2 -2
  10. package/README.md +1 -1
  11. package/components/GridAggregationHeader.d.ts +3 -3
  12. package/components/GridAggregationHeader.js +13 -12
  13. package/components/GridAggregationRowOverlay.d.ts +3 -0
  14. package/components/GridAggregationRowOverlay.js +44 -0
  15. package/components/GridBottomContainer.d.ts +3 -0
  16. package/components/GridBottomContainer.js +51 -0
  17. package/components/GridColumnMenuAggregationItem.d.ts +2 -2
  18. package/components/GridColumnMenuAggregationItem.js +36 -46
  19. package/components/GridColumnMenuRowGroupItem.d.ts +1 -1
  20. package/components/GridColumnMenuRowUngroupItem.d.ts +1 -1
  21. package/components/GridDataSourceGroupingCriteriaCell.d.ts +2 -2
  22. package/components/GridDataSourceGroupingCriteriaCell.js +8 -12
  23. package/components/GridExcelExportMenuItem.d.ts +3 -3
  24. package/components/GridFooterCell.d.ts +2 -2
  25. package/components/GridFooterCell.js +5 -6
  26. package/components/GridGroupingColumnFooterCell.d.ts +1 -1
  27. package/components/GridGroupingColumnFooterCell.js +2 -1
  28. package/components/GridGroupingColumnLeafCell.d.ts +1 -1
  29. package/components/GridGroupingColumnLeafCell.js +3 -9
  30. package/components/GridGroupingCriteriaCell.d.ts +2 -2
  31. package/components/GridGroupingCriteriaCell.js +3 -8
  32. package/components/GridPremiumColumnMenu.d.ts +26 -26
  33. package/components/GridPremiumToolbar.d.ts +3 -0
  34. package/components/GridPremiumToolbar.js +31 -0
  35. package/components/export/ExportExcel.d.ts +29 -0
  36. package/components/export/ExportExcel.js +216 -0
  37. package/components/export/index.d.ts +1 -0
  38. package/components/export/index.js +16 -0
  39. package/components/index.d.ts +6 -5
  40. package/components/index.js +13 -1
  41. package/components/promptControl/GridToolbarPromptControl.d.ts +22 -22
  42. package/components/promptControl/GridToolbarPromptControl.js +33 -20
  43. package/components/promptControl/RecordButton.d.ts +9 -9
  44. package/components/promptControl/index.d.ts +1 -1
  45. package/components/reexports.d.ts +1 -1
  46. package/constants/dataGridPremiumDefaultSlotsComponents.d.ts +1 -1
  47. package/constants/dataGridPremiumDefaultSlotsComponents.js +5 -1
  48. package/esm/DataGridPremium/DataGrid.d.ts +8 -0
  49. package/esm/DataGridPremium/DataGridPremium.d.ts +16 -0
  50. package/esm/DataGridPremium/DataGridPremium.js +61 -35
  51. package/esm/DataGridPremium/index.d.ts +3 -0
  52. package/esm/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
  53. package/esm/DataGridPremium/useDataGridPremiumComponent.js +6 -5
  54. package/esm/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
  55. package/esm/DataGridPremium/useDataGridPremiumProps.js +2 -2
  56. package/esm/components/GridAggregationHeader.d.ts +7 -0
  57. package/esm/components/GridAggregationHeader.js +13 -12
  58. package/esm/components/GridAggregationRowOverlay.d.ts +3 -0
  59. package/esm/components/GridAggregationRowOverlay.js +37 -0
  60. package/esm/components/GridBottomContainer.d.ts +3 -0
  61. package/esm/components/GridBottomContainer.js +43 -0
  62. package/esm/components/GridColumnMenuAggregationItem.d.ts +7 -0
  63. package/esm/components/GridColumnMenuAggregationItem.js +36 -46
  64. package/esm/components/GridColumnMenuRowGroupItem.d.ts +3 -0
  65. package/esm/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
  66. package/esm/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
  67. package/esm/components/GridDataSourceGroupingCriteriaCell.js +9 -13
  68. package/esm/components/GridExcelExportMenuItem.d.ts +9 -0
  69. package/esm/components/GridFooterCell.d.ts +9 -0
  70. package/esm/components/GridFooterCell.js +5 -6
  71. package/esm/components/GridGroupingColumnFooterCell.d.ts +4 -0
  72. package/esm/components/GridGroupingColumnFooterCell.js +2 -1
  73. package/esm/components/GridGroupingColumnLeafCell.d.ts +4 -0
  74. package/esm/components/GridGroupingColumnLeafCell.js +3 -8
  75. package/esm/components/GridGroupingCriteriaCell.d.ts +7 -0
  76. package/esm/components/GridGroupingCriteriaCell.js +3 -8
  77. package/esm/components/GridPremiumColumnMenu.d.ts +33 -0
  78. package/esm/components/GridPremiumToolbar.d.ts +3 -0
  79. package/esm/components/GridPremiumToolbar.js +23 -0
  80. package/esm/components/export/ExportExcel.d.ts +29 -0
  81. package/esm/components/export/ExportExcel.js +209 -0
  82. package/esm/components/export/index.d.ts +1 -0
  83. package/esm/components/export/index.js +1 -0
  84. package/esm/components/index.d.ts +6 -0
  85. package/esm/components/index.js +2 -1
  86. package/esm/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
  87. package/esm/components/promptControl/GridToolbarPromptControl.js +33 -20
  88. package/esm/components/promptControl/RecordButton.d.ts +16 -0
  89. package/esm/components/promptControl/index.d.ts +1 -0
  90. package/esm/components/reexports.d.ts +1 -0
  91. package/esm/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
  92. package/esm/constants/dataGridPremiumDefaultSlotsComponents.js +5 -1
  93. package/esm/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
  94. package/esm/hooks/features/aggregation/createAggregationLookup.js +3 -3
  95. package/esm/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
  96. package/esm/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
  97. package/esm/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
  98. package/esm/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
  99. package/esm/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
  100. package/esm/hooks/features/aggregation/gridAggregationUtils.js +1 -1
  101. package/esm/hooks/features/aggregation/index.d.ts +4 -0
  102. package/esm/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
  103. package/esm/hooks/features/aggregation/useGridAggregation.js +6 -8
  104. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
  105. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -6
  106. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
  107. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  108. package/esm/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
  109. package/esm/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
  110. package/esm/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
  111. package/esm/hooks/features/cellSelection/index.d.ts +1 -0
  112. package/esm/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
  113. package/esm/hooks/features/cellSelection/useGridCellSelection.js +15 -13
  114. package/esm/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
  115. package/esm/hooks/features/clipboard/useGridClipboardImport.js +5 -5
  116. package/esm/hooks/features/dataSource/models.d.ts +54 -0
  117. package/esm/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
  118. package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
  119. package/esm/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
  120. package/esm/hooks/features/export/index.d.ts +2 -0
  121. package/esm/hooks/features/export/index.js +1 -1
  122. package/esm/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
  123. package/esm/hooks/features/export/serializer/excelSerializer.js +69 -180
  124. package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  125. package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
  126. package/esm/hooks/features/export/serializer/utils.d.ts +36 -0
  127. package/esm/hooks/features/export/serializer/utils.js +93 -0
  128. package/esm/hooks/features/export/useGridExcelExport.d.ts +11 -0
  129. package/esm/hooks/features/export/useGridExcelExport.js +11 -5
  130. package/esm/hooks/features/index.d.ts +5 -0
  131. package/esm/hooks/features/promptControl/api.d.ts +2 -0
  132. package/esm/hooks/features/promptControl/index.d.ts +2 -0
  133. package/esm/hooks/features/promptControl/types.d.ts +25 -0
  134. package/esm/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
  135. package/esm/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
  136. package/esm/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
  137. package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
  138. package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  139. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
  140. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.js +5 -3
  141. package/esm/hooks/features/rowGrouping/index.d.ts +3 -0
  142. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
  143. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  144. package/esm/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
  145. package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
  146. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
  147. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  148. package/esm/hooks/features/rows/index.d.ts +1 -0
  149. package/esm/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
  150. package/esm/hooks/index.d.ts +2 -0
  151. package/esm/hooks/utils/index.d.ts +1 -0
  152. package/esm/hooks/utils/useGridApiContext.d.ts +4 -0
  153. package/esm/hooks/utils/useGridApiRef.d.ts +4 -0
  154. package/esm/hooks/utils/useGridAriaAttributes.d.ts +2 -0
  155. package/esm/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
  156. package/esm/hooks/utils/useGridRootProps.d.ts +2 -0
  157. package/esm/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
  158. package/esm/hooks/utils/useKeepGroupedColumnsHidden.js +2 -2
  159. package/esm/index.d.ts +23 -0
  160. package/esm/index.js +6 -5
  161. package/esm/locales.d.ts +1 -0
  162. package/esm/material/icons.d.ts +15 -0
  163. package/esm/material/index.d.ts +8 -0
  164. package/esm/models/dataGridPremiumProps.d.ts +162 -0
  165. package/esm/models/gridApiPremium.d.ts +14 -0
  166. package/esm/models/gridGroupingValueGetter.d.ts +4 -0
  167. package/esm/models/gridPastedValueParser.d.ts +4 -0
  168. package/esm/models/gridPremiumIconSlotsComponent.d.ts +28 -0
  169. package/esm/models/gridPremiumSlotsComponent.d.ts +7 -0
  170. package/esm/models/gridStatePremium.d.ts +18 -0
  171. package/esm/models/index.d.ts +4 -0
  172. package/esm/package.json +1 -0
  173. package/esm/setupExcelExportWebWorker.d.ts +1 -0
  174. package/esm/setupExcelExportWebWorker.js +1 -0
  175. package/esm/themeAugmentation/index.d.ts +2 -0
  176. package/esm/themeAugmentation/overrides.d.ts +7 -0
  177. package/esm/themeAugmentation/props.d.ts +15 -0
  178. package/esm/typeOverloads/index.d.ts +2 -0
  179. package/esm/typeOverloads/modules.d.ts +97 -0
  180. package/esm/typeOverloads/reexports.d.ts +17 -0
  181. package/esm/utils/releaseInfo.d.ts +1 -0
  182. package/esm/utils/releaseInfo.js +1 -1
  183. package/hooks/features/aggregation/createAggregationLookup.d.ts +17 -11
  184. package/hooks/features/aggregation/createAggregationLookup.js +2 -2
  185. package/hooks/features/aggregation/gridAggregationFunctions.d.ts +7 -7
  186. package/hooks/features/aggregation/gridAggregationInterfaces.d.ts +81 -82
  187. package/hooks/features/aggregation/gridAggregationSelectors.d.ts +3 -3
  188. package/hooks/features/aggregation/gridAggregationSelectors.js +1 -2
  189. package/hooks/features/aggregation/gridAggregationUtils.d.ts +43 -26
  190. package/hooks/features/aggregation/gridAggregationUtils.js +1 -1
  191. package/hooks/features/aggregation/index.d.ts +4 -4
  192. package/hooks/features/aggregation/useGridAggregation.d.ts +4 -4
  193. package/hooks/features/aggregation/useGridAggregation.js +6 -8
  194. package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -4
  195. package/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -6
  196. package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +68 -62
  197. package/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  198. package/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +34 -34
  199. package/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -2
  200. package/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -2
  201. package/hooks/features/cellSelection/index.d.ts +1 -1
  202. package/hooks/features/cellSelection/useGridCellSelection.d.ts +4 -4
  203. package/hooks/features/cellSelection/useGridCellSelection.js +13 -11
  204. package/hooks/features/clipboard/useGridClipboardImport.d.ts +3 -3
  205. package/hooks/features/clipboard/useGridClipboardImport.js +4 -4
  206. package/hooks/features/dataSource/models.d.ts +41 -34
  207. package/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -4
  208. package/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
  209. package/hooks/features/export/gridExcelExportInterface.d.ts +52 -52
  210. package/hooks/features/export/index.d.ts +2 -2
  211. package/hooks/features/export/index.js +2 -2
  212. package/hooks/features/export/serializer/excelSerializer.d.ts +25 -52
  213. package/hooks/features/export/serializer/excelSerializer.js +74 -187
  214. package/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  215. package/hooks/features/export/serializer/setupExcelExportWebWorker.js +59 -0
  216. package/hooks/features/export/serializer/utils.d.ts +36 -0
  217. package/hooks/features/export/serializer/utils.js +106 -0
  218. package/hooks/features/export/useGridExcelExport.d.ts +4 -4
  219. package/hooks/features/export/useGridExcelExport.js +10 -3
  220. package/hooks/features/index.d.ts +5 -5
  221. package/hooks/features/promptControl/api.d.ts +2 -2
  222. package/hooks/features/promptControl/index.d.ts +2 -2
  223. package/hooks/features/promptControl/types.d.ts +15 -15
  224. package/hooks/features/rowGrouping/createGroupingColDef.d.ts +45 -33
  225. package/hooks/features/rowGrouping/createGroupingColDef.js +4 -4
  226. package/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +32 -32
  227. package/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +2 -2
  228. package/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  229. package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +32 -24
  230. package/hooks/features/rowGrouping/gridRowGroupingUtils.js +4 -2
  231. package/hooks/features/rowGrouping/index.d.ts +3 -3
  232. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -4
  233. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  234. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +4 -4
  235. package/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
  236. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -4
  237. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  238. package/hooks/features/rows/index.d.ts +1 -1
  239. package/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
  240. package/hooks/index.d.ts +2 -2
  241. package/hooks/utils/index.d.ts +1 -1
  242. package/hooks/utils/useGridApiContext.d.ts +4 -2
  243. package/hooks/utils/useGridApiRef.d.ts +4 -2
  244. package/hooks/utils/useGridAriaAttributes.d.ts +1 -1
  245. package/hooks/utils/useGridPrivateApiContext.d.ts +2 -2
  246. package/hooks/utils/useGridRootProps.d.ts +2 -2
  247. package/hooks/utils/useKeepGroupedColumnsHidden.d.ts +5 -5
  248. package/hooks/utils/useKeepGroupedColumnsHidden.js +2 -2
  249. package/index.d.ts +9 -17
  250. package/index.js +2 -11
  251. package/locales.d.ts +1 -1
  252. package/material/icons.d.ts +6 -6
  253. package/material/index.d.ts +6 -6
  254. package/models/dataGridPremiumProps.d.ts +141 -136
  255. package/models/gridApiPremium.d.ts +4 -6
  256. package/models/gridGroupingValueGetter.d.ts +3 -2
  257. package/models/gridPastedValueParser.d.ts +3 -2
  258. package/models/gridPremiumIconSlotsComponent.d.ts +26 -26
  259. package/models/gridPremiumSlotsComponent.d.ts +2 -3
  260. package/models/gridStatePremium.d.ts +7 -7
  261. package/models/index.d.ts +4 -4
  262. package/modern/DataGridPremium/DataGrid.d.ts +8 -0
  263. package/modern/DataGridPremium/DataGridPremium.d.ts +16 -0
  264. package/modern/DataGridPremium/DataGridPremium.js +61 -35
  265. package/modern/DataGridPremium/index.d.ts +3 -0
  266. package/modern/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
  267. package/modern/DataGridPremium/useDataGridPremiumComponent.js +6 -5
  268. package/modern/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
  269. package/modern/DataGridPremium/useDataGridPremiumProps.js +2 -2
  270. package/modern/components/GridAggregationHeader.d.ts +7 -0
  271. package/modern/components/GridAggregationHeader.js +13 -12
  272. package/modern/components/GridAggregationRowOverlay.d.ts +3 -0
  273. package/modern/components/GridAggregationRowOverlay.js +37 -0
  274. package/modern/components/GridBottomContainer.d.ts +3 -0
  275. package/modern/components/GridBottomContainer.js +43 -0
  276. package/modern/components/GridColumnMenuAggregationItem.d.ts +7 -0
  277. package/modern/components/GridColumnMenuAggregationItem.js +36 -46
  278. package/modern/components/GridColumnMenuRowGroupItem.d.ts +3 -0
  279. package/modern/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
  280. package/modern/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
  281. package/modern/components/GridDataSourceGroupingCriteriaCell.js +9 -13
  282. package/modern/components/GridExcelExportMenuItem.d.ts +9 -0
  283. package/modern/components/GridFooterCell.d.ts +9 -0
  284. package/modern/components/GridFooterCell.js +5 -6
  285. package/modern/components/GridGroupingColumnFooterCell.d.ts +4 -0
  286. package/modern/components/GridGroupingColumnFooterCell.js +2 -1
  287. package/modern/components/GridGroupingColumnLeafCell.d.ts +4 -0
  288. package/modern/components/GridGroupingColumnLeafCell.js +3 -8
  289. package/modern/components/GridGroupingCriteriaCell.d.ts +7 -0
  290. package/modern/components/GridGroupingCriteriaCell.js +3 -8
  291. package/modern/components/GridPremiumColumnMenu.d.ts +33 -0
  292. package/modern/components/GridPremiumToolbar.d.ts +3 -0
  293. package/modern/components/GridPremiumToolbar.js +23 -0
  294. package/modern/components/export/ExportExcel.d.ts +29 -0
  295. package/modern/components/export/ExportExcel.js +209 -0
  296. package/modern/components/export/index.d.ts +1 -0
  297. package/modern/components/export/index.js +1 -0
  298. package/modern/components/index.d.ts +6 -0
  299. package/modern/components/index.js +2 -1
  300. package/modern/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
  301. package/modern/components/promptControl/GridToolbarPromptControl.js +33 -20
  302. package/modern/components/promptControl/RecordButton.d.ts +16 -0
  303. package/modern/components/promptControl/index.d.ts +1 -0
  304. package/modern/components/reexports.d.ts +1 -0
  305. package/modern/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
  306. package/modern/constants/dataGridPremiumDefaultSlotsComponents.js +5 -1
  307. package/modern/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
  308. package/modern/hooks/features/aggregation/createAggregationLookup.js +3 -3
  309. package/modern/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
  310. package/modern/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
  311. package/modern/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
  312. package/modern/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
  313. package/modern/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
  314. package/modern/hooks/features/aggregation/gridAggregationUtils.js +1 -1
  315. package/modern/hooks/features/aggregation/index.d.ts +4 -0
  316. package/modern/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
  317. package/modern/hooks/features/aggregation/useGridAggregation.js +6 -8
  318. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
  319. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -6
  320. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
  321. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  322. package/modern/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
  323. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
  324. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
  325. package/modern/hooks/features/cellSelection/index.d.ts +1 -0
  326. package/modern/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
  327. package/modern/hooks/features/cellSelection/useGridCellSelection.js +15 -13
  328. package/modern/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
  329. package/modern/hooks/features/clipboard/useGridClipboardImport.js +5 -5
  330. package/modern/hooks/features/dataSource/models.d.ts +54 -0
  331. package/modern/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
  332. package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
  333. package/modern/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
  334. package/modern/hooks/features/export/index.d.ts +2 -0
  335. package/modern/hooks/features/export/index.js +1 -1
  336. package/modern/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
  337. package/modern/hooks/features/export/serializer/excelSerializer.js +69 -180
  338. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  339. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
  340. package/modern/hooks/features/export/serializer/utils.d.ts +36 -0
  341. package/modern/hooks/features/export/serializer/utils.js +93 -0
  342. package/modern/hooks/features/export/useGridExcelExport.d.ts +11 -0
  343. package/modern/hooks/features/export/useGridExcelExport.js +11 -5
  344. package/modern/hooks/features/index.d.ts +5 -0
  345. package/modern/hooks/features/promptControl/api.d.ts +2 -0
  346. package/modern/hooks/features/promptControl/index.d.ts +2 -0
  347. package/modern/hooks/features/promptControl/types.d.ts +25 -0
  348. package/modern/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
  349. package/modern/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
  350. package/modern/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
  351. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
  352. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  353. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
  354. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +5 -3
  355. package/modern/hooks/features/rowGrouping/index.d.ts +3 -0
  356. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
  357. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  358. package/modern/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
  359. package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
  360. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
  361. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  362. package/modern/hooks/features/rows/index.d.ts +1 -0
  363. package/modern/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
  364. package/modern/hooks/index.d.ts +2 -0
  365. package/modern/hooks/utils/index.d.ts +1 -0
  366. package/modern/hooks/utils/useGridApiContext.d.ts +4 -0
  367. package/modern/hooks/utils/useGridApiRef.d.ts +4 -0
  368. package/modern/hooks/utils/useGridAriaAttributes.d.ts +2 -0
  369. package/modern/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
  370. package/modern/hooks/utils/useGridRootProps.d.ts +2 -0
  371. package/modern/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
  372. package/modern/hooks/utils/useKeepGroupedColumnsHidden.js +2 -2
  373. package/modern/index.d.ts +23 -0
  374. package/modern/index.js +1 -7
  375. package/modern/locales.d.ts +1 -0
  376. package/modern/material/icons.d.ts +15 -0
  377. package/modern/material/index.d.ts +8 -0
  378. package/modern/models/dataGridPremiumProps.d.ts +162 -0
  379. package/modern/models/gridApiPremium.d.ts +14 -0
  380. package/modern/models/gridGroupingValueGetter.d.ts +4 -0
  381. package/modern/models/gridPastedValueParser.d.ts +4 -0
  382. package/modern/models/gridPremiumIconSlotsComponent.d.ts +28 -0
  383. package/modern/models/gridPremiumSlotsComponent.d.ts +7 -0
  384. package/modern/models/gridStatePremium.d.ts +18 -0
  385. package/modern/models/index.d.ts +4 -0
  386. package/modern/package.json +1 -0
  387. package/modern/setupExcelExportWebWorker.d.ts +1 -0
  388. package/modern/setupExcelExportWebWorker.js +1 -0
  389. package/modern/themeAugmentation/index.d.ts +2 -0
  390. package/modern/themeAugmentation/overrides.d.ts +7 -0
  391. package/modern/themeAugmentation/props.d.ts +15 -0
  392. package/modern/typeOverloads/index.d.ts +2 -0
  393. package/modern/typeOverloads/modules.d.ts +97 -0
  394. package/modern/typeOverloads/reexports.d.ts +17 -0
  395. package/modern/utils/releaseInfo.d.ts +1 -0
  396. package/modern/utils/releaseInfo.js +1 -1
  397. package/package.json +42 -9
  398. package/setupExcelExportWebWorker.d.ts +1 -0
  399. package/setupExcelExportWebWorker.js +12 -0
  400. package/themeAugmentation/index.d.ts +2 -2
  401. package/themeAugmentation/overrides.d.ts +3 -4
  402. package/themeAugmentation/props.d.ts +9 -11
  403. package/tsconfig.build.tsbuildinfo +1 -0
  404. package/typeOverloads/index.d.ts +1 -1
  405. package/typeOverloads/modules.d.ts +75 -82
  406. package/typeOverloads/reexports.d.ts +5 -5
  407. package/utils/releaseInfo.d.ts +1 -1
  408. package/utils/releaseInfo.js +1 -1
  409. package/DataGridPremium/package.json +0 -6
  410. package/components/package.json +0 -6
  411. package/esm/hooks/features/dataSource/cache.js +0 -3
  412. package/hooks/features/dataSource/cache.d.ts +0 -2
  413. package/hooks/features/dataSource/cache.js +0 -9
  414. package/hooks/package.json +0 -6
  415. package/material/package.json +0 -6
  416. package/models/package.json +0 -6
  417. package/modern/hooks/features/dataSource/cache.js +0 -3
  418. package/themeAugmentation/package.json +0 -6
  419. package/typeOverloads/package.json +0 -6
@@ -0,0 +1,209 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["render", "options", "onClick"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { useGridComponentRenderer } from '@mui/x-data-grid/internals';
7
+ import { forwardRef } from '@mui/x-internals/forwardRef';
8
+ import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
9
+ import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ /**
12
+ * A button that triggers an Excel export.
13
+ * It renders the `baseButton` slot.
14
+ *
15
+ * Demos:
16
+ *
17
+ * - [Export](https://mui.com/x/react-data-grid/components/export/)
18
+ *
19
+ * API:
20
+ *
21
+ * - [ExportExcel API](https://mui.com/x/api/data-grid/export-excel/)
22
+ */
23
+ const ExportExcel = forwardRef(function ExportExcel(props, ref) {
24
+ const {
25
+ render,
26
+ options,
27
+ onClick
28
+ } = props,
29
+ other = _objectWithoutPropertiesLoose(props, _excluded);
30
+ const rootProps = useGridRootProps();
31
+ const apiRef = useGridApiContext();
32
+ const handleClick = event => {
33
+ apiRef.current.exportDataAsExcel(options);
34
+ onClick?.(event);
35
+ };
36
+ const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({
37
+ onClick: handleClick
38
+ }, rootProps.slotProps?.baseButton, other, {
39
+ ref
40
+ }));
41
+ return /*#__PURE__*/_jsx(React.Fragment, {
42
+ children: element
43
+ });
44
+ });
45
+ process.env.NODE_ENV !== "production" ? ExportExcel.propTypes = {
46
+ // ----------------------------- Warning --------------------------------
47
+ // | These PropTypes are generated from the TypeScript type definitions |
48
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
49
+ // ----------------------------------------------------------------------
50
+ /**
51
+ * A ref for imperative actions.
52
+ * It currently only supports `focusVisible()` action.
53
+ */
54
+ action: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
55
+ current: PropTypes.shape({
56
+ focusVisible: PropTypes.func.isRequired
57
+ })
58
+ })]),
59
+ /**
60
+ * If `true`, the ripples are centered.
61
+ * They won't start at the cursor interaction position.
62
+ * @default false
63
+ */
64
+ centerRipple: PropTypes.bool,
65
+ className: PropTypes.string,
66
+ /**
67
+ * The color of the component.
68
+ * It supports both default and custom theme colors, which can be added as shown in the
69
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
70
+ * @default 'primary'
71
+ */
72
+ color: PropTypes.oneOf(['error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']),
73
+ component: PropTypes.elementType,
74
+ /**
75
+ * If `true`, the component is disabled.
76
+ */
77
+ disabled: PropTypes.bool,
78
+ /**
79
+ * If `true`, no elevation is used.
80
+ * @default false
81
+ */
82
+ disableElevation: PropTypes.bool,
83
+ /**
84
+ * If `true`, the keyboard focus ripple is disabled.
85
+ * @default false
86
+ */
87
+ disableFocusRipple: PropTypes.bool,
88
+ /**
89
+ * If `true`, the ripple effect is disabled.
90
+ *
91
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
92
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
93
+ * @default false
94
+ */
95
+ disableRipple: PropTypes.bool,
96
+ /**
97
+ * If `true`, the touch ripple effect is disabled.
98
+ * @default false
99
+ */
100
+ disableTouchRipple: PropTypes.bool,
101
+ /**
102
+ * Element placed after the children.
103
+ */
104
+ endIcon: PropTypes.node,
105
+ /**
106
+ * If `true`, the base button will have a keyboard focus ripple.
107
+ * @default false
108
+ */
109
+ focusRipple: PropTypes.bool,
110
+ /**
111
+ * This prop can help identify which element has keyboard focus.
112
+ * The class name will be applied when the element gains the focus through keyboard interaction.
113
+ * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
114
+ * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
115
+ * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
116
+ * if needed.
117
+ */
118
+ focusVisibleClassName: PropTypes.string,
119
+ /**
120
+ * If `true`, the button will take up the full width of its container.
121
+ * @default false
122
+ */
123
+ fullWidth: PropTypes.bool,
124
+ /**
125
+ * The URL to link to when the button is clicked.
126
+ * If defined, an `a` element will be used as the root node.
127
+ */
128
+ href: PropTypes.string,
129
+ /**
130
+ * The component used to render a link when the `href` prop is provided.
131
+ * @default 'a'
132
+ */
133
+ LinkComponent: PropTypes.elementType,
134
+ /**
135
+ * If `true`, the loading indicator is visible and the button is disabled.
136
+ * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).
137
+ * @default null
138
+ */
139
+ loading: PropTypes.bool,
140
+ /**
141
+ * Element placed before the children if the button is in loading state.
142
+ * The node should contain an element with `role="progressbar"` with an accessible name.
143
+ * By default, it renders a `CircularProgress` that is labeled by the button itself.
144
+ * @default <CircularProgress color="inherit" size={16} />
145
+ */
146
+ loadingIndicator: PropTypes.node,
147
+ /**
148
+ * The loading indicator can be positioned on the start, end, or the center of the button.
149
+ * @default 'center'
150
+ */
151
+ loadingPosition: PropTypes.oneOf(['center', 'end', 'start']),
152
+ /**
153
+ * Callback fired when the component is focused with a keyboard.
154
+ * We trigger a `onFocus` callback too.
155
+ */
156
+ onFocusVisible: PropTypes.func,
157
+ /**
158
+ * The options to apply on the Excel export.
159
+ * @demos
160
+ * - [Excel export](/x/react-data-grid/export/#excel-export)
161
+ */
162
+ options: PropTypes.shape({
163
+ allColumns: PropTypes.bool,
164
+ columnsStyles: PropTypes.object,
165
+ escapeFormulas: PropTypes.bool,
166
+ exceljsPostProcess: PropTypes.func,
167
+ exceljsPreProcess: PropTypes.func,
168
+ fields: PropTypes.arrayOf(PropTypes.string),
169
+ fileName: PropTypes.string,
170
+ getRowsToExport: PropTypes.func,
171
+ includeColumnGroupsHeaders: PropTypes.bool,
172
+ includeHeaders: PropTypes.bool,
173
+ valueOptionsSheetName: PropTypes.string,
174
+ worker: PropTypes.func
175
+ }),
176
+ /**
177
+ * A function to customize rendering of the component.
178
+ */
179
+ render: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
180
+ /**
181
+ * The size of the component.
182
+ * `small` is equivalent to the dense button styling.
183
+ */
184
+ size: PropTypes.oneOf(['large', 'medium', 'small']),
185
+ /**
186
+ * Element placed before the children.
187
+ */
188
+ startIcon: PropTypes.node,
189
+ style: PropTypes.object,
190
+ /**
191
+ * The system prop that allows defining system overrides as well as additional CSS styles.
192
+ */
193
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
194
+ tabIndex: PropTypes.number,
195
+ /**
196
+ * Props applied to the `TouchRipple` element.
197
+ */
198
+ TouchRippleProps: PropTypes.object,
199
+ /**
200
+ * A ref that points to the `TouchRipple` element.
201
+ */
202
+ touchRippleRef: PropTypes.any,
203
+ /**
204
+ * The variant to use.
205
+ * @default 'text'
206
+ */
207
+ variant: PropTypes.oneOf(['contained', 'outlined', 'text'])
208
+ } : void 0;
209
+ export { ExportExcel };
@@ -0,0 +1 @@
1
+ export * from "./ExportExcel.js";
@@ -0,0 +1 @@
1
+ export * from "./ExportExcel.js";
@@ -0,0 +1,6 @@
1
+ export * from "./GridExcelExportMenuItem.js";
2
+ export * from "../material/icons.js";
3
+ export * from "./GridColumnMenuAggregationItem.js";
4
+ export * from "./promptControl/index.js";
5
+ export { GridColumnMenuGroupingItem } from "./GridPremiumColumnMenu.js";
6
+ export * from "./export/index.js";
@@ -2,4 +2,5 @@ export * from "./GridExcelExportMenuItem.js";
2
2
  export * from "../material/icons.js";
3
3
  export * from "./GridColumnMenuAggregationItem.js";
4
4
  export * from "./promptControl/index.js";
5
- export { GridColumnMenuGroupingItem } from "./GridPremiumColumnMenu.js";
5
+ export { GridColumnMenuGroupingItem } from "./GridPremiumColumnMenu.js";
6
+ export * from "./export/index.js";
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import { PromptResponse } from "../../hooks/features/promptControl/types.js";
3
+ type GridToolbarPromptControlProps = {
4
+ /**
5
+ * Called when the new prompt is ready to be processed.
6
+ * Provides the prompt and the data context and expects the grid state updates to be returned.
7
+ * @param {string} context The context of the prompt
8
+ * @param {string} query The query to process
9
+ * @returns {Promise<PromptResponse>} The grid state updates
10
+ */
11
+ onPrompt: (context: string, query: string) => Promise<PromptResponse>;
12
+ /**
13
+ * Allow taking couple of random cell values from each column to improve the prompt context.
14
+ * If allowed, samples are taken from different rows.
15
+ * If not allowed, the column examples are used.
16
+ * @default false
17
+ */
18
+ allowDataSampling?: boolean;
19
+ /**
20
+ * The BCP 47 language tag to use for the speech recognition.
21
+ * @default HTML lang attribute value or the user agent's language setting
22
+ */
23
+ lang?: string;
24
+ };
25
+ declare function GridToolbarPromptControl(props: GridToolbarPromptControlProps): React.JSX.Element;
26
+ export { GridToolbarPromptControl };
@@ -10,9 +10,10 @@ import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
10
10
  import { RecordButton, BrowserSpeechRecognition } from "./RecordButton.js";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const supportsSpeechRecognition = !!BrowserSpeechRecognition;
13
- const useUtilityClasses = (ownerState, recording) => {
13
+ const useUtilityClasses = ownerState => {
14
14
  const {
15
- classes
15
+ classes,
16
+ recording
16
17
  } = ownerState;
17
18
  const slots = {
18
19
  root: ['toolbarPromptControl', recording && 'toolbarPromptControl--recording'],
@@ -25,7 +26,12 @@ const useUtilityClasses = (ownerState, recording) => {
25
26
  const GridToolbarPromptControlRoot = styled('div', {
26
27
  name: 'MuiDataGrid',
27
28
  slot: 'ToolbarPromptControl',
28
- overridesResolver: (_, styles) => styles.toolbarPromptControl
29
+ overridesResolver: (props, styles) => {
30
+ const {
31
+ ownerState
32
+ } = props;
33
+ return [styles.toolbarPromptControl, ownerState.recording && styles['toolbarPromptControl--recording']];
34
+ }
29
35
  })({
30
36
  flex: 1,
31
37
  display: 'flex',
@@ -71,7 +77,11 @@ function GridToolbarPromptControl(props) {
71
77
  const [error, setError] = React.useState(null);
72
78
  const [isRecording, setRecording] = React.useState(false);
73
79
  const [query, setQuery] = React.useState('');
74
- const classes = useUtilityClasses(rootProps, isRecording);
80
+ const ownerState = {
81
+ classes: rootProps.classes,
82
+ recording: isRecording
83
+ };
84
+ const classes = useUtilityClasses(ownerState);
75
85
  const examplesFromData = React.useMemo(() => allowDataSampling ? sampleData(apiRef) : undefined, [apiRef, allowDataSampling]);
76
86
  const processPrompt = React.useCallback(() => {
77
87
  const context = generateContext(apiRef, examplesFromData);
@@ -109,10 +119,18 @@ function GridToolbarPromptControl(props) {
109
119
  sort: s.direction
110
120
  })));
111
121
  const rows = getVisibleRows(apiRef, rootProps);
112
- const selectedRowIds = result.select === -1 ? [] : rows.rows.slice(0, result.select).map(r => {
113
- return apiRef.current.getRowId(r);
114
- });
115
- apiRef.current.setRowSelectionModel(selectedRowIds);
122
+ const rowSelectionModel = {
123
+ type: 'include',
124
+ ids: new Set()
125
+ };
126
+ if (result.select !== -1) {
127
+ for (let i = 0; i < result.select; i += 1) {
128
+ const row = rows.rows[i];
129
+ const id = apiRef.current.getRowId(row);
130
+ rowSelectionModel.ids.add(id);
131
+ }
132
+ }
133
+ apiRef.current.setRowSelectionModel(rowSelectionModel);
116
134
  const columns = apiRef.current.getAllColumns();
117
135
  const targetIndex = Number(columns.find(c => c.field === GRID_CHECKBOX_SELECTION_FIELD) !== undefined) + Number(result.grouping.length);
118
136
  interestColumns.push(...Object.keys(result.aggregation));
@@ -145,10 +163,9 @@ function GridToolbarPromptControl(props) {
145
163
  });
146
164
  const placeholder = supportsSpeechRecognition ? apiRef.current.getLocaleText('toolbarPromptControlWithRecordingPlaceholder') : apiRef.current.getLocaleText('toolbarPromptControlPlaceholder');
147
165
  return /*#__PURE__*/_jsx(GridToolbarPromptControlRoot, {
148
- ownerState: rootProps,
166
+ ownerState: ownerState,
149
167
  className: classes.root,
150
168
  children: /*#__PURE__*/_jsx(rootProps.slots.baseTextField, {
151
- variant: "outlined",
152
169
  placeholder: isRecording ? apiRef.current.getLocaleText('toolbarPromptControlRecordingPlaceholder') : placeholder,
153
170
  "aria-label": apiRef.current.getLocaleText('toolbarPromptControlLabel'),
154
171
  disabled: isLoading,
@@ -161,10 +178,9 @@ function GridToolbarPromptControl(props) {
161
178
  onKeyDown: handleKeyDown,
162
179
  error: !!error,
163
180
  helperText: error,
164
- InputProps: {
165
- startAdornment: supportsSpeechRecognition && /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
166
- position: "start",
167
- children: /*#__PURE__*/_jsx(RecordButton, {
181
+ slotProps: {
182
+ input: {
183
+ startAdornment: supportsSpeechRecognition && /*#__PURE__*/_jsx(RecordButton, {
168
184
  className: classes.recordButton,
169
185
  lang: lang,
170
186
  recording: isRecording,
@@ -173,11 +189,8 @@ function GridToolbarPromptControl(props) {
173
189
  onUpdate: setQuery,
174
190
  onDone: handleDone,
175
191
  onError: setError
176
- })
177
- }),
178
- endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
179
- position: "end",
180
- children: /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
192
+ }),
193
+ endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
181
194
  title: apiRef.current.getLocaleText('toolbarPromptControlSendActionLabel'),
182
195
  children: /*#__PURE__*/_jsx("div", {
183
196
  children: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, {
@@ -194,7 +207,7 @@ function GridToolbarPromptControl(props) {
194
207
  })
195
208
  })
196
209
  })
197
- })
210
+ }
198
211
  }
199
212
  })
200
213
  });
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ export declare const BrowserSpeechRecognition: any;
3
+ type SpeechRecognitionOptions = {
4
+ onUpdate: (value: string) => void;
5
+ onDone: (value: string) => void;
6
+ onError: (error: string) => void;
7
+ };
8
+ interface RecordButtonProps extends SpeechRecognitionOptions {
9
+ disabled: boolean;
10
+ lang?: string;
11
+ recording: boolean;
12
+ setRecording: (value: boolean) => void;
13
+ className: string;
14
+ }
15
+ declare function RecordButton(props: RecordButtonProps): React.JSX.Element;
16
+ export { RecordButton };
@@ -0,0 +1 @@
1
+ export { GridToolbarPromptControl as Unstable_GridToolbarPromptControl } from "./GridToolbarPromptControl.js";
@@ -0,0 +1 @@
1
+ export { GridPremiumColumnMenu as GridColumnMenu, GRID_COLUMN_MENU_SLOTS_PREMIUM as GRID_COLUMN_MENU_SLOTS, GRID_COLUMN_MENU_SLOT_PROPS_PREMIUM as GRID_COLUMN_MENU_SLOT_PROPS } from "./GridPremiumColumnMenu.js";
@@ -0,0 +1,2 @@
1
+ import type { GridPremiumSlotsComponent } from '../models';
2
+ export declare const DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS: GridPremiumSlotsComponent;
@@ -2,6 +2,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS } from '@mui/x-data-grid-pro/internals';
3
3
  import { GridPremiumColumnMenu } from "../components/GridPremiumColumnMenu.js";
4
4
  import materialSlots from "../material/index.js";
5
+ import { GridBottomContainer } from "../components/GridBottomContainer.js";
6
+ import { GridPremiumToolbar } from "../components/GridPremiumToolbar.js";
5
7
  export const DATA_GRID_PREMIUM_DEFAULT_SLOTS_COMPONENTS = _extends({}, DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS, materialSlots, {
6
- columnMenu: GridPremiumColumnMenu
8
+ columnMenu: GridPremiumColumnMenu,
9
+ bottomContainer: GridBottomContainer,
10
+ toolbar: GridPremiumToolbar
7
11
  });
@@ -0,0 +1,17 @@
1
+ import { RefObject } from '@mui/x-internals/types';
2
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
3
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
4
+ import { GridAggregationFunction, GridAggregationFunctionDataSource, GridAggregationLookup } from "./gridAggregationInterfaces.js";
5
+ export declare const createAggregationLookup: ({
6
+ apiRef,
7
+ aggregationFunctions,
8
+ aggregationRowsScope,
9
+ getAggregationPosition,
10
+ isDataSource
11
+ }: {
12
+ apiRef: RefObject<GridPrivateApiPremium>;
13
+ aggregationFunctions: Record<string, GridAggregationFunction> | Record<string, GridAggregationFunctionDataSource>;
14
+ aggregationRowsScope: DataGridPremiumProcessedProps["aggregationRowsScope"];
15
+ getAggregationPosition: DataGridPremiumProcessedProps["getAggregationPosition"];
16
+ isDataSource: boolean;
17
+ }) => GridAggregationLookup;
@@ -1,4 +1,4 @@
1
- import { gridColumnLookupSelector, gridFilteredRowsLookupSelector, gridRowTreeSelector, GRID_ROOT_GROUP_ID } from '@mui/x-data-grid-pro';
1
+ import { gridColumnLookupSelector, gridFilteredRowsLookupSelector, gridRowTreeSelector, GRID_ROOT_GROUP_ID, gridRowNodeSelector } from '@mui/x-data-grid-pro';
2
2
  import { getAggregationRules } from "./gridAggregationUtils.js";
3
3
  import { gridAggregationModelSelector } from "./gridAggregationSelectors.js";
4
4
  const getGroupAggregatedValue = (groupId, apiRef, aggregationRowsScope, aggregatedFields, aggregationRules, position) => {
@@ -20,7 +20,7 @@ const getGroupAggregatedValue = (groupId, apiRef, aggregationRowsScope, aggregat
20
20
  // A.B
21
21
  // A.B.A
22
22
  // A.B.B
23
- const rowNode = apiRef.current.getRowNode(rowId);
23
+ const rowNode = gridRowNodeSelector(apiRef, rowId);
24
24
  if (rowNode.type === 'group') {
25
25
  return;
26
26
  }
@@ -70,7 +70,7 @@ const getGroupAggregatedValueDataSource = (groupId, apiRef, aggregatedFields, po
70
70
  const aggregatedField = aggregatedFields[j];
71
71
  groupAggregationLookup[aggregatedField] = {
72
72
  position,
73
- value: apiRef.current.resolveGroupAggregation(groupId, aggregatedField)
73
+ value: apiRef.current.resolveGroupAggregation?.(groupId, aggregatedField) ?? ''
74
74
  };
75
75
  }
76
76
  return groupAggregationLookup;
@@ -0,0 +1,8 @@
1
+ import { GridAggregationFunction } from "./gridAggregationInterfaces.js";
2
+ export declare const GRID_AGGREGATION_FUNCTIONS: {
3
+ sum: GridAggregationFunction<unknown, number>;
4
+ avg: GridAggregationFunction<unknown, number>;
5
+ min: GridAggregationFunction<number | Date, number | Date>;
6
+ max: GridAggregationFunction<number | Date, number | Date>;
7
+ size: GridAggregationFunction<unknown, number>;
8
+ };
@@ -0,0 +1,129 @@
1
+ import { GridRowId, GridRowModel, GridColDef, GridValueFormatter } from '@mui/x-data-grid-pro';
2
+ export interface GridAggregationState {
3
+ model: GridAggregationModel;
4
+ lookup: GridAggregationLookup;
5
+ }
6
+ export interface GridAggregationInitialState {
7
+ model?: GridAggregationModel;
8
+ }
9
+ export interface GridAggregationInternalCache {
10
+ rulesOnLastColumnHydration: GridAggregationRules;
11
+ rulesOnLastRowHydration: GridAggregationRules;
12
+ }
13
+ export interface GridAggregationApi {
14
+ /**
15
+ * Sets the aggregation model to the one given by `model`.
16
+ * @param {GridAggregationModel} model The aggregation model.
17
+ */
18
+ setAggregationModel: (model: GridAggregationModel) => void;
19
+ }
20
+ export interface GridAggregationPrivateApi {
21
+ /**
22
+ * Applies the aggregation to the rows.
23
+ */
24
+ applyAggregation: () => void;
25
+ }
26
+ export interface GridAggregationGetCellValueParams {
27
+ /**
28
+ * The row model of the row that the current cell belongs to.
29
+ */
30
+ row: GridRowModel;
31
+ }
32
+ /**
33
+ * Grid aggregation function definition interface.
34
+ * @demos
35
+ * - [Aggregation functions](/x/react-data-grid/aggregation/#aggregation-functions)
36
+ */
37
+ export interface GridAggregationFunction<V = any, AV = V> {
38
+ /**
39
+ * Function that takes the current cell values and generates the aggregated value.
40
+ * @template V, AV
41
+ * @param {GridAggregationParams<V>} params The params of the current aggregated cell.
42
+ * @returns {AV} The aggregated value.
43
+ */
44
+ apply: (params: GridAggregationParams<V>) => AV | null | undefined;
45
+ /**
46
+ * Label of the aggregation function.
47
+ * Used for adding a label to the footer of the grouping column when this aggregation function is the only one being used.
48
+ * @default apiRef.current.getLocaleText('aggregationFunctionLabel{capitalize(name)})
49
+ */
50
+ label?: string;
51
+ /**
52
+ * Column types supported by this aggregation function.
53
+ * If not defined, all types are supported (in most cases this property should be defined).
54
+ */
55
+ columnTypes?: string[];
56
+ /**
57
+ * Function for applying a formatter to the aggregated value.
58
+ * If not defined, the grid uses the formatter of the column.
59
+ */
60
+ valueFormatter?: GridValueFormatter;
61
+ /**
62
+ * Indicates if the aggregated value has the same unit as the cells used to generate it.
63
+ * It can be used to apply a custom cell renderer only if the aggregated value has the same unit.
64
+ * @default true
65
+ */
66
+ hasCellUnit?: boolean;
67
+ /**
68
+ * Function that allows to transform the value of the cell passed to the aggregation function applier.
69
+ * Useful for aggregating data from multiple row fields.
70
+ * @demo https://mui.com/x/react-data-grid/aggregation/#aggregating-data-from-multiple-row-fields
71
+ * @param {GridAggregationGetCellValueParams} params The params of the current cell
72
+ * @returns {V} The value of the cell that will be passed to the aggregation `apply` function
73
+ */
74
+ getCellValue?: (params: GridAggregationGetCellValueParams) => V;
75
+ }
76
+ /**
77
+ * Grid aggregation function data source definition interface.
78
+ * @demos
79
+ * - [Server-side aggregation](/x/react-data-grid/server-side-data/aggregation/)
80
+ */
81
+ export interface GridAggregationFunctionDataSource extends Omit<GridAggregationFunction, 'apply' | 'getCellValue'> {}
82
+ export interface GridAggregationParams<V = any> {
83
+ values: (V | undefined)[];
84
+ groupId: GridRowId;
85
+ field: GridColDef['field'];
86
+ }
87
+ export type GridAggregationModel = {
88
+ [field: string]: string;
89
+ };
90
+ export type GridAggregationLookup = {
91
+ [rowId: GridRowId]: {
92
+ [field: string]: {
93
+ position: GridAggregationPosition;
94
+ value: any;
95
+ };
96
+ };
97
+ };
98
+ export type GridAggregationPosition = 'inline' | 'footer';
99
+ export interface GridAggregationCellMeta {
100
+ /**
101
+ * If `true`, the current aggregated value has the same unit as the value of the other cells of this row.
102
+ * For instance, "min" / "max" aggregation have the same unit as the other cells.
103
+ * If `false`, the current aggregated value has another unit or not unit.
104
+ * For instance, "size" aggregation has no unit.
105
+ */
106
+ hasCellUnit: boolean;
107
+ /**
108
+ * Name of the aggregation function currently applied on this cell.
109
+ */
110
+ aggregationFunctionName: string;
111
+ }
112
+ export interface GridAggregationHeaderMeta {
113
+ aggregationRule: GridAggregationRule;
114
+ }
115
+ export interface GridAggregationRule {
116
+ aggregationFunctionName: string;
117
+ aggregationFunction: GridAggregationFunction | GridAggregationFunctionDataSource;
118
+ }
119
+ /**
120
+ * Object containing all the aggregation rules that must be applied to the current columns.
121
+ * Unlike the aggregation model, those rules are sanitized and do not contain:
122
+ * - items for non-existing columns
123
+ * - items for non-aggregable columns (GridColDef.aggregable = false)
124
+ * - items for non-existing aggregation function
125
+ * - items for non-available aggregation function on the column (GridColDef.availableAggregationFunctions)
126
+ */
127
+ export type GridAggregationRules = {
128
+ [field: string]: GridAggregationRule;
129
+ };
@@ -0,0 +1,13 @@
1
+ import { GridStatePremium } from "../../../models/gridStatePremium.js";
2
+ export declare const gridAggregationStateSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, unknown, import("./gridAggregationInterfaces").GridAggregationState>;
3
+ /**
4
+ * Get the aggregation model, containing the aggregation function of each column.
5
+ * If a column is not in the model, it is not aggregated.
6
+ * @category Aggregation
7
+ */
8
+ export declare const gridAggregationModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridAggregationInterfaces").GridAggregationState, import("./gridAggregationInterfaces").GridAggregationModel>;
9
+ /**
10
+ * Get the aggregation results as a lookup.
11
+ * @category Aggregation
12
+ */
13
+ export declare const gridAggregationLookupSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridAggregationInterfaces").GridAggregationState, import("./gridAggregationInterfaces").GridAggregationLookup>;
@@ -1,5 +1,5 @@
1
- import { createSelector } from '@mui/x-data-grid-pro/internals';
2
- export const gridAggregationStateSelector = state => state.aggregation;
1
+ import { createSelector, createRootSelector } from '@mui/x-data-grid-pro/internals';
2
+ export const gridAggregationStateSelector = createRootSelector(state => state.aggregation);
3
3
 
4
4
  /**
5
5
  * Get the aggregation model, containing the aggregation function of each column.