@mui/x-data-grid-premium 8.0.0-alpha.9 → 8.0.0-beta.1

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 +1523 -0
  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 +3 -3
  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 +10 -14
  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 +16 -10
  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 +42 -25
  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 +3 -3
  193. package/hooks/features/aggregation/useGridAggregation.js +6 -8
  194. package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +3 -3
  195. package/hooks/features/aggregation/useGridAggregationPreProcessors.js +7 -6
  196. package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +67 -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 +3 -3
  203. package/hooks/features/cellSelection/useGridCellSelection.js +13 -11
  204. package/hooks/features/clipboard/useGridClipboardImport.d.ts +2 -2
  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 +3 -3
  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 +23 -51
  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 +3 -3
  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 +44 -32
  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 +30 -22
  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 +3 -3
  233. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  234. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +3 -3
  235. package/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
  236. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +3 -3
  237. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +10 -14
  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 +4 -4
  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 +140 -135
  255. package/models/gridApiPremium.d.ts +4 -6
  256. package/models/gridGroupingValueGetter.d.ts +2 -2
  257. package/models/gridPastedValueParser.d.ts +2 -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 +10 -14
  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
@@ -1,33 +1,33 @@
1
1
  import { GridRowId, GridRowModel, GridColDef, GridValueFormatter } from '@mui/x-data-grid-pro';
2
2
  export interface GridAggregationState {
3
- model: GridAggregationModel;
4
- lookup: GridAggregationLookup;
3
+ model: GridAggregationModel;
4
+ lookup: GridAggregationLookup;
5
5
  }
6
6
  export interface GridAggregationInitialState {
7
- model?: GridAggregationModel;
7
+ model?: GridAggregationModel;
8
8
  }
9
9
  export interface GridAggregationInternalCache {
10
- rulesOnLastColumnHydration: GridAggregationRules;
11
- rulesOnLastRowHydration: GridAggregationRules;
10
+ rulesOnLastColumnHydration: GridAggregationRules;
11
+ rulesOnLastRowHydration: GridAggregationRules;
12
12
  }
13
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;
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
19
  }
20
20
  export interface GridAggregationPrivateApi {
21
- /**
22
- * Applies the aggregation to the rows.
23
- */
24
- applyAggregation: () => void;
21
+ /**
22
+ * Applies the aggregation to the rows.
23
+ */
24
+ applyAggregation: () => void;
25
25
  }
26
26
  export interface GridAggregationGetCellValueParams {
27
- /**
28
- * The row model of the row that the current cell belongs to.
29
- */
30
- row: GridRowModel;
27
+ /**
28
+ * The row model of the row that the current cell belongs to.
29
+ */
30
+ row: GridRowModel;
31
31
  }
32
32
  /**
33
33
  * Grid aggregation function definition interface.
@@ -35,87 +35,86 @@ export interface GridAggregationGetCellValueParams {
35
35
  * - [Aggregation functions](/x/react-data-grid/aggregation/#aggregation-functions)
36
36
  */
37
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;
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
75
  }
76
76
  /**
77
77
  * Grid aggregation function data source definition interface.
78
78
  * @demos
79
79
  * - [Server-side aggregation](/x/react-data-grid/server-side-data/aggregation/)
80
80
  */
81
- export interface GridAggregationFunctionDataSource extends Omit<GridAggregationFunction, 'apply' | 'getCellValue'> {
82
- }
81
+ export interface GridAggregationFunctionDataSource extends Omit<GridAggregationFunction, 'apply' | 'getCellValue'> {}
83
82
  export interface GridAggregationParams<V = any> {
84
- values: (V | undefined)[];
85
- groupId: GridRowId;
86
- field: GridColDef['field'];
83
+ values: (V | undefined)[];
84
+ groupId: GridRowId;
85
+ field: GridColDef['field'];
87
86
  }
88
87
  export type GridAggregationModel = {
89
- [field: string]: string;
88
+ [field: string]: string;
90
89
  };
