@ant-design/agentic-ui 2.8.0 → 2.10.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 (585) hide show
  1. package/dist/AgentRunBar/Robot.js +105 -57
  2. package/dist/AgentRunBar/icons/PauseIcon.js +38 -38
  3. package/dist/AgentRunBar/icons/PlayIcon.js +38 -38
  4. package/dist/AgentRunBar/icons/SimplePauseIcon.js +38 -38
  5. package/dist/AgentRunBar/icons/SimplePlayIcon.js +38 -38
  6. package/dist/AgentRunBar/icons/SimpleStopIcon.js +38 -38
  7. package/dist/AgentRunBar/icons/StopIcon.js +41 -50
  8. package/dist/AgentRunBar/icons/index.js +0 -1
  9. package/dist/AgentRunBar/index.js +270 -237
  10. package/dist/AgentRunBar/style.js +273 -239
  11. package/dist/AgenticLayout/index.js +140 -85
  12. package/dist/AgenticLayout/style.js +126 -107
  13. package/dist/AnswerAlert/components/CloseIcon.js +12 -21
  14. package/dist/AnswerAlert/components/ErrorIcon.js +42 -38
  15. package/dist/AnswerAlert/components/InfoIcon.js +42 -38
  16. package/dist/AnswerAlert/components/LoaderIcon.js +12 -21
  17. package/dist/AnswerAlert/components/SuccessIcon.js +42 -38
  18. package/dist/AnswerAlert/components/WarningIcon.js +42 -38
  19. package/dist/AnswerAlert/index.js +155 -75
  20. package/dist/AnswerAlert/style.js +159 -147
  21. package/dist/BackTo/BackBottom.js +154 -70
  22. package/dist/BackTo/BackTop.js +148 -68
  23. package/dist/BackTo/ScrollVisibleButton.js +124 -98
  24. package/dist/BackTo/hooks/useScrollVisible.js +79 -33
  25. package/dist/BackTo/icons/BottomIcon.js +37 -37
  26. package/dist/BackTo/icons/TopIcon.js +37 -37
  27. package/dist/BackTo/index.js +22 -7
  28. package/dist/BackTo/style.js +93 -70
  29. package/dist/Bubble/AIBubble.js +469 -406
  30. package/dist/Bubble/Avatar/index.js +139 -85
  31. package/dist/Bubble/Avatar/isEmoji.js +2 -6
  32. package/dist/Bubble/Bubble.js +114 -38
  33. package/dist/Bubble/BubbleBeforeNode.js +104 -74
  34. package/dist/Bubble/BubbleConfigProvide.js +3 -7
  35. package/dist/Bubble/FileView.js +63 -69
  36. package/dist/Bubble/List/PureBubbleList.js +130 -131
  37. package/dist/Bubble/List/SkeletonList.js +33 -24
  38. package/dist/Bubble/List/index.js +187 -124
  39. package/dist/Bubble/List/style.js +76 -47
  40. package/dist/Bubble/MessagesContent/BubbleContext.js +6 -12
  41. package/dist/Bubble/MessagesContent/BubbleExtra.js +663 -355
  42. package/dist/Bubble/MessagesContent/CopyButton/index.js +326 -96
  43. package/dist/Bubble/MessagesContent/DocInfo.js +351 -386
  44. package/dist/Bubble/MessagesContent/EXCEPTION.js +42 -22
  45. package/dist/Bubble/MessagesContent/MarkdownPreview.js +206 -156
  46. package/dist/Bubble/MessagesContent/VoiceButton/index.js +213 -115
  47. package/dist/Bubble/MessagesContent/VoiceButton/style.js +129 -105
  48. package/dist/Bubble/MessagesContent/VoiceButton/types.js +9 -0
  49. package/dist/Bubble/MessagesContent/docInfoStyle.js +118 -88
  50. package/dist/Bubble/MessagesContent/icons.js +157 -57
  51. package/dist/Bubble/MessagesContent/index.js +609 -368
  52. package/dist/Bubble/PureBubble.js +439 -326
  53. package/dist/Bubble/Title.js +110 -87
  54. package/dist/Bubble/UserBubble.js +218 -279
  55. package/dist/Bubble/index.js +10 -16
  56. package/dist/Bubble/style.js +248 -227
  57. package/dist/Bubble/type.js +3 -0
  58. package/dist/Bubble/types/BubbleExtra.js +1 -0
  59. package/dist/Bubble/types/DocInfo.js +1 -0
  60. package/dist/ChatBootPage/ButtonTab.js +25 -45
  61. package/dist/ChatBootPage/ButtonTabGroup.js +74 -47
  62. package/dist/ChatBootPage/ButtonTabGroupStyle.js +73 -45
  63. package/dist/ChatBootPage/ButtonTabStyle.js +121 -98
  64. package/dist/ChatBootPage/CaseReply.js +119 -113
  65. package/dist/ChatBootPage/CaseReplyStyle.js +217 -189
  66. package/dist/ChatBootPage/Title.js +19 -23
  67. package/dist/ChatBootPage/index.js +9 -11
  68. package/dist/ChatBootPage/style.js +80 -50
  69. package/dist/ChatLayout/index.js +93 -57
  70. package/dist/ChatLayout/style.js +206 -176
  71. package/dist/ChatLayout/types.js +1 -0
  72. package/dist/Components/ActionIconBox/index.js +571 -197
  73. package/dist/Components/ActionIconBox/style.js +141 -111
  74. package/dist/Components/ActionItemBox/ActionItemBox.js +95 -149
  75. package/dist/Components/ActionItemBox/index.js +7 -7
  76. package/dist/Components/ActionItemBox/style.js +353 -361
  77. package/dist/Components/Button/IconButton/index.js +35 -43
  78. package/dist/Components/Button/IconButton/style.js +357 -331
  79. package/dist/Components/Button/SwitchButton/index.js +243 -87
  80. package/dist/Components/Button/SwitchButton/style.js +160 -146
  81. package/dist/Components/Button/ToggleButton/index.js +46 -57
  82. package/dist/Components/Button/ToggleButton/style.js +283 -258
  83. package/dist/Components/Button/index.js +6 -2
  84. package/dist/Components/GradientText/index.js +21 -27
  85. package/dist/Components/GradientText/style.js +88 -63
  86. package/dist/Components/ImageList.js +111 -133
  87. package/dist/Components/LayoutHeader/index.js +145 -81
  88. package/dist/Components/LayoutHeader/style.js +89 -64
  89. package/dist/Components/LayoutHeader/types.js +3 -0
  90. package/dist/Components/Loading/index.js +53 -22
  91. package/dist/Components/Robot/index.js +90 -56
  92. package/dist/Components/Robot/lotties/DazingLottie/index.js +78 -47
  93. package/dist/Components/Robot/lotties/ThinkingLottie/index.js +78 -47
  94. package/dist/Components/Robot/lotties/index.js +0 -1
  95. package/dist/Components/SuggestionList/index.js +354 -182
  96. package/dist/Components/SuggestionList/style.js +204 -186
  97. package/dist/Components/TextAnimate/index.js +494 -362
  98. package/dist/Components/TextAnimate/style.js +72 -48
  99. package/dist/Components/TypingAnimation/index.js +214 -169
  100. package/dist/Components/TypingAnimation/style.js +76 -52
  101. package/dist/Components/VisualList/index.js +267 -180
  102. package/dist/Components/VisualList/style.js +140 -124
  103. package/dist/Components/icons/LoadingSpinnerIcon.js +124 -73
  104. package/dist/Components/lotties/DazingLottie/index.js +78 -47
  105. package/dist/Components/lotties/LoadingLottie/index.js +82 -48
  106. package/dist/Components/lotties/TextLoading/index.js +73 -49
  107. package/dist/Components/lotties/TextLoading/style.js +95 -78
  108. package/dist/Components/lotties/ThinkingLottie/index.js +78 -47
  109. package/dist/Components/lotties/index.js +0 -1
  110. package/dist/Constants/colors.js +71 -97
  111. package/dist/History/components/HistoryActionsBox.js +407 -180
  112. package/dist/History/components/HistoryEmpty.js +38 -42
  113. package/dist/History/components/HistoryEmptyIcon.js +682 -964
  114. package/dist/History/components/HistoryItem.js +683 -471
  115. package/dist/History/components/HistoryList.js +170 -87
  116. package/dist/History/components/HistoryRunningIcon.js +160 -111
  117. package/dist/History/components/LoadMoreComponent.js +308 -103
  118. package/dist/History/components/NewChatComponent.js +261 -69
  119. package/dist/History/components/NewChatComponent.style.js +79 -53
  120. package/dist/History/components/SearchComponent.js +367 -156
  121. package/dist/History/components/index.js +11 -23
  122. package/dist/History/hooks/useHistory.js +404 -129
  123. package/dist/History/index.js +301 -186
  124. package/dist/History/menu.js +158 -212
  125. package/dist/History/style.js +282 -276
  126. package/dist/History/types/HistoryData.js +6 -10
  127. package/dist/History/types/HistoryList.js +3 -0
  128. package/dist/History/types/index.js +3 -0
  129. package/dist/History/utils/index.js +35 -32
  130. package/dist/Hooks/useAutoScroll.js +262 -84
  131. package/dist/Hooks/useClickAway.js +60 -21
  132. package/dist/Hooks/useCopied.js +72 -20
  133. package/dist/Hooks/useDebounceFn/index.js +213 -55
  134. package/dist/Hooks/useIntersectionOnce.js +163 -74
  135. package/dist/Hooks/useLanguage.d.ts +3 -0
  136. package/dist/Hooks/useLanguage.js +67 -26
  137. package/dist/Hooks/useRefFunction/index.js +76 -11
  138. package/dist/Hooks/useSpeechSynthesis.js +143 -99
  139. package/dist/Hooks/useStyle/index.js +95 -60
  140. package/dist/Hooks/useThrottleFn/index.js +41 -41
  141. package/dist/I18n/index.js +246 -109
  142. package/dist/I18n/locales.d.ts +3 -0
  143. package/dist/I18n/locales.js +724 -711
  144. package/dist/Icons/animated/VoicePlayLottie/index.js +75 -46
  145. package/dist/Icons/animated/VoicingLottie/index.js +78 -47
  146. package/dist/MarkdownEditor/BaseMarkdownEditor.js +421 -349
  147. package/dist/MarkdownEditor/editor/Editor.js +1160 -843
  148. package/dist/MarkdownEditor/editor/components/CommentList/index.js +407 -239
  149. package/dist/MarkdownEditor/editor/components/CommentList/style.js +119 -89
  150. package/dist/MarkdownEditor/editor/components/ContributorAvatar/index.js +61 -63
  151. package/dist/MarkdownEditor/editor/components/ContributorAvatar/style.js +82 -52
  152. package/dist/MarkdownEditor/editor/components/LazyElement/index.js +208 -106
  153. package/dist/MarkdownEditor/editor/components/LazyElement/style.js +69 -42
  154. package/dist/MarkdownEditor/editor/components/fntTag/index.js +7 -11
  155. package/dist/MarkdownEditor/editor/components/fntTag/style.js +66 -36
  156. package/dist/MarkdownEditor/editor/components/index.js +0 -1
  157. package/dist/MarkdownEditor/editor/elements/Blockquote.js +95 -37
  158. package/dist/MarkdownEditor/editor/elements/Break.js +56 -25
  159. package/dist/MarkdownEditor/editor/elements/Card/index.js +131 -52
  160. package/dist/MarkdownEditor/editor/elements/Code.js +89 -67
  161. package/dist/MarkdownEditor/editor/elements/Comment/index.js +79 -50
  162. package/dist/MarkdownEditor/editor/elements/ErrorBoundary.js +117 -21
  163. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition.js +83 -64
  164. package/dist/MarkdownEditor/editor/elements/FootnoteReference.js +115 -41
  165. package/dist/MarkdownEditor/editor/elements/Head.js +131 -67
  166. package/dist/MarkdownEditor/editor/elements/Hr.js +63 -38
  167. package/dist/MarkdownEditor/editor/elements/Image/index.js +636 -494
  168. package/dist/MarkdownEditor/editor/elements/InlineKatex.js +60 -44
  169. package/dist/MarkdownEditor/editor/elements/Katex.js +71 -55
  170. package/dist/MarkdownEditor/editor/elements/LinkCard/index.js +79 -175
  171. package/dist/MarkdownEditor/editor/elements/LinkCard/style.js +130 -100
  172. package/dist/MarkdownEditor/editor/elements/List/List.js +96 -69
  173. package/dist/MarkdownEditor/editor/elements/List/ListItem.js +422 -247
  174. package/dist/MarkdownEditor/editor/elements/List/index.js +1 -5
  175. package/dist/MarkdownEditor/editor/elements/List/style.js +131 -117
  176. package/dist/MarkdownEditor/editor/elements/Media.js +637 -519
  177. package/dist/MarkdownEditor/editor/elements/Mermaid.js +79 -54
  178. package/dist/MarkdownEditor/editor/elements/Paragraph.js +144 -83
  179. package/dist/MarkdownEditor/editor/elements/Schema.js +167 -128
  180. package/dist/MarkdownEditor/editor/elements/Table/ReadonlyTableComponent.js +211 -178
  181. package/dist/MarkdownEditor/editor/elements/Table/SimpleTable.js +73 -49
  182. package/dist/MarkdownEditor/editor/elements/Table/Table.js +285 -204
  183. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/index.js +397 -280
  184. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/style.js +126 -101
  185. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/index.js +381 -276
  186. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/style.js +120 -98
  187. package/dist/MarkdownEditor/editor/elements/Table/TableContext.js +64 -21
  188. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/index.js +52 -42
  189. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/style.js +69 -39
  190. package/dist/MarkdownEditor/editor/elements/Table/Td/index.js +126 -72
  191. package/dist/MarkdownEditor/editor/elements/Table/Td/style.js +85 -55
  192. package/dist/MarkdownEditor/editor/elements/Table/index.js +204 -105
  193. package/dist/MarkdownEditor/editor/elements/Table/style.js +244 -233
  194. package/dist/MarkdownEditor/editor/elements/Table/useScrollShadow.js +119 -62
  195. package/dist/MarkdownEditor/editor/elements/TagPopup/index.js +438 -276
  196. package/dist/MarkdownEditor/editor/elements/TagPopup/style.js +103 -77
  197. package/dist/MarkdownEditor/editor/elements/index.js +437 -424
  198. package/dist/MarkdownEditor/editor/parser/json-parse.js +38 -9
  199. package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +1753 -1168
  200. package/dist/MarkdownEditor/editor/parser/parserMdToSchema.js +16 -20
  201. package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +1021 -606
  202. package/dist/MarkdownEditor/editor/parser/remarkParse.js +158 -102
  203. package/dist/MarkdownEditor/editor/plugins/catchError.js +78 -17
  204. package/dist/MarkdownEditor/editor/plugins/elements.js +458 -342
  205. package/dist/MarkdownEditor/editor/plugins/handlePaste.js +752 -300
  206. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/arrow.js +215 -129
  207. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +325 -180
  208. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/enter.js +576 -418
  209. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +157 -47
  210. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +331 -209
  211. package/dist/MarkdownEditor/editor/plugins/index.js +0 -1
  212. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +1245 -507
  213. package/dist/MarkdownEditor/editor/plugins/parseMarkdownToNodesAndInsert.js +36 -24
  214. package/dist/MarkdownEditor/editor/plugins/useHighlight.js +267 -116
  215. package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +234 -160
  216. package/dist/MarkdownEditor/editor/plugins/useOnchange.js +253 -92
  217. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +728 -439
  218. package/dist/MarkdownEditor/editor/store.js +1819 -1389
  219. package/dist/MarkdownEditor/editor/style.js +551 -506
  220. package/dist/MarkdownEditor/editor/tagStyles.js +43 -43
  221. package/dist/MarkdownEditor/editor/tools/DragHandle.js +56 -54
  222. package/dist/MarkdownEditor/editor/tools/InsertAutocomplete.js +1049 -732
  223. package/dist/MarkdownEditor/editor/tools/InsertLink.js +232 -181
  224. package/dist/MarkdownEditor/editor/tools/Leading.js +566 -303
  225. package/dist/MarkdownEditor/editor/tools/ToolBar/BaseBar.js +415 -377
  226. package/dist/MarkdownEditor/editor/tools/ToolBar/FloatBar.js +162 -125
  227. package/dist/MarkdownEditor/editor/tools/ToolBar/ReadonlyBaseBar.js +480 -258
  228. package/dist/MarkdownEditor/editor/tools/ToolBar/ToolBar.js +44 -44
  229. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ClearFormatButton.js +20 -35
  230. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ColorPickerButton.js +69 -73
  231. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormatButton.js +13 -19
  232. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormattingTools.js +34 -41
  233. package/dist/MarkdownEditor/editor/tools/ToolBar/components/HeadingDropdown.js +53 -47
  234. package/dist/MarkdownEditor/editor/tools/ToolBar/components/LinkButton.js +11 -19
  235. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ToolBarItem.js +23 -43
  236. package/dist/MarkdownEditor/editor/tools/ToolBar/components/UndoRedoButtons.js +14 -25
  237. package/dist/MarkdownEditor/editor/tools/ToolBar/config/toolsConfig.js +139 -102
  238. package/dist/MarkdownEditor/editor/tools/ToolBar/floatBarStyle.js +95 -65
  239. package/dist/MarkdownEditor/editor/tools/ToolBar/hooks/useToolBarLogic.js +252 -161
  240. package/dist/MarkdownEditor/editor/tools/ToolBar/index.js +14 -24
  241. package/dist/MarkdownEditor/editor/tools/ToolBar/toolBarStyle.js +95 -65
  242. package/dist/MarkdownEditor/editor/tools/insertAutocompleteStyle.js +82 -52
  243. package/dist/MarkdownEditor/editor/types/Table.js +1 -0
  244. package/dist/MarkdownEditor/editor/utils/InlineChromiumBugfix.js +11 -16
  245. package/dist/MarkdownEditor/editor/utils/ace.js +136 -40
  246. package/dist/MarkdownEditor/editor/utils/docx/docxDeserializer.js +29 -32
  247. package/dist/MarkdownEditor/editor/utils/docx/index.js +0 -1
  248. package/dist/MarkdownEditor/editor/utils/docx/module.js +193 -164
  249. package/dist/MarkdownEditor/editor/utils/docx/utils.js +113 -98
  250. package/dist/MarkdownEditor/editor/utils/dom.js +119 -90
  251. package/dist/MarkdownEditor/editor/utils/editorUtils.js +1369 -906
  252. package/dist/MarkdownEditor/editor/utils/htmlToMarkdown.js +196 -184
  253. package/dist/MarkdownEditor/editor/utils/index.js +354 -215
  254. package/dist/MarkdownEditor/editor/utils/isMarkdown.js +56 -44
  255. package/dist/MarkdownEditor/editor/utils/keyboard.js +1229 -664
  256. package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +294 -76
  257. package/dist/MarkdownEditor/editor/utils/media.js +274 -99
  258. package/dist/MarkdownEditor/editor/utils/path.js +22 -16
  259. package/dist/MarkdownEditor/editor/utils/performanceMonitor.js +370 -168
  260. package/dist/MarkdownEditor/editor/utils/useLocalState.js +96 -37
  261. package/dist/MarkdownEditor/el.js +1 -0
  262. package/dist/MarkdownEditor/hooks/editor.js +123 -41
  263. package/dist/MarkdownEditor/hooks/subscribe.js +18 -15
  264. package/dist/MarkdownEditor/index.js +118 -30
  265. package/dist/MarkdownEditor/plugin.js +2 -5
  266. package/dist/MarkdownEditor/style.js +96 -66
  267. package/dist/MarkdownEditor/types.js +1 -0
  268. package/dist/MarkdownEditor/utils/exportHtml.js +42 -83
  269. package/dist/MarkdownEditor/utils/native-table/index.js +0 -1
  270. package/dist/MarkdownEditor/utils/native-table/native-table-editor.js +337 -222
  271. package/dist/MarkdownEditor/utils/native-table/native-table-keyboard.js +201 -113
  272. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.d.ts +4 -0
  273. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.js +277 -82
  274. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileIcon.js +62 -33
  275. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.js +147 -125
  276. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/index.js +174 -129
  277. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/style.js +263 -237
  278. package/dist/MarkdownInputField/AttachmentButton/index.js +480 -205
  279. package/dist/MarkdownInputField/AttachmentButton/style.js +143 -114
  280. package/dist/MarkdownInputField/AttachmentButton/types.js +3 -0
  281. package/dist/MarkdownInputField/AttachmentButton/utils.d.ts +60 -0
  282. package/dist/MarkdownInputField/AttachmentButton/utils.js +365 -33
  283. package/dist/MarkdownInputField/BeforeToolContainer/BeforeToolContainer.js +438 -404
  284. package/dist/MarkdownInputField/Enlargement/index.js +7 -17
  285. package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +193 -216
  286. package/dist/MarkdownInputField/FileMapView/index.js +387 -174
  287. package/dist/MarkdownInputField/FileMapView/style.js +281 -259
  288. package/dist/MarkdownInputField/FilePaste/index.js +239 -65
  289. package/dist/MarkdownInputField/FileUploadManager/index.js +504 -170
  290. package/dist/MarkdownInputField/MarkdownInputField.js +819 -549
  291. package/dist/MarkdownInputField/QuickActions/index.js +304 -134
  292. package/dist/MarkdownInputField/RefinePromptButton/index.js +24 -33
  293. package/dist/MarkdownInputField/RefinePromptButton/style.js +99 -73
  294. package/dist/MarkdownInputField/SendActions/index.js +179 -197
  295. package/dist/MarkdownInputField/SendButton/index.js +150 -110
  296. package/dist/MarkdownInputField/SendButton/style.js +95 -64
  297. package/dist/MarkdownInputField/SkillModeBar/hooks/index.js +3 -5
  298. package/dist/MarkdownInputField/SkillModeBar/hooks/useSkillModeState.js +51 -26
  299. package/dist/MarkdownInputField/SkillModeBar/index.js +119 -106
  300. package/dist/MarkdownInputField/SkillModeBar/style.js +124 -98
  301. package/dist/MarkdownInputField/Suggestion/index.js +391 -154
  302. package/dist/MarkdownInputField/TopOperatingArea/index.js +37 -44
  303. package/dist/MarkdownInputField/TopOperatingArea/style.js +98 -81
  304. package/dist/MarkdownInputField/VoiceInput/index.js +210 -82
  305. package/dist/MarkdownInputField/VoiceInput/style.js +85 -59
  306. package/dist/MarkdownInputField/VoiceInputManager/index.js +321 -94
  307. package/dist/MarkdownInputField/style.js +296 -233
  308. package/dist/Plugins/chart/AreaChart/index.js +541 -393
  309. package/dist/Plugins/chart/AreaChart/style.js +114 -90
  310. package/dist/Plugins/chart/BarChart/index.d.ts +4 -0
  311. package/dist/Plugins/chart/BarChart/index.js +865 -697
  312. package/dist/Plugins/chart/BarChart/style.js +114 -90
  313. package/dist/Plugins/chart/ChartAttrToolBar/ChartAttrToolBarStyle.js +82 -52
  314. package/dist/Plugins/chart/ChartAttrToolBar/index.js +94 -65
  315. package/dist/Plugins/chart/ChartMark/Area.js +176 -150
  316. package/dist/Plugins/chart/ChartMark/Bar.js +181 -152
  317. package/dist/Plugins/chart/ChartMark/Column.js +181 -151
  318. package/dist/Plugins/chart/ChartMark/Container.js +116 -75
  319. package/dist/Plugins/chart/ChartMark/Line.js +179 -151
  320. package/dist/Plugins/chart/ChartMark/Pie.js +79 -63
  321. package/dist/Plugins/chart/ChartMark/index.js +6 -13
  322. package/dist/Plugins/chart/ChartMark/useChart.js +1 -0
  323. package/dist/Plugins/chart/ChartRender.js +981 -696
  324. package/dist/Plugins/chart/ChartStatistic/index.js +47 -62
  325. package/dist/Plugins/chart/ChartStatistic/style.js +142 -143
  326. package/dist/Plugins/chart/ChartStatistic/utils.js +37 -27
  327. package/dist/Plugins/chart/DonutChart/Legend.js +94 -124
  328. package/dist/Plugins/chart/DonutChart/constants.js +4 -11
  329. package/dist/Plugins/chart/DonutChart/hooks.js +183 -112
  330. package/dist/Plugins/chart/DonutChart/index.js +588 -516
  331. package/dist/Plugins/chart/DonutChart/plugins.js +47 -44
  332. package/dist/Plugins/chart/DonutChart/style.js +186 -175
  333. package/dist/Plugins/chart/DonutChart/types.js +1 -0
  334. package/dist/Plugins/chart/FunnelChart/index.js +844 -647
  335. package/dist/Plugins/chart/FunnelChart/style.js +97 -71
  336. package/dist/Plugins/chart/LineChart/index.js +516 -393
  337. package/dist/Plugins/chart/LineChart/style.js +114 -90
  338. package/dist/Plugins/chart/RadarChart/index.js +580 -582
  339. package/dist/Plugins/chart/RadarChart/style.js +122 -112
  340. package/dist/Plugins/chart/ScatterChart/index.js +633 -640
  341. package/dist/Plugins/chart/ScatterChart/style.js +108 -94
  342. package/dist/Plugins/chart/components/ChartContainer/ChartContainer.js +151 -80
  343. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.js +160 -41
  344. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundaryExample.js +80 -62
  345. package/dist/Plugins/chart/components/ChartContainer/index.js +2 -7
  346. package/dist/Plugins/chart/components/ChartContainer/style.js +121 -91
  347. package/dist/Plugins/chart/components/ChartFilter/ChartFilter.js +58 -90
  348. package/dist/Plugins/chart/components/ChartFilter/style.js +169 -154
  349. package/dist/Plugins/chart/components/ChartToolBar/ChartToolBar.js +54 -59
  350. package/dist/Plugins/chart/components/ChartToolBar/style.js +132 -117
  351. package/dist/Plugins/chart/components/icons/TimeIcon.js +20 -26
  352. package/dist/Plugins/chart/components/index.js +32 -34
  353. package/dist/Plugins/chart/const.js +34 -25
  354. package/dist/Plugins/chart/hooks/useChartStatistic.js +1 -0
  355. package/dist/Plugins/chart/index.js +436 -339
  356. package/dist/Plugins/chart/loadChartRuntime.js +209 -110
  357. package/dist/Plugins/chart/utils.js +311 -87
  358. package/dist/Plugins/code/CodeUI/Katex/Katex.js +112 -66
  359. package/dist/Plugins/code/components/AceEditor.js +334 -237
  360. package/dist/Plugins/code/components/AceEditorContainer.js +23 -32
  361. package/dist/Plugins/code/components/CodeContainer.js +41 -56
  362. package/dist/Plugins/code/components/CodeRenderer.js +202 -155
  363. package/dist/Plugins/code/components/CodeToolbar.js +137 -181
  364. package/dist/Plugins/code/components/HtmlPreview.js +19 -22
  365. package/dist/Plugins/code/components/LanguageSelector.js +162 -96
  366. package/dist/Plugins/code/components/LoadImage.js +145 -46
  367. package/dist/Plugins/code/components/ThinkBlock.js +38 -42
  368. package/dist/Plugins/code/components/index.js +13 -23
  369. package/dist/Plugins/code/hooks/index.js +7 -9
  370. package/dist/Plugins/code/hooks/useCodeEditorState.js +139 -62
  371. package/dist/Plugins/code/hooks/useRenderConditions.js +31 -23
  372. package/dist/Plugins/code/hooks/useToolbarConfig.js +44 -46
  373. package/dist/Plugins/code/index.js +141 -89
  374. package/dist/Plugins/code/langIconMap.js +400 -108
  375. package/dist/Plugins/code/langIcons/AbapIcon.js +90 -57
  376. package/dist/Plugins/code/langIcons/ActionscriptIcon.js +89 -56
  377. package/dist/Plugins/code/langIcons/AdaIcon.js +89 -52
  378. package/dist/Plugins/code/langIcons/ApacheIcon.js +205 -254
  379. package/dist/Plugins/code/langIcons/ApexIcon.js +108 -82
  380. package/dist/Plugins/code/langIcons/AplIcon.js +90 -54
  381. package/dist/Plugins/code/langIcons/ApplescriptIcon.js +89 -56
  382. package/dist/Plugins/code/langIcons/AstroIcon.js +91 -58
  383. package/dist/Plugins/code/langIcons/AwkIcon.js +98 -68
  384. package/dist/Plugins/code/langIcons/BallerinaIcon.js +92 -59
  385. package/dist/Plugins/code/langIcons/BatIcon.js +158 -229
  386. package/dist/Plugins/code/langIcons/BicepIcon.js +91 -58
  387. package/dist/Plugins/code/langIcons/BladeIcon.js +90 -58
  388. package/dist/Plugins/code/langIcons/CIcon.js +90 -55
  389. package/dist/Plugins/code/langIcons/CadenceIcon.js +89 -56
  390. package/dist/Plugins/code/langIcons/ClojureIcon.js +96 -75
  391. package/dist/Plugins/code/langIcons/CmakeIcon.js +93 -62
  392. package/dist/Plugins/code/langIcons/CobolIcon.js +99 -70
  393. package/dist/Plugins/code/langIcons/CodeqlIcon.js +96 -76
  394. package/dist/Plugins/code/langIcons/CoffeeIcon.js +89 -56
  395. package/dist/Plugins/code/langIcons/ConsoleIcon.js +89 -56
  396. package/dist/Plugins/code/langIcons/CppIcon.js +90 -55
  397. package/dist/Plugins/code/langIcons/CrystalIcon.js +90 -57
  398. package/dist/Plugins/code/langIcons/CsharpIcon.js +90 -59
  399. package/dist/Plugins/code/langIcons/CssIcon.js +89 -52
  400. package/dist/Plugins/code/langIcons/DIcon.js +90 -53
  401. package/dist/Plugins/code/langIcons/DartIcon.js +92 -71
  402. package/dist/Plugins/code/langIcons/DatabaseIcon.js +90 -57
  403. package/dist/Plugins/code/langIcons/DiffIcon.js +90 -57
  404. package/dist/Plugins/code/langIcons/DockerIcon.js +89 -56
  405. package/dist/Plugins/code/langIcons/DotenvIcon.js +94 -56
  406. package/dist/Plugins/code/langIcons/ElixirIcon.js +91 -58
  407. package/dist/Plugins/code/langIcons/ElmIcon.js +105 -58
  408. package/dist/Plugins/code/langIcons/ErbIcon.js +90 -54
  409. package/dist/Plugins/code/langIcons/ErlangIcon.js +89 -56
  410. package/dist/Plugins/code/langIcons/FsharpIcon.js +93 -62
  411. package/dist/Plugins/code/langIcons/GdscriptIcon.js +96 -88
  412. package/dist/Plugins/code/langIcons/GlslIcon.js +90 -58
  413. package/dist/Plugins/code/langIcons/GnuplotIcon.js +98 -77
  414. package/dist/Plugins/code/langIcons/GoIcon.js +114 -93
  415. package/dist/Plugins/code/langIcons/GraphqlIcon.js +106 -66
  416. package/dist/Plugins/code/langIcons/GroovyIcon.js +89 -56
  417. package/dist/Plugins/code/langIcons/HackIcon.js +97 -64
  418. package/dist/Plugins/code/langIcons/HamlIcon.js +89 -56
  419. package/dist/Plugins/code/langIcons/HandlebarsIcon.js +89 -56
  420. package/dist/Plugins/code/langIcons/HaskellIcon.js +93 -64
  421. package/dist/Plugins/code/langIcons/HclIcon.js +118 -93
  422. package/dist/Plugins/code/langIcons/HclLightIcon.js +118 -97
  423. package/dist/Plugins/code/langIcons/HjsonIcon.js +94 -62
  424. package/dist/Plugins/code/langIcons/HlslIcon.js +96 -76
  425. package/dist/Plugins/code/langIcons/HtmlIcon.js +89 -56
  426. package/dist/Plugins/code/langIcons/HttpIcon.js +89 -56
  427. package/dist/Plugins/code/langIcons/ImbaIcon.js +98 -65
  428. package/dist/Plugins/code/langIcons/IniIcon.js +90 -54
  429. package/dist/Plugins/code/langIcons/JavaIcon.js +89 -56
  430. package/dist/Plugins/code/langIcons/JavascriptIcon.js +89 -56
  431. package/dist/Plugins/code/langIcons/JinjaIcon.js +100 -68
  432. package/dist/Plugins/code/langIcons/Json5Icon.js +100 -82
  433. package/dist/Plugins/code/langIcons/JsonIcon.js +89 -56
  434. package/dist/Plugins/code/langIcons/JsonnetIcon.js +102 -86
  435. package/dist/Plugins/code/langIcons/JuliaIcon.js +105 -52
  436. package/dist/Plugins/code/langIcons/KotlinIcon.js +104 -74
  437. package/dist/Plugins/code/langIcons/KustoIcon.js +90 -57
  438. package/dist/Plugins/code/langIcons/LessIcon.js +90 -57
  439. package/dist/Plugins/code/langIcons/LiquidIcon.js +91 -58
  440. package/dist/Plugins/code/langIcons/LispIcon.js +89 -56
  441. package/dist/Plugins/code/langIcons/LuaIcon.js +93 -60
  442. package/dist/Plugins/code/langIcons/MakefileIcon.js +91 -58
  443. package/dist/Plugins/code/langIcons/MarkdownIcon.js +89 -56
  444. package/dist/Plugins/code/langIcons/MarkojsIcon.js +96 -73
  445. package/dist/Plugins/code/langIcons/MatlabIcon.js +93 -64
  446. package/dist/Plugins/code/langIcons/MdxIcon.js +90 -53
  447. package/dist/Plugins/code/langIcons/MermaidIcon.js +95 -64
  448. package/dist/Plugins/code/langIcons/MojoIcon.js +95 -62
  449. package/dist/Plugins/code/langIcons/NginxIcon.js +94 -61
  450. package/dist/Plugins/code/langIcons/NimIcon.js +91 -54
  451. package/dist/Plugins/code/langIcons/NixIcon.js +92 -56
  452. package/dist/Plugins/code/langIcons/ObjectiveCIcon.js +90 -59
  453. package/dist/Plugins/code/langIcons/ObjectiveCppIcon.js +90 -57
  454. package/dist/Plugins/code/langIcons/OcamlIcon.js +90 -61
  455. package/dist/Plugins/code/langIcons/PascalIcon.js +95 -55
  456. package/dist/Plugins/code/langIcons/Perl6Icon.js +299 -320
  457. package/dist/Plugins/code/langIcons/PerlIcon.js +89 -56
  458. package/dist/Plugins/code/langIcons/PhpIcon.js +89 -52
  459. package/dist/Plugins/code/langIcons/PostcssIcon.js +130 -113
  460. package/dist/Plugins/code/langIcons/PowershellIcon.js +91 -58
  461. package/dist/Plugins/code/langIcons/PrismaIcon.js +97 -68
  462. package/dist/Plugins/code/langIcons/PrologIcon.js +91 -58
  463. package/dist/Plugins/code/langIcons/ProtoIcon.js +94 -68
  464. package/dist/Plugins/code/langIcons/PugIcon.js +177 -145
  465. package/dist/Plugins/code/langIcons/PuppetIcon.js +96 -52
  466. package/dist/Plugins/code/langIcons/PurescriptIcon.js +93 -61
  467. package/dist/Plugins/code/langIcons/PythonIcon.js +90 -61
  468. package/dist/Plugins/code/langIcons/RIcon.js +89 -52
  469. package/dist/Plugins/code/langIcons/RazorIcon.js +90 -57
  470. package/dist/Plugins/code/langIcons/ReactIcon.js +89 -56
  471. package/dist/Plugins/code/langIcons/ReactTsIcon.js +90 -57
  472. package/dist/Plugins/code/langIcons/RubyIcon.js +91 -58
  473. package/dist/Plugins/code/langIcons/RustIcon.js +89 -56
  474. package/dist/Plugins/code/langIcons/SasIcon.js +89 -52
  475. package/dist/Plugins/code/langIcons/SassIcon.js +90 -57
  476. package/dist/Plugins/code/langIcons/ScalaIcon.js +96 -53
  477. package/dist/Plugins/code/langIcons/SchemeIcon.js +91 -58
  478. package/dist/Plugins/code/langIcons/ShaderlabIcon.js +89 -56
  479. package/dist/Plugins/code/langIcons/SolidityIcon.js +94 -52
  480. package/dist/Plugins/code/langIcons/SparqlIcon.js +94 -64
  481. package/dist/Plugins/code/langIcons/StataIcon.js +126 -108
  482. package/dist/Plugins/code/langIcons/StylusIcon.js +92 -59
  483. package/dist/Plugins/code/langIcons/SvelteIcon.js +91 -58
  484. package/dist/Plugins/code/langIcons/SwiftIcon.js +90 -57
  485. package/dist/Plugins/code/langIcons/SystemverilogIcon.js +115 -102
  486. package/dist/Plugins/code/langIcons/TclIcon.js +89 -52
  487. package/dist/Plugins/code/langIcons/TexIcon.js +99 -65
  488. package/dist/Plugins/code/langIcons/TomlIcon.js +94 -70
  489. package/dist/Plugins/code/langIcons/TwigIcon.js +89 -56
  490. package/dist/Plugins/code/langIcons/TypescriptIcon.js +93 -60
  491. package/dist/Plugins/code/langIcons/VerilogIcon.js +89 -56
  492. package/dist/Plugins/code/langIcons/VhdlIcon.js +94 -64
  493. package/dist/Plugins/code/langIcons/VimIcon.js +278 -420
  494. package/dist/Plugins/code/langIcons/VueIcon.js +92 -59
  495. package/dist/Plugins/code/langIcons/WebassemblyIcon.js +103 -76
  496. package/dist/Plugins/code/langIcons/WenyanIcon.js +104 -100
  497. package/dist/Plugins/code/langIcons/WgslIcon.js +93 -77
  498. package/dist/Plugins/code/langIcons/WolframlanguageIcon.js +100 -71
  499. package/dist/Plugins/code/langIcons/XmlIcon.js +89 -52
  500. package/dist/Plugins/code/langIcons/XslIcon.js +94 -66
  501. package/dist/Plugins/code/langIcons/YamlIcon.js +89 -56
  502. package/dist/Plugins/code/langIcons/ZigIcon.js +106 -81
  503. package/dist/Plugins/code/langIcons/index.js +128 -259
  504. package/dist/Plugins/code/utils/index.js +5 -5
  505. package/dist/Plugins/code/utils/langOptions.js +86 -11
  506. package/dist/Plugins/defaultPlugins.js +9 -13
  507. package/dist/Plugins/formatter/index.js +205 -105
  508. package/dist/Plugins/index.js +6 -2
  509. package/dist/Plugins/katex/InlineKatex.js +196 -107
  510. package/dist/Plugins/katex/Katex.js +139 -65
  511. package/dist/Plugins/katex/index.js +163 -103
  512. package/dist/Plugins/mermaid/Mermaid.js +472 -197
  513. package/dist/Plugins/mermaid/index.js +237 -142
  514. package/dist/Quote/index.js +112 -73
  515. package/dist/Quote/style.js +176 -160
  516. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +163 -119
  517. package/dist/Schema/SchemaEditor/index.js +385 -275
  518. package/dist/Schema/SchemaEditor/style.js +261 -269
  519. package/dist/Schema/SchemaForm/index.js +443 -268
  520. package/dist/Schema/SchemaForm/types.js +1 -0
  521. package/dist/Schema/SchemaRenderer/index.js +973 -588
  522. package/dist/Schema/SchemaRenderer/templateEngine.js +106 -26
  523. package/dist/Schema/index.js +7 -11
  524. package/dist/Schema/types.js +1 -0
  525. package/dist/Schema/validator.js +74 -36
  526. package/dist/TaskList/index.js +197 -142
  527. package/dist/TaskList/style.js +143 -122
  528. package/dist/ThoughtChainList/CostMillis.js +88 -54
  529. package/dist/ThoughtChainList/DeepThink.js +187 -152
  530. package/dist/ThoughtChainList/DotAni/index.js +29 -14
  531. package/dist/ThoughtChainList/DotAni/style.js +82 -50
  532. package/dist/ThoughtChainList/FlipText/index.js +74 -30
  533. package/dist/ThoughtChainList/MarkdownEditor.js +126 -72
  534. package/dist/ThoughtChainList/RagRetrievalInfo.js +113 -145
  535. package/dist/ThoughtChainList/TableSql.js +413 -459
  536. package/dist/ThoughtChainList/ThoughtChainListItem.js +388 -222
  537. package/dist/ThoughtChainList/TitleInfo.js +189 -185
  538. package/dist/ThoughtChainList/ToolCall.js +429 -463
  539. package/dist/ThoughtChainList/WebSearch.js +192 -162
  540. package/dist/ThoughtChainList/index.js +449 -410
  541. package/dist/ThoughtChainList/style.js +253 -232
  542. package/dist/ThoughtChainList/types.js +1 -0
  543. package/dist/ToolUseBar/ToolUseBarItem.js +183 -139
  544. package/dist/ToolUseBar/ToolUseBarItemComponents.js +345 -276
  545. package/dist/ToolUseBar/ToolUseBarThink.js +335 -396
  546. package/dist/ToolUseBar/index.js +226 -113
  547. package/dist/ToolUseBar/style.js +334 -308
  548. package/dist/ToolUseBar/thinkStyle.js +350 -328
  549. package/dist/Types/common.js +1 -0
  550. package/dist/Types/index.js +4 -2
  551. package/dist/Types/message.js +1 -0
  552. package/dist/Utils/easings.js +9 -12
  553. package/dist/Utils/formatTime.js +41 -17
  554. package/dist/Utils/getScroll.js +41 -41
  555. package/dist/Utils/language.js +355 -150
  556. package/dist/Utils/proxySandbox/ProxySandbox.js +1637 -1076
  557. package/dist/Utils/proxySandbox/SecurityContextManager.js +607 -343
  558. package/dist/Utils/proxySandbox/index.js +554 -267
  559. package/dist/Utils/proxySandbox/types.js +187 -52
  560. package/dist/Utils/scrollTo.js +48 -56
  561. package/dist/Utils/throttleByAnimationFrame.js +46 -20
  562. package/dist/WelcomeMessage/index.js +106 -58
  563. package/dist/WelcomeMessage/style.js +80 -55
  564. package/dist/Workspace/Browser/index.js +102 -40
  565. package/dist/Workspace/Browser/style.js +62 -33
  566. package/dist/Workspace/File/DataSourceStrategy.js +419 -217
  567. package/dist/Workspace/File/FileComponent.js +1004 -791
  568. package/dist/Workspace/File/FileTypeProcessor.js +337 -184
  569. package/dist/Workspace/File/PreviewComponent.js +472 -532
  570. package/dist/Workspace/File/index.js +3 -10
  571. package/dist/Workspace/File/style.js +397 -424
  572. package/dist/Workspace/File/utils.js +160 -106
  573. package/dist/Workspace/HtmlPreview/index.js +238 -137
  574. package/dist/Workspace/HtmlPreview/style.js +99 -77
  575. package/dist/Workspace/RealtimeFollow/index.js +411 -413
  576. package/dist/Workspace/RealtimeFollow/style.js +299 -303
  577. package/dist/Workspace/Task/index.js +53 -35
  578. package/dist/Workspace/Task/style.js +99 -73
  579. package/dist/Workspace/index.js +332 -254
  580. package/dist/Workspace/style.js +165 -146
  581. package/dist/Workspace/types.js +471 -252
  582. package/dist/Workspace/utils/codeLanguageUtils.js +148 -129
  583. package/dist/Workspace/utils.js +28 -20
  584. package/dist/index.js +27 -17
  585. package/package.json +3 -2
