@mui/x-data-grid-premium 8.0.0-beta.3 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/CHANGELOG.md +282 -96
  2. package/DataGridPremium/DataGridPremium.js +165 -9
  3. package/DataGridPremium/useDataGridPremiumComponent.d.ts +2 -2
  4. package/DataGridPremium/useDataGridPremiumComponent.js +22 -3
  5. package/DataGridPremium/useDataGridPremiumProps.js +5 -1
  6. package/components/GridColumnMenuPivotItem.d.ts +3 -0
  7. package/components/GridColumnMenuPivotItem.js +33 -0
  8. package/components/GridEmptyPivotOverlay.d.ts +6 -0
  9. package/components/GridEmptyPivotOverlay.js +29 -0
  10. package/components/GridGroupingCriteriaCell.js +8 -3
  11. package/components/GridPremiumColumnMenu.d.ts +5 -0
  12. package/components/GridPremiumColumnMenu.js +6 -1
  13. package/components/GridPremiumToolbar.d.ts +1 -1
  14. package/components/GridPremiumToolbar.js +29 -1
  15. package/components/aiAssistantPanel/AiAssistantPanelTrigger.d.ts +33 -0
  16. package/components/aiAssistantPanel/AiAssistantPanelTrigger.js +107 -0
  17. package/components/aiAssistantPanel/GridAiAssistantPanel.d.ts +3 -0
  18. package/components/aiAssistantPanel/GridAiAssistantPanel.js +195 -0
  19. package/components/aiAssistantPanel/GridAiAssistantPanelConversation.d.ts +7 -0
  20. package/components/aiAssistantPanel/GridAiAssistantPanelConversation.js +71 -0
  21. package/components/aiAssistantPanel/GridAiAssistantPanelConversationsMenu.d.ts +3 -0
  22. package/components/aiAssistantPanel/GridAiAssistantPanelConversationsMenu.js +92 -0
  23. package/components/aiAssistantPanel/GridAiAssistantPanelSuggestions.d.ts +7 -0
  24. package/components/aiAssistantPanel/GridAiAssistantPanelSuggestions.js +86 -0
  25. package/components/aiAssistantPanel/index.d.ts +2 -0
  26. package/components/aiAssistantPanel/index.js +27 -0
  27. package/components/collapsible/Collapsible.d.ts +4 -0
  28. package/components/collapsible/Collapsible.js +70 -0
  29. package/components/collapsible/CollapsibleContext.d.ts +8 -0
  30. package/components/collapsible/CollapsibleContext.js +17 -0
  31. package/components/collapsible/CollapsiblePanel.d.ts +4 -0
  32. package/components/collapsible/CollapsiblePanel.js +64 -0
  33. package/components/collapsible/CollapsibleTrigger.d.ts +4 -0
  34. package/components/collapsible/CollapsibleTrigger.js +106 -0
  35. package/components/collapsible/index.d.ts +4 -0
  36. package/components/collapsible/index.js +49 -0
  37. package/components/index.d.ts +5 -2
  38. package/components/index.js +40 -4
  39. package/components/pivotPanel/GridPivotPanel.d.ts +3 -0
  40. package/components/pivotPanel/GridPivotPanel.js +22 -0
  41. package/components/pivotPanel/GridPivotPanelBody.d.ts +11 -0
  42. package/components/pivotPanel/GridPivotPanelBody.js +368 -0
  43. package/components/pivotPanel/GridPivotPanelField.d.ts +22 -0
  44. package/components/pivotPanel/GridPivotPanelField.js +338 -0
  45. package/components/pivotPanel/GridPivotPanelFieldMenu.d.ts +8 -0
  46. package/components/pivotPanel/GridPivotPanelFieldMenu.js +177 -0
  47. package/components/pivotPanel/GridPivotPanelHeader.d.ts +7 -0
  48. package/components/pivotPanel/GridPivotPanelHeader.js +101 -0
  49. package/components/pivotPanel/GridPivotPanelSearch.d.ts +7 -0
  50. package/components/pivotPanel/GridPivotPanelSearch.js +77 -0
  51. package/components/pivotPanel/PivotPanelTrigger.d.ts +37 -0
  52. package/components/pivotPanel/PivotPanelTrigger.js +93 -0
  53. package/components/pivotPanel/index.d.ts +2 -0
  54. package/components/pivotPanel/index.js +27 -0
  55. package/components/prompt/GridPrompt.d.ts +7 -0
  56. package/components/prompt/GridPrompt.js +364 -0
  57. package/components/prompt/index.d.ts +1 -0
  58. package/components/prompt/index.js +12 -0
  59. package/components/promptField/GridPromptField.d.ts +4 -0
  60. package/components/promptField/GridPromptField.js +86 -0
  61. package/components/promptField/PromptField.d.ts +66 -0
  62. package/components/promptField/PromptField.js +95 -0
  63. package/components/promptField/PromptFieldContext.d.ts +16 -0
  64. package/components/promptField/PromptFieldContext.js +17 -0
  65. package/components/promptField/PromptFieldControl.d.ts +27 -0
  66. package/components/promptField/PromptFieldControl.js +102 -0
  67. package/components/promptField/PromptFieldRecord.d.ts +27 -0
  68. package/components/promptField/PromptFieldRecord.js +158 -0
  69. package/components/promptField/PromptFieldSend.d.ts +27 -0
  70. package/components/promptField/PromptFieldSend.js +83 -0
  71. package/components/promptField/index.d.ts +4 -0
  72. package/components/promptField/index.js +49 -0
  73. package/components/resizablePanel/ResizablePanel.d.ts +10 -0
  74. package/components/resizablePanel/ResizablePanel.js +59 -0
  75. package/components/resizablePanel/ResizablePanelContext.d.ts +7 -0
  76. package/components/resizablePanel/ResizablePanelContext.js +17 -0
  77. package/components/resizablePanel/ResizablePanelHandle.d.ts +4 -0
  78. package/components/resizablePanel/ResizablePanelHandle.js +115 -0
  79. package/components/resizablePanel/index.d.ts +3 -0
  80. package/components/resizablePanel/index.js +38 -0
  81. package/components/sidebar/Sidebar.d.ts +4 -0
  82. package/components/sidebar/Sidebar.js +54 -0
  83. package/components/sidebar/SidebarHeader.d.ts +4 -0
  84. package/components/sidebar/SidebarHeader.js +51 -0
  85. package/components/sidebar/index.d.ts +2 -0
  86. package/components/sidebar/index.js +27 -0
  87. package/constants/dataGridPremiumDefaultSlotsComponents.js +3 -0
  88. package/esm/DataGridPremium/DataGridPremium.js +167 -11
  89. package/esm/DataGridPremium/useDataGridPremiumComponent.d.ts +2 -2
  90. package/esm/DataGridPremium/useDataGridPremiumComponent.js +20 -3
  91. package/esm/DataGridPremium/useDataGridPremiumProps.js +5 -1
  92. package/esm/components/GridColumnMenuPivotItem.d.ts +3 -0
  93. package/esm/components/GridColumnMenuPivotItem.js +26 -0
  94. package/esm/components/GridEmptyPivotOverlay.d.ts +6 -0
  95. package/esm/components/GridEmptyPivotOverlay.js +22 -0
  96. package/esm/components/GridGroupingCriteriaCell.js +9 -4
  97. package/esm/components/GridPremiumColumnMenu.d.ts +5 -0
  98. package/esm/components/GridPremiumColumnMenu.js +6 -1
  99. package/esm/components/GridPremiumToolbar.d.ts +1 -1
  100. package/esm/components/GridPremiumToolbar.js +30 -2
  101. package/esm/components/aiAssistantPanel/AiAssistantPanelTrigger.d.ts +33 -0
  102. package/esm/components/aiAssistantPanel/AiAssistantPanelTrigger.js +100 -0
  103. package/esm/components/aiAssistantPanel/GridAiAssistantPanel.d.ts +3 -0
  104. package/esm/components/aiAssistantPanel/GridAiAssistantPanel.js +188 -0
  105. package/esm/components/aiAssistantPanel/GridAiAssistantPanelConversation.d.ts +7 -0
  106. package/esm/components/aiAssistantPanel/GridAiAssistantPanelConversation.js +64 -0
  107. package/esm/components/aiAssistantPanel/GridAiAssistantPanelConversationsMenu.d.ts +3 -0
  108. package/esm/components/aiAssistantPanel/GridAiAssistantPanelConversationsMenu.js +85 -0
  109. package/esm/components/aiAssistantPanel/GridAiAssistantPanelSuggestions.d.ts +7 -0
  110. package/esm/components/aiAssistantPanel/GridAiAssistantPanelSuggestions.js +80 -0
  111. package/esm/components/aiAssistantPanel/index.d.ts +2 -0
  112. package/esm/components/aiAssistantPanel/index.js +2 -0
  113. package/esm/components/collapsible/Collapsible.d.ts +4 -0
  114. package/esm/components/collapsible/Collapsible.js +63 -0
  115. package/esm/components/collapsible/CollapsibleContext.d.ts +8 -0
  116. package/esm/components/collapsible/CollapsibleContext.js +9 -0
  117. package/esm/components/collapsible/CollapsiblePanel.d.ts +4 -0
  118. package/esm/components/collapsible/CollapsiblePanel.js +57 -0
  119. package/esm/components/collapsible/CollapsibleTrigger.d.ts +4 -0
  120. package/esm/components/collapsible/CollapsibleTrigger.js +99 -0
  121. package/esm/components/collapsible/index.d.ts +4 -0
  122. package/esm/components/collapsible/index.js +4 -0
  123. package/esm/components/index.d.ts +5 -2
  124. package/esm/components/index.js +5 -2
  125. package/esm/components/pivotPanel/GridPivotPanel.d.ts +3 -0
  126. package/esm/components/pivotPanel/GridPivotPanel.js +16 -0
  127. package/esm/components/pivotPanel/GridPivotPanelBody.d.ts +11 -0
  128. package/esm/components/pivotPanel/GridPivotPanelBody.js +361 -0
  129. package/esm/components/pivotPanel/GridPivotPanelField.d.ts +22 -0
  130. package/esm/components/pivotPanel/GridPivotPanelField.js +331 -0
  131. package/esm/components/pivotPanel/GridPivotPanelFieldMenu.d.ts +8 -0
  132. package/esm/components/pivotPanel/GridPivotPanelFieldMenu.js +170 -0
  133. package/esm/components/pivotPanel/GridPivotPanelHeader.d.ts +7 -0
  134. package/esm/components/pivotPanel/GridPivotPanelHeader.js +94 -0
  135. package/esm/components/pivotPanel/GridPivotPanelSearch.d.ts +7 -0
  136. package/esm/components/pivotPanel/GridPivotPanelSearch.js +70 -0
  137. package/esm/components/pivotPanel/PivotPanelTrigger.d.ts +37 -0
  138. package/esm/components/pivotPanel/PivotPanelTrigger.js +86 -0
  139. package/esm/components/pivotPanel/index.d.ts +2 -0
  140. package/esm/components/pivotPanel/index.js +2 -0
  141. package/esm/components/prompt/GridPrompt.d.ts +7 -0
  142. package/esm/components/prompt/GridPrompt.js +357 -0
  143. package/esm/components/prompt/index.d.ts +1 -0
  144. package/esm/components/prompt/index.js +1 -0
  145. package/esm/components/promptField/GridPromptField.d.ts +4 -0
  146. package/esm/components/promptField/GridPromptField.js +79 -0
  147. package/esm/components/promptField/PromptField.d.ts +66 -0
  148. package/esm/components/promptField/PromptField.js +88 -0
  149. package/esm/components/promptField/PromptFieldContext.d.ts +16 -0
  150. package/esm/components/promptField/PromptFieldContext.js +9 -0
  151. package/esm/components/promptField/PromptFieldControl.d.ts +27 -0
  152. package/esm/components/promptField/PromptFieldControl.js +95 -0
  153. package/esm/components/promptField/PromptFieldRecord.d.ts +27 -0
  154. package/esm/components/promptField/PromptFieldRecord.js +151 -0
  155. package/esm/components/promptField/PromptFieldSend.d.ts +27 -0
  156. package/{modern/components/export/ExportExcel.js → esm/components/promptField/PromptFieldSend.js} +30 -38
  157. package/esm/components/promptField/index.d.ts +4 -0
  158. package/esm/components/promptField/index.js +4 -0
  159. package/esm/components/resizablePanel/ResizablePanel.d.ts +10 -0
  160. package/esm/components/resizablePanel/ResizablePanel.js +52 -0
  161. package/esm/components/resizablePanel/ResizablePanelContext.d.ts +7 -0
  162. package/esm/components/resizablePanel/ResizablePanelContext.js +9 -0
  163. package/esm/components/resizablePanel/ResizablePanelHandle.d.ts +4 -0
  164. package/esm/components/resizablePanel/ResizablePanelHandle.js +108 -0
  165. package/esm/components/resizablePanel/index.d.ts +3 -0
  166. package/esm/components/resizablePanel/index.js +3 -0
  167. package/esm/components/sidebar/Sidebar.d.ts +4 -0
  168. package/esm/components/sidebar/Sidebar.js +47 -0
  169. package/esm/components/sidebar/SidebarHeader.d.ts +4 -0
  170. package/esm/components/sidebar/SidebarHeader.js +44 -0
  171. package/esm/components/sidebar/index.d.ts +2 -0
  172. package/esm/components/sidebar/index.js +2 -0
  173. package/esm/constants/dataGridPremiumDefaultSlotsComponents.js +3 -0
  174. package/esm/hooks/features/aggregation/gridAggregationFunctions.js +13 -0
  175. package/esm/hooks/features/aggregation/gridAggregationSelectors.d.ts +10 -1
  176. package/esm/hooks/features/aggregation/gridAggregationSelectors.js +28 -1
  177. package/esm/hooks/features/aggregation/gridAggregationUtils.d.ts +1 -1
  178. package/esm/hooks/features/aggregation/index.d.ts +1 -1
  179. package/esm/hooks/features/aggregation/index.js +1 -1
  180. package/esm/hooks/features/aggregation/useGridAggregation.js +3 -7
  181. package/esm/hooks/features/aggregation/useGridAggregationPreProcessors.js +2 -8
  182. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +5 -25
  183. package/esm/hooks/features/aggregation/wrapColumnWithAggregation.js +23 -10
  184. package/esm/hooks/features/aiAssistant/api.d.ts +12 -0
  185. package/esm/hooks/features/aiAssistant/api.js +31 -0
  186. package/esm/hooks/features/aiAssistant/gridAiAssistantInterfaces.d.ts +82 -0
  187. package/esm/hooks/features/aiAssistant/gridAiAssistantSelectors.d.ts +5 -0
  188. package/esm/hooks/features/aiAssistant/gridAiAssistantSelectors.js +5 -0
  189. package/esm/hooks/features/aiAssistant/index.d.ts +2 -0
  190. package/esm/hooks/features/aiAssistant/useGridAiAssistant.d.ts +6 -0
  191. package/esm/hooks/features/aiAssistant/useGridAiAssistant.js +293 -0
  192. package/esm/hooks/features/dataSource/useGridDataSourcePremium.js +4 -1
  193. package/esm/hooks/features/index.d.ts +1 -1
  194. package/esm/hooks/features/index.js +1 -1
  195. package/esm/hooks/features/pivoting/gridPivotingInterfaces.d.ts +69 -0
  196. package/esm/hooks/features/pivoting/gridPivotingSelectors.d.ts +4 -0
  197. package/esm/hooks/features/pivoting/gridPivotingSelectors.js +5 -0
  198. package/esm/hooks/features/pivoting/useGridPivoting.d.ts +7 -0
  199. package/esm/hooks/features/pivoting/useGridPivoting.js +339 -0
  200. package/esm/hooks/features/pivoting/utils.d.ts +21 -0
  201. package/esm/hooks/features/pivoting/utils.js +259 -0
  202. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +1 -4
  203. package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +0 -1
  204. package/esm/hooks/utils/useResize.d.ts +9 -0
  205. package/esm/hooks/utils/useResize.js +52 -0
  206. package/esm/index.d.ts +4 -1
  207. package/esm/index.js +4 -2
  208. package/esm/material/icons.d.ts +15 -15
  209. package/esm/material/icons.js +32 -5
  210. package/esm/material/index.d.ts +31 -5
  211. package/esm/material/index.js +31 -3
  212. package/esm/models/dataGridPremiumProps.d.ts +96 -2
  213. package/esm/models/gridApiPremium.d.ts +4 -2
  214. package/esm/models/gridPremiumIconSlotsComponent.d.ts +141 -8
  215. package/esm/models/gridPremiumSlotsComponent.d.ts +13 -1
  216. package/esm/models/gridStatePremium.d.ts +6 -0
  217. package/esm/package.json +1 -1
  218. package/esm/setupExcelExportWebWorker/index.d.ts +1 -0
  219. package/esm/setupExcelExportWebWorker/index.js +1 -0
  220. package/esm/typeOverloads/modules.d.ts +32 -1
  221. package/esm/utils/speechRecognition.d.ts +2 -0
  222. package/esm/utils/speechRecognition.js +2 -0
  223. package/hooks/features/aggregation/gridAggregationFunctions.js +13 -0
  224. package/hooks/features/aggregation/gridAggregationSelectors.d.ts +10 -1
  225. package/hooks/features/aggregation/gridAggregationSelectors.js +29 -2
  226. package/hooks/features/aggregation/gridAggregationUtils.d.ts +1 -1
  227. package/hooks/features/aggregation/index.d.ts +1 -1
  228. package/hooks/features/aggregation/index.js +21 -11
  229. package/hooks/features/aggregation/useGridAggregation.js +3 -7
  230. package/hooks/features/aggregation/useGridAggregationPreProcessors.js +2 -8
  231. package/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +5 -25
  232. package/hooks/features/aggregation/wrapColumnWithAggregation.js +24 -11
  233. package/hooks/features/aiAssistant/api.d.ts +12 -0
  234. package/hooks/features/aiAssistant/api.js +37 -0
  235. package/hooks/features/aiAssistant/gridAiAssistantInterfaces.d.ts +82 -0
  236. package/hooks/features/aiAssistant/gridAiAssistantSelectors.d.ts +5 -0
  237. package/hooks/features/aiAssistant/gridAiAssistantSelectors.js +11 -0
  238. package/hooks/features/aiAssistant/index.d.ts +2 -0
  239. package/hooks/features/aiAssistant/useGridAiAssistant.d.ts +6 -0
  240. package/hooks/features/aiAssistant/useGridAiAssistant.js +303 -0
  241. package/hooks/features/dataSource/useGridDataSourcePremium.js +3 -0
  242. package/hooks/features/index.d.ts +1 -1
  243. package/hooks/features/index.js +4 -4
  244. package/hooks/features/pivoting/gridPivotingInterfaces.d.ts +69 -0
  245. package/hooks/features/pivoting/gridPivotingInterfaces.js +5 -0
  246. package/hooks/features/pivoting/gridPivotingSelectors.d.ts +4 -0
  247. package/hooks/features/pivoting/gridPivotingSelectors.js +30 -0
  248. package/hooks/features/pivoting/useGridPivoting.d.ts +7 -0
  249. package/hooks/features/pivoting/useGridPivoting.js +349 -0
  250. package/hooks/features/pivoting/utils.d.ts +21 -0
  251. package/hooks/features/pivoting/utils.js +270 -0
  252. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +1 -4
  253. package/hooks/features/rowGrouping/useGridRowGrouping.js +0 -1
  254. package/hooks/utils/useResize.d.ts +9 -0
  255. package/hooks/utils/useResize.js +60 -0
  256. package/index.d.ts +4 -1
  257. package/index.js +19 -3
  258. package/material/icons.d.ts +15 -15
  259. package/material/icons.js +36 -9
  260. package/material/index.d.ts +31 -5
  261. package/material/index.js +30 -2
  262. package/models/dataGridPremiumProps.d.ts +96 -2
  263. package/models/gridApiPremium.d.ts +4 -2
  264. package/models/gridPremiumIconSlotsComponent.d.ts +141 -8
  265. package/models/gridPremiumSlotsComponent.d.ts +13 -1
  266. package/models/gridStatePremium.d.ts +6 -0
  267. package/package.json +9 -15
  268. package/setupExcelExportWebWorker/index.d.ts +1 -0
  269. package/{setupExcelExportWebWorker.js → setupExcelExportWebWorker/index.js} +1 -1
  270. package/typeOverloads/modules.d.ts +32 -1
  271. package/utils/speechRecognition.d.ts +2 -0
  272. package/utils/speechRecognition.js +8 -0
  273. package/components/promptControl/GridToolbarPromptControl.d.ts +0 -26
  274. package/components/promptControl/GridToolbarPromptControl.js +0 -222
  275. package/components/promptControl/RecordButton.d.ts +0 -16
  276. package/components/promptControl/RecordButton.js +0 -119
  277. package/components/promptControl/index.d.ts +0 -1
  278. package/components/promptControl/index.js +0 -12
  279. package/esm/components/promptControl/GridToolbarPromptControl.d.ts +0 -26
  280. package/esm/components/promptControl/GridToolbarPromptControl.js +0 -215
  281. package/esm/components/promptControl/RecordButton.d.ts +0 -16
  282. package/esm/components/promptControl/RecordButton.js +0 -111
  283. package/esm/components/promptControl/index.d.ts +0 -1
  284. package/esm/components/promptControl/index.js +0 -1
  285. package/esm/hooks/features/promptControl/api.d.ts +0 -2
  286. package/esm/hooks/features/promptControl/api.js +0 -22
  287. package/esm/hooks/features/promptControl/index.d.ts +0 -2
  288. package/esm/hooks/features/promptControl/types.d.ts +0 -25
  289. package/esm/setupExcelExportWebWorker.d.ts +0 -1
  290. package/esm/setupExcelExportWebWorker.js +0 -1
  291. package/esm/utils/releaseInfo.d.ts +0 -1
  292. package/esm/utils/releaseInfo.js +0 -13
  293. package/hooks/features/promptControl/api.d.ts +0 -2
  294. package/hooks/features/promptControl/api.js +0 -28
  295. package/hooks/features/promptControl/index.d.ts +0 -2
  296. package/hooks/features/promptControl/types.d.ts +0 -25
  297. package/modern/DataGridPremium/DataGrid.d.ts +0 -8
  298. package/modern/DataGridPremium/DataGrid.js +0 -19
  299. package/modern/DataGridPremium/DataGridPremium.d.ts +0 -16
  300. package/modern/DataGridPremium/DataGridPremium.js +0 -1127
  301. package/modern/DataGridPremium/index.d.ts +0 -3
  302. package/modern/DataGridPremium/index.js +0 -3
  303. package/modern/DataGridPremium/useDataGridPremiumComponent.d.ts +0 -4
  304. package/modern/DataGridPremium/useDataGridPremiumComponent.js +0 -108
  305. package/modern/DataGridPremium/useDataGridPremiumProps.d.ts +0 -6
  306. package/modern/DataGridPremium/useDataGridPremiumProps.js +0 -54
  307. package/modern/components/GridAggregationHeader.d.ts +0 -7
  308. package/modern/components/GridAggregationHeader.js +0 -89
  309. package/modern/components/GridAggregationRowOverlay.d.ts +0 -3
  310. package/modern/components/GridAggregationRowOverlay.js +0 -37
  311. package/modern/components/GridBottomContainer.d.ts +0 -3
  312. package/modern/components/GridBottomContainer.js +0 -43
  313. package/modern/components/GridColumnMenuAggregationItem.d.ts +0 -7
  314. package/modern/components/GridColumnMenuAggregationItem.js +0 -124
  315. package/modern/components/GridColumnMenuRowGroupItem.d.ts +0 -3
  316. package/modern/components/GridColumnMenuRowGroupItem.js +0 -42
  317. package/modern/components/GridColumnMenuRowUngroupItem.d.ts +0 -3
  318. package/modern/components/GridColumnMenuRowUngroupItem.js +0 -44
  319. package/modern/components/GridDataSourceGroupingCriteriaCell.d.ts +0 -7
  320. package/modern/components/GridDataSourceGroupingCriteriaCell.js +0 -121
  321. package/modern/components/GridExcelExportMenuItem.d.ts +0 -9
  322. package/modern/components/GridExcelExportMenuItem.js +0 -48
  323. package/modern/components/GridFooterCell.d.ts +0 -9
  324. package/modern/components/GridFooterCell.js +0 -43
  325. package/modern/components/GridGroupingColumnFooterCell.d.ts +0 -4
  326. package/modern/components/GridGroupingColumnFooterCell.js +0 -23
  327. package/modern/components/GridGroupingColumnLeafCell.d.ts +0 -4
  328. package/modern/components/GridGroupingColumnLeafCell.js +0 -17
  329. package/modern/components/GridGroupingCriteriaCell.d.ts +0 -7
  330. package/modern/components/GridGroupingCriteriaCell.js +0 -87
  331. package/modern/components/GridPremiumColumnMenu.d.ts +0 -33
  332. package/modern/components/GridPremiumColumnMenu.js +0 -37
  333. package/modern/components/GridPremiumToolbar.d.ts +0 -3
  334. package/modern/components/GridPremiumToolbar.js +0 -23
  335. package/modern/components/export/ExportExcel.d.ts +0 -29
  336. package/modern/components/export/index.d.ts +0 -1
  337. package/modern/components/export/index.js +0 -1
  338. package/modern/components/index.d.ts +0 -6
  339. package/modern/components/index.js +0 -6
  340. package/modern/components/promptControl/GridToolbarPromptControl.d.ts +0 -26
  341. package/modern/components/promptControl/GridToolbarPromptControl.js +0 -215
  342. package/modern/components/promptControl/RecordButton.d.ts +0 -16
  343. package/modern/components/promptControl/RecordButton.js +0 -111
  344. package/modern/components/promptControl/index.d.ts +0 -1
  345. package/modern/components/promptControl/index.js +0 -1
  346. package/modern/components/reexports.d.ts +0 -1
  347. package/modern/components/reexports.js +0 -1
  348. package/modern/constants/dataGridPremiumDefaultSlotsComponents.d.ts +0 -2
  349. package/modern/constants/dataGridPremiumDefaultSlotsComponents.js +0 -11
  350. package/modern/hooks/features/aggregation/createAggregationLookup.d.ts +0 -17
  351. package/modern/hooks/features/aggregation/createAggregationLookup.js +0 -111
  352. package/modern/hooks/features/aggregation/gridAggregationFunctions.d.ts +0 -8
  353. package/modern/hooks/features/aggregation/gridAggregationFunctions.js +0 -93
  354. package/modern/hooks/features/aggregation/gridAggregationInterfaces.d.ts +0 -129
  355. package/modern/hooks/features/aggregation/gridAggregationSelectors.d.ts +0 -13
  356. package/modern/hooks/features/aggregation/gridAggregationSelectors.js +0 -15
  357. package/modern/hooks/features/aggregation/gridAggregationUtils.d.ts +0 -62
  358. package/modern/hooks/features/aggregation/gridAggregationUtils.js +0 -180
  359. package/modern/hooks/features/aggregation/index.d.ts +0 -4
  360. package/modern/hooks/features/aggregation/index.js +0 -3
  361. package/modern/hooks/features/aggregation/useGridAggregation.d.ts +0 -6
  362. package/modern/hooks/features/aggregation/useGridAggregation.js +0 -103
  363. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.d.ts +0 -4
  364. package/modern/hooks/features/aggregation/useGridAggregationPreProcessors.js +0 -96
  365. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.d.ts +0 -81
  366. package/modern/hooks/features/aggregation/wrapColumnWithAggregation.js +0 -215
  367. package/modern/hooks/features/cellSelection/gridCellSelectionInterfaces.d.ts +0 -40
  368. package/modern/hooks/features/cellSelection/gridCellSelectionInterfaces.js +0 -1
  369. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.d.ts +0 -2
  370. package/modern/hooks/features/cellSelection/gridCellSelectionSelector.js +0 -2
  371. package/modern/hooks/features/cellSelection/index.d.ts +0 -1
  372. package/modern/hooks/features/cellSelection/index.js +0 -1
  373. package/modern/hooks/features/cellSelection/useGridCellSelection.d.ts +0 -6
  374. package/modern/hooks/features/cellSelection/useGridCellSelection.js +0 -486
  375. package/modern/hooks/features/clipboard/useGridClipboardImport.d.ts +0 -4
  376. package/modern/hooks/features/clipboard/useGridClipboardImport.js +0 -335
  377. package/modern/hooks/features/dataSource/models.d.ts +0 -54
  378. package/modern/hooks/features/dataSource/models.js +0 -1
  379. package/modern/hooks/features/dataSource/useGridDataSourcePremium.d.ts +0 -4
  380. package/modern/hooks/features/dataSource/useGridDataSourcePremium.js +0 -59
  381. package/modern/hooks/features/export/gridExcelExportInterface.d.ts +0 -71
  382. package/modern/hooks/features/export/gridExcelExportInterface.js +0 -1
  383. package/modern/hooks/features/export/index.d.ts +0 -2
  384. package/modern/hooks/features/export/index.js +0 -2
  385. package/modern/hooks/features/export/serializer/excelSerializer.d.ts +0 -40
  386. package/modern/hooks/features/export/serializer/excelSerializer.js +0 -269
  387. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.d.ts +0 -2
  388. package/modern/hooks/features/export/serializer/setupExcelExportWebWorker.js +0 -53
  389. package/modern/hooks/features/export/serializer/utils.d.ts +0 -36
  390. package/modern/hooks/features/export/serializer/utils.js +0 -93
  391. package/modern/hooks/features/export/useGridExcelExport.d.ts +0 -11
  392. package/modern/hooks/features/export/useGridExcelExport.js +0 -139
  393. package/modern/hooks/features/index.d.ts +0 -5
  394. package/modern/hooks/features/index.js +0 -6
  395. package/modern/hooks/features/promptControl/api.d.ts +0 -2
  396. package/modern/hooks/features/promptControl/api.js +0 -22
  397. package/modern/hooks/features/promptControl/index.d.ts +0 -2
  398. package/modern/hooks/features/promptControl/index.js +0 -1
  399. package/modern/hooks/features/promptControl/types.d.ts +0 -25
  400. package/modern/hooks/features/promptControl/types.js +0 -1
  401. package/modern/hooks/features/rowGrouping/createGroupingColDef.d.ts +0 -57
  402. package/modern/hooks/features/rowGrouping/createGroupingColDef.js +0 -272
  403. package/modern/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +0 -44
  404. package/modern/hooks/features/rowGrouping/gridRowGroupingInterfaces.js +0 -1
  405. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.d.ts +0 -3
  406. package/modern/hooks/features/rowGrouping/gridRowGroupingSelector.js +0 -5
  407. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +0 -54
  408. package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +0 -173
  409. package/modern/hooks/features/rowGrouping/index.d.ts +0 -3
  410. package/modern/hooks/features/rowGrouping/index.js +0 -3
  411. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.d.ts +0 -4
  412. package/modern/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +0 -73
  413. package/modern/hooks/features/rowGrouping/useGridRowGrouping.d.ts +0 -11
  414. package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +0 -182
  415. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.d.ts +0 -4
  416. package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +0 -157
  417. package/modern/hooks/features/rows/index.d.ts +0 -1
  418. package/modern/hooks/features/rows/index.js +0 -1
  419. package/modern/hooks/features/rows/useGridRowAriaAttributes.d.ts +0 -1
  420. package/modern/hooks/features/rows/useGridRowAriaAttributes.js +0 -8
  421. package/modern/hooks/index.d.ts +0 -2
  422. package/modern/hooks/index.js +0 -3
  423. package/modern/hooks/utils/index.d.ts +0 -1
  424. package/modern/hooks/utils/index.js +0 -1
  425. package/modern/hooks/utils/useGridApiContext.d.ts +0 -4
  426. package/modern/hooks/utils/useGridApiContext.js +0 -2
  427. package/modern/hooks/utils/useGridApiRef.d.ts +0 -4
  428. package/modern/hooks/utils/useGridApiRef.js +0 -2
  429. package/modern/hooks/utils/useGridAriaAttributes.d.ts +0 -2
  430. package/modern/hooks/utils/useGridAriaAttributes.js +0 -13
  431. package/modern/hooks/utils/useGridPrivateApiContext.d.ts +0 -2
  432. package/modern/hooks/utils/useGridPrivateApiContext.js +0 -2
  433. package/modern/hooks/utils/useGridRootProps.d.ts +0 -2
  434. package/modern/hooks/utils/useGridRootProps.js +0 -2
  435. package/modern/hooks/utils/useKeepGroupedColumnsHidden.d.ts +0 -12
  436. package/modern/hooks/utils/useKeepGroupedColumnsHidden.js +0 -43
  437. package/modern/index.d.ts +0 -23
  438. package/modern/index.js +0 -26
  439. package/modern/locales.d.ts +0 -1
  440. package/modern/locales.js +0 -1
  441. package/modern/material/icons.d.ts +0 -15
  442. package/modern/material/icons.js +0 -20
  443. package/modern/material/index.d.ts +0 -8
  444. package/modern/material/index.js +0 -11
  445. package/modern/models/dataGridPremiumProps.d.ts +0 -162
  446. package/modern/models/dataGridPremiumProps.js +0 -1
  447. package/modern/models/gridApiPremium.d.ts +0 -14
  448. package/modern/models/gridApiPremium.js +0 -1
  449. package/modern/models/gridGroupingValueGetter.d.ts +0 -4
  450. package/modern/models/gridGroupingValueGetter.js +0 -1
  451. package/modern/models/gridPastedValueParser.d.ts +0 -4
  452. package/modern/models/gridPastedValueParser.js +0 -1
  453. package/modern/models/gridPremiumIconSlotsComponent.d.ts +0 -28
  454. package/modern/models/gridPremiumIconSlotsComponent.js +0 -1
  455. package/modern/models/gridPremiumSlotsComponent.d.ts +0 -7
  456. package/modern/models/gridPremiumSlotsComponent.js +0 -1
  457. package/modern/models/gridStatePremium.d.ts +0 -18
  458. package/modern/models/gridStatePremium.js +0 -1
  459. package/modern/models/index.d.ts +0 -4
  460. package/modern/models/index.js +0 -4
  461. package/modern/package.json +0 -1
  462. package/modern/setupExcelExportWebWorker.d.ts +0 -1
  463. package/modern/setupExcelExportWebWorker.js +0 -1
  464. package/modern/themeAugmentation/index.d.ts +0 -2
  465. package/modern/themeAugmentation/index.js +0 -4
  466. package/modern/themeAugmentation/overrides.d.ts +0 -7
  467. package/modern/themeAugmentation/overrides.js +0 -1
  468. package/modern/themeAugmentation/props.d.ts +0 -15
  469. package/modern/themeAugmentation/props.js +0 -1
  470. package/modern/typeOverloads/index.d.ts +0 -2
  471. package/modern/typeOverloads/index.js +0 -2
  472. package/modern/typeOverloads/modules.d.ts +0 -97
  473. package/modern/typeOverloads/modules.js +0 -1
  474. package/modern/typeOverloads/reexports.d.ts +0 -17
  475. package/modern/typeOverloads/reexports.js +0 -15
  476. package/modern/utils/releaseInfo.d.ts +0 -1
  477. package/modern/utils/releaseInfo.js +0 -13
  478. package/setupExcelExportWebWorker.d.ts +0 -1
  479. package/tsconfig.build.tsbuildinfo +0 -1
  480. package/utils/releaseInfo.d.ts +0 -1
  481. package/utils/releaseInfo.js +0 -20
  482. /package/esm/hooks/features/{promptControl/types.js → aiAssistant/gridAiAssistantInterfaces.js} +0 -0
  483. /package/esm/hooks/features/{promptControl → aiAssistant}/index.js +0 -0
  484. /package/{modern/hooks/features/aggregation/gridAggregationInterfaces.js → esm/hooks/features/pivoting/gridPivotingInterfaces.js} +0 -0
  485. /package/hooks/features/{promptControl/types.js → aiAssistant/gridAiAssistantInterfaces.js} +0 -0
  486. /package/hooks/features/{promptControl → aiAssistant}/index.js +0 -0
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridPivotPanelField = GridPivotPanelField;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _system = require("@mui/system");
12
+ var _xDataGridPro = require("@mui/x-data-grid-pro");
13
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
+ var _internals = require("@mui/x-data-grid-pro/internals");
15
+ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
16
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
+ var _gridAggregationUtils = require("../../hooks/features/aggregation/gridAggregationUtils");
18
+ var _GridPivotPanelFieldMenu = require("./GridPivotPanelFieldMenu");
19
+ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
20
+ var _gridPivotingSelectors = require("../../hooks/features/pivoting/gridPivotingSelectors");
21
+ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+ const useUtilityClasses = ownerState => {
24
+ const {
25
+ classes,
26
+ modelKey
27
+ } = ownerState;
28
+ const sorted = modelKey === 'columns' && ownerState.modelValue.sort;
29
+ const slots = {
30
+ root: ['pivotPanelField', sorted && 'pivotPanelField--sorted'],
31
+ name: ['pivotPanelFieldName'],
32
+ actionContainer: ['pivotPanelFieldActionContainer'],
33
+ dragIcon: ['pivotPanelFieldDragIcon'],
34
+ checkbox: ['pivotPanelFieldCheckbox']
35
+ };
36
+ return (0, _composeClasses.default)(slots, _xDataGridPro.getDataGridUtilityClass, classes);
37
+ };
38
+ const GridPivotPanelFieldRoot = (0, _system.styled)('div', {
39
+ name: 'MuiDataGrid',
40
+ slot: 'PivotPanelField',
41
+ overridesResolver: (props, styles) => [{
42
+ [`&.${_xDataGridPro.gridClasses['pivotPanelField--sorted']}`]: styles['pivotPanelField--sorted']
43
+ }, styles.pivotPanelField]
44
+ })({
45
+ flexShrink: 0,
46
+ position: 'relative',
47
+ padding: _internals.vars.spacing(0, 1, 0, 2),
48
+ height: 32,
49
+ display: 'flex',
50
+ alignItems: 'center',
51
+ gap: _internals.vars.spacing(0.5),
52
+ borderWidth: 0,
53
+ borderTopWidth: 2,
54
+ borderBottomWidth: 2,
55
+ borderStyle: 'solid',
56
+ borderColor: 'transparent',
57
+ margin: '-1px 0',
58
+ // collapse vertical borders
59
+ cursor: 'grab',
60
+ variants: [{
61
+ props: {
62
+ dropPosition: 'top'
63
+ },
64
+ style: {
65
+ borderTopColor: _internals.vars.colors.interactive.selected
66
+ }
67
+ }, {
68
+ props: {
69
+ dropPosition: 'bottom'
70
+ },
71
+ style: {
72
+ borderBottomColor: _internals.vars.colors.interactive.selected
73
+ }
74
+ }, {
75
+ props: {
76
+ section: null
77
+ },
78
+ style: {
79
+ borderTopColor: 'transparent',
80
+ borderBottomColor: 'transparent'
81
+ }
82
+ }],
83
+ '&:hover': {
84
+ backgroundColor: _internals.vars.colors.interactive.hover
85
+ }
86
+ });
87
+ const GridPivotPanelFieldName = (0, _system.styled)('span', {
88
+ name: 'MuiDataGrid',
89
+ slot: 'PivotPanelFieldName'
90
+ })({
91
+ flex: 1,
92
+ overflow: 'hidden',
93
+ textOverflow: 'ellipsis',
94
+ whiteSpace: 'nowrap'
95
+ });
96
+ const GridPivotPanelFieldActionContainer = (0, _system.styled)('div', {
97
+ name: 'MuiDataGrid',
98
+ slot: 'PivotPanelFieldActionContainer'
99
+ })({
100
+ display: 'flex',
101
+ alignItems: 'center'
102
+ });
103
+ const GridPivotPanelFieldDragIcon = (0, _system.styled)('div', {
104
+ name: 'MuiDataGrid',
105
+ slot: 'PivotPanelFieldDragIcon'
106
+ })({
107
+ position: 'absolute',
108
+ left: -1,
109
+ width: 16,
110
+ display: 'flex',
111
+ justifyContent: 'center',
112
+ color: _internals.vars.colors.foreground.base,
113
+ opacity: 0,
114
+ '[draggable="true"]:hover > &': {
115
+ opacity: 0.3
116
+ }
117
+ });
118
+ const GridPivotPanelFieldCheckbox = (0, _system.styled)(_internals.NotRendered, {
119
+ name: 'MuiDataGrid',
120
+ slot: 'PivotPanelFieldCheckbox'
121
+ })({
122
+ flex: 1,
123
+ position: 'relative',
124
+ margin: _internals.vars.spacing(0, 0, 0, -1),
125
+ cursor: 'grab'
126
+ });
127
+ function AggregationSelect({
128
+ aggFunc,
129
+ field
130
+ }) {
131
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
132
+ const [aggregationMenuOpen, setAggregationMenuOpen] = React.useState(false);
133
+ const aggregationMenuTriggerRef = React.useRef(null);
134
+ const aggregationMenuTriggerId = (0, _useId.default)();
135
+ const aggregationMenuId = (0, _useId.default)();
136
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
137
+ const initialColumns = (0, _xDataGridPro.useGridSelector)(apiRef, _gridPivotingSelectors.gridPivotInitialColumnsSelector);
138
+ const colDef = initialColumns.get(field);
139
+ const availableAggregationFunctions = React.useMemo(() => (0, _gridAggregationUtils.getAvailableAggregationFunctions)({
140
+ aggregationFunctions: rootProps.aggregationFunctions,
141
+ colDef,
142
+ isDataSource: false
143
+ }), [colDef, rootProps.aggregationFunctions]);
144
+ const handleClick = func => {
145
+ apiRef.current.setPivotModel(prev => {
146
+ return (0, _extends2.default)({}, prev, {
147
+ values: prev.values.map(col => {
148
+ if (col.field === field) {
149
+ return (0, _extends2.default)({}, col, {
150
+ aggFunc: func
151
+ });
152
+ }
153
+ return col;
154
+ })
155
+ });
156
+ });
157
+ setAggregationMenuOpen(false);
158
+ };
159
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
160
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseChip, {
161
+ label: aggFunc,
162
+ size: "small",
163
+ variant: "outlined",
164
+ ref: aggregationMenuTriggerRef,
165
+ id: aggregationMenuTriggerId,
166
+ "aria-haspopup": "true",
167
+ "aria-controls": aggregationMenuOpen ? aggregationMenuId : undefined,
168
+ "aria-expanded": aggregationMenuOpen ? 'true' : undefined,
169
+ onClick: () => setAggregationMenuOpen(!aggregationMenuOpen)
170
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.GridMenu, {
171
+ open: aggregationMenuOpen,
172
+ onClose: () => setAggregationMenuOpen(false),
173
+ target: aggregationMenuTriggerRef.current,
174
+ position: "bottom-start",
175
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuList, (0, _extends2.default)({
176
+ id: aggregationMenuId,
177
+ "aria-labelledby": aggregationMenuTriggerId,
178
+ autoFocusItem: true
179
+ }, rootProps.slotProps?.baseMenuList, {
180
+ children: availableAggregationFunctions.map(func => /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({
181
+ selected: aggFunc === func,
182
+ onClick: () => handleClick(func)
183
+ }, rootProps.slotProps?.baseMenuItem, {
184
+ children: func
185
+ }), func))
186
+ }))
187
+ })]
188
+ });
189
+ }
190
+ function GridPivotPanelField(props) {
191
+ const {
192
+ children,
193
+ field,
194
+ onDragStart,
195
+ onDragEnd
196
+ } = props;
197
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
198
+ const [dropPosition, setDropPosition] = React.useState(null);
199
+ const section = props.modelKey;
200
+ const ownerState = (0, _extends2.default)({}, props, {
201
+ classes: rootProps.classes,
202
+ dropPosition,
203
+ section
204
+ });
205
+ const classes = useUtilityClasses(ownerState);
206
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
207
+ const handleDragStart = React.useCallback(event => {
208
+ const data = {
209
+ field,
210
+ modelKey: section
211
+ };
212
+ event.dataTransfer.setData('text/plain', JSON.stringify(data));
213
+ event.dataTransfer.dropEffect = 'move';
214
+ onDragStart(section);
215
+ }, [field, onDragStart, section]);
216
+ const getDropPosition = React.useCallback(event => {
217
+ const rect = event.target.getBoundingClientRect();
218
+ const y = event.clientY - rect.top;
219
+ if (y < rect.height / 2) {
220
+ return 'top';
221
+ }
222
+ return 'bottom';
223
+ }, []);
224
+ const handleDragOver = React.useCallback(event => {
225
+ if (!event.currentTarget.contains(event.relatedTarget)) {
226
+ setDropPosition(getDropPosition(event));
227
+ }
228
+ }, [getDropPosition]);
229
+ const handleDragLeave = React.useCallback(event => {
230
+ if (!event.currentTarget.contains(event.relatedTarget)) {
231
+ setDropPosition(null);
232
+ }
233
+ }, []);
234
+ const handleDrop = React.useCallback(event => {
235
+ setDropPosition(null);
236
+ if (!event.currentTarget.contains(event.relatedTarget)) {
237
+ event.preventDefault();
238
+ const position = getDropPosition(event);
239
+ const {
240
+ field: droppedField,
241
+ modelKey: originSection
242
+ } = JSON.parse(event.dataTransfer.getData('text/plain'));
243
+ apiRef.current.updatePivotModel({
244
+ field: droppedField,
245
+ targetField: field,
246
+ targetFieldPosition: position,
247
+ originSection,
248
+ targetSection: section
249
+ });
250
+ }
251
+ }, [getDropPosition, apiRef, field, section]);
252
+ const handleSort = () => {
253
+ const currentSort = section === 'columns' ? props.modelValue.sort : null;
254
+ let newValue;
255
+ if (currentSort === 'asc') {
256
+ newValue = 'desc';
257
+ } else if (currentSort === 'desc') {
258
+ newValue = undefined;
259
+ } else {
260
+ newValue = 'asc';
261
+ }
262
+ apiRef.current.setPivotModel(prev => {
263
+ return (0, _extends2.default)({}, prev, {
264
+ columns: prev.columns.map(col => {
265
+ if (col.field === field) {
266
+ return (0, _extends2.default)({}, col, {
267
+ sort: newValue
268
+ });
269
+ }
270
+ return col;
271
+ })
272
+ });
273
+ });
274
+ };
275
+ const handleVisibilityChange = event => {
276
+ if (section) {
277
+ apiRef.current.setPivotModel(prev => {
278
+ return (0, _extends2.default)({}, prev, {
279
+ [section]: prev[section].map(col => {
280
+ if (col.field === field) {
281
+ return (0, _extends2.default)({}, col, {
282
+ hidden: !event.target.checked
283
+ });
284
+ }
285
+ return col;
286
+ })
287
+ });
288
+ });
289
+ }
290
+ };
291
+ const hideable = section !== null;
292
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridPivotPanelFieldRoot, {
293
+ ownerState: ownerState,
294
+ className: classes.root,
295
+ onDragOver: handleDragOver,
296
+ onDragLeave: handleDragLeave,
297
+ onDrop: handleDrop,
298
+ onDragStart: handleDragStart,
299
+ onDragEnd: onDragEnd,
300
+ draggable: "true",
301
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPivotPanelFieldDragIcon, {
302
+ ownerState: ownerState,
303
+ className: classes.dragIcon,
304
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnReorderIcon, {
305
+ fontSize: "small"
306
+ })
307
+ }), hideable ? /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPivotPanelFieldCheckbox, (0, _extends2.default)({
308
+ ownerState: ownerState,
309
+ className: classes.checkbox,
310
+ as: rootProps.slots.baseCheckbox,
311
+ size: "small",
312
+ density: "compact"
313
+ }, rootProps.slotProps?.baseCheckbox, {
314
+ checked: !props.modelValue.hidden || false,
315
+ onChange: handleVisibilityChange,
316
+ label: children
317
+ })) : /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPivotPanelFieldName, {
318
+ ownerState: ownerState,
319
+ className: classes.name,
320
+ children: children
321
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridPivotPanelFieldActionContainer, {
322
+ ownerState: ownerState,
323
+ className: classes.actionContainer,
324
+ children: [section === 'columns' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.GridColumnSortButton, {
325
+ field: field,
326
+ direction: props.modelValue.sort,
327
+ sortingOrder: rootProps.sortingOrder,
328
+ onClick: handleSort
329
+ }), section === 'values' && /*#__PURE__*/(0, _jsxRuntime.jsx)(AggregationSelect, {
330
+ aggFunc: props.modelValue.aggFunc,
331
+ field: field
332
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridPivotPanelFieldMenu.GridPivotPanelFieldMenu, {
333
+ field: field,
334
+ modelKey: section
335
+ })]
336
+ })]
337
+ });
338
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { FieldTransferObject } from './GridPivotPanelBody';
3
+ interface GridPivotPanelFieldMenuProps {
4
+ field: string;
5
+ modelKey: FieldTransferObject['modelKey'];
6
+ }
7
+ declare function GridPivotPanelFieldMenu(props: GridPivotPanelFieldMenuProps): React.JSX.Element;
8
+ export { GridPivotPanelFieldMenu };
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridPivotPanelFieldMenu = GridPivotPanelFieldMenu;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _xDataGridPro = require("@mui/x-data-grid-pro");
12
+ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
13
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
14
+ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
15
+ var _gridPivotingSelectors = require("../../hooks/features/pivoting/gridPivotingSelectors");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function GridPivotPanelFieldMenu(props) {
18
+ const {
19
+ field,
20
+ modelKey
21
+ } = props;
22
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
23
+ const [open, setOpen] = React.useState(false);
24
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
25
+ const isAvailableField = modelKey === null;
26
+ const pivotModel = (0, _xDataGridPro.useGridSelector)(apiRef, _gridPivotingSelectors.gridPivotModelSelector);
27
+ const fieldIndexInModel = !isAvailableField ? pivotModel[modelKey].findIndex(item => item.field === field) : -1;
28
+ const modelLength = !isAvailableField ? pivotModel[modelKey].length : 0;
29
+ const canMoveUp = fieldIndexInModel > 0;
30
+ const canMoveDown = !isAvailableField && fieldIndexInModel < modelLength - 1;
31
+ const menuId = (0, _useId.default)();
32
+ const triggerId = (0, _useId.default)();
33
+ const triggerRef = React.useRef(null);
34
+ const getMenuItems = React.useCallback(() => {
35
+ if (isAvailableField) {
36
+ return [{
37
+ key: 'rows',
38
+ label: apiRef.current.getLocaleText('pivotMenuAddToRows')
39
+ }, {
40
+ key: 'columns',
41
+ label: apiRef.current.getLocaleText('pivotMenuAddToColumns')
42
+ }, {
43
+ key: 'values',
44
+ label: apiRef.current.getLocaleText('pivotMenuAddToValues')
45
+ }];
46
+ }
47
+ return [{
48
+ key: 'up',
49
+ label: apiRef.current.getLocaleText('pivotMenuMoveUp'),
50
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuMoveUpIcon, {}),
51
+ disabled: !canMoveUp
52
+ }, {
53
+ key: 'down',
54
+ label: apiRef.current.getLocaleText('pivotMenuMoveDown'),
55
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuMoveDownIcon, {}),
56
+ disabled: !canMoveDown
57
+ }, {
58
+ divider: true
59
+ }, {
60
+ key: 'top',
61
+ label: apiRef.current.getLocaleText('pivotMenuMoveToTop'),
62
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuMoveToTopIcon, {}),
63
+ disabled: !canMoveUp
64
+ }, {
65
+ key: 'bottom',
66
+ label: apiRef.current.getLocaleText('pivotMenuMoveToBottom'),
67
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuMoveToBottomIcon, {}),
68
+ disabled: !canMoveDown
69
+ }, {
70
+ divider: true
71
+ }, {
72
+ key: 'rows',
73
+ label: apiRef.current.getLocaleText('pivotMenuRows'),
74
+ icon: modelKey === 'rows' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuCheckIcon, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {})
75
+ }, {
76
+ key: 'columns',
77
+ label: apiRef.current.getLocaleText('pivotMenuColumns'),
78
+ icon: modelKey === 'columns' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuCheckIcon, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {})
79
+ }, {
80
+ key: 'values',
81
+ label: apiRef.current.getLocaleText('pivotMenuValues'),
82
+ icon: modelKey === 'values' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuCheckIcon, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {})
83
+ }, {
84
+ divider: true
85
+ }, {
86
+ key: null,
87
+ label: apiRef.current.getLocaleText('pivotMenuRemove'),
88
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuRemoveIcon, {})
89
+ }];
90
+ }, [isAvailableField, apiRef, rootProps, canMoveUp, canMoveDown, modelKey]);
91
+ const handleClick = () => {
92
+ setOpen(!open);
93
+ };
94
+ const handleClose = () => {
95
+ setOpen(false);
96
+ };
97
+ const handleMove = to => {
98
+ handleClose();
99
+
100
+ // Do nothing if the field is already in the target section
101
+ if (to === modelKey) {
102
+ return;
103
+ }
104
+ let targetField;
105
+ let targetFieldPosition = null;
106
+ let targetSection = modelKey;
107
+ switch (to) {
108
+ case 'up':
109
+ targetField = pivotModel[modelKey][fieldIndexInModel - 1].field;
110
+ targetFieldPosition = 'top';
111
+ break;
112
+ case 'down':
113
+ targetField = pivotModel[modelKey][fieldIndexInModel + 1].field;
114
+ targetFieldPosition = 'bottom';
115
+ break;
116
+ case 'top':
117
+ targetField = pivotModel[modelKey][0].field;
118
+ targetFieldPosition = 'top';
119
+ break;
120
+ case 'bottom':
121
+ targetField = pivotModel[modelKey][modelLength - 1].field;
122
+ targetFieldPosition = 'bottom';
123
+ break;
124
+ case 'rows':
125
+ case 'columns':
126
+ case 'values':
127
+ case null:
128
+ targetSection = to;
129
+ break;
130
+ default:
131
+ break;
132
+ }
133
+ apiRef.current.updatePivotModel({
134
+ field,
135
+ targetField,
136
+ targetFieldPosition,
137
+ targetSection,
138
+ originSection: modelKey
139
+ });
140
+ };
141
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
142
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
143
+ size: "small"
144
+ }, rootProps.slotProps?.baseIconButton, {
145
+ id: triggerId,
146
+ "aria-haspopup": "true",
147
+ "aria-controls": open ? menuId : undefined,
148
+ "aria-expanded": open ? 'true' : undefined,
149
+ "aria-label": apiRef.current.getLocaleText('pivotMenuOptions'),
150
+ onClick: handleClick,
151
+ ref: triggerRef,
152
+ children: isAvailableField ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pivotMenuAddIcon, {
153
+ fontSize: "small"
154
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnMenuIcon, {
155
+ fontSize: "small"
156
+ })
157
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDataGridPro.GridMenu, {
158
+ target: triggerRef.current,
159
+ open: open,
160
+ onClose: handleClose,
161
+ position: "bottom-start",
162
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuList, (0, _extends2.default)({
163
+ id: menuId,
164
+ "aria-labelledby": triggerId,
165
+ autoFocusItem: true
166
+ }, rootProps.slotProps?.baseMenuList, {
167
+ children: getMenuItems().map((item, index) => 'divider' in item ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseDivider, {}, `divider-${index}`) : /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({
168
+ disabled: item.disabled,
169
+ onClick: () => handleMove(item.key),
170
+ iconStart: item.icon
171
+ }, rootProps.slotProps?.baseMenuItem, {
172
+ children: item.label
173
+ }), item.key))
174
+ }))
175
+ })]
176
+ });
177
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ export interface GridPivotPanelHeaderProps {
3
+ searchValue: string;
4
+ onSearchValueChange: (value: string) => void;
5
+ }
6
+ declare function GridPivotPanelHeader(props: GridPivotPanelHeaderProps): React.JSX.Element;
7
+ export { GridPivotPanelHeader };
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GridPivotPanelHeader = GridPivotPanelHeader;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _system = require("@mui/system");
12
+ var _xDataGridPro = require("@mui/x-data-grid-pro");
13
+ var _internals = require("@mui/x-data-grid-pro/internals");
14
+ var _utils = require("@mui/utils");
15
+ var _sidebar = require("../sidebar");
16
+ var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
17
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
18
+ var _gridPivotingSelectors = require("../../hooks/features/pivoting/gridPivotingSelectors");
19
+ var _GridPivotPanelSearch = require("./GridPivotPanelSearch");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ const useUtilityClasses = ownerState => {
22
+ const {
23
+ classes
24
+ } = ownerState;
25
+ const slots = {
26
+ root: ['pivotPanelHeader'],
27
+ switch: ['pivotPanelSwitch'],
28
+ label: ['pivotPanelSwitchLabel']
29
+ };
30
+ return (0, _utils.unstable_composeClasses)(slots, _xDataGridPro.getDataGridUtilityClass, classes);
31
+ };
32
+ const GridPivotPanelHeaderRoot = (0, _system.styled)('div', {
33
+ name: 'MuiDataGrid',
34
+ slot: 'PivotPanelHeader'
35
+ })({
36
+ display: 'flex',
37
+ alignItems: 'center',
38
+ gap: _internals.vars.spacing(1),
39
+ padding: _internals.vars.spacing(0, 0.75, 0, 1),
40
+ boxSizing: 'border-box',
41
+ height: 52
42
+ });
43
+ const GridPivotPanelSwitch = (0, _system.styled)(_internals.NotRendered, {
44
+ name: 'MuiDataGrid',
45
+ slot: 'PivotPanelSwitch'
46
+ })({
47
+ marginRight: 'auto'
48
+ });
49
+ const GridPivotPanelSwitchLabel = (0, _system.styled)('span', {
50
+ name: 'MuiDataGrid',
51
+ slot: 'PivotPanelSwitchLabel'
52
+ })({
53
+ fontWeight: _internals.vars.typography.fontWeight.medium
54
+ });
55
+ function GridPivotPanelHeader(props) {
56
+ const {
57
+ searchValue,
58
+ onSearchValueChange
59
+ } = props;
60
+ const apiRef = (0, _useGridApiContext.useGridApiContext)();
61
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
62
+ const pivotActive = (0, _xDataGridPro.useGridSelector)(apiRef, _gridPivotingSelectors.gridPivotActiveSelector);
63
+ const classes = useUtilityClasses(rootProps);
64
+ const rows = (0, _xDataGridPro.useGridSelector)(apiRef, _xDataGridPro.gridRowCountSelector);
65
+ const isEmptyPivot = pivotActive && rows === 0;
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sidebar.SidebarHeader, {
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(GridPivotPanelHeaderRoot, {
68
+ ownerState: rootProps,
69
+ className: classes.root,
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPivotPanelSwitch, (0, _extends2.default)({
71
+ as: rootProps.slots.baseSwitch,
72
+ ownerState: rootProps,
73
+ className: classes.switch,
74
+ checked: pivotActive,
75
+ onChange: event => apiRef.current.setPivotActive(event.target.checked),
76
+ size: "small",
77
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPivotPanelSwitchLabel, {
78
+ ownerState: rootProps,
79
+ className: classes.label,
80
+ children: apiRef.current.getLocaleText('pivotToggleLabel')
81
+ })
82
+ }, rootProps.slotProps?.baseSwitch)), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
83
+ onClick: () => {
84
+ apiRef.current.setPivotPanelOpen(false);
85
+ if (isEmptyPivot) {
86
+ apiRef.current.setPivotActive(false);
87
+ }
88
+ },
89
+ "aria-label": apiRef.current.getLocaleText('pivotCloseButton')
90
+ }, rootProps.slotProps?.baseIconButton, {
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.sidebarCloseIcon, {
92
+ fontSize: "small"
93
+ })
94
+ }))]
95
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridPivotPanelSearch.GridPivotPanelSearch, {
96
+ value: searchValue,
97
+ onClear: () => onSearchValueChange(''),
98
+ onChange: event => onSearchValueChange(event.target.value)
99
+ })]
100
+ });
101
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { GridSlotProps } from '@mui/x-data-grid-pro';
3
+ export type GridPivotPanelSearchProps = Pick<GridSlotProps['baseTextField'], 'value' | 'onChange'> & {
4
+ onClear: () => void;
5
+ };
6
+ declare function GridPivotPanelSearch(props: GridPivotPanelSearchProps): React.JSX.Element;
7
+ export { GridPivotPanelSearch };