91
90
  export type GridAggregationLookup = {
92
- [rowId: GridRowId]: {
93
- [field: string]: {
94
- position: GridAggregationPosition;
95
- value: any;
96
- };
91
+ [rowId: GridRowId]: {
92
+ [field: string]: {
93
+ position: GridAggregationPosition;
94
+ value: any;
97
95
  };
96
+ };
98
97
  };
99
98
  export type GridAggregationPosition = 'inline' | 'footer';
100
99
  export interface GridAggregationCellMeta {
101
- /**
102
- * If `true`, the current aggregated value has the same unit as the value of the other cells of this row.
103
- * For instance, "min" / "max" aggregation have the same unit as the other cells.
104
- * If `false`, the current aggregated value has another unit or not unit.
105
- * For instance, "size" aggregation has no unit.
106
- */
107
- hasCellUnit: boolean;
108
- /**
109
- * Name of the aggregation function currently applied on this cell.
110
- */
111
- aggregationFunctionName: string;
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;
112
111
  }
113
112
  export interface GridAggregationHeaderMeta {
114
- aggregationRule: GridAggregationRule;
113
+ aggregationRule: GridAggregationRule;
115
114
  }
116
115
  export interface GridAggregationRule {
117
- aggregationFunctionName: string;
118
- aggregationFunction: GridAggregationFunction | GridAggregationFunctionDataSource;
116
+ aggregationFunctionName: string;
117
+ aggregationFunction: GridAggregationFunction | GridAggregationFunctionDataSource;
119
118
  }
120
119
  /**
121
120
  * Object containing all the aggregation rules that must be applied to the current columns.
@@ -126,5 +125,5 @@ export interface GridAggregationRule {
126
125
  * - items for non-available aggregation function on the column (GridColDef.availableAggregationFunctions)
127
126
  */
128
127
  export type GridAggregationRules = {
129
- [field: string]: GridAggregationRule;
130
- };
128
+ [field: string]: GridAggregationRule;
129
+ };
@@ -1,5 +1,5 @@
1
- import { GridStatePremium } from '../../../models/gridStatePremium';
2
- export declare const gridAggregationStateSelector: (state: GridStatePremium) => import("./gridAggregationInterfaces").GridAggregationState;
1
+ import { GridStatePremium } from "../../../models/gridStatePremium.js";
2
+ export declare const gridAggregationStateSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, unknown, import("./gridAggregationInterfaces").GridAggregationState>;
3
3
  /**
4
4
  * Get the aggregation model, containing the aggregation function of each column.
5
5
  * If a column is not in the model, it is not aggregated.
@@ -10,4 +10,4 @@ export declare const gridAggregationModelSelector: import("@mui/x-data-grid").Ou
10
10
  * Get the aggregation results as a lookup.
11
11
  * @category Aggregation
12
12
  */
13
- export declare const gridAggregationLookupSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridAggregationInterfaces").GridAggregationState, import("./gridAggregationInterfaces").GridAggregationLookup>;
13
+ export declare const gridAggregationLookupSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridAggregationInterfaces").GridAggregationState, import("./gridAggregationInterfaces").GridAggregationLookup>;
@@ -5,14 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.gridAggregationStateSelector = exports.gridAggregationModelSelector = exports.gridAggregationLookupSelector = void 0;
7
7
  var _internals = require("@mui/x-data-grid-pro/internals");
8
- const gridAggregationStateSelector = state => state.aggregation;
8
+ const gridAggregationStateSelector = exports.gridAggregationStateSelector = (0, _internals.createRootSelector)(state => state.aggregation);
9
9
 
10
10
  /**
11
11
  * Get the aggregation model, containing the aggregation function of each column.
12
12
  * If a column is not in the model, it is not aggregated.
13
13
  * @category Aggregation
14
14
  */
15
- exports.gridAggregationStateSelector = gridAggregationStateSelector;
16
15
  const gridAggregationModelSelector = exports.gridAggregationModelSelector = (0, _internals.createSelector)(gridAggregationStateSelector, aggregationState => aggregationState.model);
17
16
 
