@mui/x-data-grid-premium 8.0.0-alpha.10 → 8.0.0-alpha.12

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 (364) hide show
  1. package/CHANGELOG.md +267 -2
  2. package/DataGridPremium/DataGrid.d.ts +1 -1
  3. package/DataGridPremium/DataGridPremium.d.ts +6 -6
  4. package/DataGridPremium/DataGridPremium.js +20 -6
  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/components/GridAggregationHeader.d.ts +2 -2
  10. package/components/GridAggregationRowOverlay.d.ts +3 -0
  11. package/components/GridAggregationRowOverlay.js +44 -0
  12. package/components/GridBottomContainer.d.ts +3 -0
  13. package/components/GridBottomContainer.js +51 -0
  14. package/components/GridColumnMenuAggregationItem.d.ts +2 -2
  15. package/components/GridColumnMenuAggregationItem.js +32 -42
  16. package/components/GridColumnMenuRowGroupItem.d.ts +1 -1
  17. package/components/GridColumnMenuRowUngroupItem.d.ts +1 -1
  18. package/components/GridDataSourceGroupingCriteriaCell.d.ts +2 -2
  19. package/components/GridDataSourceGroupingCriteriaCell.js +3 -6
  20. package/components/GridExcelExportMenuItem.d.ts +3 -3
  21. package/components/GridFooterCell.d.ts +2 -2
  22. package/components/GridGroupingColumnFooterCell.d.ts +1 -1
  23. package/components/GridGroupingColumnLeafCell.d.ts +1 -1
  24. package/components/GridGroupingCriteriaCell.d.ts +2 -2
  25. package/components/GridPremiumColumnMenu.d.ts +26 -26
  26. package/components/index.d.ts +5 -5
  27. package/components/promptControl/GridToolbarPromptControl.d.ts +22 -22
  28. package/components/promptControl/RecordButton.d.ts +9 -9
  29. package/components/promptControl/index.d.ts +1 -1
  30. package/components/reexports.d.ts +1 -1
  31. package/constants/dataGridPremiumDefaultSlotsComponents.d.ts +1 -1
  32. package/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  33. package/esm/DataGridPremium/DataGrid.d.ts +8 -0
  34. package/esm/DataGridPremium/DataGridPremium.d.ts +16 -0
  35. package/esm/DataGridPremium/DataGridPremium.js +20 -6
  36. package/esm/DataGridPremium/index.d.ts +3 -0
  37. package/esm/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
  38. package/esm/DataGridPremium/useDataGridPremiumComponent.js +6 -5
  39. package/esm/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
  40. package/esm/components/GridAggregationHeader.d.ts +7 -0
  41. package/esm/components/GridAggregationRowOverlay.d.ts +3 -0
  42. package/esm/components/GridAggregationRowOverlay.js +37 -0
  43. package/esm/components/GridBottomContainer.d.ts +3 -0
  44. package/esm/components/GridBottomContainer.js +43 -0
  45. package/esm/components/GridColumnMenuAggregationItem.d.ts +7 -0
  46. package/esm/components/GridColumnMenuAggregationItem.js +32 -42
  47. package/esm/components/GridColumnMenuRowGroupItem.d.ts +3 -0
  48. package/esm/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
  49. package/esm/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
  50. package/esm/components/GridDataSourceGroupingCriteriaCell.js +4 -7
  51. package/esm/components/GridExcelExportMenuItem.d.ts +9 -0
  52. package/esm/components/GridFooterCell.d.ts +9 -0
  53. package/esm/components/GridGroupingColumnFooterCell.d.ts +4 -0
  54. package/esm/components/GridGroupingColumnLeafCell.d.ts +4 -0
  55. package/esm/components/GridGroupingCriteriaCell.d.ts +7 -0
  56. package/esm/components/GridPremiumColumnMenu.d.ts +33 -0
  57. package/esm/components/index.d.ts +5 -0
  58. package/esm/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
  59. package/esm/components/promptControl/RecordButton.d.ts +16 -0
  60. package/esm/components/promptControl/index.d.ts +1 -0
  61. package/esm/components/reexports.d.ts +1 -0
  62. package/esm/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
  63. package/esm/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  64. package/esm/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
  65. package/esm/hooks/features/aggregation/createAggregationLookup.js +3 -3
  66. package/esm/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
  67. package/esm/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
  68. package/esm/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
  69. package/esm/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
  70. package/esm/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
  71. package/esm/hooks/features/aggregation/gridAggregationUtils.js +1 -1
  72. package/esm/hooks/features/aggregation/index.d.ts +4 -0
  73. package/esm/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
  74. package/esm/hooks/features/aggregation/useGridAggregation.js +0 -2
  75. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
  76. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
  77. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  78. package/esm/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
  79. package/esm/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
  80. package/esm/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
  81. package/esm/hooks/features/cellSelection/index.d.ts +1 -0
  82. package/esm/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
  83. package/esm/hooks/features/cellSelection/useGridCellSelection.js +15 -13
  84. package/esm/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
  85. package/esm/hooks/features/clipboard/useGridClipboardImport.js +2 -2
  86. package/esm/hooks/features/dataSource/models.d.ts +54 -0
  87. package/esm/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
  88. package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +10 -4
  89. package/esm/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
  90. package/esm/hooks/features/export/index.d.ts +2 -0
  91. package/esm/hooks/features/export/index.js +1 -1
  92. package/esm/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
  93. package/esm/hooks/features/export/serializer/excelSerializer.js +69 -180
  94. package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  95. package/esm/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
  96. package/esm/hooks/features/export/serializer/utils.d.ts +36 -0
  97. package/esm/hooks/features/export/serializer/utils.js +93 -0
  98. package/esm/hooks/features/export/useGridExcelExport.d.ts +11 -0
  99. package/esm/hooks/features/export/useGridExcelExport.js +11 -5
  100. package/esm/hooks/features/index.d.ts +5 -0
  101. package/esm/hooks/features/promptControl/api.d.ts +2 -0
  102. package/esm/hooks/features/promptControl/index.d.ts +2 -0
  103. package/esm/hooks/features/promptControl/types.d.ts +25 -0
  104. package/esm/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
  105. package/esm/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
  106. package/esm/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
  107. package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
  108. package/esm/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  109. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
  110. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.js +3 -1
  111. package/esm/hooks/features/rowGrouping/index.d.ts +3 -0
  112. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
  113. package/esm/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
  114. package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +0 -1
  115. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
  116. package/esm/hooks/features/rows/index.d.ts +1 -0
  117. package/esm/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
  118. package/esm/hooks/index.d.ts +2 -0
  119. package/esm/hooks/utils/index.d.ts +1 -0
  120. package/esm/hooks/utils/useGridApiContext.d.ts +4 -0
  121. package/esm/hooks/utils/useGridApiRef.d.ts +4 -0
  122. package/esm/hooks/utils/useGridAriaAttributes.d.ts +2 -0
  123. package/esm/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
  124. package/esm/hooks/utils/useGridRootProps.d.ts +2 -0
  125. package/esm/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
  126. package/esm/index.d.ts +29 -0
  127. package/esm/index.js +7 -0
  128. package/esm/locales.d.ts +1 -0
  129. package/esm/material/icons.d.ts +15 -0
  130. package/esm/material/index.d.ts +8 -0
  131. package/esm/models/dataGridPremiumProps.d.ts +163 -0
  132. package/esm/models/gridApiPremium.d.ts +14 -0
  133. package/esm/models/gridGroupingValueGetter.d.ts +4 -0
  134. package/esm/models/gridPastedValueParser.d.ts +4 -0
  135. package/esm/models/gridPremiumIconSlotsComponent.d.ts +28 -0
  136. package/esm/models/gridPremiumSlotsComponent.d.ts +7 -0
  137. package/esm/models/gridStatePremium.d.ts +18 -0
  138. package/esm/models/index.d.ts +4 -0
  139. package/esm/package.json +1 -0
  140. package/esm/setupExcelExportWebWorker.d.ts +1 -0
  141. package/esm/setupExcelExportWebWorker.js +1 -0
  142. package/esm/themeAugmentation/index.d.ts +2 -0
  143. package/esm/themeAugmentation/overrides.d.ts +7 -0
  144. package/esm/themeAugmentation/props.d.ts +15 -0
  145. package/esm/typeOverloads/index.d.ts +2 -0
  146. package/esm/typeOverloads/modules.d.ts +97 -0
  147. package/esm/typeOverloads/reexports.d.ts +17 -0
  148. package/esm/utils/releaseInfo.d.ts +1 -0
  149. package/esm/utils/releaseInfo.js +1 -1
  150. package/hooks/features/aggregation/createAggregationLookup.d.ts +16 -10
  151. package/hooks/features/aggregation/createAggregationLookup.js +2 -2
  152. package/hooks/features/aggregation/gridAggregationFunctions.d.ts +7 -7
  153. package/hooks/features/aggregation/gridAggregationInterfaces.d.ts +81 -82
  154. package/hooks/features/aggregation/gridAggregationSelectors.d.ts +3 -3
  155. package/hooks/features/aggregation/gridAggregationSelectors.js +1 -2
  156. package/hooks/features/aggregation/gridAggregationUtils.d.ts +42 -25
  157. package/hooks/features/aggregation/gridAggregationUtils.js +1 -1
  158. package/hooks/features/aggregation/index.d.ts +4 -4
  159. package/hooks/features/aggregation/useGridAggregation.d.ts +3 -3
  160. package/hooks/features/aggregation/useGridAggregation.js +0 -2
  161. package/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +3 -3
  162. package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +67 -62
  163. package/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  164. package/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +34 -34
  165. package/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -2
  166. package/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -2
  167. package/hooks/features/cellSelection/index.d.ts +1 -1
  168. package/hooks/features/cellSelection/useGridCellSelection.d.ts +3 -3
  169. package/hooks/features/cellSelection/useGridCellSelection.js +13 -11
  170. package/hooks/features/clipboard/useGridClipboardImport.d.ts +2 -2
  171. package/hooks/features/clipboard/useGridClipboardImport.js +2 -2
  172. package/hooks/features/dataSource/models.d.ts +41 -34
  173. package/hooks/features/dataSource/useGridDataSourcePremium.d.ts +3 -3
  174. package/hooks/features/dataSource/useGridDataSourcePremium.js +10 -4
  175. package/hooks/features/export/gridExcelExportInterface.d.ts +52 -52
  176. package/hooks/features/export/index.d.ts +2 -2
  177. package/hooks/features/export/index.js +2 -2
  178. package/hooks/features/export/serializer/excelSerializer.d.ts +23 -51
  179. package/hooks/features/export/serializer/excelSerializer.js +74 -187
  180. package/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  181. package/hooks/features/export/serializer/setupExcelExportWebWorker.js +59 -0
  182. package/hooks/features/export/serializer/utils.d.ts +36 -0
  183. package/hooks/features/export/serializer/utils.js +106 -0
  184. package/hooks/features/export/useGridExcelExport.d.ts +3 -3
  185. package/hooks/features/export/useGridExcelExport.js +10 -3
  186. package/hooks/features/index.d.ts +5 -5
  187. package/hooks/features/promptControl/api.d.ts +2 -2
  188. package/hooks/features/promptControl/index.d.ts +2 -2
  189. package/hooks/features/promptControl/types.d.ts +15 -15
  190. package/hooks/features/rowGrouping/createGroupingColDef.d.ts +44 -32
  191. package/hooks/features/rowGrouping/createGroupingColDef.js +4 -4
  192. package/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +32 -32
  193. package/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +2 -2
  194. package/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  195. package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +30 -22
  196. package/hooks/features/rowGrouping/gridRowGroupingUtils.js +3 -1
  197. package/hooks/features/rowGrouping/index.d.ts +3 -3
  198. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +3 -3
  199. package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +3 -3
  200. package/hooks/features/rowGrouping/useGridRowGrouping.js +0 -1
  201. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +3 -3
  202. package/hooks/features/rows/index.d.ts +1 -1
  203. package/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
  204. package/hooks/index.d.ts +2 -2
  205. package/hooks/utils/index.d.ts +1 -1
  206. package/hooks/utils/useGridApiContext.d.ts +4 -2
  207. package/hooks/utils/useGridApiRef.d.ts +2 -2
  208. package/hooks/utils/useGridAriaAttributes.d.ts +1 -1
  209. package/hooks/utils/useGridPrivateApiContext.d.ts +2 -2
  210. package/hooks/utils/useGridRootProps.d.ts +2 -2
  211. package/hooks/utils/useKeepGroupedColumnsHidden.d.ts +4 -4
  212. package/index.d.ts +10 -12
  213. package/index.js +1 -1
  214. package/locales.d.ts +1 -1
  215. package/material/icons.d.ts +6 -6
  216. package/material/index.d.ts +6 -6
  217. package/models/dataGridPremiumProps.d.ts +140 -134
  218. package/models/gridApiPremium.d.ts +4 -6
  219. package/models/gridGroupingValueGetter.d.ts +2 -2
  220. package/models/gridPastedValueParser.d.ts +2 -2
  221. package/models/gridPremiumIconSlotsComponent.d.ts +26 -26
  222. package/models/gridPremiumSlotsComponent.d.ts +2 -3
  223. package/models/gridStatePremium.d.ts +7 -7
  224. package/models/index.d.ts +4 -4
  225. package/modern/DataGridPremium/DataGrid.d.ts +8 -0
  226. package/modern/DataGridPremium/DataGridPremium.d.ts +16 -0
  227. package/modern/DataGridPremium/DataGridPremium.js +20 -6
  228. package/modern/DataGridPremium/index.d.ts +3 -0
  229. package/modern/DataGridPremium/useDataGridPremiumComponent.d.ts +4 -0
  230. package/modern/DataGridPremium/useDataGridPremiumComponent.js +6 -5
  231. package/modern/DataGridPremium/useDataGridPremiumProps.d.ts +6 -0
  232. package/modern/components/GridAggregationHeader.d.ts +7 -0
  233. package/modern/components/GridAggregationRowOverlay.d.ts +3 -0
  234. package/modern/components/GridAggregationRowOverlay.js +37 -0
  235. package/modern/components/GridBottomContainer.d.ts +3 -0
  236. package/modern/components/GridBottomContainer.js +43 -0
  237. package/modern/components/GridColumnMenuAggregationItem.d.ts +7 -0
  238. package/modern/components/GridColumnMenuAggregationItem.js +32 -42
  239. package/modern/components/GridColumnMenuRowGroupItem.d.ts +3 -0
  240. package/modern/components/GridColumnMenuRowUngroupItem.d.ts +3 -0
  241. package/modern/components/GridDataSourceGroupingCriteriaCell.d.ts +7 -0
  242. package/modern/components/GridDataSourceGroupingCriteriaCell.js +4 -7
  243. package/modern/components/GridExcelExportMenuItem.d.ts +9 -0
  244. package/modern/components/GridFooterCell.d.ts +9 -0
  245. package/modern/components/GridGroupingColumnFooterCell.d.ts +4 -0
  246. package/modern/components/GridGroupingColumnLeafCell.d.ts +4 -0
  247. package/modern/components/GridGroupingCriteriaCell.d.ts +7 -0
  248. package/modern/components/GridPremiumColumnMenu.d.ts +33 -0
  249. package/modern/components/index.d.ts +5 -0
  250. package/modern/components/promptControl/GridToolbarPromptControl.d.ts +26 -0
  251. package/modern/components/promptControl/RecordButton.d.ts +16 -0
  252. package/modern/components/promptControl/index.d.ts +1 -0
  253. package/modern/components/reexports.d.ts +1 -0
  254. package/modern/constants/dataGridPremiumDefaultSlotsComponents.d.ts +2 -0
  255. package/modern/constants/dataGridPremiumDefaultSlotsComponents.js +3 -1
  256. package/modern/hooks/features/aggregation/createAggregationLookup.d.ts +17 -0
  257. package/modern/hooks/features/aggregation/createAggregationLookup.js +3 -3
  258. package/modern/hooks/features/aggregation/gridAggregationFunctions.d.ts +8 -0
  259. package/modern/hooks/features/aggregation/gridAggregationInterfaces.d.ts +129 -0
  260. package/modern/hooks/features/aggregation/gridAggregationSelectors.d.ts +13 -0
  261. package/modern/hooks/features/aggregation/gridAggregationSelectors.js +2 -2
  262. package/modern/hooks/features/aggregation/gridAggregationUtils.d.ts +62 -0
  263. package/modern/hooks/features/aggregation/gridAggregationUtils.js +1 -1
  264. package/modern/hooks/features/aggregation/index.d.ts +4 -0
  265. package/modern/hooks/features/aggregation/useGridAggregation.d.ts +6 -0
  266. package/modern/hooks/features/aggregation/useGridAggregation.js +0 -2
  267. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +4 -0
  268. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +81 -0
  269. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.js +6 -5
  270. package/modern/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +40 -0
  271. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +2 -0
  272. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.js +2 -1
  273. package/modern/hooks/features/cellSelection/index.d.ts +1 -0
  274. package/modern/hooks/features/cellSelection/useGridCellSelection.d.ts +6 -0
  275. package/modern/hooks/features/cellSelection/useGridCellSelection.js +15 -13
  276. package/modern/hooks/features/clipboard/useGridClipboardImport.d.ts +4 -0
  277. package/modern/hooks/features/clipboard/useGridClipboardImport.js +2 -2
  278. package/modern/hooks/features/dataSource/models.d.ts +54 -0
  279. package/modern/hooks/features/dataSource/useGridDataSourcePremium.d.ts +4 -0
  280. package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +10 -4
  281. package/modern/hooks/features/export/gridExcelExportInterface.d.ts +71 -0
  282. package/modern/hooks/features/export/index.d.ts +2 -0
  283. package/modern/hooks/features/export/index.js +1 -1
  284. package/modern/hooks/features/export/serializer/excelSerializer.d.ts +40 -0
  285. package/modern/hooks/features/export/serializer/excelSerializer.js +69 -180
  286. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +2 -0
  287. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.js +53 -0
  288. package/modern/hooks/features/export/serializer/utils.d.ts +36 -0
  289. package/modern/hooks/features/export/serializer/utils.js +93 -0
  290. package/modern/hooks/features/export/useGridExcelExport.d.ts +11 -0
  291. package/modern/hooks/features/export/useGridExcelExport.js +11 -5
  292. package/modern/hooks/features/index.d.ts +5 -0
  293. package/modern/hooks/features/promptControl/api.d.ts +2 -0
  294. package/modern/hooks/features/promptControl/index.d.ts +2 -0
  295. package/modern/hooks/features/promptControl/types.d.ts +25 -0
  296. package/modern/hooks/features/rowGrouping/createGroupingColDef.d.ts +57 -0
  297. package/modern/hooks/features/rowGrouping/createGroupingColDef.js +5 -5
  298. package/modern/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +44 -0
  299. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +3 -0
  300. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.js +2 -2
  301. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +54 -0
  302. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +3 -1
  303. package/modern/hooks/features/rowGrouping/index.d.ts +3 -0
  304. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +4 -0
  305. package/modern/hooks/features/rowGrouping/useGridRowGrouping.d.ts +11 -0
  306. package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +0 -1
  307. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +4 -0
  308. package/modern/hooks/features/rows/index.d.ts +1 -0
  309. package/modern/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -0
  310. package/modern/hooks/index.d.ts +2 -0
  311. package/modern/hooks/utils/index.d.ts +1 -0
  312. package/modern/hooks/utils/useGridApiContext.d.ts +4 -0
  313. package/modern/hooks/utils/useGridApiRef.d.ts +4 -0
  314. package/modern/hooks/utils/useGridAriaAttributes.d.ts +2 -0
  315. package/modern/hooks/utils/useGridPrivateApiContext.d.ts +2 -0
  316. package/modern/hooks/utils/useGridRootProps.d.ts +2 -0
  317. package/modern/hooks/utils/useKeepGroupedColumnsHidden.d.ts +12 -0
  318. package/modern/index.d.ts +29 -0
  319. package/modern/index.js +1 -1
  320. package/modern/locales.d.ts +1 -0
  321. package/modern/material/icons.d.ts +15 -0
  322. package/modern/material/index.d.ts +8 -0
  323. package/modern/models/dataGridPremiumProps.d.ts +163 -0
  324. package/modern/models/gridApiPremium.d.ts +14 -0
  325. package/modern/models/gridGroupingValueGetter.d.ts +4 -0
  326. package/modern/models/gridPastedValueParser.d.ts +4 -0
  327. package/modern/models/gridPremiumIconSlotsComponent.d.ts +28 -0
  328. package/modern/models/gridPremiumSlotsComponent.d.ts +7 -0
  329. package/modern/models/gridStatePremium.d.ts +18 -0
  330. package/modern/models/index.d.ts +4 -0
  331. package/modern/package.json +1 -0
  332. package/modern/setupExcelExportWebWorker.d.ts +1 -0
  333. package/modern/setupExcelExportWebWorker.js +1 -0
  334. package/modern/themeAugmentation/index.d.ts +2 -0
  335. package/modern/themeAugmentation/overrides.d.ts +7 -0
  336. package/modern/themeAugmentation/props.d.ts +15 -0
  337. package/modern/typeOverloads/index.d.ts +2 -0
  338. package/modern/typeOverloads/modules.d.ts +97 -0
  339. package/modern/typeOverloads/reexports.d.ts +17 -0
  340. package/modern/utils/releaseInfo.d.ts +1 -0
  341. package/modern/utils/releaseInfo.js +1 -1
  342. package/package.json +39 -9
  343. package/setupExcelExportWebWorker.d.ts +1 -0
  344. package/setupExcelExportWebWorker.js +12 -0
  345. package/themeAugmentation/index.d.ts +2 -2
  346. package/themeAugmentation/overrides.d.ts +3 -4
  347. package/themeAugmentation/props.d.ts +9 -11
  348. package/tsconfig.build.tsbuildinfo +1 -0
  349. package/typeOverloads/index.d.ts +1 -1
  350. package/typeOverloads/modules.d.ts +75 -82
  351. package/typeOverloads/reexports.d.ts +5 -5
  352. package/utils/releaseInfo.d.ts +1 -1
  353. package/utils/releaseInfo.js +1 -1
  354. package/DataGridPremium/package.json +0 -6
  355. package/components/package.json +0 -6
  356. package/esm/hooks/features/dataSource/cache.js +0 -3
  357. package/hooks/features/dataSource/cache.d.ts +0 -2
  358. package/hooks/features/dataSource/cache.js +0 -9
  359. package/hooks/package.json +0 -6
  360. package/material/package.json +0 -6
  361. package/models/package.json +0 -6
  362. package/modern/hooks/features/dataSource/cache.js +0 -3
  363. package/themeAugmentation/package.json +0 -6
  364. package/typeOverloads/package.json +0 -6
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setupExcelExportWebWorker = setupExcelExportWebWorker;
7
+ var _utils = require("./utils");
8
+ function setupExcelExportWebWorker(workerOptions = {}) {
9
+ // eslint-disable-next-line no-restricted-globals
10
+ addEventListener('message', async event => {
11
+ const {
12
+ namespace,
13
+ serializedColumns,
14
+ serializedRows,
15
+ options,
16
+ valueOptionsSheetName,
17
+ valueOptionsData,
18
+ columnGroupDetails,
19
+ columnGroupPaths
20
+ } = event.data;
21
+
22
+ // workers share the pub-sub channel namespace. Use this property to filter out messages.
23
+ if (namespace !== 'mui-x-data-grid-export') {
24
+ return;
25
+ }
26
+ const {
27
+ exceljsPostProcess,
28
+ exceljsPreProcess
29
+ } = workerOptions;
30
+ const excelJS = await (0, _utils.getExcelJs)();
31
+ const workbook = new excelJS.Workbook();
32
+ const worksheet = workbook.addWorksheet('Sheet1');
33
+ worksheet.columns = serializedColumns;
34
+ if (exceljsPreProcess) {
35
+ await exceljsPreProcess({
36
+ workbook,
37
+ worksheet
38
+ });
39
+ }
40
+ if (options.includeColumnGroupsHeaders) {
41
+ (0, _utils.addColumnGroupingHeaders)(worksheet, serializedColumns, columnGroupPaths, columnGroupDetails);
42
+ }
43
+ const includeHeaders = options.includeHeaders ?? true;
44
+ if (includeHeaders) {
45
+ worksheet.addRow(serializedColumns.map(column => column.headerText));
46
+ }
47
+ (0, _utils.createValueOptionsSheetIfNeeded)(valueOptionsData, valueOptionsSheetName, workbook);
48
+ serializedRows.forEach(serializedRow => {
49
+ (0, _utils.addSerializedRowToWorksheet)(serializedRow, worksheet);
50
+ });
51
+ if (exceljsPostProcess) {
52
+ await exceljsPostProcess({
53
+ workbook,
54
+ worksheet
55
+ });
56
+ }
57
+ postMessage(await workbook.xlsx.writeBuffer());
58
+ });
59
+ }
@@ -0,0 +1,36 @@
1
+ import type * as Excel from 'exceljs';
2
+ import type { GridColumnGroupLookup } from '@mui/x-data-grid/internals';
3
+ import type { GridExcelExportOptions } from '../gridExcelExportInterface';
4
+ export declare const getExcelJs: () => Promise<typeof Excel>;
5
+ export interface SerializedRow {
6
+ row: Record<string, undefined | number | boolean | string | Date>;
7
+ dataValidation: Record<string, Excel.DataValidation>;
8
+ outlineLevel: number;
9
+ mergedCells: {
10
+ leftIndex: number;
11
+ rightIndex: number;
12
+ }[];
13
+ }
14
+ export declare const addColumnGroupingHeaders: (worksheet: Excel.Worksheet, columns: SerializedColumns, columnGroupPaths: Record<string, string[]>, columnGroupDetails: GridColumnGroupLookup) => void;
15
+ export type SerializedColumns = Array<{
16
+ key: string;
17
+ width: number;
18
+ style: Partial<Excel.Style>;
19
+ headerText: string;
20
+ }>;
21
+ export type ValueOptionsData = Record<string, {
22
+ values: (string | number)[];
23
+ address: string;
24
+ }>;
25
+ export declare function addSerializedRowToWorksheet(serializedRow: SerializedRow, worksheet: Excel.Worksheet): void;
26
+ export declare function createValueOptionsSheetIfNeeded(valueOptionsData: ValueOptionsData, sheetName: string, workbook: Excel.Workbook): Promise<void>;
27
+ export interface ExcelExportInitEvent {
28
+ namespace?: string;
29
+ serializedColumns: SerializedColumns;
30
+ serializedRows: SerializedRow[];
31
+ valueOptionsSheetName: string;
32
+ columnGroupPaths: Record<string, string[]>;
33
+ columnGroupDetails: GridColumnGroupLookup;
34
+ valueOptionsData: ValueOptionsData;
35
+ options: Omit<GridExcelExportOptions, 'exceljsPreProcess' | 'exceljsPostProcess' | 'columnsStyles' | 'valueOptionsSheetName'>;
36
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.addColumnGroupingHeaders = void 0;
8
+ exports.addSerializedRowToWorksheet = addSerializedRowToWorksheet;
9
+ exports.createValueOptionsSheetIfNeeded = createValueOptionsSheetIfNeeded;
10
+ exports.getExcelJs = void 0;
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _interopRequireWildcard2 = _interopRequireDefault(require("@babel/runtime/helpers/interopRequireWildcard"));
13
+ const getExcelJs = async () => {
14
+ const excelJsModule = await Promise.resolve().then(() => (0, _interopRequireWildcard2.default)(require('exceljs')));
15
+ return excelJsModule.default ?? excelJsModule;
16
+ };
17
+ exports.getExcelJs = getExcelJs;
18
+ const addColumnGroupingHeaders = (worksheet, columns, columnGroupPaths, columnGroupDetails) => {
19
+ const maxDepth = Math.max(...columns.map(({
20
+ key
21
+ }) => columnGroupPaths[key]?.length ?? 0));
22
+ if (maxDepth === 0) {
23
+ return;
24
+ }
25
+ for (let rowIndex = 0; rowIndex < maxDepth; rowIndex += 1) {
26
+ const row = columns.map(({
27
+ key
28
+ }) => {
29
+ const groupingPath = columnGroupPaths[key];
30
+ if (groupingPath.length <= rowIndex) {
31
+ return {
32
+ groupId: null,
33
+ parents: groupingPath
34
+ };
35
+ }
36
+ return (0, _extends2.default)({}, columnGroupDetails[groupingPath[rowIndex]], {
37
+ parents: groupingPath.slice(0, rowIndex)
38
+ });
39
+ });
40
+ const newRow = worksheet.addRow(row.map(group => group.groupId === null ? null : group?.headerName ?? group.groupId));
41
+
42
+ // use `rowCount`, since worksheet can have additional rows added in `exceljsPreProcess`
43
+ const lastRowIndex = newRow.worksheet.rowCount;
44
+ let leftIndex = 0;
45
+ let rightIndex = 1;
46
+ while (rightIndex < columns.length) {
47
+ const {
48
+ groupId: leftGroupId,
49
+ parents: leftParents
50
+ } = row[leftIndex];
51
+ const {
52
+ groupId: rightGroupId,
53
+ parents: rightParents
54
+ } = row[rightIndex];
55
+ const areInSameGroup = leftGroupId === rightGroupId && leftParents.length === rightParents.length && leftParents.every((leftParent, index) => rightParents[index] === leftParent);
56
+ if (areInSameGroup) {
57
+ rightIndex += 1;
58
+ } else {
59
+ if (rightIndex - leftIndex > 1) {
60
+ worksheet.mergeCells(lastRowIndex, leftIndex + 1, lastRowIndex, rightIndex);
61
+ }
62
+ leftIndex = rightIndex;
63
+ rightIndex += 1;
64
+ }
65
+ }
66
+ if (rightIndex - leftIndex > 1) {
67
+ worksheet.mergeCells(lastRowIndex, leftIndex + 1, lastRowIndex, rightIndex);
68
+ }
69
+ }
70
+ };
71
+ exports.addColumnGroupingHeaders = addColumnGroupingHeaders;
72
+ function addSerializedRowToWorksheet(serializedRow, worksheet) {
73
+ const {
74
+ row,
75
+ dataValidation,
76
+ outlineLevel,
77
+ mergedCells
78
+ } = serializedRow;
79
+ const newRow = worksheet.addRow(row);
80
+ Object.keys(dataValidation).forEach(field => {
81
+ newRow.getCell(field).dataValidation = (0, _extends2.default)({}, dataValidation[field]);
82
+ });
83
+ if (outlineLevel) {
84
+ newRow.outlineLevel = outlineLevel;
85
+ }
86
+
87
+ // use `rowCount`, since worksheet can have additional rows added in `exceljsPreProcess`
88
+ const lastRowIndex = newRow.worksheet.rowCount;
89
+ mergedCells.forEach(mergedCell => {
90
+ worksheet.mergeCells(lastRowIndex, mergedCell.leftIndex, lastRowIndex, mergedCell.rightIndex);
91
+ });
92
+ }
93
+ async function createValueOptionsSheetIfNeeded(valueOptionsData, sheetName, workbook) {
94
+ if (Object.keys(valueOptionsData).length === 0) {
95
+ return;
96
+ }
97
+ const valueOptionsWorksheet = workbook.addWorksheet(sheetName);
98
+ valueOptionsWorksheet.columns = Object.keys(valueOptionsData).map(key => ({
99
+ key
100
+ }));
101
+ Object.entries(valueOptionsData).forEach(([field, {
102
+ values
103
+ }]) => {
104
+ valueOptionsWorksheet.getColumn(field).values = values;
105
+ });
106
+ }
@@ -1,6 +1,6 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
- import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
3
- import { DataGridPremiumProps } from '../../../models/dataGridPremiumProps';
2
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
3
+ import { DataGridPremiumProps } from "../../../models/dataGridPremiumProps.js";
4
4
  /**
5
5
  * @requires useGridColumns (state)
6
6
  * @requires useGridFilter (state)
@@ -8,4 +8,4 @@ import { DataGridPremiumProps } from '../../../models/dataGridPremiumProps';
8
8
  * @requires useGridSelection (state)
9
9
  * @requires useGridParamsApi (method)
10
10
  */
11
- export declare const useGridExcelExport: (apiRef: RefObject<GridPrivateApiPremium>, props: DataGridPremiumProps) => void;
11
+ export declare const useGridExcelExport: (apiRef: RefObject<GridPrivateApiPremium>, props: DataGridPremiumProps) => void;
@@ -96,15 +96,22 @@ const useGridExcelExport = (apiRef, props) => {
96
96
  const valueOptionsData = await (0, _excelSerializer.getDataForValueOptionsSheet)(exportedColumns, valueOptionsSheetName, apiRef.current);
97
97
  const serializedColumns = (0, _excelSerializer.serializeColumns)(exportedColumns, options.columnsStyles || {});
98
98
  apiRef.current.resetColSpan();
99
- const serializedRows = exportedRowIds.map(id => (0, _excelSerializer.serializeRowUnsafe)(id, exportedColumns, apiRef, valueOptionsData, {
100
- escapeFormulas: options.escapeFormulas ?? true
101
- }));
99
+ const serializedRows = [];
100
+ for (let i = 0; i < exportedRowIds.length; i += 1) {
101
+ const id = exportedRowIds[i];
102
+ const serializedRow = (0, _excelSerializer.serializeRowUnsafe)(id, exportedColumns, apiRef, valueOptionsData, {
103
+ escapeFormulas: options.escapeFormulas ?? true
104
+ });
105
+ serializedRows.push(serializedRow);
106
+ }
102
107
  apiRef.current.resetColSpan();
103
108
  const columnGroupPaths = exportedColumns.reduce((acc, column) => {
104
109
  acc[column.field] = apiRef.current.getColumnGroupPath(column.field);
105
110
  return acc;
106
111
  }, {});
107
112
  const message = {
113
+ // workers share the pub-sub channel namespace. Use this property to filter out messages.
114
+ namespace: 'mui-x-data-grid-export',
108
115
  serializedColumns,
109
116
  serializedRows,
110
117
  valueOptionsData,
@@ -1,5 +1,5 @@
1
- export * from './aggregation';
2
- export * from './rowGrouping';
3
- export * from './export';
4
- export * from './cellSelection';
5
- export * from './promptControl';
1
+ export * from "./aggregation/index.js";
2
+ export * from "./rowGrouping/index.js";
3
+ export * from "./export/index.js";
4
+ export * from "./cellSelection/index.js";
5
+ export * from "./promptControl/index.js";
@@ -1,2 +1,2 @@
1
- import { PromptResponse } from './types';
2
- export declare function gridDefaultPromptResolver(url: string, context: string, query: string): Promise<PromptResponse>;
1
+ import { PromptResponse } from "./types.js";
2
+ export declare function gridDefaultPromptResolver(url: string, context: string, query: string): Promise<PromptResponse>;
@@ -1,2 +1,2 @@
1
- export { gridDefaultPromptResolver as unstable_gridDefaultPromptResolver } from './api';
2
- export type { PromptResponse as unstable_PromptResponse } from './types';
1
+ export { gridDefaultPromptResolver as unstable_gridDefaultPromptResolver } from "./api.js";
2
+ export type { PromptResponse as unstable_PromptResponse } from './types';
@@ -1,25 +1,25 @@
1
1
  export type Sort = {
2
- column: string;
3
- direction: 'asc' | 'desc';
2
+ column: string;
3
+ direction: 'asc' | 'desc';
4
4
  };
5
5
  export type Grouping = {
6
- column: string;
6
+ column: string;
7
7
  };
8
8
  export type Filter = {
9
- operator: string;
10
- value: string | number | boolean | string[] | number[];
11
- column: string;
9
+ operator: string;
10
+ value: string | number | boolean | string[] | number[];
11
+ column: string;
12
12
  };
13
13
  export type AggregationFunction = 'avg' | 'sum' | 'min' | 'max' | 'size';
14
14
  export type Aggregation = {
15
- [column: string]: AggregationFunction;
15
+ [column: string]: AggregationFunction;
16
16
  };
17
17
  export type PromptResponse = {
18
- select: number;
19
- filters: Filter[];
20
- filterOperator?: 'and' | 'or';
21
- aggregation: Aggregation;
22
- sorting: Sort[];
23
- grouping: Grouping[];
24
- error: string | null;
25
- };
18
+ select: number;
19
+ filters: Filter[];
20
+ filterOperator?: 'and' | 'or';
21
+ aggregation: Aggregation;
22
+ sorting: Sort[];
23
+ grouping: Grouping[];
24
+ error: string | null;
25
+ };
@@ -1,45 +1,57 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridColDef, GridGroupingColDefOverride } from '@mui/x-data-grid-pro';
3
3
  import { GridColumnRawLookup } from '@mui/x-data-grid-pro/internals';
4
- import { GridApiPremium } from '../../../models/gridApiPremium';
5
- import { RowGroupingStrategy } from './gridRowGroupingUtils';
4
+ import { GridApiPremium } from "../../../models/gridApiPremium.js";
5
+ import { RowGroupingStrategy } from "./gridRowGroupingUtils.js";
6
6
  interface CreateGroupingColDefMonoCriteriaParams {
7
- columnsLookup: GridColumnRawLookup;
8
- /**
9
- * The field from which we are grouping the rows.
10
- */
11
- groupingCriteria: string;
12
- /**
13
- * The col def from which we are grouping the rows.
14
- */
15
- groupedByColDef: GridColDef;
16
- /**
17
- * The col def properties the user wants to override.
18
- * This value comes `prop.groupingColDef`.
19
- */
20
- colDefOverride: GridGroupingColDefOverride | null | undefined;
21
- strategy?: RowGroupingStrategy;
7
+ columnsLookup: GridColumnRawLookup;
8
+ /**
9
+ * The field from which we are grouping the rows.
10
+ */
11
+ groupingCriteria: string;
12
+ /**
13
+ * The col def from which we are grouping the rows.
14
+ */
15
+ groupedByColDef: GridColDef;
16
+ /**
17
+ * The col def properties the user wants to override.
18
+ * This value comes `prop.groupingColDef`.
19
+ */
20
+ colDefOverride: GridGroupingColDefOverride | null | undefined;
21
+ strategy?: RowGroupingStrategy;
22
22
  }
23
23
  /**
24
24
  * Creates the `GridColDef` for a grouping column that only takes care of a single grouping criteria
25
25
  */
26
- export declare const createGroupingColDefForOneGroupingCriteria: ({ columnsLookup, groupedByColDef, groupingCriteria, colDefOverride, strategy, }: CreateGroupingColDefMonoCriteriaParams) => GridColDef;
26
+ export declare const createGroupingColDefForOneGroupingCriteria: ({
27
+ columnsLookup,
28
+ groupedByColDef,
29
+ groupingCriteria,
30
+ colDefOverride,
31
+ strategy
32
+ }: CreateGroupingColDefMonoCriteriaParams) => GridColDef;
27
33
  interface CreateGroupingColDefSeveralCriteriaParams {
28
- apiRef: RefObject<GridApiPremium>;
29
- columnsLookup: GridColumnRawLookup;
30
- /**
31
- * The fields from which we are grouping the rows.
32
- */
33
- rowGroupingModel: string[];
34
- /**
35
- * The col def properties the user wants to override.
36
- * This value comes `prop.groupingColDef`.
37
- */
38
- colDefOverride: GridGroupingColDefOverride | null | undefined;
39
- strategy?: RowGroupingStrategy;
34
+ apiRef: RefObject<GridApiPremium>;
35
+ columnsLookup: GridColumnRawLookup;
36
+ /**
37
+ * The fields from which we are grouping the rows.
38
+ */
39
+ rowGroupingModel: string[];
40
+ /**
41
+ * The col def properties the user wants to override.
42
+ * This value comes `prop.groupingColDef`.
43
+ */
44
+ colDefOverride: GridGroupingColDefOverride | null | undefined;
45
+ strategy?: RowGroupingStrategy;
40
46
  }
41
47
  /**
42
48
  * Creates the `GridColDef` for a grouping column that takes care of all the grouping criteria
43
49
  */
44
- export declare const createGroupingColDefForAllGroupingCriteria: ({ apiRef, columnsLookup, rowGroupingModel, colDefOverride, strategy, }: CreateGroupingColDefSeveralCriteriaParams) => GridColDef;
45
- export {};
50
+ export declare const createGroupingColDefForAllGroupingCriteria: ({
51
+ apiRef,
52
+ columnsLookup,
53
+ rowGroupingModel,
54
+ colDefOverride,
55
+ strategy
56
+ }: CreateGroupingColDefSeveralCriteriaParams) => GridColDef;
57
+ export {};
@@ -148,8 +148,8 @@ const createGroupingColDefForOneGroupingCriteria = ({
148
148
  return '';
149
149
  },
150
150
  valueGetter: (value, row, column, apiRef) => {
151
- const rowId = apiRef.current.getRowId(row);
152
- const rowNode = apiRef.current.getRowNode(rowId);
151
+ const rowId = (0, _xDataGridPro.gridRowIdSelector)(apiRef, row);
152
+ const rowNode = (0, _xDataGridPro.gridRowNodeSelector)(apiRef, rowId);
153
153
  if (!rowNode || rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
154
154
  return undefined;
155
155
  }
@@ -241,8 +241,8 @@ const createGroupingColDefForAllGroupingCriteria = ({
241
241
  }));
242
242
  },
243
243
  valueGetter: (value, row) => {
244
- const rowId = apiRef.current.getRowId(row);
245
- const rowNode = apiRef.current.getRowNode(rowId);
244
+ const rowId = (0, _xDataGridPro.gridRowIdSelector)(apiRef, row);
245
+ const rowNode = (0, _xDataGridPro.gridRowNodeSelector)(apiRef, rowId);
246
246
  if (!rowNode || rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
247
247
  return undefined;
248
248
  }
@@ -1,44 +1,44 @@
1
1
  import { GridColDef, GridValidRowModel } from '@mui/x-data-grid';
2
2
  export type GridRowGroupingModel = string[];
3
3
  export interface GridRowGroupingState {
4
- model: GridRowGroupingModel;
4
+ model: GridRowGroupingModel;
5
5
  }
6
6
  export interface GridRowGroupingInitialState {
7
- model?: GridRowGroupingModel;
7
+ model?: GridRowGroupingModel;
8
8
  }
9
9
  export interface GridRowGroupingInternalCache {
10
- /**
11
- * Tracks the model on the last pre-processing
12
- * Allows to check if we need to re-build the grouping columns when the grid upserts a column.
13
- */
14
- rulesOnLastRowTreeCreation: GridGroupingRules;
10
+ /**
11
+ * Tracks the model on the last pre-processing
12
+ * Allows to check if we need to re-build the grouping columns when the grid upserts a column.
13
+ */
14
+ rulesOnLastRowTreeCreation: GridGroupingRules;
15
15
  }
16
16
  export interface GridRowGroupingApi {
17
- /**
18
- * Sets the columns to use as grouping criteria.
19
- * @param {GridRowGroupingModel} model The columns to use as grouping criteria.
20
- */
21
- setRowGroupingModel: (model: GridRowGroupingModel) => void;
22
- /**
23
- * Adds the field to the row grouping model.
24
- * @param {string} groupingCriteriaField The field from which we want to group the rows.
25
- * @param {number | undefined} groupingIndex The grouping index at which we want to insert the new grouping criteria. By default, it will be inserted at the end of the model.
26
- */
27
- addRowGroupingCriteria: (groupingCriteriaField: string, groupingIndex?: number) => void;
28
- /**
29
- * Remove the field from the row grouping model.
30
- * @param {string} groupingCriteriaField The field from which we want to stop grouping the rows.
31
- */
32
- removeRowGroupingCriteria: (groupingCriteriaField: string) => void;
33
- /**
34
- * Sets the grouping index of a grouping criteria.
35
- * @param {string} groupingCriteriaField The field of the grouping criteria from which we want to change the grouping index.
36
- * @param {number} groupingIndex The new grouping index of this grouping criteria.
37
- */
38
- setRowGroupingCriteriaIndex: (groupingCriteriaField: string, groupingIndex: number) => void;
17
+ /**
18
+ * Sets the columns to use as grouping criteria.
19
+ * @param {GridRowGroupingModel} model The columns to use as grouping criteria.
20
+ */
21
+ setRowGroupingModel: (model: GridRowGroupingModel) => void;
22
+ /**
23
+ * Adds the field to the row grouping model.
24
+ * @param {string} groupingCriteriaField The field from which we want to group the rows.
25
+ * @param {number | undefined} groupingIndex The grouping index at which we want to insert the new grouping criteria. By default, it will be inserted at the end of the model.
26
+ */
27
+ addRowGroupingCriteria: (groupingCriteriaField: string, groupingIndex?: number) => void;
28
+ /**
29
+ * Remove the field from the row grouping model.
30
+ * @param {string} groupingCriteriaField The field from which we want to stop grouping the rows.
31
+ */
32
+ removeRowGroupingCriteria: (groupingCriteriaField: string) => void;
33
+ /**
34
+ * Sets the grouping index of a grouping criteria.
35
+ * @param {string} groupingCriteriaField The field of the grouping criteria from which we want to change the grouping index.
36
+ * @param {number} groupingIndex The new grouping index of this grouping criteria.
37
+ */
38
+ setRowGroupingCriteriaIndex: (groupingCriteriaField: string, groupingIndex: number) => void;
39
39
  }
40
40
  export interface GridGroupingRule<R extends GridValidRowModel = GridValidRowModel, V = any> {
41
- field: string;
42
- groupingValueGetter?: GridColDef<R, V>['groupingValueGetter'];
41
+ field: string;
42
+ groupingValueGetter?: GridColDef<R, V>['groupingValueGetter'];
43
43
  }
44
- export type GridGroupingRules<R extends GridValidRowModel = GridValidRowModel> = GridGroupingRule<R>[];
44
+ export type GridGroupingRules<R extends GridValidRowModel = GridValidRowModel> = GridGroupingRule<R>[];
@@ -1,3 +1,3 @@
1
- import { GridStatePremium } from '../../../models/gridStatePremium';
1
+ import { GridStatePremium } from "../../../models/gridStatePremium.js";
2
2
  export declare const gridRowGroupingModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("./gridRowGroupingInterfaces").GridRowGroupingState, import("./gridRowGroupingInterfaces").GridRowGroupingModel>;
3
- export declare const gridRowGroupingSanitizedModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("@mui/x-data-grid").GridColumnLookup, string[]>;
3
+ export declare const gridRowGroupingSanitizedModelSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, import("@mui/x-data-grid").GridColumnLookup, string[]>;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.gridRowGroupingSanitizedModelSelector = exports.gridRowGroupingModelSelector = void 0;
7
7
  var _xDataGridPro = require("@mui/x-data-grid-pro");
8
- var _internals = require("@mui/x-data-grid/internals");
9
- const gridRowGroupingStateSelector = state => state.rowGrouping;
8
+ var _internals = require("@mui/x-data-grid-pro/internals");
9
+ const gridRowGroupingStateSelector = (0, _internals.createRootSelector)(state => state.rowGrouping);
10
10
  const gridRowGroupingModelSelector = exports.gridRowGroupingModelSelector = (0, _internals.createSelector)(gridRowGroupingStateSelector, rowGrouping => rowGrouping.model);
11
11
  const gridRowGroupingSanitizedModelSelector = exports.gridRowGroupingSanitizedModelSelector = (0, _internals.createSelectorMemoized)(gridRowGroupingModelSelector, _xDataGridPro.gridColumnLookupSelector, (model, columnsLookup) => model.filter(field => !!columnsLookup[field]));
@@ -1,21 +1,21 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridRowTreeConfig, GridFilterState, GridFilterModel, GridRowModel, GridColDef, GridKeyValue, GridDataSource } from '@mui/x-data-grid-pro';
3
3
  import { GridAggregatedFilterItemApplier, GridColumnRawLookup, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn } from '@mui/x-data-grid-pro/internals';
4
- import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
5
- import { GridGroupingRule, GridGroupingRules, GridRowGroupingModel } from './gridRowGroupingInterfaces';
6
- import { GridStatePremium } from '../../../models/gridStatePremium';
7
- import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
8
- export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn, };
4
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
5
+ import { GridGroupingRule, GridGroupingRules, GridRowGroupingModel } from "./gridRowGroupingInterfaces.js";
6
+ import { GridStatePremium } from "../../../models/gridStatePremium.js";
7
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
8
+ export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn };
9
9
  export declare enum RowGroupingStrategy {
10
- Default = "grouping-columns",
11
- DataSource = "grouping-columns-data-source"
10
+ Default = "grouping-columns",
11
+ DataSource = "grouping-columns-data-source",
12
12
  }
