@mui/x-data-grid-premium 8.0.0-alpha.11 → 8.0.0-alpha.13

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 (391) hide show
  1. package/CHANGELOG.md +460 -1
  2. package/DataGridPremium/DataGrid.d.ts +1 -1
  3. package/DataGridPremium/DataGridPremium.d.ts +6 -6
  4. package/DataGridPremium/DataGridPremium.js +55 -30
  5. package/DataGridPremium/index.d.ts +3 -3
  6. package/DataGridPremium/useDataGridPremiumComponent.d.ts +3 -3
  7. package/DataGridPremium/useDataGridPremiumComponent.js +3 -2
  8. package/DataGridPremium/useDataGridPremiumProps.d.ts +2 -2
  9. package/DataGridPremium/useDataGridPremiumProps.js +2 -2
  10. package/components/GridAggregationHeader.d.ts +3 -3
  11. package/components/GridAggregationHeader.js +7 -11
  12. package/components/GridAggregationRowOverlay.d.ts +3 -0
  13. package/components/GridAggregationRowOverlay.js +44 -0
  14. package/components/GridBottomContainer.d.ts +3 -0
  15. package/components/GridBottomContainer.js +51 -0
  16. package/components/GridColumnMenuAggregationItem.d.ts +2 -2
  17. package/components/GridColumnMenuAggregationItem.js +36 -46
  18. package/components/GridColumnMenuRowGroupItem.d.ts +1 -1
  19. package/components/GridColumnMenuRowUngroupItem.d.ts +1 -1
  20. package/components/GridDataSourceGroupingCriteriaCell.d.ts +2 -2
  21. package/components/GridDataSourceGroupingCriteriaCell.js +8 -12
  22. package/components/GridExcelExportMenuItem.d.ts +3 -3
  23. package/components/GridFooterCell.d.ts +2 -2
  24. package/components/GridFooterCell.js +5 -6
  25. package/components/GridGroupingColumnFooterCell.d.ts +1 -1
  26. package/components/GridGroupingColumnFooterCell.js +2 -1
  27. package/components/GridGroupingColumnLeafCell.d.ts +1 -1
  28. package/components/GridGroupingColumnLeafCell.js +3 -9
  29. package/components/GridGroupingCriteriaCell.d.ts +2 -2
  30. package/components/GridGroupingCriteriaCell.js +3 -8
  31. package/components/GridPremiumColumnMenu.d.ts +26 -26
  32. package/components/index.d.ts +5 -5
  33. package/components/promptControl/GridToolbarPromptControl.d.ts +22 -22
  34. package/components/promptControl/GridToolbarPromptControl.js +34 -32
  35. package/components/promptControl/RecordButton.d.ts +9 -9
  36. package/components/promptControl/index.d.ts +1 -1
  37. package/components/reexports.d.ts +1 -1
  38. package/constants/dataGridPremiumDefaultSlotsComponents.d.ts +1 -1
  39. package/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  40. package/esm/DataGridPremium/DataGrid.d.ts +8 -0
  41. package/esm/DataGridPremium/DataGridPremium.d.ts +16 -0
  42. package/esm/DataGridPremium/DataGridPremium.js +55 -30
  43. package/esm/DataGridPremium/index.d.ts +3 -0
  44. package/esm/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
  45. package/esm/DataGridPremium/useDataGridPremiumComponent.js +4 -3
  46. package/esm/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
  47. package/esm/DataGridPremium/useDataGridPremiumProps.js +2 -2
  48. package/esm/components/GridAggregationHeader.d.ts +7 -0
  49. package/esm/components/GridAggregationHeader.js +7 -11
  50. package/esm/components/GridAggregationRowOverlay.d.ts +3 -0
  51. package/esm/components/GridAggregationRowOverlay.js +37 -0
  52. package/esm/components/GridBottomContainer.d.ts +3 -0
  53. package/esm/components/GridBottomContainer.js +43 -0
  54. package/esm/components/GridColumnMenuAggregationItem.d.ts +7 -0
  55. package/esm/components/GridColumnMenuAggregationItem.js +36 -46
  56. package/esm/components/GridColumnMenuRowGroupItem.d.ts +3 -0
  57. package/esm/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
  58. package/esm/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
  59. package/esm/components/GridDataSourceGroupingCriteriaCell.js +9 -13
  60. package/esm/components/GridExcelExportMenuItem.d.ts +9 -0
  61. package/esm/components/GridFooterCell.d.ts +9 -0
  62. package/esm/components/GridFooterCell.js +5 -6
  63. package/esm/components/GridGroupingColumnFooterCell.d.ts +4 -0
  64. package/esm/components/GridGroupingColumnFooterCell.js +2 -1
  65. package/esm/components/GridGroupingColumnLeafCell.d.ts +4 -0
  66. package/esm/components/GridGroupingColumnLeafCell.js +3 -8
  67. package/esm/components/GridGroupingCriteriaCell.d.ts +7 -0
  68. package/esm/components/GridGroupingCriteriaCell.js +3 -8
  69. package/esm/components/GridPremiumColumnMenu.d.ts +33 -0
  70. package/esm/components/index.d.ts +5 -0
  71. package/esm/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
  72. package/esm/components/promptControl/GridToolbarPromptControl.js +34 -32
  73. package/esm/components/promptControl/RecordButton.d.ts +16 -0
  74. package/esm/components/promptControl/index.d.ts +1 -0
  75. package/esm/components/reexports.d.ts +1 -0
  76. package/esm/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
  77. package/esm/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  78. package/esm/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
  79. package/esm/hooks/features/aggregation/createAggregationLookup.js +3 -3
  80. package/esm/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
  81. package/esm/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
  82. package/esm/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
  83. package/esm/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
  84. package/esm/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
  85. package/esm/hooks/features/aggregation/index.d.ts +4 -0
  86. package/esm/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
  87. package/esm/hooks/features/aggregation/useGridAggregation.js +6 -6
  88. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
  89. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
  90. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
  91. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  92. package/esm/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
  93. package/esm/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
  94. package/esm/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
  95. package/esm/hooks/features/cellSelection/index.d.ts +1 -0
  96. package/esm/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
  97. package/esm/hooks/features/cellSelection/useGridCellSelection.js +5 -6
  98. package/esm/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
  99. package/esm/hooks/features/clipboard/useGridClipboardImport.js +5 -5
  100. package/esm/hooks/features/dataSource/models.d.ts +54 -0
  101. package/esm/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
  102. package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
  103. package/esm/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
  104. package/esm/hooks/features/export/index.d.ts +2 -0
  105. package/esm/hooks/features/export/index.js +1 -1
  106. package/esm/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
  107. package/esm/hooks/features/export/serializer/excelSerializer.js +69 -180
  108. package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  109. package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
  110. package/esm/hooks/features/export/serializer/utils.d.ts +36 -0
  111. package/esm/hooks/features/export/serializer/utils.js +93 -0
  112. package/esm/hooks/features/export/useGridExcelExport.d.ts +11 -0
  113. package/esm/hooks/features/export/useGridExcelExport.js +11 -5
  114. package/esm/hooks/features/index.d.ts +5 -0
  115. package/esm/hooks/features/promptControl/api.d.ts +2 -0
  116. package/esm/hooks/features/promptControl/index.d.ts +2 -0
  117. package/esm/hooks/features/promptControl/types.d.ts +25 -0
  118. package/esm/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
  119. package/esm/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
  120. package/esm/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
  121. package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
  122. package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  123. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
  124. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -2
  125. package/esm/hooks/features/rowGrouping/index.d.ts +3 -0
  126. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
  127. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  128. package/esm/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
  129. package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
  130. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
  131. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  132. package/esm/hooks/features/rows/index.d.ts +1 -0
  133. package/esm/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
  134. package/esm/hooks/index.d.ts +2 -0
  135. package/esm/hooks/utils/index.d.ts +1 -0
  136. package/esm/hooks/utils/useGridApiContext.d.ts +4 -0
  137. package/esm/hooks/utils/useGridApiRef.d.ts +4 -0
  138. package/esm/hooks/utils/useGridAriaAttributes.d.ts +2 -0
  139. package/esm/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
  140. package/esm/hooks/utils/useGridRootProps.d.ts +2 -0
  141. package/esm/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
  142. package/esm/index.d.ts +23 -0
  143. package/esm/index.js +6 -5
  144. package/esm/locales.d.ts +1 -0
  145. package/esm/material/icons.d.ts +15 -0
  146. package/esm/material/index.d.ts +8 -0
  147. package/esm/models/dataGridPremiumProps.d.ts +162 -0
  148. package/esm/models/gridApiPremium.d.ts +14 -0
  149. package/esm/models/gridGroupingValueGetter.d.ts +4 -0
  150. package/esm/models/gridPastedValueParser.d.ts +4 -0
  151. package/esm/models/gridPremiumIconSlotsComponent.d.ts +28 -0
  152. package/esm/models/gridPremiumSlotsComponent.d.ts +7 -0
  153. package/esm/models/gridStatePremium.d.ts +18 -0
  154. package/esm/models/index.d.ts +4 -0
  155. package/esm/package.json +1 -0
  156. package/esm/setupExcelExportWebWorker.d.ts +1 -0
  157. package/esm/setupExcelExportWebWorker.js +1 -0
  158. package/esm/themeAugmentation/index.d.ts +2 -0
  159. package/esm/themeAugmentation/overrides.d.ts +7 -0
  160. package/esm/themeAugmentation/props.d.ts +15 -0
  161. package/esm/typeOverloads/index.d.ts +2 -0
  162. package/esm/typeOverloads/modules.d.ts +97 -0
  163. package/esm/typeOverloads/reexports.d.ts +17 -0
  164. package/esm/utils/releaseInfo.d.ts +1 -0
  165. package/esm/utils/releaseInfo.js +1 -1
  166. package/hooks/features/aggregation/createAggregationLookup.d.ts +16 -10
  167. package/hooks/features/aggregation/createAggregationLookup.js +2 -2
  168. package/hooks/features/aggregation/gridAggregationFunctions.d.ts +7 -7
  169. package/hooks/features/aggregation/gridAggregationInterfaces.d.ts +81 -82
  170. package/hooks/features/aggregation/gridAggregationSelectors.d.ts +3 -3
  171. package/hooks/features/aggregation/gridAggregationSelectors.js +1 -2
  172. package/hooks/features/aggregation/gridAggregationUtils.d.ts +42 -25
  173. package/hooks/features/aggregation/index.d.ts +4 -4
  174. package/hooks/features/aggregation/useGridAggregation.d.ts +3 -3
  175. package/hooks/features/aggregation/useGridAggregation.js +6 -6
  176. package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +3 -3
  177. package/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
  178. package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +67 -62
  179. package/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  180. package/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +34 -34
  181. package/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -2
  182. package/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -2
  183. package/hooks/features/cellSelection/index.d.ts +1 -1
  184. package/hooks/features/cellSelection/useGridCellSelection.d.ts +3 -3
  185. package/hooks/features/cellSelection/useGridCellSelection.js +5 -6
  186. package/hooks/features/clipboard/useGridClipboardImport.d.ts +2 -2
  187. package/hooks/features/clipboard/useGridClipboardImport.js +4 -4
  188. package/hooks/features/dataSource/models.d.ts +41 -34
  189. package/hooks/features/dataSource/useGridDataSourcePremium.d.ts +3 -3
  190. package/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
  191. package/hooks/features/export/gridExcelExportInterface.d.ts +52 -52
  192. package/hooks/features/export/index.d.ts +2 -2
  193. package/hooks/features/export/index.js +2 -2
  194. package/hooks/features/export/serializer/excelSerializer.d.ts +23 -51
  195. package/hooks/features/export/serializer/excelSerializer.js +74 -187
  196. package/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  197. package/hooks/features/export/serializer/setupExcelExportWebWorker.js +59 -0
  198. package/hooks/features/export/serializer/utils.d.ts +36 -0
  199. package/hooks/features/export/serializer/utils.js +106 -0
  200. package/hooks/features/export/useGridExcelExport.d.ts +3 -3
  201. package/hooks/features/export/useGridExcelExport.js +10 -3
  202. package/hooks/features/index.d.ts +5 -5
  203. package/hooks/features/promptControl/api.d.ts +2 -2
  204. package/hooks/features/promptControl/index.d.ts +2 -2
  205. package/hooks/features/promptControl/types.d.ts +15 -15
  206. package/hooks/features/rowGrouping/createGroupingColDef.d.ts +44 -32
  207. package/hooks/features/rowGrouping/createGroupingColDef.js +4 -4
  208. package/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +32 -32
  209. package/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +2 -2
  210. package/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  211. package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +30 -22
  212. package/hooks/features/rowGrouping/gridRowGroupingUtils.js +1 -1
  213. package/hooks/features/rowGrouping/index.d.ts +3 -3
  214. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +3 -3
  215. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  216. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +3 -3
  217. package/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
  218. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +3 -3
  219. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  220. package/hooks/features/rows/index.d.ts +1 -1
  221. package/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
  222. package/hooks/index.d.ts +2 -2
  223. package/hooks/utils/index.d.ts +1 -1
  224. package/hooks/utils/useGridApiContext.d.ts +2 -2
  225. package/hooks/utils/useGridApiRef.d.ts +2 -2
  226. package/hooks/utils/useGridAriaAttributes.d.ts +1 -1
  227. package/hooks/utils/useGridPrivateApiContext.d.ts +2 -2
  228. package/hooks/utils/useGridRootProps.d.ts +2 -2
  229. package/hooks/utils/useKeepGroupedColumnsHidden.d.ts +4 -4
  230. package/index.d.ts +9 -17
  231. package/index.js +2 -11
  232. package/locales.d.ts +1 -1
  233. package/material/icons.d.ts +6 -6
  234. package/material/index.d.ts +6 -6
  235. package/models/dataGridPremiumProps.d.ts +140 -135
  236. package/models/gridApiPremium.d.ts +4 -6
  237. package/models/gridGroupingValueGetter.d.ts +2 -2
  238. package/models/gridPastedValueParser.d.ts +2 -2
  239. package/models/gridPremiumIconSlotsComponent.d.ts +26 -26
  240. package/models/gridPremiumSlotsComponent.d.ts +2 -3
  241. package/models/gridStatePremium.d.ts +7 -7
  242. package/models/index.d.ts +4 -4
  243. package/modern/DataGridPremium/DataGrid.d.ts +8 -0
  244. package/modern/DataGridPremium/DataGridPremium.d.ts +16 -0
  245. package/modern/DataGridPremium/DataGridPremium.js +55 -30
  246. package/modern/DataGridPremium/index.d.ts +3 -0
  247. package/modern/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
  248. package/modern/DataGridPremium/useDataGridPremiumComponent.js +4 -3
  249. package/modern/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
  250. package/modern/DataGridPremium/useDataGridPremiumProps.js +2 -2
  251. package/modern/components/GridAggregationHeader.d.ts +7 -0
  252. package/modern/components/GridAggregationHeader.js +7 -11
  253. package/modern/components/GridAggregationRowOverlay.d.ts +3 -0
  254. package/modern/components/GridAggregationRowOverlay.js +37 -0
  255. package/modern/components/GridBottomContainer.d.ts +3 -0
  256. package/modern/components/GridBottomContainer.js +43 -0
  257. package/modern/components/GridColumnMenuAggregationItem.d.ts +7 -0
  258. package/modern/components/GridColumnMenuAggregationItem.js +36 -46
  259. package/modern/components/GridColumnMenuRowGroupItem.d.ts +3 -0
  260. package/modern/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
  261. package/modern/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
  262. package/modern/components/GridDataSourceGroupingCriteriaCell.js +9 -13
  263. package/modern/components/GridExcelExportMenuItem.d.ts +9 -0
  264. package/modern/components/GridFooterCell.d.ts +9 -0
  265. package/modern/components/GridFooterCell.js +5 -6
  266. package/modern/components/GridGroupingColumnFooterCell.d.ts +4 -0
  267. package/modern/components/GridGroupingColumnFooterCell.js +2 -1
  268. package/modern/components/GridGroupingColumnLeafCell.d.ts +4 -0
  269. package/modern/components/GridGroupingColumnLeafCell.js +3 -8
  270. package/modern/components/GridGroupingCriteriaCell.d.ts +7 -0
  271. package/modern/components/GridGroupingCriteriaCell.js +3 -8
  272. package/modern/components/GridPremiumColumnMenu.d.ts +33 -0
  273. package/modern/components/index.d.ts +5 -0
  274. package/modern/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
  275. package/modern/components/promptControl/GridToolbarPromptControl.js +34 -32
  276. package/modern/components/promptControl/RecordButton.d.ts +16 -0
  277. package/modern/components/promptControl/index.d.ts +1 -0
  278. package/modern/components/reexports.d.ts +1 -0
  279. package/modern/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
  280. package/modern/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  281. package/modern/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
  282. package/modern/hooks/features/aggregation/createAggregationLookup.js +3 -3
  283. package/modern/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
  284. package/modern/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
  285. package/modern/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
  286. package/modern/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
  287. package/modern/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
  288. package/modern/hooks/features/aggregation/index.d.ts +4 -0
  289. package/modern/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
  290. package/modern/hooks/features/aggregation/useGridAggregation.js +6 -6
  291. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
  292. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.js +6 -6
  293. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
  294. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  295. package/modern/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
  296. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
  297. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
  298. package/modern/hooks/features/cellSelection/index.d.ts +1 -0
  299. package/modern/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
  300. package/modern/hooks/features/cellSelection/useGridCellSelection.js +5 -6
  301. package/modern/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
  302. package/modern/hooks/features/clipboard/useGridClipboardImport.js +5 -5
  303. package/modern/hooks/features/dataSource/models.d.ts +54 -0
  304. package/modern/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
  305. package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +13 -7
  306. package/modern/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
  307. package/modern/hooks/features/export/index.d.ts +2 -0
  308. package/modern/hooks/features/export/index.js +1 -1
  309. package/modern/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
  310. package/modern/hooks/features/export/serializer/excelSerializer.js +69 -180
  311. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  312. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
  313. package/modern/hooks/features/export/serializer/utils.d.ts +36 -0
  314. package/modern/hooks/features/export/serializer/utils.js +93 -0
  315. package/modern/hooks/features/export/useGridExcelExport.d.ts +11 -0
  316. package/modern/hooks/features/export/useGridExcelExport.js +11 -5
  317. package/modern/hooks/features/index.d.ts +5 -0
  318. package/modern/hooks/features/promptControl/api.d.ts +2 -0
  319. package/modern/hooks/features/promptControl/index.d.ts +2 -0
  320. package/modern/hooks/features/promptControl/types.d.ts +25 -0
  321. package/modern/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
  322. package/modern/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
  323. package/modern/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
  324. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
  325. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  326. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
  327. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -2
  328. package/modern/hooks/features/rowGrouping/index.d.ts +3 -0
  329. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
  330. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +3 -3
  331. package/modern/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
  332. package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +4 -5
  333. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
  334. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +5 -5
  335. package/modern/hooks/features/rows/index.d.ts +1 -0
  336. package/modern/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
  337. package/modern/hooks/index.d.ts +2 -0
  338. package/modern/hooks/utils/index.d.ts +1 -0
  339. package/modern/hooks/utils/useGridApiContext.d.ts +4 -0
  340. package/modern/hooks/utils/useGridApiRef.d.ts +4 -0
  341. package/modern/hooks/utils/useGridAriaAttributes.d.ts +2 -0
  342. package/modern/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
  343. package/modern/hooks/utils/useGridRootProps.d.ts +2 -0
  344. package/modern/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
  345. package/modern/index.d.ts +23 -0
  346. package/modern/index.js +1 -7
  347. package/modern/locales.d.ts +1 -0
  348. package/modern/material/icons.d.ts +15 -0
  349. package/modern/material/index.d.ts +8 -0
  350. package/modern/models/dataGridPremiumProps.d.ts +162 -0
  351. package/modern/models/gridApiPremium.d.ts +14 -0
  352. package/modern/models/gridGroupingValueGetter.d.ts +4 -0
  353. package/modern/models/gridPastedValueParser.d.ts +4 -0
  354. package/modern/models/gridPremiumIconSlotsComponent.d.ts +28 -0
  355. package/modern/models/gridPremiumSlotsComponent.d.ts +7 -0
  356. package/modern/models/gridStatePremium.d.ts +18 -0
  357. package/modern/models/index.d.ts +4 -0
  358. package/modern/package.json +1 -0
  359. package/modern/setupExcelExportWebWorker.d.ts +1 -0
  360. package/modern/setupExcelExportWebWorker.js +1 -0
  361. package/modern/themeAugmentation/index.d.ts +2 -0
  362. package/modern/themeAugmentation/overrides.d.ts +7 -0
  363. package/modern/themeAugmentation/props.d.ts +15 -0
  364. package/modern/typeOverloads/index.d.ts +2 -0
  365. package/modern/typeOverloads/modules.d.ts +97 -0
  366. package/modern/typeOverloads/reexports.d.ts +17 -0
  367. package/modern/utils/releaseInfo.d.ts +1 -0
  368. package/modern/utils/releaseInfo.js +1 -1
  369. package/package.json +39 -9
  370. package/setupExcelExportWebWorker.d.ts +1 -0
  371. package/setupExcelExportWebWorker.js +12 -0
  372. package/themeAugmentation/index.d.ts +2 -2
  373. package/themeAugmentation/overrides.d.ts +3 -4
  374. package/themeAugmentation/props.d.ts +9 -11
  375. package/tsconfig.build.tsbuildinfo +1 -0
  376. package/typeOverloads/index.d.ts +1 -1
  377. package/typeOverloads/modules.d.ts +75 -82
  378. package/typeOverloads/reexports.d.ts +5 -5
  379. package/utils/releaseInfo.d.ts +1 -1
  380. package/utils/releaseInfo.js +1 -1
  381. package/DataGridPremium/package.json +0 -6
  382. package/components/package.json +0 -6
  383. package/esm/hooks/features/dataSource/cache.js +0 -3
  384. package/hooks/features/dataSource/cache.d.ts +0 -2
  385. package/hooks/features/dataSource/cache.js +0 -9
  386. package/hooks/package.json +0 -6
  387. package/material/package.json +0 -6
  388. package/models/package.json +0 -6
  389. package/modern/hooks/features/dataSource/cache.js +0 -3
  390. package/themeAugmentation/package.json +0 -6
  391. package/typeOverloads/package.json +0 -6