18
17
  /**
@@ -1,45 +1,62 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridColDef, GridRowId } from '@mui/x-data-grid-pro';
3
3
  import { GridColumnRawLookup, GridHydrateRowsValue } from '@mui/x-data-grid-pro/internals';
4
- import { GridAggregationFunction, GridAggregationFunctionDataSource, GridAggregationModel, GridAggregationRule, GridAggregationRules } from './gridAggregationInterfaces';
5
- import { GridStatePremium } from '../../../models/gridStatePremium';
6
- import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
7
- import { GridApiPremium, GridPrivateApiPremium } from '../../../models/gridApiPremium';
4
+ import { GridAggregationFunction, GridAggregationFunctionDataSource, GridAggregationModel, GridAggregationRule, GridAggregationRules } from "./gridAggregationInterfaces.js";
5
+ import { GridStatePremium } from "../../../models/gridStatePremium.js";
6
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
7
+ import { GridApiPremium, GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
8
8
  export declare const GRID_AGGREGATION_ROOT_FOOTER_ROW_ID = "auto-generated-group-footer-root";
9
9
  export declare const getAggregationFooterRowIdFromGroupId: (groupId: GridRowId | null) => string;
10
10
  type AggregationFunction = GridAggregationFunction | GridAggregationFunctionDataSource | undefined;
11
- export declare const canColumnHaveAggregationFunction: ({ colDef, aggregationFunctionName, aggregationFunction, isDataSource, }: {
12
- colDef: GridColDef | undefined;
13
- aggregationFunctionName: string;
14
- aggregationFunction: AggregationFunction;
15
- isDataSource: boolean;
11
+ export declare const canColumnHaveAggregationFunction: ({
12
+ colDef,
13
+ aggregationFunctionName,
14
+ aggregationFunction,
15
+ isDataSource
16
+ }: {
17
+ colDef: GridColDef | undefined;
18
+ aggregationFunctionName: string;
19
+ aggregationFunction: AggregationFunction;
20
+ isDataSource: boolean;
16
21
  }) => boolean;
17
- export declare const getAvailableAggregationFunctions: ({ aggregationFunctions, colDef, isDataSource, }: {
18
- aggregationFunctions: Record<string, GridAggregationFunction> | Record<string, GridAggregationFunctionDataSource>;
19
- colDef: GridColDef;
20
- isDataSource: boolean;
22
+ export declare const getAvailableAggregationFunctions: ({
23
+ aggregationFunctions,
24
+ colDef,
25
+ isDataSource
26
+ }: {
27
+ aggregationFunctions: Record<string, GridAggregationFunction> | Record<string, GridAggregationFunctionDataSource>;
28
+ colDef: GridColDef;
29
+ isDataSource: boolean;
21
30
  }) => string[];
22
31
  export declare const mergeStateWithAggregationModel: (aggregationModel: GridAggregationModel) => (state: GridStatePremium) => GridStatePremium;
23
32
  export declare const getAggregationRules: (columnsLookup: GridColumnRawLookup, aggregationModel: GridAggregationModel, aggregationFunctions: Record<string, GridAggregationFunction> | Record<string, GridAggregationFunctionDataSource>, isDataSource: boolean) => GridAggregationRules;
24
33
  interface AddFooterRowsParams {
25
- groupingParams: GridHydrateRowsValue;
26
- getAggregationPosition: DataGridPremiumProcessedProps['getAggregationPosition'];
27
- /**
28
- * If `true`, there are some aggregation rules to apply
29
- */
30
- hasAggregationRule: boolean;
31
- apiRef: RefObject<GridPrivateApiPremium>;
34
+ groupingParams: GridHydrateRowsValue;
35
+ getAggregationPosition: DataGridPremiumProcessedProps['getAggregationPosition'];
36
+ /**
37
+ * If `true`, there are some aggregation rules to apply
38
+ */
39
+ hasAggregationRule: boolean;
40
+ apiRef: RefObject<GridPrivateApiPremium>;
32
41
  }
33
42
  /**
34
43
  * Add a footer for each group that has at least one column with an aggregated value.
35
44
  */
36
- export declare const addFooterRows: ({ groupingParams, apiRef, getAggregationPosition, hasAggregationRule, }: AddFooterRowsParams) => GridHydrateRowsValue;
45
+ export declare const addFooterRows: ({
46
+ groupingParams,
47
+ apiRef,
48
+ getAggregationPosition,
49
+ hasAggregationRule
50
+ }: AddFooterRowsParams) => GridHydrateRowsValue;
37
51
  /**
38
52
  * Compares two sets of aggregation rules to determine if they are equal or not.
39
53
  */
40
54
  export declare const areAggregationRulesEqual: (previousValue: GridAggregationRules | undefined, newValue: GridAggregationRules) => boolean;