13
13
  export declare const getRowGroupingFieldFromGroupingCriteria: (groupingCriteria: string | null) => string;
14
14
  interface FilterRowTreeFromTreeDataParams {
15
- rowTree: GridRowTreeConfig;
16
- isRowMatchingFilters: GridAggregatedFilterItemApplier | null;
17
- filterModel: GridFilterModel;
18
- apiRef: RefObject<GridPrivateApiPremium>;
15
+ rowTree: GridRowTreeConfig;
16
+ isRowMatchingFilters: GridAggregatedFilterItemApplier | null;
17
+ filterModel: GridFilterModel;
18
+ apiRef: RefObject<GridPrivateApiPremium>;
19
19
  }
20
20
  /**
21
21
  * A leaf is visible if it passed the filter
@@ -27,20 +27,28 @@ export declare const filterRowTreeFromGroupingColumns: (params: FilterRowTreeFro
27
27
  export declare const getColDefOverrides: (groupingColDefProp: DataGridPremiumProcessedProps["groupingColDef"], fields: string[], strategy?: RowGroupingStrategy) => import("@mui/x-data-grid-pro").GridGroupingColDefOverride<any> | null | undefined;
28
28
  export declare const mergeStateWithRowGroupingModel: (rowGroupingModel: GridRowGroupingModel) => (state: GridStatePremium) => GridStatePremium;
29
29
  export declare const setStrategyAvailability: (privateApiRef: RefObject<GridPrivateApiPremium>, disableRowGrouping: boolean, dataSource?: GridDataSource) => void;
30
- export declare const getCellGroupingCriteria: ({ row, colDef, groupingRule, apiRef, }: {
31
- row: GridRowModel;
32
- colDef: GridColDef;
33
- groupingRule: GridGroupingRule;
34
- apiRef: RefObject<GridPrivateApiPremium>;
30
+ export declare const getCellGroupingCriteria: ({
31
+ row,
32
+ colDef,
33
+ groupingRule,
34
+ apiRef
35
+ }: {
36
+ row: GridRowModel;
37
+ colDef: GridColDef;
38
+ groupingRule: GridGroupingRule;
39
+ apiRef: RefObject<GridPrivateApiPremium>;
35
40
  }) => {
36
- key: GridKeyValue | null | undefined;
37
- field: string;
41
+ key: GridKeyValue | null | undefined;
42
+ field: string;
38
43
  };
39
- export declare const getGroupingRules: ({ sanitizedRowGroupingModel, columnsLookup, }: {
40
- sanitizedRowGroupingModel: GridRowGroupingModel;
41
- columnsLookup: GridColumnRawLookup;
44
+ export declare const getGroupingRules: ({
45
+ sanitizedRowGroupingModel,
46
+ columnsLookup
47
+ }: {
48
+ sanitizedRowGroupingModel: GridRowGroupingModel;
49
+ columnsLookup: GridColumnRawLookup;
42
50
  }) => GridGroupingRules;
43
51
  /**
44
52
  * Compares two sets of grouping rules to determine if they are equal or not.
45
53
  */