@@ -0,0 +1,40 @@
1
+ import { GridCellCoordinates, GridColDef, GridRowId } from '@mui/x-data-grid-pro';
2
+ export type GridCellSelectionModel = Record<GridRowId, Record<GridColDef['field'], boolean>>;
3
+ /**
4
+ * The cell selection API interface that is available in the grid [[apiRef]].
5
+ */
6
+ export interface GridCellSelectionApi {
7
+ /**
8
+ * Determines if a cell is selected or not.
9
+ * @param {GridRowId} id The id of the row.
10
+ * @param {GridColDef['field']} field The field.
11
+ * @returns {boolean} A boolean indicating if the cell is selected.
12
+ */
13
+ isCellSelected: (id: GridRowId, field: GridColDef['field']) => boolean;
14
+ /**
15
+ * Returns an object containing the selection state of the cells.
16
+ * The keys of the object correspond to the row IDs.
17
+ * The value of each key is also an object, which has a column field for a key and a boolean value for its selection state.
18
+ * @returns {GridCellSelectionModel} Object containing the selection state of the cells
19
+ */
20
+ getCellSelectionModel: () => GridCellSelectionModel;
21
+ /**
22
+ * Updates the cell selection model according to the value passed to the `newModel` argument.
23
+ * Any cell already selected will be unselected.
24
+ * @param {GridCellSelectionModel} newModel The cells to select.
25
+ */
26
+ setCellSelectionModel: (newModel: GridCellSelectionModel) => void;
27
+ /**
28
+ * Selects all cells that are inside the range given by `start` and `end` coordinates.
29
+ * @param {GridCellCoordinates} start Object containing the row ID and field of the first cell to select.
30
+ * @param {GridCellCoordinates} end Object containing the row ID and field of the last cell to select.
31
+ * @param {boolean} keepOtherSelected Whether to keep current selected cells or discard. Default is false.
32
+ */
33
+ selectCellRange: (start: GridCellCoordinates, end: GridCellCoordinates, keepOtherSelected?: boolean) => void;
34
+ /**
35
+ * Returns an array containing only the selected cells.
36
+ * Each item is an object with the ID and field of the cell.
37
+ * @returns {GridCellCoordinates[]} Array with the selected cells.
38
+ */
39
+ getSelectedCellsAsArray: () => GridCellCoordinates[];
40
+ }
@@ -0,0 +1,2 @@
1
+ import { GridStatePremium } from "../../../models/gridStatePremium.js";
2
+ export declare const gridCellSelectionStateSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, unknown, import("./gridCellSelectionInterfaces").GridCellSelectionModel>;
@@ -1 +1,2 @@
1
- export const gridCellSelectionStateSelector = state => state.cellSelection;
1
+ import { createRootSelector } from '@mui/x-data-grid-pro/internals';
2
+ export const gridCellSelectionStateSelector = createRootSelector(state => state.cellSelection);
@@ -0,0 +1 @@
1
+ export * from "./gridCellSelectionInterfaces.js";
@@ -0,0 +1,6 @@
1
+ import { RefObject } from '@mui/x-internals/types';
2
+ import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
3
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
4
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
5
+ export declare const cellSelectionStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'cellSelectionModel' | 'initialState'>>;
6
+ export declare const useGridCellSelection: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "cellSelection" | "cellSelectionModel" | "onCellSelectionModelChange" | "pagination" | "paginationMode" | "ignoreValueFormatterDuringExport" | "clipboardCopyCellDelimiter" | "columnHeaderHeight">) => void;
@@ -40,11 +40,11 @@ export const useGridCellSelection = (apiRef, props) => {
40
40
  if (!props.cellSelection) {
41
41
  return false;
42
42
  }
43
- const cellSelectionModel = gridCellSelectionStateSelector(apiRef.current.state);
43
+ const cellSelectionModel = gridCellSelectionStateSelector(apiRef);
44
44
  return cellSelectionModel[id] ? !!cellSelectionModel[id][field] : false;
45
45
  }, [apiRef, props.cellSelection]);