41
- export declare const getAggregationFunctionLabel: ({ apiRef, aggregationRule, }: {
42
- apiRef: RefObject<GridApiPremium>;
43
- aggregationRule: GridAggregationRule;
55
+ export declare const getAggregationFunctionLabel: ({
56
+ apiRef,
57
+ aggregationRule
58
+ }: {
59
+ apiRef: RefObject<GridApiPremium>;
60
+ aggregationRule: GridAggregationRule;
44
61
  }) => string;
45
- export {};
62
+ export {};
@@ -123,7 +123,7 @@ const addFooterRows = ({
123
123
  }
124
124
  };
125
125
  const updateRootGroupFooter = groupNode => {
126
- const shouldHaveFooter = hasAggregationRule && getAggregationPosition(groupNode) === 'footer';
126
+ const shouldHaveFooter = hasAggregationRule && getAggregationPosition(groupNode) === 'footer' && groupNode.children.length > 0;
127
127
  if (shouldHaveFooter) {
128
128
  const rowId = getAggregationFooterRowIdFromGroupId(null);
129
129
  newGroupingParams = (0, _internals2.addPinnedRow)({
@@ -1,4 +1,4 @@
1
- export type { GridAggregationState, GridAggregationInitialState, GridAggregationInternalCache, GridAggregationApi, GridAggregationGetCellValueParams, GridAggregationFunction, GridAggregationFunctionDataSource, GridAggregationParams, GridAggregationModel, GridAggregationLookup, GridAggregationPosition, GridAggregationCellMeta, GridAggregationHeaderMeta, GridAggregationRule, GridAggregationRules, } from './gridAggregationInterfaces';
2
- export * from './gridAggregationSelectors';
3
- export * from './gridAggregationFunctions';
4
- export { GRID_AGGREGATION_ROOT_FOOTER_ROW_ID, getAggregationFooterRowIdFromGroupId, } from './gridAggregationUtils';
1
+ export type { GridAggregationState, GridAggregationInitialState, GridAggregationInternalCache, GridAggregationApi, GridAggregationGetCellValueParams, GridAggregationFunction, GridAggregationFunctionDataSource, GridAggregationParams, GridAggregationModel, GridAggregationLookup, GridAggregationPosition, GridAggregationCellMeta, GridAggregationHeaderMeta, GridAggregationRule, GridAggregationRules } from './gridAggregationInterfaces';
2
+ export * from "./gridAggregationSelectors.js";
3
+ export * from "./gridAggregationFunctions.js";
4
+ export { GRID_AGGREGATION_ROOT_FOOTER_ROW_ID, getAggregationFooterRowIdFromGroupId } from "./gridAggregationUtils.js";
@@ -1,6 +1,6 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
3
- import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
- import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
3
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
4
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
5
5
  export declare const aggregationStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'aggregationModel' | 'initialState'>, GridPrivateApiPremium>;
6
- export declare const useGridAggregation: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "onAggregationModelChange" | "initialState" | "aggregationModel" | "getAggregationPosition" | "aggregationFunctions" | "aggregationRowsScope" | "disableAggregation" | "rowGroupingColumnMode" | "unstable_dataSource">) => void;
6
+ export declare const useGridAggregation: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "onAggregationModelChange" | "initialState" | "aggregationModel" | "getAggregationPosition" | "aggregationFunctions" | "aggregationRowsScope" | "disableAggregation" | "rowGroupingColumnMode" | "dataSource">) => void;
@@ -41,7 +41,6 @@ const useGridAggregation = (apiRef, props) => {
41
41
  const currentModel = (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef);
42
42
  if (currentModel !== model) {
43
43
  apiRef.current.setState((0, _gridAggregationUtils.mergeStateWithAggregationModel)(model));
44
- apiRef.current.forceUpdate();
45
44
  }
46
45
  }, [apiRef]);
47
46
  const applyAggregation = React.useCallback(() => {
@@ -50,14 +49,14 @@ const useGridAggregation = (apiRef, props) => {
50
49
  getAggregationPosition: props.getAggregationPosition,
51
50
  aggregationFunctions: props.aggregationFunctions,
52
51
  aggregationRowsScope: props.aggregationRowsScope,
53
- isDataSource: !!props.unstable_dataSource
52
+ isDataSource: !!props.dataSource
54
53
  });
55
54
  apiRef.current.setState(state => (0, _extends2.default)({}, state, {
56
55
  aggregation: (0, _extends2.default)({}, state.aggregation, {
57
56
  lookup: aggregationLookup
58
57
  })
59
58
  }));
60
- }, [apiRef, props.getAggregationPosition, props.aggregationFunctions, props.aggregationRowsScope, props.unstable_dataSource]);
59
+ }, [apiRef, props.getAggregationPosition, props.aggregationFunctions, props.aggregationRowsScope, props.dataSource]);
61
60
  const aggregationApi = {
62
61
  setAggregationModel
63
62
  };