46
- export declare const areGroupingRulesEqual: (newValue: GridGroupingRules, previousValue: GridGroupingRules) => boolean;
54
+ export declare const areGroupingRulesEqual: (newValue: GridGroupingRules, previousValue: GridGroupingRules) => boolean;
@@ -102,7 +102,9 @@ const filterRowTreeFromGroupingColumns = params => {
102
102
  isPassingFiltering = (0, _internals.passFilterLogic)(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef, filterCache);
103
103
  }
104
104
  }
105
- filteredRowsLookup[node.id] = isPassingFiltering;
105
+ if (!isPassingFiltering) {
106
+ filteredRowsLookup[node.id] = false;
107
+ }
106
108
  if (!isPassingFiltering) {
107
109
  return 0;
108
110
  }
@@ -1,3 +1,3 @@
1
- export * from './gridRowGroupingSelector';
2
- export * from './gridRowGroupingInterfaces';
3
- export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingFieldFromGroupingCriteria, isGroupingColumn, } from './gridRowGroupingUtils';
1
+ export * from "./gridRowGroupingSelector.js";
2
+ export * from "./gridRowGroupingInterfaces.js";
3
+ export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingFieldFromGroupingCriteria, isGroupingColumn } from "./gridRowGroupingUtils.js";
@@ -1,4 +1,4 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
- import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
3
- import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
4
- export declare const useGridDataSourceRowGroupingPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "disableRowGrouping" | "groupingColDef" | "rowGroupingColumnMode" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "unstable_dataSource">) => void;
2
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
3
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
4
+ export declare const useGridDataSourceRowGroupingPreProcessors: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "disableRowGrouping" | "groupingColDef" | "rowGroupingColumnMode" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "unstable_dataSource">) => void;
@@ -1,11 +1,11 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
3
- import { GridPrivateApiPremium } from '../../../models/gridApiPremium';
4
- import { DataGridPremiumProcessedProps } from '../../../models/dataGridPremiumProps';
3
+ import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
4
+ import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
5
5
  export declare const rowGroupingStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'rowGroupingModel' | 'initialState'>>;
6
6
  /**
7
7
  * @requires useGridColumns (state, method) - can be after, async only
8
8
  * @requires useGridRows (state, method) - can be after, async only
9
9
  * @requires useGridParamsApi (method) - can be after, async only
10
10
  */
11
- export declare const useGridRowGrouping: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "initialState" | "rowGroupingModel" | "onRowGroupingModelChange" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "groupingColDef" | "rowGroupingColumnMode" | "disableRowGrouping" | "slotProps" | "slots" | "unstable_dataSource">) => void;
11
+ export declare const useGridRowGrouping: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "initialState" | "rowGroupingModel" | "onRowGroupingModelChange" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "groupingColDef" | "rowGroupingColumnMode" | "disableRowGrouping" | "slotProps" | "slots" | "unstable_dataSource">) => void;