46
46
  const getCellSelectionModel = React.useCallback(() => {
47
- return gridCellSelectionStateSelector(apiRef.current.state);
47
+ return gridCellSelectionStateSelector(apiRef);
48
48
  }, [apiRef]);
49
49
  const setCellSelectionModel = React.useCallback(newModel => {
50
50
  if (!props.cellSelection) {
@@ -53,7 +53,6 @@ export const useGridCellSelection = (apiRef, props) => {
53
53
  apiRef.current.setState(prevState => _extends({}, prevState, {
54
54
  cellSelection: newModel
55
55
  }));
56
- apiRef.current.forceUpdate();
57
56
  }, [apiRef, props.cellSelection]);
58
57
  const selectCellRange = React.useCallback((start, end, keepOtherSelected = false) => {
59
58
  const startRowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(start.id);
@@ -184,7 +183,7 @@ export const useGridCellSelection = (apiRef, props) => {
184
183
  if (!mousePosition.current || !apiRef.current.virtualScrollerRef?.current) {
185
184
  return;
186
185
  }
187
- const dimensions = gridDimensionsSelector(apiRef.current.state);
186
+ const dimensions = gridDimensionsSelector(apiRef);
188
187
  const {
189
188
  x: mouseX,
190
189
  y: mouseY
@@ -244,7 +243,7 @@ export const useGridCellSelection = (apiRef, props) => {
244
243
  if (!virtualScrollerRect) {
245
244
  return;
246
245
  }
247
- const dimensions = gridDimensionsSelector(apiRef.current.state);
246
+ const dimensions = gridDimensionsSelector(apiRef);
248
247
  const {
249
248
  x,
250
249
  y
@@ -453,7 +452,7 @@ export const useGridCellSelection = (apiRef, props) => {
453
452
  if (apiRef.current.getSelectedCellsAsArray().length <= 1) {
454
453
  return value;
455
454
  }
456
- const sortedRowIds = gridSortedRowIdsSelector(apiRef.current.state);
455
+ const sortedRowIds = gridSortedRowIdsSelector(apiRef);
457
456
  const cellSelectionModel = apiRef.current.getCellSelectionModel();
458
457
  const unsortedSelectedRowIds = Object.keys(cellSelectionModel);
459
458
  const sortedSelectedRowIds = sortedRowIds.filter(id => unsortedSelectedRowIds.includes(`${id}`));
@@ -0,0 +1,4 @@
1
+ import { RefObject } from '@mui/x-internals/types';
2
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
3
+ import type { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
4
+ export declare const useGridClipboardImport: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "pagination" | "paginationMode" | "processRowUpdate" | "onProcessRowUpdateError" | "getRowId" | "onClipboardPasteStart" | "onClipboardPasteEnd" | "splitClipboardPastedText" | "disableClipboardPaste" | "onBeforeClipboardPasteStart">) => void;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
- import { GRID_CHECKBOX_SELECTION_FIELD, gridFocusCellSelector, gridVisibleColumnFieldsSelector, useGridApiOptionHandler, useGridApiEventHandler, gridPaginatedVisibleSortedGridRowIdsSelector, gridExpandedSortedRowIdsSelector } from '@mui/x-data-grid';
3
+ import { GRID_CHECKBOX_SELECTION_FIELD, gridFocusCellSelector, gridVisibleColumnFieldsSelector, useGridApiOptionHandler, useGridApiEventHandler, gridPaginatedVisibleSortedGridRowIdsSelector, gridExpandedSortedRowIdsSelector, gridRowSelectionIdsSelector, gridRowSelectionCountSelector } from '@mui/x-data-grid';
4
4
  import { getRowIdFromRowModel, getActiveElement, useGridRegisterPipeProcessor, getPublicApiRef, isPasteShortcut, useGridLogger } from '@mui/x-data-grid/internals';
5
5
  import { warnOnce } from '@mui/x-internals/warning';
6
6
  import { GRID_DETAIL_PANEL_TOGGLE_FIELD, GRID_REORDER_COL_DEF } from '@mui/x-data-grid-pro';
@@ -193,10 +193,10 @@ function defaultPasteResolver({
193
193
  }
194
194
  return true;
195
195
  });
196
- const selectedRows = apiRef.current.getSelectedRows();
197
- if (selectedRows.size > 0 && !isSingleValuePasted) {
196
+ if (gridRowSelectionCountSelector(apiRef) > 0 && !isSingleValuePasted) {
198
197
  // Multiple values are pasted starting from the first and top-most cell
199
198
  const pastedRowsDataCount = pastedData.length;
199
+ const selectedRows = gridRowSelectionIdsSelector(apiRef);
200
200
 
201
201
  // There's no guarantee that the selected rows are in the same order as the pasted rows
202
202
  selectedRows.forEach((row, rowId) => {
@@ -255,7 +255,6 @@ export const useGridClipboardImport = (apiRef, props) => {
255
255
  const onProcessRowUpdateError = props.onProcessRowUpdateError;
256
256
  const getRowId = props.getRowId;
257
257
  const enableClipboardPaste = !props.disableClipboardPaste;
258
- const rootEl = apiRef.current.rootElementRef?.current;
259
258
  const logger = useGridLogger(apiRef, 'useGridClipboardImport');
260
259
  const splitClipboardPastedText = props.splitClipboardPastedText;
261
260
  const {
@@ -278,6 +277,7 @@ export const useGridClipboardImport = (apiRef, props) => {
278
277
  return;
279
278
  }
280
279
  }
280
+ const rootEl = apiRef.current.rootElementRef?.current;
281
281
  if (!rootEl) {
282
282
  return;
283
283
  }
@@ -318,7 +318,7 @@ export const useGridClipboardImport = (apiRef, props) => {
318
318
  paginationMode
319
319
  });
320
320
  cellUpdater.applyUpdates();
321
- }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, rootEl, splitClipboardPastedText, pagination, paginationMode, onBeforeClipboardPasteStart, logger]);
321
+ }, [apiRef, processRowUpdate, onProcessRowUpdateError, getRowId, enableClipboardPaste, splitClipboardPastedText, pagination, paginationMode, onBeforeClipboardPasteStart, logger]);
322
322
  const checkIfCanStartEditing = React.useCallback((initialValue, {
323
323
  event
324
324
  }) => {
@@ -0,0 +1,54 @@
1
+ import type { GridColDef, GridRowId, GridValidRowModel, GridDataSource, GridGetRowsResponse, GridGetRowsParams, GridDataSourceApiBase, GridDataSourcePrivateApi } from '@mui/x-data-grid-pro';
2
+ import type { GridAggregationModel } from '../aggregation/gridAggregationInterfaces';
3
+ export interface GridGetRowsResponsePremium extends GridGetRowsResponse {
4
+ /**
5
+ * Row to be used for aggregation footer row.
6
+ * It must provide the values for the aggregated columns passed in
7
+ * `GridGetRowsParams.aggregationModel`.
8
+ */
9
+ aggregateRow?: GridValidRowModel;
10
+ }
11
+ export interface GridGetRowsParamsPremium extends GridGetRowsParams {
12
+ /**
13
+ * List of aggregated columns.
14
+ */
15
+ aggregationModel?: GridAggregationModel;
16
+ /**
17
+ * List of grouped columns (only applicable with `rowGrouping`).
18
+ */
19
+ groupFields?: GridColDef['field'][];
20
+ }
21
+ export interface GridDataSourcePremium extends Omit<GridDataSource, 'getRows'> {
22
+ /**
23
+ * This method will be called when the grid needs to fetch some rows.
24
+ * @param {GridGetRowsParamsPremium} params The parameters required to fetch the rows.
25
+ * @returns {Promise<GridGetRowsResponsePremium>} A promise that resolves to the data of type [GridGetRowsResponsePremium].
26
+ */
27
+ getRows(params: GridGetRowsParamsPremium): Promise<GridGetRowsResponsePremium>;
28
+ /**
29
+ * Used to get the aggregated value for a parent row.
30
+ * @param {GridValidRowModel} row The row to extract the aggregated value from.
31
+ * @param {GridColDef['field']} field The field to extract the aggregated value for.
32
+ * @returns {string} The aggregated value for a specific aggregated column.
33
+ */
34
+ getAggregatedValue?: (row: GridValidRowModel, field: GridColDef['field']) => string;
35
+ }
36
+ export interface GridDataSourceApiBasePremium extends Omit<GridDataSourceApiBase, 'fetchRows'> {
37
+ /**
38
+ * Fetches the rows from the server.
39
+ * If no `parentId` option is provided, it fetches the root rows.
40
+ * Any missing parameter from `params` will be filled from the state (sorting, filtering, etc.).
41
+ * @param {GridRowId} parentId The id of the parent node (default: `GRID_ROOT_GROUP_ID`).
42
+ * @param {Partial<GridGetRowsParamsPremium>} params Request parameters override.
43
+ */
44
+ fetchRows: (parentId?: GridRowId, params?: Partial<GridGetRowsParamsPremium>) => void;
45
+ }
46
+ export interface GridDataSourceApiPremium {
47
+ /**
48
+ * The data source API.
49
+ */
50
+ dataSource: GridDataSourceApiBasePremium;
51
+ }
52
+ export interface GridDataSourcePremiumPrivateApi extends GridDataSourcePrivateApi {
53
+ resolveGroupAggregation: (groupId: GridRowId, field: string) => any;
54
+ }
@@ -0,0 +1,4 @@
1
+ import { RefObject } from '@mui/x-internals/types';
2
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
3
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
4
+ export declare const useGridDataSourcePremium: (apiRef: RefObject<GridPrivateApiPremium>, props: DataGridPremiumProcessedProps) => void;
@@ -1,8 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { useGridApiEventHandler as addEventHandler, useGridApiMethod, GRID_ROOT_GROUP_ID } from '@mui/x-data-grid-pro';
4
- import { useGridDataSourceBase, useGridRegisterStrategyProcessor, useGridRegisterPipeProcessor } from '@mui/x-data-grid-pro/internals';
5
- import { getKeyPremium } from "./cache.js";
4
+ import { useGridDataSourceBasePro, useGridRegisterStrategyProcessor, useGridRegisterPipeProcessor } from '@mui/x-data-grid-pro/internals';
5
+ function getKeyPremium(params) {
6
+ return JSON.stringify([params.filterModel, params.sortModel, params.groupKeys, params.groupFields, params.start, params.end, params.aggregationModel]);
7
+ }
6
8
  const options = {
7
9
  cacheOptions: {
8
10
  getKey: getKeyPremium
@@ -12,8 +14,9 @@ export const useGridDataSourcePremium = (apiRef, props) => {
12
14
  const {
13
15
  api,
14
16
  strategyProcessor,
15
- events
16
- } = useGridDataSourceBase(apiRef, props, options);
17
+ events,
18
+ setStrategyAvailability
19
+ } = useGridDataSourceBasePro(apiRef, props, options);
17
20
  const aggregateRowRef = React.useRef({});
18
21
  const processDataSourceRows = React.useCallback(({
19
22
  params,
@@ -35,11 +38,11 @@ export const useGridDataSourcePremium = (apiRef, props) => {
35
38
  }, [apiRef]);
36
39
  const resolveGroupAggregation = React.useCallback((groupId, field) => {
37
40
  if (groupId === GRID_ROOT_GROUP_ID) {
38
- return props.unstable_dataSource?.getAggregatedValue?.(aggregateRowRef.current, field);
41
+ return props.dataSource?.getAggregatedValue?.(aggregateRowRef.current, field);
39
42
  }
40
43
  const row = apiRef.current.getRow(groupId);
41
- return props.unstable_dataSource?.getAggregatedValue?.(row, field);
42
- }, [apiRef, props.unstable_dataSource]);
44
+ return props.dataSource?.getAggregatedValue?.(row, field);
45
+ }, [apiRef, props.dataSource]);
43
46
  const privateApi = _extends({}, api.private, {
44
47
  resolveGroupAggregation
45
48
  });
@@ -50,4 +53,7 @@ export const useGridDataSourcePremium = (apiRef, props) => {
50
53
  Object.entries(events).forEach(([event, handler]) => {
51
54
  addEventHandler(apiRef, event, handler);
52
55
  });
56
+ React.useEffect(() => {
57
+ setStrategyAvailability();
58
+ }, [setStrategyAvailability]);
53
59
  };
@@ -0,0 +1,71 @@
1
+ import type * as Excel from 'exceljs';
2
+ import { GridFileExportOptions, GridExportFormat as GridExportFormatCommunity, GridExportExtension as GridExportExtensionCommunity } from '@mui/x-data-grid-pro';
3
+ export type GridExportFormat = GridExportFormatCommunity | 'excel';
4
+ export type GridExportExtension = GridExportExtensionCommunity | 'xlsx';
5
+ export interface GridExceljsProcessInput {
6
+ workbook: Excel.Workbook;
7
+ worksheet: Excel.Worksheet;
8
+ }
9
+ export interface ColumnsStylesInterface {
10
+ [field: string]: Partial<Excel.Style>;
11
+ }
12
+ /**
13
+ * The options to apply on the Excel export.
14
+ * @demos
15
+ * - [Excel export](/x/react-data-grid/export/#excel-export)
16
+ */
17
+ export interface GridExcelExportOptions extends GridFileExportOptions {
18
+ /**
19
+ * Function to return the Worker instance to be called.
20
+ * @returns {() => Worker} A Worker instance.
21
+ */
22
+ worker?: () => Worker;
23
+ /**
24
+ * Name given to the worksheet containing the columns valueOptions.
25
+ * valueOptions are added to this worksheet if they are provided as an array.
26
+ */
27
+ valueOptionsSheetName?: string;
28
+ /**
29
+ * Method called before adding the rows to the workbook.
30
+ * Not supported when `worker` is set.
31
+ * To use with web workers, use the option in `setupExcelExportWebWorker`.
32
+ * @param {GridExceljsProcessInput} processInput object containing the workbook and the worksheet.
33
+ * @returns {Promise<void>} A promise which resolves after processing the input.
34
+ * */
35
+ exceljsPreProcess?: (processInput: GridExceljsProcessInput) => Promise<void>;
36
+ /**
37
+ * Method called after adding the rows to the workbook.
38
+ * Not supported when `worker` is set.
39
+ * To use with web workers, use the option in `setupExcelExportWebWorker`.
40
+ * @param {GridExceljsProcessInput} processInput object containing the workbook and the worksheet.
41
+ * @returns {Promise<void>} A promise which resolves after processing the input.
42
+ * */
43
+ exceljsPostProcess?: (processInput: GridExceljsProcessInput) => Promise<void>;
44
+ /**
45
+ * Object mapping column field to Exceljs style
46
+ * */
47
+ columnsStyles?: ColumnsStylesInterface;
48
+ /**
49
+ * If `true`, the headers of the column groups will be added into the file.
50
+ * @default true
51
+ */
52
+ includeColumnGroupsHeaders?: boolean;
53
+ }
54
+ /**
55
+ * The excel export API interface that is available in the grid [[apiRef]].
56
+ */
57
+ export interface GridExcelExportApi {
58
+ /**
59
+ * Returns the grid data as an exceljs workbook.
60
+ * This method is used internally by `exportDataAsExcel`.
61
+ * @param {GridExcelExportOptions} options The options to apply on the export.
62
+ * @returns {Promise<Excel.Workbook>} The data in a exceljs workbook object.
63
+ */
64
+ getDataAsExcel: (options?: GridExcelExportOptions) => Promise<Excel.Workbook> | null;
65
+ /**
66
+ * Downloads and exports an Excel file of the grid's data.
67
+ * @param {GridExcelExportOptions} options The options to apply on the export.
68
+ * @returns {Promise<void>} A promise which resolves after exporting to Excel.
69
+ */
70
+ exportDataAsExcel: (options?: GridExcelExportOptions) => Promise<void>;
71
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./gridExcelExportInterface.js";
2
+ export { setupExcelExportWebWorker } from "./serializer/setupExcelExportWebWorker.js";
@@ -1,2 +1,2 @@
1
1
  export * from "./gridExcelExportInterface.js";
2
- export { setupExcelExportWebWorker } from "./serializer/excelSerializer.js";
2
+ export { setupExcelExportWebWorker } from "./serializer/setupExcelExportWebWorker.js";
@@ -0,0 +1,40 @@
1
+ import type * as Excel from 'exceljs';
2
+ import { RefObject } from '@mui/x-internals/types';
3
+ import { GridRowId, GridColDef } from '@mui/x-data-grid-pro';
4
+ import { GridStateColDef } from '@mui/x-data-grid/internals';
5
+ import { ColumnsStylesInterface, GridExcelExportOptions } from "../gridExcelExportInterface.js";
6
+ import { GridPrivateApiPremium } from "../../../../models/gridApiPremium.js";
7
+ import { SerializedColumns, SerializedRow, ValueOptionsData } from "./utils.js";
8
+ export type { ExcelExportInitEvent } from './utils';
9
+ /**
10
+ * FIXME: This function mutates the colspan info, but colspan info assumes that the columns
11
+ * passed to it are always consistent. In this case, the exported columns may differ from the
12
+ * actual rendered columns.
13
+ * The caller of this function MUST call `resetColSpan()` before and after usage.
14
+ */
15
+ export declare const serializeRowUnsafe: (id: GridRowId, columns: GridStateColDef[], apiRef: RefObject<GridPrivateApiPremium>, defaultValueOptionsFormulae: {
16
+ [field: string]: {
17
+ address: string;
18
+ };
19
+ }, options: Pick<BuildExcelOptions, "escapeFormulas">) => SerializedRow;
20
+ export declare const serializeColumn: (column: GridColDef, columnsStyles: ColumnsStylesInterface) => {
21
+ key: string;
22
+ headerText: string;
23
+ width: number;
24
+ style: {
25
+ numFmt?: string | undefined;
26
+ font?: Partial<Excel.Font> | undefined;
27
+ alignment?: Partial<Excel.Alignment> | undefined;
28
+ protection?: Partial<Excel.Protection> | undefined;
29
+ border?: Partial<Excel.Borders> | undefined;
30
+ fill?: Excel.Fill | undefined;
31
+ };
32
+ };
33
+ export declare function serializeColumns(columns: GridStateColDef[], styles: ColumnsStylesInterface): SerializedColumns;
34
+ export declare function getDataForValueOptionsSheet(columns: GridStateColDef[], valueOptionsSheetName: string, api: GridPrivateApiPremium): Promise<ValueOptionsData>;
35
+ interface BuildExcelOptions extends Pick<GridExcelExportOptions, 'exceljsPreProcess' | 'exceljsPostProcess'>, Pick<Required<GridExcelExportOptions>, 'valueOptionsSheetName' | 'includeHeaders' | 'includeColumnGroupsHeaders' | 'escapeFormulas'> {
36
+ columns: GridStateColDef[];
37
+ rowIds: GridRowId[];
38
+ columnsStyles?: ColumnsStylesInterface;
39
+ }
40
+ export declare function buildExcel(options: BuildExcelOptions, apiRef: RefObject<GridPrivateApiPremium>): Promise<Excel.Workbook>;