@@ -81,12 +80,12 @@ const useGridAggregation = (apiRef, props) => {
81
80
  rulesOnLastRowHydration,
82
81
  rulesOnLastColumnHydration
83
82
  } = apiRef.current.caches.aggregation;
84
- const aggregationRules = props.disableAggregation ? {} : (0, _gridAggregationUtils.getAggregationRules)((0, _xDataGridPro.gridColumnLookupSelector)(apiRef), (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef), props.aggregationFunctions, !!props.unstable_dataSource);
83
+ const aggregationRules = props.disableAggregation ? {} : (0, _gridAggregationUtils.getAggregationRules)((0, _xDataGridPro.gridColumnLookupSelector)(apiRef), (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef), props.aggregationFunctions, !!props.dataSource);
85
84
 
86
85
  // Re-apply the row hydration to add / remove the aggregation footers
87
86
  if (!(0, _gridAggregationUtils.areAggregationRulesEqual)(rulesOnLastRowHydration, aggregationRules)) {
88
- if (props.unstable_dataSource) {
89
- apiRef.current.unstable_dataSource.fetchRows();
87
+ if (props.dataSource) {
88
+ apiRef.current.dataSource.fetchRows();
90
89
  } else {
91
90
  apiRef.current.requestPipeProcessorsApplication('hydrateRows');
92
91
  applyAggregation();
@@ -95,10 +94,9 @@ const useGridAggregation = (apiRef, props) => {
95
94
 
96
95
  // Re-apply the column hydration to wrap / unwrap the aggregated columns
97
96
  if (!(0, _gridAggregationUtils.areAggregationRulesEqual)(rulesOnLastColumnHydration, aggregationRules)) {
98
- apiRef.current.caches.aggregation.rulesOnLastColumnHydration = aggregationRules;
99
97
  apiRef.current.requestPipeProcessorsApplication('hydrateColumns');
100
98
  }
101
- }, [apiRef, applyAggregation, props.aggregationFunctions, props.disableAggregation, props.unstable_dataSource]);
99
+ }, [apiRef, applyAggregation, props.aggregationFunctions, props.disableAggregation, props.dataSource]);
102
100
  (0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'aggregationModelChange', checkAggregationRulesDiff);
103
101
  (0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'columnsChange', checkAggregationRulesDiff);
104
102
  (0, _xDataGridPro.useGridApiEventHandler)(apiRef, 'filteredRowsSet', applyAggregation);