@@ -1,412 +1,560 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _array_without_holes(arr) {
10
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
11
+ }
12
+ function _define_property(obj, key, value) {
13
+ if (key in obj) {
14
+ Object.defineProperty(obj, key, {
15
+ value: value,
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true
19
+ });
20
+ } else {
21
+ obj[key] = value;
16
22
  }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
-
21
- // src/Plugins/chart/AreaChart/index.tsx
23
+ return obj;
24
+ }
25
+ function _iterable_to_array(iter) {
26
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
27
+ }
28
+ function _iterable_to_array_limit(arr, i) {
29
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
30
+ if (_i == null) return;
31
+ var _arr = [];
32
+ var _n = true;
33
+ var _d = false;
34
+ var _s, _e;
35
+ try {
36
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
37
+ _arr.push(_s.value);
38
+ if (i && _arr.length === i) break;
39
+ }
40
+ } catch (err) {
41
+ _d = true;
42
+ _e = err;
43
+ } finally{
44
+ try {
45
+ if (!_n && _i["return"] != null) _i["return"]();
46
+ } finally{
47
+ if (_d) throw _e;
48
+ }
49
+ }
50
+ return _arr;
51
+ }
52
+ function _non_iterable_rest() {
53
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
54
+ }
55
+ function _non_iterable_spread() {
56
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
+ }
58
+ function _object_spread(target) {
59
+ for(var i = 1; i < arguments.length; i++){
60
+ var source = arguments[i] != null ? arguments[i] : {};
61
+ var ownKeys = Object.keys(source);
62
+ if (typeof Object.getOwnPropertySymbols === "function") {
63
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
+ }));
66
+ }
67
+ ownKeys.forEach(function(key) {
68
+ _define_property(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
73
+ function ownKeys(object, enumerableOnly) {
74
+ var keys = Object.keys(object);
75
+ if (Object.getOwnPropertySymbols) {
76
+ var symbols = Object.getOwnPropertySymbols(object);
77
+ if (enumerableOnly) {
78
+ symbols = symbols.filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
80
+ });
81
+ }
82
+ keys.push.apply(keys, symbols);
83
+ }
84
+ return keys;
85
+ }
86
+ function _object_spread_props(target, source) {
87
+ source = source != null ? source : {};
88
+ if (Object.getOwnPropertyDescriptors) {
89
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
90
+ } else {
91
+ ownKeys(Object(source)).forEach(function(key) {
92
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
93
+ });
94
+ }
95
+ return target;
96
+ }
97
+ function _sliced_to_array(arr, i) {
98
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
99
+ }
100
+ function _to_consumable_array(arr) {
101
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
102
+ }
103
+ function _unsupported_iterable_to_array(o, minLen) {
104
+ if (!o) return;
105
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
106
+ var n = Object.prototype.toString.call(o).slice(8, -1);
107
+ if (n === "Object" && o.constructor) n = o.constructor.name;
108
+ if (n === "Map" || n === "Set") return Array.from(n);
109
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
110
+ }
22
111
  import { ConfigProvider } from "antd";
23
- import {
24
- CategoryScale,
25
- Chart as ChartJS,
26
- Filler,
27
- Legend,
28
- LinearScale,
29
- LineElement,
30
- PointElement,
31
- Tooltip
32
- } from "chart.js";
112
+ import { CategoryScale, Chart as ChartJS, Filler, Legend, LinearScale, LineElement, PointElement, Tooltip } from "chart.js";
33
113
  import classNames from "classnames";
34
114
  import React, { useContext, useEffect, useMemo, useRef, useState } from "react";
35
115
  import { Line } from "react-chartjs-2";
36
- import {
37
- ChartContainer,
38
- ChartFilter,
39
- ChartStatistic,
40
- ChartToolBar,
41
- downloadChart
42
- } from "../components";
116
+ import { ChartContainer, ChartFilter, ChartStatistic, ChartToolBar, downloadChart } from "../components";
43
117
  import { defaultColorList } from "../const";
44
- import {
45
- extractAndSortXValues,
46
- findDataPointByXValue
47
- } from "../utils";
118
+ import { extractAndSortXValues, findDataPointByXValue } from "../utils";
48
119
  import { useStyle } from "./style";
49
- var areaChartComponentsRegistered = false;
50
- var hexToRgba = (hex, alpha) => {
51
- const sanitized = hex.replace("#", "");
52
- const isShort = sanitized.length === 3;
53
- const r = parseInt(
54
- isShort ? sanitized[0] + sanitized[0] : sanitized.slice(0, 2),
55
- 16
56
- );
57
- const g = parseInt(
58
- isShort ? sanitized[1] + sanitized[1] : sanitized.slice(2, 4),
59
- 16
60
- );
61
- const b = parseInt(
62
- isShort ? sanitized[2] + sanitized[2] : sanitized.slice(4, 6),
63
- 16
64
- );
65
- const a = Math.max(0, Math.min(1, alpha));
66
- return `rgba(${r}, ${g}, ${b}, ${a})`;
120
+ /**
121
+ * @fileoverview 面积图组件文件
122
+ *
123
+ * 该文件提供了面积图组件的实现,基于 Chart.js react-chartjs-2。
124
+ * 支持数据可视化、交互、配置、统计等功能。
125
+ *
126
+ * @author md-editor
127
+ * @version 1.0.0
128
+ * @since 2024
129
+ */ var areaChartComponentsRegistered = false;
130
+ /**
131
+ * 将十六进制颜色转换为带透明度的 RGBA 字符串
132
+ *
133
+ * 支持3位和6位十六进制颜色格式,并添加透明度。
134
+ *
135
+ * @param {string} hex - 十六进制颜色值(如 '#ff0000' 或 '#f00')
136
+ * @param {number} alpha - 透明度值(0-1之间)
137
+ * @returns {string} RGBA 颜色字符串
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * hexToRgba('#ff0000', 0.5); // 'rgba(255, 0, 0, 0.5)'
142
+ * hexToRgba('#f00', 0.8); // 'rgba(255, 0, 0, 0.8)'
143
+ * ```
144
+ *
145
+ * @since 1.0.0
146
+ */ var hexToRgba = function(hex, alpha) {
147
+ var sanitized = hex.replace('#', '');
148
+ var isShort = sanitized.length === 3;
149
+ var r = parseInt(isShort ? sanitized[0] + sanitized[0] : sanitized.slice(0, 2), 16);
150
+ var g = parseInt(isShort ? sanitized[1] + sanitized[1] : sanitized.slice(2, 4), 16);
151
+ var b = parseInt(isShort ? sanitized[2] + sanitized[2] : sanitized.slice(4, 6), 16);
152
+ var a = Math.max(0, Math.min(1, alpha));
153
+ return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(a, ")");
67
154
  };
68
- var AreaChart = ({
69
- title,
70
- data,
71
- width = 600,
72
- height = 400,
73
- className,
74
- dataTime,
75
- theme = "light",
76
- color,
77
- showLegend = true,
78
- legendPosition = "bottom",
79
- legendAlign = "start",
80
- showGrid = true,
81
- xPosition = "bottom",
82
- yPosition = "left",
83
- hiddenX = false,
84
- hiddenY = false,
85
- toolbarExtra,
86
- renderFilterInToolbar = false,
87
- statistic: statisticConfig,
88
- variant
89
- }) => {
90
- useMemo(() => {
91
- if (areaChartComponentsRegistered) {
92
- return void 0;
93
- }
94
- if (typeof window === "undefined") {
95
- return void 0;
96
- }
97
- ChartJS.register(
98
- CategoryScale,
99
- LinearScale,
100
- PointElement,
101
- LineElement,
102
- Filler,
103
- Tooltip,
104
- Legend
105
- );
106
- areaChartComponentsRegistered = true;
107
- return void 0;
108
- }, []);
109
- const safeData = Array.isArray(data) ? data : [];
110
- const [windowWidth, setWindowWidth] = useState(
111
- typeof window !== "undefined" ? window.innerWidth : 768
112
- );
113
- const isMobile = windowWidth <= 768;
114
- const responsiveWidth = isMobile ? "100%" : width;
115
- const responsiveHeight = isMobile ? Math.min(windowWidth * 0.8, 400) : height;
116
- useEffect(() => {
117
- const handleResize = () => {
118
- setWindowWidth(window.innerWidth);
119
- };
120
- if (typeof window !== "undefined") {
121
- window.addEventListener("resize", handleResize);
122
- return () => window.removeEventListener("resize", handleResize);
123
- }
124
- }, []);
125
- const context = useContext(ConfigProvider.ConfigContext);
126
- const baseClassName = context == null ? void 0 : context.getPrefixCls("area-chart-container");
127
- const { wrapSSR, hashId } = useStyle(baseClassName);
128
- const chartRef = useRef(null);
129
- const statistics = useMemo(() => {
130
- if (!statisticConfig)
131
- return null;
132
- return Array.isArray(statisticConfig) ? statisticConfig : [statisticConfig];
133
- }, [statisticConfig]);
134
- const categories = useMemo(() => {
135
- const uniqueCategories = [
136
- ...new Set(safeData.map((item) => item.category))
137
- ].filter(Boolean);
138
- return uniqueCategories;
139
- }, [safeData]);
140
- const validFilterLabels = useMemo(() => {
141
- return safeData.map((item) => item.filterLabel).filter(
142
- (filterLabel) => filterLabel !== void 0
143
- );
144
- }, [safeData]);
145
- const filterLabels = useMemo(() => {
146
- return validFilterLabels.length > 0 ? [...new Set(validFilterLabels)] : void 0;
147
- }, [validFilterLabels]);
148
- const [selectedFilter, setSelectedFilter] = useState(
149
- categories.find(Boolean) || ""
150
- );
151
- const [selectedFilterLabel, setSelectedFilterLabel] = useState(
152
- filterLabels && filterLabels.length > 0 ? filterLabels[0] : void 0
153
- );
154
- useEffect(() => {
155
- if (selectedFilter && !categories.includes(selectedFilter)) {
156
- setSelectedFilter(categories.find(Boolean) || "");
157
- }
158
- }, [categories, selectedFilter]);
159
- const filteredData = useMemo(() => {
160
- const base = selectedFilter ? safeData.filter((item) => item.category === selectedFilter) : safeData;
161
- const withFilterLabel = !filterLabels || !selectedFilterLabel ? base : base.filter((item) => item.filterLabel === selectedFilterLabel);
162
- return withFilterLabel.filter(
163
- (item) => item.x !== null && item.x !== void 0
164
- );
165
- }, [safeData, selectedFilter, filterLabels, selectedFilterLabel]);
166
- const types = useMemo(() => {
167
- return [...new Set(filteredData.map((item) => item.type))];
168
- }, [filteredData]);
169
- const xValues = useMemo(() => {
170
- return extractAndSortXValues(filteredData);
171
- }, [filteredData]);
172
- const xTitle = useMemo(() => {
173
- const titles = [
174
- ...new Set(filteredData.map((item) => item.xtitle).filter(Boolean))
175
- ];
176
- return titles[0] || "";
177
- }, [filteredData]);
178
- const yTitle = useMemo(() => {
179
- const titles = [
180
- ...new Set(filteredData.map((item) => item.ytitle).filter(Boolean))
181
- ];
182
- return titles[0] || "";
183
- }, [filteredData]);
184
- const processedData = useMemo(() => {
185
- const labels = xValues.map((x) => x.toString());
186
- const datasets = types.map((type, index) => {
187
- const provided = color;
188
- const baseColor = Array.isArray(provided) ? provided[index % provided.length] || defaultColorList[index % defaultColorList.length] : provided || defaultColorList[index % defaultColorList.length];
189
- const typeData = xValues.map((x) => {
190
- const dataPoint = findDataPointByXValue(filteredData, x, type);
191
- const v = dataPoint == null ? void 0 : dataPoint.y;
192
- const n = typeof v === "number" ? v : Number(v);
193
- return Number.isFinite(n) ? n : null;
194
- });
195
- return {
196
- label: type || "默认",
197
- data: typeData,
198
- borderColor: baseColor,
199
- backgroundColor: (ctx) => {
200
- const chart = ctx.chart;
201
- const chartArea = chart.chartArea;
202
- if (!chartArea)
203
- return hexToRgba(baseColor, 0.2);
204
- const { top, bottom } = chartArea;
205
- const gradient = chart.ctx.createLinearGradient(0, top, 0, bottom);
206
- gradient.addColorStop(0, hexToRgba(baseColor, 0.28));
207
- gradient.addColorStop(1, hexToRgba(baseColor, 0.05));
208
- return gradient;
209
- },
210
- pointBackgroundColor: baseColor,
211
- pointBorderColor: "#fff",
212
- pointBorderWidth: 1,
213
- borderWidth: 3,
214
- tension: 0,
215
- fill: true
216
- };
217
- });
218
- return { labels, datasets };
219
- }, [filteredData, types, xValues]);
220
- const filterOptions = useMemo(() => {
221
- return categories.map((category) => ({
222
- label: category || "默认",
223
- value: category || "默认"
224
- }));
225
- }, [categories]);
226
- const filteredDataByFilterLabel = useMemo(() => {
227
- return filterLabels == null ? void 0 : filterLabels.map((item) => ({
228
- key: item,
229
- label: item
230
- }));
231
- }, [filterLabels]);
232
- const isLight = theme === "light";
233
- const axisTextColor = isLight ? "rgba(0, 25, 61, 0.3255)" : "rgba(255, 255, 255, 0.8)";
234
- const gridColor = isLight ? "rgba(0,0,0,0.08)" : "rgba(255,255,255,0.2)";
235
- const options = {
236
- responsive: true,
237
- maintainAspectRatio: false,
238
- plugins: {
239
- legend: {
240
- display: showLegend,
241
- position: legendPosition,
242
- align: legendAlign,
243
- labels: {
244
- color: axisTextColor,
245
- font: { size: isMobile ? 10 : 12, weight: "normal" },
246
- padding: isMobile ? 10 : 12,
247
- usePointStyle: true,
248
- pointStyle: "rectRounded"
155
+ /**
156
+ * 面积图组件
157
+ *
158
+ * 基于 Chart.js 和 react-chartjs-2 实现的面积图组件。
159
+ * 支持数据可视化、交互、配置、统计等功能。
160
+ *
161
+ * @component
162
+ * @param {AreaChartProps} props - 组件属性
163
+ * @returns {React.ReactElement} 面积图组件
164
+ *
165
+ * @example
166
+ * ```tsx
167
+ * <AreaChart
168
+ * title="销售趋势"
169
+ * data={[
170
+ * { x: '2024-01', y: 100, type: '产品A' },
171
+ * { x: '2024-02', y: 150, type: '产品A' }
172
+ * ]}
173
+ * width={800}
174
+ * height={400}
175
+ * showLegend={true}
176
+ * showGrid={true}
177
+ * />
178
+ * ```
179
+ *
180
+ * @since 1.0.0
181
+ */ var AreaChart = function(param) {
182
+ var title = param.title, data = param.data, _param_width = param.width, width = _param_width === void 0 ? 600 : _param_width, _param_height = param.height, height = _param_height === void 0 ? 400 : _param_height, className = param.className, dataTime = param.dataTime, _param_theme = param.theme, theme = _param_theme === void 0 ? 'light' : _param_theme, color = param.color, _param_showLegend = param.showLegend, showLegend = _param_showLegend === void 0 ? true : _param_showLegend, _param_legendPosition = param.legendPosition, legendPosition = _param_legendPosition === void 0 ? 'bottom' : _param_legendPosition, _param_legendAlign = param.legendAlign, legendAlign = _param_legendAlign === void 0 ? 'start' : _param_legendAlign, _param_showGrid = param.showGrid, showGrid = _param_showGrid === void 0 ? true : _param_showGrid, _param_xPosition = param.xPosition, xPosition = _param_xPosition === void 0 ? 'bottom' : _param_xPosition, _param_yPosition = param.yPosition, yPosition = _param_yPosition === void 0 ? 'left' : _param_yPosition, _param_hiddenX = param.hiddenX, hiddenX = _param_hiddenX === void 0 ? false : _param_hiddenX, _param_hiddenY = param.hiddenY, hiddenY = _param_hiddenY === void 0 ? false : _param_hiddenY, toolbarExtra = param.toolbarExtra, _param_renderFilterInToolbar = param.renderFilterInToolbar, renderFilterInToolbar = _param_renderFilterInToolbar === void 0 ? false : _param_renderFilterInToolbar, statisticConfig = param.statistic, variant = param.variant;
183
+ useMemo(function() {
184
+ if (areaChartComponentsRegistered) {
185
+ return undefined;
249
186
  }
250
- },
251
- tooltip: {
252
- backgroundColor: isLight ? "rgba(255,255,255,0.95)" : "rgba(0,0,0,0.85)",
253
- titleColor: isLight ? "#333" : "#fff",
254
- bodyColor: isLight ? "#333" : "#fff",
255
- borderColor: isLight ? "rgba(0,0,0,0.12)" : "rgba(255,255,255,0.2)",
256
- borderWidth: 1,
257
- cornerRadius: isMobile ? 6 : 8,
258
- displayColors: true,
259
- callbacks: {
260
- label: (context2) => {
261
- const label = context2.dataset.label || "";
262
- const y = context2.parsed.y;
263
- return `${label}: ${y}`;
264
- }
187
+ if (typeof window === 'undefined') {
188
+ return undefined;
265
189
  }
266
- }
267
- },
268
- scales: {
269
- x: {
270
- display: !hiddenX,
271
- position: xPosition,
272
- title: {
273
- display: !!xTitle,
274
- text: xTitle,
275
- color: axisTextColor,
276
- font: { size: isMobile ? 10 : 12, weight: "normal" },
277
- align: "end"
278
- },
279
- grid: {
280
- display: showGrid,
281
- color: gridColor,
282
- lineWidth: 1,
283
- drawTicks: false,
284
- tickLength: 0
285
- },
286
- ticks: {
287
- color: axisTextColor,
288
- font: { size: isMobile ? 10 : 12 },
289
- padding: isMobile ? 10 : 12
290
- },
291
- border: {
292
- color: gridColor
190
+ ChartJS.register(CategoryScale, LinearScale, PointElement, LineElement, Filler, Tooltip, Legend);
191
+ areaChartComponentsRegistered = true;
192
+ return undefined;
193
+ }, []);
194
+ var safeData = Array.isArray(data) ? data : [];
195
+ // 响应式尺寸计算
196
+ var _useState = _sliced_to_array(useState(typeof window !== 'undefined' ? window.innerWidth : 768), 2), windowWidth = _useState[0], setWindowWidth = _useState[1];
197
+ var isMobile = windowWidth <= 768;
198
+ var responsiveWidth = isMobile ? '100%' : width;
199
+ var responsiveHeight = isMobile ? Math.min(windowWidth * 0.8, 400) : height;
200
+ // 监听窗口大小变化
201
+ useEffect(function() {
202
+ var handleResize = function() {
203
+ setWindowWidth(window.innerWidth);
204
+ };
205
+ if (typeof window !== 'undefined') {
206
+ window.addEventListener('resize', handleResize);
207
+ return function() {
208
+ return window.removeEventListener('resize', handleResize);
209
+ };
293
210
  }
294
- },
295
- y: {
296
- display: !hiddenY,
297
- position: yPosition,
298
- beginAtZero: true,
299
- title: {
300
- display: !!yTitle,
301
- text: yTitle,
302
- color: axisTextColor,
303
- font: { size: isMobile ? 10 : 12, weight: "normal" },
304
- align: "end"
305
- },
306
- grid: {
307
- display: showGrid,
308
- color: gridColor,
309
- lineWidth: 1,
310
- drawTicks: false,
311
- tickLength: 0
211
+ }, []);
212
+ // 样式注册
213
+ var context = useContext(ConfigProvider.ConfigContext);
214
+ var baseClassName = context === null || context === void 0 ? void 0 : context.getPrefixCls('area-chart-container');
215
+ var _useStyle = useStyle(baseClassName), wrapSSR = _useStyle.wrapSSR, hashId = _useStyle.hashId;
216
+ var chartRef = useRef(null);
217
+ // 处理 ChartStatistic 组件配置
218
+ var statistics = useMemo(function() {
219
+ if (!statisticConfig) return null;
220
+ return Array.isArray(statisticConfig) ? statisticConfig : [
221
+ statisticConfig
222
+ ];
223
+ }, [
224
+ statisticConfig
225
+ ]);
226
+ // 从数据中提取唯一的类别作为筛选选项
227
+ var categories = useMemo(function() {
228
+ var uniqueCategories = _to_consumable_array(new Set(safeData.map(function(item) {
229
+ return item.category;
230
+ }))).filter(Boolean);
231
+ return uniqueCategories;
232
+ }, [
233
+ safeData
234
+ ]);
235
+ // 从数据中提取 filterLabel,过滤掉 undefined 值
236
+ var validFilterLabels = useMemo(function() {
237
+ return safeData.map(function(item) {
238
+ return item.filterLabel;
239
+ }).filter(function(filterLabel) {
240
+ return filterLabel !== undefined;
241
+ });
242
+ }, [
243
+ safeData
244
+ ]);
245
+ var filterLabels = useMemo(function() {
246
+ return validFilterLabels.length > 0 ? _to_consumable_array(new Set(validFilterLabels)) : undefined;
247
+ }, [
248
+ validFilterLabels
249
+ ]);
250
+ // 状态管理
251
+ var _useState1 = _sliced_to_array(useState(categories.find(Boolean) || ''), 2), selectedFilter = _useState1[0], setSelectedFilter = _useState1[1];
252
+ var _useState2 = _sliced_to_array(useState(filterLabels && filterLabels.length > 0 ? filterLabels[0] : undefined), 2), selectedFilterLabel = _useState2[0], setSelectedFilterLabel = _useState2[1];
253
+ // 当数据变化导致当前选中分类失效时,自动回退到首个有效分类或空(显示全部)
254
+ useEffect(function() {
255
+ if (selectedFilter && !categories.includes(selectedFilter)) {
256
+ setSelectedFilter(categories.find(Boolean) || '');
257
+ }
258
+ }, [
259
+ categories,
260
+ selectedFilter
261
+ ]);
262
+ // 筛选数据
263
+ var filteredData = useMemo(function() {
264
+ var base = selectedFilter ? safeData.filter(function(item) {
265
+ return item.category === selectedFilter;
266
+ }) : safeData;
267
+ var withFilterLabel = !filterLabels || !selectedFilterLabel ? base : base.filter(function(item) {
268
+ return item.filterLabel === selectedFilterLabel;
269
+ });
270
+ // 统一过滤掉 x 为空(null/undefined)的数据,避免后续 toString 报错
271
+ return withFilterLabel.filter(function(item) {
272
+ return item.x !== null && item.x !== undefined;
273
+ });
274
+ }, [
275
+ safeData,
276
+ selectedFilter,
277
+ filterLabels,
278
+ selectedFilterLabel
279
+ ]);
280
+ // 从数据中提取唯一的类型
281
+ var types = useMemo(function() {
282
+ return _to_consumable_array(new Set(filteredData.map(function(item) {
283
+ return item.type;
284
+ })));
285
+ }, [
286
+ filteredData
287
+ ]);
288
+ // 从数据中提取唯一的x值并排序
289
+ var xValues = useMemo(function() {
290
+ return extractAndSortXValues(filteredData);
291
+ }, [
292
+ filteredData
293
+ ]);
294
+ // 从数据中获取xtitle和ytitle
295
+ var xTitle = useMemo(function() {
296
+ var titles = _to_consumable_array(new Set(filteredData.map(function(item) {
297
+ return item.xtitle;
298
+ }).filter(Boolean)));
299
+ return titles[0] || '';
300
+ }, [
301
+ filteredData
302
+ ]);
303
+ var yTitle = useMemo(function() {
304
+ var titles = _to_consumable_array(new Set(filteredData.map(function(item) {
305
+ return item.ytitle;
306
+ }).filter(Boolean)));
307
+ return titles[0] || '';
308
+ }, [
309
+ filteredData
310
+ ]);
311
+ // 构建Chart.js数据结构
312
+ var processedData = useMemo(function() {
313
+ var labels = xValues.map(function(x) {
314
+ return x.toString();
315
+ });
316
+ var datasets = types.map(function(type, index) {
317
+ var provided = color;
318
+ var baseColor = Array.isArray(provided) ? provided[index % provided.length] || defaultColorList[index % defaultColorList.length] : provided || defaultColorList[index % defaultColorList.length];
319
+ // 为每个类型收集数据点
320
+ var typeData = xValues.map(function(x) {
321
+ var dataPoint = findDataPointByXValue(filteredData, x, type);
322
+ var v = dataPoint === null || dataPoint === void 0 ? void 0 : dataPoint.y;
323
+ var n = typeof v === 'number' ? v : Number(v);
324
+ return Number.isFinite(n) ? n : null;
325
+ });
326
+ return {
327
+ label: type || '默认',
328
+ data: typeData,
329
+ borderColor: baseColor,
330
+ backgroundColor: function(ctx) {
331
+ var chart = ctx.chart;
332
+ var chartArea = chart.chartArea;
333
+ if (!chartArea) return hexToRgba(baseColor, 0.2);
334
+ var top = chartArea.top, bottom = chartArea.bottom;
335
+ var gradient = chart.ctx.createLinearGradient(0, top, 0, bottom);
336
+ // 顶部颜色更实,向下逐渐透明,形成柔和的面积过渡
337
+ gradient.addColorStop(0, hexToRgba(baseColor, 0.28));
338
+ gradient.addColorStop(1, hexToRgba(baseColor, 0.05));
339
+ return gradient;
340
+ },
341
+ pointBackgroundColor: baseColor,
342
+ pointBorderColor: '#fff',
343
+ pointBorderWidth: 1,
344
+ borderWidth: 3,
345
+ tension: 0,
346
+ fill: true
347
+ };
348
+ });
349
+ return {
350
+ labels: labels,
351
+ datasets: datasets
352
+ };
353
+ }, [
354
+ filteredData,
355
+ types,
356
+ xValues
357
+ ]);
358
+ // 筛选器选项
359
+ var filterOptions = useMemo(function() {
360
+ return categories.map(function(category) {
361
+ return {
362
+ label: category || '默认',
363
+ value: category || '默认'
364
+ };
365
+ });
366
+ }, [
367
+ categories
368
+ ]);
369
+ // 根据 filterLabel 筛选数据 - 只有当 filterLabels 存在时才生成
370
+ var filteredDataByFilterLabel = useMemo(function() {
371
+ return filterLabels === null || filterLabels === void 0 ? void 0 : filterLabels.map(function(item) {
372
+ return {
373
+ key: item,
374
+ label: item
375
+ };
376
+ });
377
+ }, [
378
+ filterLabels
379
+ ]);
380
+ var isLight = theme === 'light';
381
+ var axisTextColor = isLight ? 'rgba(0, 25, 61, 0.3255)' : 'rgba(255, 255, 255, 0.8)';
382
+ var gridColor = isLight ? 'rgba(0,0,0,0.08)' : 'rgba(255,255,255,0.2)';
383
+ var options = {
384
+ responsive: true,
385
+ maintainAspectRatio: false,
386
+ plugins: {
387
+ legend: {
388
+ display: showLegend,
389
+ position: legendPosition,
390
+ align: legendAlign,
391
+ labels: {
392
+ color: axisTextColor,
393
+ font: {
394
+ size: isMobile ? 10 : 12,
395
+ weight: 'normal'
396
+ },
397
+ padding: isMobile ? 10 : 12,
398
+ usePointStyle: true,
399
+ pointStyle: 'rectRounded'
400
+ }
401
+ },
402
+ tooltip: {
403
+ // 与交互保持一致:不要求点相交,并按 x 索引联动
404
+ intersect: false,
405
+ mode: 'index',
406
+ backgroundColor: isLight ? 'rgba(255,255,255,0.95)' : 'rgba(0,0,0,0.85)',
407
+ titleColor: isLight ? '#333' : '#fff',
408
+ bodyColor: isLight ? '#333' : '#fff',
409
+ borderColor: isLight ? 'rgba(0,0,0,0.12)' : 'rgba(255,255,255,0.2)',
410
+ borderWidth: 1,
411
+ cornerRadius: isMobile ? 6 : 8,
412
+ displayColors: true,
413
+ callbacks: {
414
+ label: function(context) {
415
+ var label = context.dataset.label || '';
416
+ var y = context.parsed.y;
417
+ return "".concat(label, ": ").concat(y);
418
+ }
419
+ }
420
+ }
312
421
  },
313
- ticks: {
314
- color: axisTextColor,
315
- font: { size: isMobile ? 10 : 12 },
316
- padding: isMobile ? 10 : 12
422
+ scales: {
423
+ x: {
424
+ display: !hiddenX,
425
+ position: xPosition,
426
+ title: {
427
+ display: !!xTitle,
428
+ text: xTitle,
429
+ color: axisTextColor,
430
+ font: {
431
+ size: isMobile ? 10 : 12,
432
+ weight: 'normal'
433
+ },
434
+ align: 'end'
435
+ },
436
+ grid: {
437
+ display: showGrid,
438
+ color: gridColor,
439
+ lineWidth: 1,
440
+ drawTicks: false,
441
+ tickLength: 0
442
+ },
443
+ ticks: {
444
+ color: axisTextColor,
445
+ font: {
446
+ size: isMobile ? 10 : 12
447
+ },
448
+ padding: isMobile ? 10 : 12
449
+ },
450
+ border: {
451
+ color: gridColor
452
+ }
453
+ },
454
+ y: {
455
+ display: !hiddenY,
456
+ position: yPosition,
457
+ beginAtZero: true,
458
+ title: {
459
+ display: !!yTitle,
460
+ text: yTitle,
461
+ color: axisTextColor,
462
+ font: {
463
+ size: isMobile ? 10 : 12,
464
+ weight: 'normal'
465
+ },
466
+ align: 'end'
467
+ },
468
+ grid: {
469
+ display: showGrid,
470
+ color: gridColor,
471
+ lineWidth: 1,
472
+ drawTicks: false,
473
+ tickLength: 0
474
+ },
475
+ ticks: {
476
+ color: axisTextColor,
477
+ font: {
478
+ size: isMobile ? 10 : 12
479
+ },
480
+ padding: isMobile ? 10 : 12
481
+ },
482
+ border: {
483
+ color: gridColor
484
+ }
485
+ }
317
486
  },
318
- border: {
319
- color: gridColor
487
+ elements: {
488
+ point: {
489
+ radius: isMobile ? 2 : 3,
490
+ hoverRadius: isMobile ? 3 : 5,
491
+ borderWidth: isMobile ? 1 : 2,
492
+ hoverBorderWidth: isMobile ? 1 : 2
493
+ },
494
+ line: {
495
+ borderWidth: 3
496
+ }
320
497
  }
321
- }
322
- },
323
- elements: {
324
- point: {
325
- radius: isMobile ? 2 : 3,
326
- hoverRadius: isMobile ? 3 : 5,
327
- borderWidth: isMobile ? 1 : 2,
328
- hoverBorderWidth: isMobile ? 1 : 2
329
- },
330
- line: {
331
- borderWidth: 3
332
- }
333
- }
334
- };
335
- const handleDownload = () => {
336
- downloadChart(chartRef.current, "area-chart");
337
- };
338
- return wrapSSR(
339
- /* @__PURE__ */ React.createElement(
340
- ChartContainer,
341
- {
342
- baseClassName,
343
- className,
344
- theme,
345
- isMobile,
346
- variant,
498
+ };
499
+ var handleDownload = function() {
500
+ downloadChart(chartRef.current, 'area-chart');
501
+ };
502
+ return wrapSSR(/*#__PURE__*/ React.createElement(ChartContainer, {
503
+ baseClassName: baseClassName,
504
+ className: className,
505
+ theme: theme,
506
+ isMobile: isMobile,
507
+ variant: variant,
347
508
  style: {
348
- width: responsiveWidth,
349
- height: responsiveHeight
350
- }
351
- },
352
- /* @__PURE__ */ React.createElement(
353
- ChartToolBar,
354
- {
355
- title,
356
- theme,
357
- onDownload: handleDownload,
358
- extra: toolbarExtra,
359
- dataTime,
360
- filter: renderFilterInToolbar && filterOptions && filterOptions.length > 1 ? /* @__PURE__ */ React.createElement(
361
- ChartFilter,
362
- __spreadProps(__spreadValues({
363
- filterOptions,
364
- selectedFilter,
365
- onFilterChange: setSelectedFilter
366
- }, filterLabels && {
367
- customOptions: filteredDataByFilterLabel,
368
- selectedCustomSelection: selectedFilterLabel,
369
- onSelectionChange: setSelectedFilterLabel
370
- }), {
371
- theme,
372
- variant: "compact"
373
- })
374
- ) : void 0
509
+ width: responsiveWidth,
510
+ height: responsiveHeight
375
511
  }
376
- ),
377
- statistics && /* @__PURE__ */ React.createElement(
378
- "div",
379
- {
380
- className: classNames(`${baseClassName}-statistic-container`, hashId)
381
- },
382
- statistics.map((config, index) => /* @__PURE__ */ React.createElement(ChartStatistic, __spreadProps(__spreadValues({ key: index }, config), { theme })))
383
- ),
384
- !renderFilterInToolbar && filterOptions && filterOptions.length > 1 && /* @__PURE__ */ React.createElement(
385
- ChartFilter,
386
- __spreadProps(__spreadValues({
387
- filterOptions,
388
- selectedFilter,
389
- onFilterChange: setSelectedFilter
512
+ }, /*#__PURE__*/ React.createElement(ChartToolBar, {
513
+ title: title,
514
+ theme: theme,
515
+ onDownload: handleDownload,
516
+ extra: toolbarExtra,
517
+ dataTime: dataTime,
518
+ filter: renderFilterInToolbar && filterOptions && filterOptions.length > 1 ? /*#__PURE__*/ React.createElement(ChartFilter, _object_spread_props(_object_spread({
519
+ filterOptions: filterOptions,
520
+ selectedFilter: selectedFilter,
521
+ onFilterChange: setSelectedFilter
390
522
  }, filterLabels && {
391
- customOptions: filteredDataByFilterLabel,
392
- selectedCustomSelection: selectedFilterLabel,
393
- onSelectionChange: setSelectedFilterLabel
523
+ customOptions: filteredDataByFilterLabel,
524
+ selectedCustomSelection: selectedFilterLabel,
525
+ onSelectionChange: setSelectedFilterLabel
394
526
  }), {
395
- theme
396
- })
397
- ),
398
- /* @__PURE__ */ React.createElement(
399
- "div",
400
- {
401
- className: `${baseClassName}-wrapper`,
402
- style: { marginTop: "20px", height: responsiveHeight }
403
- },
404
- /* @__PURE__ */ React.createElement(Line, { ref: chartRef, data: processedData, options })
405
- )
406
- )
407
- );
408
- };
409
- var AreaChart_default = AreaChart;
410
- export {
411
- AreaChart_default as default
527
+ theme: theme,
528
+ variant: "compact"
529
+ })) : undefined
530
+ }), statistics && /*#__PURE__*/ React.createElement("div", {
531
+ className: classNames("".concat(baseClassName, "-statistic-container"), hashId)
532
+ }, statistics.map(function(config, index) {
533
+ return /*#__PURE__*/ React.createElement(ChartStatistic, _object_spread_props(_object_spread({
534
+ key: index
535
+ }, config), {
536
+ theme: theme
537
+ }));
538
+ })), !renderFilterInToolbar && filterOptions && filterOptions.length > 1 && /*#__PURE__*/ React.createElement(ChartFilter, _object_spread_props(_object_spread({
539
+ filterOptions: filterOptions,
540
+ selectedFilter: selectedFilter,
541
+ onFilterChange: setSelectedFilter
542
+ }, filterLabels && {
543
+ customOptions: filteredDataByFilterLabel,
544
+ selectedCustomSelection: selectedFilterLabel,
545
+ onSelectionChange: setSelectedFilterLabel
546
+ }), {
547
+ theme: theme
548
+ })), /*#__PURE__*/ React.createElement("div", {
549
+ className: "".concat(baseClassName, "-wrapper"),
550
+ style: {
551
+ marginTop: '20px',
552
+ height: responsiveHeight
553
+ }
554
+ }, /*#__PURE__*/ React.createElement(Line, {
555
+ ref: chartRef,
556
+ data: processedData,
557
+ options: options
558
+ }))));
412
559
  };
560
+ export default AreaChart;