@@ -1,4 +1,4 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
- import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
3
- import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
- export declare const useGridAggregationPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "aggregationFunctions" | "disableAggregation" | "getAggregationPosition" | "slotProps" | "slots" | "unstable_dataSource">) => void;
2
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
3
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
4
+ export declare const useGridAggregationPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "aggregationFunctions" | "disableAggregation" | "getAggregationPosition" | "slotProps" | "slots" | "dataSource">) => void;
@@ -18,7 +18,7 @@ const useGridAggregationPreProcessors = (apiRef, props) => {
18
18
  // that the pre-processor is called it will already have been updated with the current rules.
19
19
  const rulesOnLastColumnHydration = React.useRef({});
20
20
  const updateAggregatedColumns = React.useCallback(columnsState => {
21
- const aggregationRules = props.disableAggregation ? {} : (0, _gridAggregationUtils.getAggregationRules)(columnsState.lookup, (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef), props.aggregationFunctions, !!props.unstable_dataSource);
21
+ const aggregationRules = props.disableAggregation ? {} : (0, _gridAggregationUtils.getAggregationRules)(columnsState.lookup, (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef), props.aggregationFunctions, !!props.dataSource);
22
22
  columnsState.orderedFields.forEach(field => {
23
23
  const shouldHaveAggregationValue = !!aggregationRules[field];
24
24
  const haveAggregationColumnValue = !!rulesOnLastColumnHydration.current[field];
@@ -38,10 +38,11 @@ const useGridAggregationPreProcessors = (apiRef, props) => {
38
38
  columnsState.lookup[field] = column;
39
39
  });
40
40
  rulesOnLastColumnHydration.current = aggregationRules;
41
+ apiRef.current.caches.aggregation.rulesOnLastColumnHydration = aggregationRules;
41
42
  return columnsState;
42
- }, [apiRef, props.aggregationFunctions, props.disableAggregation, props.unstable_dataSource]);
43
+ }, [apiRef, props.aggregationFunctions, props.disableAggregation, props.dataSource]);
43
44
  const addGroupFooterRows = React.useCallback(value => {
44
- const aggregationRules = props.disableAggregation ? {} : (0, _gridAggregationUtils.getAggregationRules)((0, _xDataGridPro.gridColumnLookupSelector)(apiRef), (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef), props.aggregationFunctions, !!props.unstable_dataSource);
45
+ const aggregationRules = props.disableAggregation ? {} : (0, _gridAggregationUtils.getAggregationRules)((0, _xDataGridPro.gridColumnLookupSelector)(apiRef), (0, _gridAggregationSelectors.gridAggregationModelSelector)(apiRef), props.aggregationFunctions, !!props.dataSource);
45
46
  const hasAggregationRule = Object.keys(aggregationRules).length > 0;
46
47
 
47
48
  // If we did not have any aggregation footer before, and we still don't have any,
@@ -56,7 +57,7 @@ const useGridAggregationPreProcessors = (apiRef, props) => {
56
57
  getAggregationPosition: props.getAggregationPosition,
57
58
  hasAggregationRule
58
59
  });
59
- }, [apiRef, props.disableAggregation, props.getAggregationPosition, props.aggregationFunctions, props.unstable_dataSource]);
60
+ }, [apiRef, props.disableAggregation, props.getAggregationPosition, props.aggregationFunctions, props.dataSource]);
60
61
  const addColumnMenuButtons = React.useCallback((columnMenuItems, colDef) => {
61
62
  if (props.disableAggregation || !colDef.aggregable) {
62
63
  return columnMenuItems;
@@ -64,13 +65,13 @@ const useGridAggregationPreProcessors = (apiRef, props) => {
64
65
  const availableAggregationFunctions = (0, _gridAggregationUtils.getAvailableAggregationFunctions)({
65
66
  aggregationFunctions: props.aggregationFunctions,
66
67
  colDef,
67
- isDataSource: !!props.unstable_dataSource
68
+ isDataSource: !!props.dataSource
68
69
  });
69
70
  if (availableAggregationFunctions.length === 0) {
70
71
  return columnMenuItems;
71
72
  }
72
73
  return [...columnMenuItems, 'columnMenuAggregationItem'];
73
- }, [props.aggregationFunctions, props.disableAggregation, props.unstable_dataSource]);
74
+ }, [props.aggregationFunctions, props.disableAggregation, props.dataSource]);
74
75
  const stateExportPreProcessing = React.useCallback(prevState => {
75
76
  if (props.disableAggregation) {
76
77
  return prevState;
@@ -1,76 +1,81 @@
1
1
  import * as React from 'react';
2
2
  import { RefObject } from '@mui/x-internals/types';
3
3
  import { GridColDef, GridFilterOperator } from '@mui/x-data-grid-pro';
4
- import { GridBaseColDef } from '@mui/x-data-grid-pro/internals';
5
- import { GridApiPremium } from '../../../models/gridApiPremium';
6
- import { GridAggregationRule } from './gridAggregationInterfaces';
7
- declare const AGGREGATION_WRAPPABLE_PROPERTIES: readonly ["valueGetter", "valueFormatter", "renderCell", "renderHeader", "filterOperators"];
8
- type WrappableColumnProperty = (typeof AGGREGATION_WRAPPABLE_PROPERTIES)[number];
4
+ import { type GridBaseColDef } from '@mui/x-data-grid-pro/internals';
5
+ import { GridApiPremium } from "../../../models/gridApiPremium.js";
6
+ import type { GridAggregationRule } from './gridAggregationInterfaces';
7
+ type WrappableColumnProperty = 'valueGetter' | 'valueFormatter' | 'renderCell' | 'renderHeader' | 'filterOperators';
9
8
  interface GridColDefWithAggregationWrappers extends GridBaseColDef {
10
- aggregationWrappedProperties: {
11
- name: WrappableColumnProperty;
12
- originalValue: GridBaseColDef[WrappableColumnProperty];
13
- wrappedValue: GridBaseColDef[WrappableColumnProperty];
14
- }[];
9
+ aggregationWrappedProperties: {
10
+ name: WrappableColumnProperty;
11
+ originalValue: GridBaseColDef[WrappableColumnProperty];
12
+ wrappedValue: GridBaseColDef[WrappableColumnProperty];
13
+ }[];
15
14
  }
16
15
  /**
17
16
  * Add a wrapper around each wrappable property of the column to customize the behavior of the aggregation cells.
18
17
  */
19
- export declare const wrapColumnWithAggregationValue: ({ column, apiRef, aggregationRule, }: {
20
- column: GridBaseColDef;
21
- apiRef: RefObject<GridApiPremium>;
22
- aggregationRule: GridAggregationRule;
18
+ export declare const wrapColumnWithAggregationValue: ({
19
+ column,
20
+ apiRef,
21
+ aggregationRule
22
+ }: {
23
+ column: GridBaseColDef;
24
+ apiRef: RefObject<GridApiPremium>;
25
+ aggregationRule: GridAggregationRule;
23
26
  }) => GridBaseColDef;
24
27
  /**
25
28
  * Remove the aggregation wrappers around the wrappable properties of the column.
26
29
  */
27
- export declare const unwrapColumnFromAggregation: ({ column, }: {
28
- column: GridColDef | GridColDefWithAggregationWrappers;
30
+ export declare const unwrapColumnFromAggregation: ({
31
+ column
32
+ }: {
33
+ column: GridColDef | GridColDefWithAggregationWrappers;
29
34
  }) => GridBaseColDef<any, any, any> | {
30
- field: string;
31
- headerName?: string;
32
- description?: string;
33
- width?: number;
34
- flex?: number;
35
- minWidth?: number;
36
- maxWidth?: number;
37
- hideable?: boolean;
38
- sortable?: boolean;
39
- sortingOrder?: readonly import("@mui/x-data-grid").GridSortDirection[];
40
- resizable?: boolean;
41
- editable?: boolean;
42
- groupable?: boolean;
43
- pinnable?: boolean;
44
- sortComparator?: import("@mui/x-data-grid").GridComparatorFn<any> | undefined;
45
- getSortComparator?: ((sortDirection: import("@mui/x-data-grid").GridSortDirection) => import("@mui/x-data-grid").GridComparatorFn<any> | undefined) | undefined;
46
- type?: import("@mui/x-data-grid").GridColType;
47
- align?: import("@mui/x-data-grid").GridAlignment;
48
- valueGetter?: import("@mui/x-data-grid").GridValueGetter<import("@mui/x-data-grid").GridValidRowModel, any, any, never> | undefined;
49
- rowSpanValueGetter?: import("@mui/x-data-grid").GridValueGetter<import("@mui/x-data-grid").GridValidRowModel, any, any, never> | undefined;
50
- valueSetter?: import("@mui/x-data-grid").GridValueSetter<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
51
- valueFormatter?: import("@mui/x-data-grid").GridValueFormatter<import("@mui/x-data-grid").GridValidRowModel, any, any, never> | undefined;
52
- valueParser?: import("@mui/x-data-grid").GridValueParser<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
53
- cellClassName?: import("@mui/x-data-grid").GridCellClassNamePropType<import("@mui/x-data-grid").GridValidRowModel, any> | undefined;
54
- display?: "text" | "flex";
55
- renderCell?: ((params: import("@mui/x-data-grid").GridRenderCellParams<import("@mui/x-data-grid").GridValidRowModel, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
56
- renderEditCell?: ((params: import("@mui/x-data-grid").GridRenderEditCellParams<import("@mui/x-data-grid").GridValidRowModel, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
57
- preProcessEditCellProps?: ((params: import("@mui/x-data-grid").GridPreProcessEditCellProps) => import("@mui/x-data-grid").GridEditCellProps | Promise<import("@mui/x-data-grid").GridEditCellProps>) | undefined;
58
- headerClassName?: import("@mui/x-data-grid").GridColumnHeaderClassNamePropType;
59
- renderHeader?: ((params: import("@mui/x-data-grid").GridColumnHeaderParams<import("@mui/x-data-grid").GridValidRowModel, any, any>) => React.ReactNode) | undefined;
60
- headerAlign?: import("@mui/x-data-grid").GridAlignment;
61
- hideSortIcons?: boolean;
62
- disableColumnMenu?: boolean;
63
- filterable?: boolean;
64
- filterOperators?: readonly GridFilterOperator<import("@mui/x-data-grid").GridValidRowModel, any, any>[] | undefined;
65
- getApplyQuickFilterFn?: import("@mui/x-data-grid").GetApplyQuickFilterFn<import("@mui/x-data-grid").GridValidRowModel, any> | undefined;
66
- disableReorder?: boolean;
67
- disableExport?: boolean;
68
- colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
69
- unstable_examples?: any[] | undefined;
70
- renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
71
- aggregable?: boolean;
72
- availableAggregationFunctions?: string[];
73
- groupingValueGetter?: import("../../..").GridGroupingValueGetter<import("@mui/x-data-grid").GridValidRowModel> | undefined;
74
- pastedValueParser?: import("../../..").GridPastedValueParser<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
35
+ field: string;
36
+ headerName?: string;
37
+ description?: string;
38
+ width?: number;
39
+ flex?: number;
40
+ minWidth?: number;
41
+ maxWidth?: number;
42
+ hideable?: boolean;
43
+ sortable?: boolean;
44
+ sortingOrder?: readonly import("@mui/x-data-grid").GridSortDirection[];
45
+ resizable?: boolean;
46
+ editable?: boolean;
47
+ groupable?: boolean;
48
+ pinnable?: boolean;
49
+ sortComparator?: import("@mui/x-data-grid").GridComparatorFn<any> | undefined;
50
+ getSortComparator?: ((sortDirection: import("@mui/x-data-grid").GridSortDirection) => import("@mui/x-data-grid").GridComparatorFn<any> | undefined) | undefined;
51
+ type?: import("@mui/x-data-grid").GridColType;
52
+ align?: import("@mui/x-data-grid").GridAlignment;
53
+ valueGetter?: import("@mui/x-data-grid").GridValueGetter<import("@mui/x-data-grid").GridValidRowModel, any, any, never> | undefined;
54
+ rowSpanValueGetter?: import("@mui/x-data-grid").GridValueGetter<import("@mui/x-data-grid").GridValidRowModel, any, any, never> | undefined;
55
+ valueSetter?: import("@mui/x-data-grid").GridValueSetter<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
56
+ valueFormatter?: import("@mui/x-data-grid").GridValueFormatter<import("@mui/x-data-grid").GridValidRowModel, any, any, never> | undefined;
57
+ valueParser?: import("@mui/x-data-grid").GridValueParser<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
58
+ cellClassName?: import("@mui/x-data-grid").GridCellClassNamePropType<import("@mui/x-data-grid").GridValidRowModel, any> | undefined;
59
+ display?: "text" | "flex";
60
+ renderCell?: ((params: import("@mui/x-data-grid").GridRenderCellParams<import("@mui/x-data-grid").GridValidRowModel, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
61
+ renderEditCell?: ((params: import("@mui/x-data-grid").GridRenderEditCellParams<import("@mui/x-data-grid").GridValidRowModel, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
62
+ preProcessEditCellProps?: ((params: import("@mui/x-data-grid").GridPreProcessEditCellProps) => import("@mui/x-data-grid").GridEditCellProps | Promise<import("@mui/x-data-grid").GridEditCellProps>) | undefined;
63
+ headerClassName?: import("@mui/x-data-grid").GridColumnHeaderClassNamePropType;
64
+ renderHeader?: ((params: import("@mui/x-data-grid").GridColumnHeaderParams<import("@mui/x-data-grid").GridValidRowModel, any, any>) => React.ReactNode) | undefined;
65
+ headerAlign?: import("@mui/x-data-grid").GridAlignment;
66
+ hideSortIcons?: boolean;
67
+ disableColumnMenu?: boolean;
68
+ filterable?: boolean;
69
+ filterOperators?: readonly GridFilterOperator<import("@mui/x-data-grid").GridValidRowModel, any, any, any>[] | undefined;
70
+ getApplyQuickFilterFn?: import("@mui/x-data-grid").GetApplyQuickFilterFn<import("@mui/x-data-grid").GridValidRowModel, any> | undefined;
71
+ disableReorder?: boolean;
72
+ disableExport?: boolean;
73
+ colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
74
+ unstable_examples?: any[] | undefined;
75
+ renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
76
+ aggregable?: boolean;
77
+ availableAggregationFunctions?: string[];
78
+ groupingValueGetter?: import("../../..").GridGroupingValueGetter<import("@mui/x-data-grid").GridValidRowModel> | undefined;
79
+ pastedValueParser?: import("../../..").GridPastedValueParser<import("@mui/x-data-grid").GridValidRowModel, any, any> | undefined;
75
80
  };
76
- export {};
81
+ export {};