@ant-design/agentic-ui 2.8.0 → 2.9.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 (581) 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.js +67 -26
  136. package/dist/Hooks/useRefFunction/index.js +76 -11
  137. package/dist/Hooks/useSpeechSynthesis.js +143 -99
  138. package/dist/Hooks/useStyle/index.js +95 -60
  139. package/dist/Hooks/useThrottleFn/index.js +41 -41
  140. package/dist/I18n/index.js +246 -109
  141. package/dist/I18n/locales.js +718 -711
  142. package/dist/Icons/animated/VoicePlayLottie/index.js +75 -46
  143. package/dist/Icons/animated/VoicingLottie/index.js +78 -47
  144. package/dist/MarkdownEditor/BaseMarkdownEditor.js +421 -349
  145. package/dist/MarkdownEditor/editor/Editor.js +1160 -843
  146. package/dist/MarkdownEditor/editor/components/CommentList/index.js +407 -239
  147. package/dist/MarkdownEditor/editor/components/CommentList/style.js +119 -89
  148. package/dist/MarkdownEditor/editor/components/ContributorAvatar/index.js +61 -63
  149. package/dist/MarkdownEditor/editor/components/ContributorAvatar/style.js +82 -52
  150. package/dist/MarkdownEditor/editor/components/LazyElement/index.js +208 -106
  151. package/dist/MarkdownEditor/editor/components/LazyElement/style.js +69 -42
  152. package/dist/MarkdownEditor/editor/components/fntTag/index.js +7 -11
  153. package/dist/MarkdownEditor/editor/components/fntTag/style.js +66 -36
  154. package/dist/MarkdownEditor/editor/components/index.js +0 -1
  155. package/dist/MarkdownEditor/editor/elements/Blockquote.js +95 -37
  156. package/dist/MarkdownEditor/editor/elements/Break.js +56 -25
  157. package/dist/MarkdownEditor/editor/elements/Card/index.js +131 -52
  158. package/dist/MarkdownEditor/editor/elements/Code.js +89 -67
  159. package/dist/MarkdownEditor/editor/elements/Comment/index.js +79 -50
  160. package/dist/MarkdownEditor/editor/elements/ErrorBoundary.js +117 -21
  161. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition.js +83 -64
  162. package/dist/MarkdownEditor/editor/elements/FootnoteReference.js +115 -41
  163. package/dist/MarkdownEditor/editor/elements/Head.js +131 -67
  164. package/dist/MarkdownEditor/editor/elements/Hr.js +63 -38
  165. package/dist/MarkdownEditor/editor/elements/Image/index.js +636 -494
  166. package/dist/MarkdownEditor/editor/elements/InlineKatex.js +60 -44
  167. package/dist/MarkdownEditor/editor/elements/Katex.js +71 -55
  168. package/dist/MarkdownEditor/editor/elements/LinkCard/index.js +79 -175
  169. package/dist/MarkdownEditor/editor/elements/LinkCard/style.js +130 -100
  170. package/dist/MarkdownEditor/editor/elements/List/List.js +96 -69
  171. package/dist/MarkdownEditor/editor/elements/List/ListItem.js +422 -247
  172. package/dist/MarkdownEditor/editor/elements/List/index.js +1 -5
  173. package/dist/MarkdownEditor/editor/elements/List/style.js +131 -117
  174. package/dist/MarkdownEditor/editor/elements/Media.js +637 -519
  175. package/dist/MarkdownEditor/editor/elements/Mermaid.js +79 -54
  176. package/dist/MarkdownEditor/editor/elements/Paragraph.js +144 -83
  177. package/dist/MarkdownEditor/editor/elements/Schema.js +167 -128
  178. package/dist/MarkdownEditor/editor/elements/Table/ReadonlyTableComponent.js +211 -178
  179. package/dist/MarkdownEditor/editor/elements/Table/SimpleTable.js +73 -49
  180. package/dist/MarkdownEditor/editor/elements/Table/Table.js +285 -204
  181. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/index.js +397 -280
  182. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/style.js +126 -101
  183. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/index.js +381 -276
  184. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/style.js +120 -98
  185. package/dist/MarkdownEditor/editor/elements/Table/TableContext.js +64 -21
  186. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/index.js +52 -42
  187. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/style.js +69 -39
  188. package/dist/MarkdownEditor/editor/elements/Table/Td/index.js +126 -72
  189. package/dist/MarkdownEditor/editor/elements/Table/Td/style.js +85 -55
  190. package/dist/MarkdownEditor/editor/elements/Table/index.js +204 -105
  191. package/dist/MarkdownEditor/editor/elements/Table/style.js +244 -233
  192. package/dist/MarkdownEditor/editor/elements/Table/useScrollShadow.js +119 -62
  193. package/dist/MarkdownEditor/editor/elements/TagPopup/index.js +438 -276
  194. package/dist/MarkdownEditor/editor/elements/TagPopup/style.js +103 -77
  195. package/dist/MarkdownEditor/editor/elements/index.js +437 -424
  196. package/dist/MarkdownEditor/editor/parser/json-parse.js +38 -9
  197. package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +1753 -1168
  198. package/dist/MarkdownEditor/editor/parser/parserMdToSchema.js +16 -20
  199. package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +1021 -606
  200. package/dist/MarkdownEditor/editor/parser/remarkParse.js +158 -102
  201. package/dist/MarkdownEditor/editor/plugins/catchError.js +78 -17
  202. package/dist/MarkdownEditor/editor/plugins/elements.js +458 -342
  203. package/dist/MarkdownEditor/editor/plugins/handlePaste.js +752 -300
  204. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/arrow.js +215 -129
  205. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +325 -180
  206. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/enter.js +576 -418
  207. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +157 -47
  208. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +331 -209
  209. package/dist/MarkdownEditor/editor/plugins/index.js +0 -1
  210. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +1245 -507
  211. package/dist/MarkdownEditor/editor/plugins/parseMarkdownToNodesAndInsert.js +36 -24
  212. package/dist/MarkdownEditor/editor/plugins/useHighlight.js +267 -116
  213. package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +234 -160
  214. package/dist/MarkdownEditor/editor/plugins/useOnchange.js +253 -92
  215. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +728 -439
  216. package/dist/MarkdownEditor/editor/store.js +1819 -1389
  217. package/dist/MarkdownEditor/editor/style.js +551 -506
  218. package/dist/MarkdownEditor/editor/tagStyles.js +43 -43
  219. package/dist/MarkdownEditor/editor/tools/DragHandle.js +56 -54
  220. package/dist/MarkdownEditor/editor/tools/InsertAutocomplete.js +1049 -732
  221. package/dist/MarkdownEditor/editor/tools/InsertLink.js +232 -181
  222. package/dist/MarkdownEditor/editor/tools/Leading.js +566 -303
  223. package/dist/MarkdownEditor/editor/tools/ToolBar/BaseBar.js +415 -377
  224. package/dist/MarkdownEditor/editor/tools/ToolBar/FloatBar.js +162 -125
  225. package/dist/MarkdownEditor/editor/tools/ToolBar/ReadonlyBaseBar.js +480 -258
  226. package/dist/MarkdownEditor/editor/tools/ToolBar/ToolBar.js +44 -44
  227. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ClearFormatButton.js +20 -35
  228. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ColorPickerButton.js +69 -73
  229. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormatButton.js +13 -19
  230. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormattingTools.js +34 -41
  231. package/dist/MarkdownEditor/editor/tools/ToolBar/components/HeadingDropdown.js +53 -47
  232. package/dist/MarkdownEditor/editor/tools/ToolBar/components/LinkButton.js +11 -19
  233. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ToolBarItem.js +23 -43
  234. package/dist/MarkdownEditor/editor/tools/ToolBar/components/UndoRedoButtons.js +14 -25
  235. package/dist/MarkdownEditor/editor/tools/ToolBar/config/toolsConfig.js +139 -102
  236. package/dist/MarkdownEditor/editor/tools/ToolBar/floatBarStyle.js +95 -65
  237. package/dist/MarkdownEditor/editor/tools/ToolBar/hooks/useToolBarLogic.js +252 -161
  238. package/dist/MarkdownEditor/editor/tools/ToolBar/index.js +14 -24
  239. package/dist/MarkdownEditor/editor/tools/ToolBar/toolBarStyle.js +95 -65
  240. package/dist/MarkdownEditor/editor/tools/insertAutocompleteStyle.js +82 -52
  241. package/dist/MarkdownEditor/editor/types/Table.js +1 -0
  242. package/dist/MarkdownEditor/editor/utils/InlineChromiumBugfix.js +11 -16
  243. package/dist/MarkdownEditor/editor/utils/ace.js +136 -40
  244. package/dist/MarkdownEditor/editor/utils/docx/docxDeserializer.js +29 -32
  245. package/dist/MarkdownEditor/editor/utils/docx/index.js +0 -1
  246. package/dist/MarkdownEditor/editor/utils/docx/module.js +193 -164
  247. package/dist/MarkdownEditor/editor/utils/docx/utils.js +113 -98
  248. package/dist/MarkdownEditor/editor/utils/dom.js +119 -90
  249. package/dist/MarkdownEditor/editor/utils/editorUtils.js +1369 -906
  250. package/dist/MarkdownEditor/editor/utils/htmlToMarkdown.js +196 -184
  251. package/dist/MarkdownEditor/editor/utils/index.js +354 -215
  252. package/dist/MarkdownEditor/editor/utils/isMarkdown.js +56 -44
  253. package/dist/MarkdownEditor/editor/utils/keyboard.js +1229 -664
  254. package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +294 -76
  255. package/dist/MarkdownEditor/editor/utils/media.js +274 -99
  256. package/dist/MarkdownEditor/editor/utils/path.js +22 -16
  257. package/dist/MarkdownEditor/editor/utils/performanceMonitor.js +370 -168
  258. package/dist/MarkdownEditor/editor/utils/useLocalState.js +96 -37
  259. package/dist/MarkdownEditor/el.js +1 -0
  260. package/dist/MarkdownEditor/hooks/editor.js +123 -41
  261. package/dist/MarkdownEditor/hooks/subscribe.js +18 -15
  262. package/dist/MarkdownEditor/index.js +118 -30
  263. package/dist/MarkdownEditor/plugin.js +2 -5
  264. package/dist/MarkdownEditor/style.js +96 -66
  265. package/dist/MarkdownEditor/types.js +1 -0
  266. package/dist/MarkdownEditor/utils/exportHtml.js +42 -83
  267. package/dist/MarkdownEditor/utils/native-table/index.js +0 -1
  268. package/dist/MarkdownEditor/utils/native-table/native-table-editor.js +337 -222
  269. package/dist/MarkdownEditor/utils/native-table/native-table-keyboard.js +201 -113
  270. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.js +86 -79
  271. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileIcon.js +62 -33
  272. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.js +147 -125
  273. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/index.js +174 -129
  274. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/style.js +263 -237
  275. package/dist/MarkdownInputField/AttachmentButton/index.js +465 -205
  276. package/dist/MarkdownInputField/AttachmentButton/style.js +143 -114
  277. package/dist/MarkdownInputField/AttachmentButton/types.js +3 -0
  278. package/dist/MarkdownInputField/AttachmentButton/utils.js +64 -34
  279. package/dist/MarkdownInputField/BeforeToolContainer/BeforeToolContainer.js +438 -404
  280. package/dist/MarkdownInputField/Enlargement/index.js +7 -17
  281. package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +193 -216
  282. package/dist/MarkdownInputField/FileMapView/index.js +387 -174
  283. package/dist/MarkdownInputField/FileMapView/style.js +281 -259
  284. package/dist/MarkdownInputField/FilePaste/index.js +239 -65
  285. package/dist/MarkdownInputField/FileUploadManager/index.js +460 -170
  286. package/dist/MarkdownInputField/MarkdownInputField.js +819 -549
  287. package/dist/MarkdownInputField/QuickActions/index.js +304 -134
  288. package/dist/MarkdownInputField/RefinePromptButton/index.js +24 -33
  289. package/dist/MarkdownInputField/RefinePromptButton/style.js +99 -73
  290. package/dist/MarkdownInputField/SendActions/index.js +179 -197
  291. package/dist/MarkdownInputField/SendButton/index.js +150 -110
  292. package/dist/MarkdownInputField/SendButton/style.js +95 -64
  293. package/dist/MarkdownInputField/SkillModeBar/hooks/index.js +3 -5
  294. package/dist/MarkdownInputField/SkillModeBar/hooks/useSkillModeState.js +51 -26
  295. package/dist/MarkdownInputField/SkillModeBar/index.js +119 -106
  296. package/dist/MarkdownInputField/SkillModeBar/style.js +124 -98
  297. package/dist/MarkdownInputField/Suggestion/index.js +391 -154
  298. package/dist/MarkdownInputField/TopOperatingArea/index.js +37 -44
  299. package/dist/MarkdownInputField/TopOperatingArea/style.js +98 -81
  300. package/dist/MarkdownInputField/VoiceInput/index.js +210 -82
  301. package/dist/MarkdownInputField/VoiceInput/style.js +85 -59
  302. package/dist/MarkdownInputField/VoiceInputManager/index.js +321 -94
  303. package/dist/MarkdownInputField/style.js +296 -233
  304. package/dist/Plugins/chart/AreaChart/index.js +541 -393
  305. package/dist/Plugins/chart/AreaChart/style.js +114 -90
  306. package/dist/Plugins/chart/BarChart/index.d.ts +4 -0
  307. package/dist/Plugins/chart/BarChart/index.js +865 -697
  308. package/dist/Plugins/chart/BarChart/style.js +114 -90
  309. package/dist/Plugins/chart/ChartAttrToolBar/ChartAttrToolBarStyle.js +82 -52
  310. package/dist/Plugins/chart/ChartAttrToolBar/index.js +94 -65
  311. package/dist/Plugins/chart/ChartMark/Area.js +176 -150
  312. package/dist/Plugins/chart/ChartMark/Bar.js +181 -152
  313. package/dist/Plugins/chart/ChartMark/Column.js +181 -151
  314. package/dist/Plugins/chart/ChartMark/Container.js +116 -75
  315. package/dist/Plugins/chart/ChartMark/Line.js +179 -151
  316. package/dist/Plugins/chart/ChartMark/Pie.js +79 -63
  317. package/dist/Plugins/chart/ChartMark/index.js +6 -13
  318. package/dist/Plugins/chart/ChartMark/useChart.js +1 -0
  319. package/dist/Plugins/chart/ChartRender.js +981 -696
  320. package/dist/Plugins/chart/ChartStatistic/index.js +47 -62
  321. package/dist/Plugins/chart/ChartStatistic/style.js +142 -143
  322. package/dist/Plugins/chart/ChartStatistic/utils.js +37 -27
  323. package/dist/Plugins/chart/DonutChart/Legend.js +94 -124
  324. package/dist/Plugins/chart/DonutChart/constants.js +4 -11
  325. package/dist/Plugins/chart/DonutChart/hooks.js +183 -112
  326. package/dist/Plugins/chart/DonutChart/index.js +588 -516
  327. package/dist/Plugins/chart/DonutChart/plugins.js +47 -44
  328. package/dist/Plugins/chart/DonutChart/style.js +186 -175
  329. package/dist/Plugins/chart/DonutChart/types.js +1 -0
  330. package/dist/Plugins/chart/FunnelChart/index.js +844 -647
  331. package/dist/Plugins/chart/FunnelChart/style.js +97 -71
  332. package/dist/Plugins/chart/LineChart/index.js +516 -393
  333. package/dist/Plugins/chart/LineChart/style.js +114 -90
  334. package/dist/Plugins/chart/RadarChart/index.js +580 -582
  335. package/dist/Plugins/chart/RadarChart/style.js +122 -112
  336. package/dist/Plugins/chart/ScatterChart/index.js +633 -640
  337. package/dist/Plugins/chart/ScatterChart/style.js +108 -94
  338. package/dist/Plugins/chart/components/ChartContainer/ChartContainer.js +151 -80
  339. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.js +160 -41
  340. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundaryExample.js +80 -62
  341. package/dist/Plugins/chart/components/ChartContainer/index.js +2 -7
  342. package/dist/Plugins/chart/components/ChartContainer/style.js +121 -91
  343. package/dist/Plugins/chart/components/ChartFilter/ChartFilter.js +58 -90
  344. package/dist/Plugins/chart/components/ChartFilter/style.js +169 -154
  345. package/dist/Plugins/chart/components/ChartToolBar/ChartToolBar.js +54 -59
  346. package/dist/Plugins/chart/components/ChartToolBar/style.js +132 -117
  347. package/dist/Plugins/chart/components/icons/TimeIcon.js +20 -26
  348. package/dist/Plugins/chart/components/index.js +32 -34
  349. package/dist/Plugins/chart/const.js +34 -25
  350. package/dist/Plugins/chart/hooks/useChartStatistic.js +1 -0
  351. package/dist/Plugins/chart/index.js +436 -339
  352. package/dist/Plugins/chart/loadChartRuntime.js +209 -110
  353. package/dist/Plugins/chart/utils.js +311 -87
  354. package/dist/Plugins/code/CodeUI/Katex/Katex.js +112 -66
  355. package/dist/Plugins/code/components/AceEditor.js +334 -237
  356. package/dist/Plugins/code/components/AceEditorContainer.js +23 -32
  357. package/dist/Plugins/code/components/CodeContainer.js +41 -56
  358. package/dist/Plugins/code/components/CodeRenderer.js +202 -155
  359. package/dist/Plugins/code/components/CodeToolbar.js +137 -181
  360. package/dist/Plugins/code/components/HtmlPreview.js +19 -22
  361. package/dist/Plugins/code/components/LanguageSelector.js +162 -96
  362. package/dist/Plugins/code/components/LoadImage.js +145 -46
  363. package/dist/Plugins/code/components/ThinkBlock.js +38 -42
  364. package/dist/Plugins/code/components/index.js +13 -23
  365. package/dist/Plugins/code/hooks/index.js +7 -9
  366. package/dist/Plugins/code/hooks/useCodeEditorState.js +139 -62
  367. package/dist/Plugins/code/hooks/useRenderConditions.js +31 -23
  368. package/dist/Plugins/code/hooks/useToolbarConfig.js +44 -46
  369. package/dist/Plugins/code/index.js +141 -89
  370. package/dist/Plugins/code/langIconMap.js +400 -108
  371. package/dist/Plugins/code/langIcons/AbapIcon.js +90 -57
  372. package/dist/Plugins/code/langIcons/ActionscriptIcon.js +89 -56
  373. package/dist/Plugins/code/langIcons/AdaIcon.js +89 -52
  374. package/dist/Plugins/code/langIcons/ApacheIcon.js +205 -254
  375. package/dist/Plugins/code/langIcons/ApexIcon.js +108 -82
  376. package/dist/Plugins/code/langIcons/AplIcon.js +90 -54
  377. package/dist/Plugins/code/langIcons/ApplescriptIcon.js +89 -56
  378. package/dist/Plugins/code/langIcons/AstroIcon.js +91 -58
  379. package/dist/Plugins/code/langIcons/AwkIcon.js +98 -68
  380. package/dist/Plugins/code/langIcons/BallerinaIcon.js +92 -59
  381. package/dist/Plugins/code/langIcons/BatIcon.js +158 -229
  382. package/dist/Plugins/code/langIcons/BicepIcon.js +91 -58
  383. package/dist/Plugins/code/langIcons/BladeIcon.js +90 -58
  384. package/dist/Plugins/code/langIcons/CIcon.js +90 -55
  385. package/dist/Plugins/code/langIcons/CadenceIcon.js +89 -56
  386. package/dist/Plugins/code/langIcons/ClojureIcon.js +96 -75
  387. package/dist/Plugins/code/langIcons/CmakeIcon.js +93 -62
  388. package/dist/Plugins/code/langIcons/CobolIcon.js +99 -70
  389. package/dist/Plugins/code/langIcons/CodeqlIcon.js +96 -76
  390. package/dist/Plugins/code/langIcons/CoffeeIcon.js +89 -56
  391. package/dist/Plugins/code/langIcons/ConsoleIcon.js +89 -56
  392. package/dist/Plugins/code/langIcons/CppIcon.js +90 -55
  393. package/dist/Plugins/code/langIcons/CrystalIcon.js +90 -57
  394. package/dist/Plugins/code/langIcons/CsharpIcon.js +90 -59
  395. package/dist/Plugins/code/langIcons/CssIcon.js +89 -52
  396. package/dist/Plugins/code/langIcons/DIcon.js +90 -53
  397. package/dist/Plugins/code/langIcons/DartIcon.js +92 -71
  398. package/dist/Plugins/code/langIcons/DatabaseIcon.js +90 -57
  399. package/dist/Plugins/code/langIcons/DiffIcon.js +90 -57
  400. package/dist/Plugins/code/langIcons/DockerIcon.js +89 -56
  401. package/dist/Plugins/code/langIcons/DotenvIcon.js +94 -56
  402. package/dist/Plugins/code/langIcons/ElixirIcon.js +91 -58
  403. package/dist/Plugins/code/langIcons/ElmIcon.js +105 -58
  404. package/dist/Plugins/code/langIcons/ErbIcon.js +90 -54
  405. package/dist/Plugins/code/langIcons/ErlangIcon.js +89 -56
  406. package/dist/Plugins/code/langIcons/FsharpIcon.js +93 -62
  407. package/dist/Plugins/code/langIcons/GdscriptIcon.js +96 -88
  408. package/dist/Plugins/code/langIcons/GlslIcon.js +90 -58
  409. package/dist/Plugins/code/langIcons/GnuplotIcon.js +98 -77
  410. package/dist/Plugins/code/langIcons/GoIcon.js +114 -93
  411. package/dist/Plugins/code/langIcons/GraphqlIcon.js +106 -66
  412. package/dist/Plugins/code/langIcons/GroovyIcon.js +89 -56
  413. package/dist/Plugins/code/langIcons/HackIcon.js +97 -64
  414. package/dist/Plugins/code/langIcons/HamlIcon.js +89 -56
  415. package/dist/Plugins/code/langIcons/HandlebarsIcon.js +89 -56
  416. package/dist/Plugins/code/langIcons/HaskellIcon.js +93 -64
  417. package/dist/Plugins/code/langIcons/HclIcon.js +118 -93
  418. package/dist/Plugins/code/langIcons/HclLightIcon.js +118 -97
  419. package/dist/Plugins/code/langIcons/HjsonIcon.js +94 -62
  420. package/dist/Plugins/code/langIcons/HlslIcon.js +96 -76
  421. package/dist/Plugins/code/langIcons/HtmlIcon.js +89 -56
  422. package/dist/Plugins/code/langIcons/HttpIcon.js +89 -56
  423. package/dist/Plugins/code/langIcons/ImbaIcon.js +98 -65
  424. package/dist/Plugins/code/langIcons/IniIcon.js +90 -54
  425. package/dist/Plugins/code/langIcons/JavaIcon.js +89 -56
  426. package/dist/Plugins/code/langIcons/JavascriptIcon.js +89 -56
  427. package/dist/Plugins/code/langIcons/JinjaIcon.js +100 -68
  428. package/dist/Plugins/code/langIcons/Json5Icon.js +100 -82
  429. package/dist/Plugins/code/langIcons/JsonIcon.js +89 -56
  430. package/dist/Plugins/code/langIcons/JsonnetIcon.js +102 -86
  431. package/dist/Plugins/code/langIcons/JuliaIcon.js +105 -52
  432. package/dist/Plugins/code/langIcons/KotlinIcon.js +104 -74
  433. package/dist/Plugins/code/langIcons/KustoIcon.js +90 -57
  434. package/dist/Plugins/code/langIcons/LessIcon.js +90 -57
  435. package/dist/Plugins/code/langIcons/LiquidIcon.js +91 -58
  436. package/dist/Plugins/code/langIcons/LispIcon.js +89 -56
  437. package/dist/Plugins/code/langIcons/LuaIcon.js +93 -60
  438. package/dist/Plugins/code/langIcons/MakefileIcon.js +91 -58
  439. package/dist/Plugins/code/langIcons/MarkdownIcon.js +89 -56
  440. package/dist/Plugins/code/langIcons/MarkojsIcon.js +96 -73
  441. package/dist/Plugins/code/langIcons/MatlabIcon.js +93 -64
  442. package/dist/Plugins/code/langIcons/MdxIcon.js +90 -53
  443. package/dist/Plugins/code/langIcons/MermaidIcon.js +95 -64
  444. package/dist/Plugins/code/langIcons/MojoIcon.js +95 -62
  445. package/dist/Plugins/code/langIcons/NginxIcon.js +94 -61
  446. package/dist/Plugins/code/langIcons/NimIcon.js +91 -54
  447. package/dist/Plugins/code/langIcons/NixIcon.js +92 -56
  448. package/dist/Plugins/code/langIcons/ObjectiveCIcon.js +90 -59
  449. package/dist/Plugins/code/langIcons/ObjectiveCppIcon.js +90 -57
  450. package/dist/Plugins/code/langIcons/OcamlIcon.js +90 -61
  451. package/dist/Plugins/code/langIcons/PascalIcon.js +95 -55
  452. package/dist/Plugins/code/langIcons/Perl6Icon.js +299 -320
  453. package/dist/Plugins/code/langIcons/PerlIcon.js +89 -56
  454. package/dist/Plugins/code/langIcons/PhpIcon.js +89 -52
  455. package/dist/Plugins/code/langIcons/PostcssIcon.js +130 -113
  456. package/dist/Plugins/code/langIcons/PowershellIcon.js +91 -58
  457. package/dist/Plugins/code/langIcons/PrismaIcon.js +97 -68
  458. package/dist/Plugins/code/langIcons/PrologIcon.js +91 -58
  459. package/dist/Plugins/code/langIcons/ProtoIcon.js +94 -68
  460. package/dist/Plugins/code/langIcons/PugIcon.js +177 -145
  461. package/dist/Plugins/code/langIcons/PuppetIcon.js +96 -52
  462. package/dist/Plugins/code/langIcons/PurescriptIcon.js +93 -61
  463. package/dist/Plugins/code/langIcons/PythonIcon.js +90 -61
  464. package/dist/Plugins/code/langIcons/RIcon.js +89 -52
  465. package/dist/Plugins/code/langIcons/RazorIcon.js +90 -57
  466. package/dist/Plugins/code/langIcons/ReactIcon.js +89 -56
  467. package/dist/Plugins/code/langIcons/ReactTsIcon.js +90 -57
  468. package/dist/Plugins/code/langIcons/RubyIcon.js +91 -58
  469. package/dist/Plugins/code/langIcons/RustIcon.js +89 -56
  470. package/dist/Plugins/code/langIcons/SasIcon.js +89 -52
  471. package/dist/Plugins/code/langIcons/SassIcon.js +90 -57
  472. package/dist/Plugins/code/langIcons/ScalaIcon.js +96 -53
  473. package/dist/Plugins/code/langIcons/SchemeIcon.js +91 -58
  474. package/dist/Plugins/code/langIcons/ShaderlabIcon.js +89 -56
  475. package/dist/Plugins/code/langIcons/SolidityIcon.js +94 -52
  476. package/dist/Plugins/code/langIcons/SparqlIcon.js +94 -64
  477. package/dist/Plugins/code/langIcons/StataIcon.js +126 -108
  478. package/dist/Plugins/code/langIcons/StylusIcon.js +92 -59
  479. package/dist/Plugins/code/langIcons/SvelteIcon.js +91 -58
  480. package/dist/Plugins/code/langIcons/SwiftIcon.js +90 -57
  481. package/dist/Plugins/code/langIcons/SystemverilogIcon.js +115 -102
  482. package/dist/Plugins/code/langIcons/TclIcon.js +89 -52
  483. package/dist/Plugins/code/langIcons/TexIcon.js +99 -65
  484. package/dist/Plugins/code/langIcons/TomlIcon.js +94 -70
  485. package/dist/Plugins/code/langIcons/TwigIcon.js +89 -56
  486. package/dist/Plugins/code/langIcons/TypescriptIcon.js +93 -60
  487. package/dist/Plugins/code/langIcons/VerilogIcon.js +89 -56
  488. package/dist/Plugins/code/langIcons/VhdlIcon.js +94 -64
  489. package/dist/Plugins/code/langIcons/VimIcon.js +278 -420
  490. package/dist/Plugins/code/langIcons/VueIcon.js +92 -59
  491. package/dist/Plugins/code/langIcons/WebassemblyIcon.js +103 -76
  492. package/dist/Plugins/code/langIcons/WenyanIcon.js +104 -100
  493. package/dist/Plugins/code/langIcons/WgslIcon.js +93 -77
  494. package/dist/Plugins/code/langIcons/WolframlanguageIcon.js +100 -71
  495. package/dist/Plugins/code/langIcons/XmlIcon.js +89 -52
  496. package/dist/Plugins/code/langIcons/XslIcon.js +94 -66
  497. package/dist/Plugins/code/langIcons/YamlIcon.js +89 -56
  498. package/dist/Plugins/code/langIcons/ZigIcon.js +106 -81
  499. package/dist/Plugins/code/langIcons/index.js +128 -259
  500. package/dist/Plugins/code/utils/index.js +5 -5
  501. package/dist/Plugins/code/utils/langOptions.js +86 -11
  502. package/dist/Plugins/defaultPlugins.js +9 -13
  503. package/dist/Plugins/formatter/index.js +205 -105
  504. package/dist/Plugins/index.js +6 -2
  505. package/dist/Plugins/katex/InlineKatex.js +196 -107
  506. package/dist/Plugins/katex/Katex.js +139 -65
  507. package/dist/Plugins/katex/index.js +163 -103
  508. package/dist/Plugins/mermaid/Mermaid.js +472 -197
  509. package/dist/Plugins/mermaid/index.js +237 -142
  510. package/dist/Quote/index.js +112 -73
  511. package/dist/Quote/style.js +176 -160
  512. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +163 -119
  513. package/dist/Schema/SchemaEditor/index.js +385 -275
  514. package/dist/Schema/SchemaEditor/style.js +261 -269
  515. package/dist/Schema/SchemaForm/index.js +443 -268
  516. package/dist/Schema/SchemaForm/types.js +1 -0
  517. package/dist/Schema/SchemaRenderer/index.js +973 -588
  518. package/dist/Schema/SchemaRenderer/templateEngine.js +106 -26
  519. package/dist/Schema/index.js +7 -11
  520. package/dist/Schema/types.js +1 -0
  521. package/dist/Schema/validator.js +74 -36
  522. package/dist/TaskList/index.js +197 -142
  523. package/dist/TaskList/style.js +143 -122
  524. package/dist/ThoughtChainList/CostMillis.js +88 -54
  525. package/dist/ThoughtChainList/DeepThink.js +187 -152
  526. package/dist/ThoughtChainList/DotAni/index.js +29 -14
  527. package/dist/ThoughtChainList/DotAni/style.js +82 -50
  528. package/dist/ThoughtChainList/FlipText/index.js +74 -30
  529. package/dist/ThoughtChainList/MarkdownEditor.js +126 -72
  530. package/dist/ThoughtChainList/RagRetrievalInfo.js +113 -145
  531. package/dist/ThoughtChainList/TableSql.js +413 -459
  532. package/dist/ThoughtChainList/ThoughtChainListItem.js +388 -222
  533. package/dist/ThoughtChainList/TitleInfo.js +189 -185
  534. package/dist/ThoughtChainList/ToolCall.js +429 -463
  535. package/dist/ThoughtChainList/WebSearch.js +192 -162
  536. package/dist/ThoughtChainList/index.js +449 -410
  537. package/dist/ThoughtChainList/style.js +253 -232
  538. package/dist/ThoughtChainList/types.js +1 -0
  539. package/dist/ToolUseBar/ToolUseBarItem.js +183 -139
  540. package/dist/ToolUseBar/ToolUseBarItemComponents.js +345 -276
  541. package/dist/ToolUseBar/ToolUseBarThink.js +335 -396
  542. package/dist/ToolUseBar/index.js +226 -113
  543. package/dist/ToolUseBar/style.js +334 -308
  544. package/dist/ToolUseBar/thinkStyle.js +350 -328
  545. package/dist/Types/common.js +1 -0
  546. package/dist/Types/index.js +4 -2
  547. package/dist/Types/message.js +1 -0
  548. package/dist/Utils/easings.js +9 -12
  549. package/dist/Utils/formatTime.js +41 -17
  550. package/dist/Utils/getScroll.js +41 -41
  551. package/dist/Utils/language.js +355 -150
  552. package/dist/Utils/proxySandbox/ProxySandbox.js +1637 -1076
  553. package/dist/Utils/proxySandbox/SecurityContextManager.js +607 -343
  554. package/dist/Utils/proxySandbox/index.js +554 -267
  555. package/dist/Utils/proxySandbox/types.js +187 -52
  556. package/dist/Utils/scrollTo.js +48 -56
  557. package/dist/Utils/throttleByAnimationFrame.js +46 -20
  558. package/dist/WelcomeMessage/index.js +106 -58
  559. package/dist/WelcomeMessage/style.js +80 -55
  560. package/dist/Workspace/Browser/index.js +102 -40
  561. package/dist/Workspace/Browser/style.js +62 -33
  562. package/dist/Workspace/File/DataSourceStrategy.js +419 -217
  563. package/dist/Workspace/File/FileComponent.js +1004 -791
  564. package/dist/Workspace/File/FileTypeProcessor.js +337 -184
  565. package/dist/Workspace/File/PreviewComponent.js +472 -532
  566. package/dist/Workspace/File/index.js +3 -10
  567. package/dist/Workspace/File/style.js +397 -424
  568. package/dist/Workspace/File/utils.js +160 -106
  569. package/dist/Workspace/HtmlPreview/index.js +238 -137
  570. package/dist/Workspace/HtmlPreview/style.js +99 -77
  571. package/dist/Workspace/RealtimeFollow/index.js +411 -413
  572. package/dist/Workspace/RealtimeFollow/style.js +299 -303
  573. package/dist/Workspace/Task/index.js +53 -35
  574. package/dist/Workspace/Task/style.js +99 -73
  575. package/dist/Workspace/index.js +332 -254
  576. package/dist/Workspace/style.js +165 -146
  577. package/dist/Workspace/types.js +471 -252
  578. package/dist/Workspace/utils/codeLanguageUtils.js +148 -129
  579. package/dist/Workspace/utils.js +28 -20
  580. package/dist/index.js +27 -17
  581. package/package.json +3 -2
@@ -1,682 +1,675 @@
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 _define_property(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
16
19
  }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
20
+ return obj;
21
+ }
22
+ function _iterable_to_array_limit(arr, i) {
23
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
24
+ if (_i == null) return;
25
+ var _arr = [];
26
+ var _n = true;
27
+ var _d = false;
28
+ var _s, _e;
29
+ try {
30
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
31
+ _arr.push(_s.value);
32
+ if (i && _arr.length === i) break;
33
+ }
34
+ } catch (err) {
35
+ _d = true;
36
+ _e = err;
37
+ } finally{
38
+ try {
39
+ if (!_n && _i["return"] != null) _i["return"]();
40
+ } finally{
41
+ if (_d) throw _e;
42
+ }
29
43
  }
30
- return target;
31
- };
32
-
33
- // src/Plugins/chart/ScatterChart/index.tsx
44
+ return _arr;
45
+ }
46
+ function _non_iterable_rest() {
47
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
48
+ }
49
+ function _object_spread(target) {
50
+ for(var i = 1; i < arguments.length; i++){
51
+ var source = arguments[i] != null ? arguments[i] : {};
52
+ var ownKeys = Object.keys(source);
53
+ if (typeof Object.getOwnPropertySymbols === "function") {
54
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
55
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
56
+ }));
57
+ }
58
+ ownKeys.forEach(function(key) {
59
+ _define_property(target, key, source[key]);
60
+ });
61
+ }
62
+ return target;
63
+ }
64
+ function ownKeys(object, enumerableOnly) {
65
+ var keys = Object.keys(object);
66
+ if (Object.getOwnPropertySymbols) {
67
+ var symbols = Object.getOwnPropertySymbols(object);
68
+ if (enumerableOnly) {
69
+ symbols = symbols.filter(function(sym) {
70
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
71
+ });
72
+ }
73
+ keys.push.apply(keys, symbols);
74
+ }
75
+ return keys;
76
+ }
77
+ function _object_spread_props(target, source) {
78
+ source = source != null ? source : {};
79
+ if (Object.getOwnPropertyDescriptors) {
80
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
81
+ } else {
82
+ ownKeys(Object(source)).forEach(function(key) {
83
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
84
+ });
85
+ }
86
+ return target;
87
+ }
88
+ function _object_without_properties(source, excluded) {
89
+ if (source == null) return {};
90
+ var target = _object_without_properties_loose(source, excluded);
91
+ var key, i;
92
+ if (Object.getOwnPropertySymbols) {
93
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
94
+ for(i = 0; i < sourceSymbolKeys.length; i++){
95
+ key = sourceSymbolKeys[i];
96
+ if (excluded.indexOf(key) >= 0) continue;
97
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
98
+ target[key] = source[key];
99
+ }
100
+ }
101
+ return target;
102
+ }
103
+ function _object_without_properties_loose(source, excluded) {
104
+ if (source == null) return {};
105
+ var target = {};
106
+ var sourceKeys = Object.keys(source);
107
+ var key, i;
108
+ for(i = 0; i < sourceKeys.length; i++){
109
+ key = sourceKeys[i];
110
+ if (excluded.indexOf(key) >= 0) continue;
111
+ target[key] = source[key];
112
+ }
113
+ return target;
114
+ }
115
+ function _sliced_to_array(arr, i) {
116
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
117
+ }
118
+ function _type_of(obj) {
119
+ "@swc/helpers - typeof";
120
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
121
+ }
122
+ function _unsupported_iterable_to_array(o, minLen) {
123
+ if (!o) return;
124
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
125
+ var n = Object.prototype.toString.call(o).slice(8, -1);
126
+ if (n === "Object" && o.constructor) n = o.constructor.name;
127
+ if (n === "Map" || n === "Set") return Array.from(n);
128
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
129
+ }
34
130
  import { ConfigProvider } from "antd";
35
- import {
36
- Chart as ChartJS,
37
- Legend,
38
- LinearScale,
39
- LineElement,
40
- PointElement,
41
- Tooltip
42
- } from "chart.js";
131
+ import { Chart as ChartJS, Legend, LinearScale, LineElement, PointElement, Tooltip } from "chart.js";
43
132
  import classNames from "classnames";
44
133
  import React, { useContext, useEffect, useMemo, useRef, useState } from "react";
45
134
  import { Scatter } from "react-chartjs-2";
46
135
  import ChartStatistic from "../ChartStatistic";
47
- import {
48
- ChartContainer,
49
- ChartFilter,
50
- ChartToolBar,
51
- downloadChart
52
- } from "../components";
136
+ import { ChartContainer, ChartFilter, ChartToolBar, downloadChart } from "../components";
53
137
  import { defaultColorList } from "../const";
54
138
  import { useStyle } from "./style";
55
139
  var scatterChartComponentsRegistered = false;
56
- var ScatterChart = (_a) => {
57
- var _b = _a, {
58
- data,
59
- width = 600,
60
- height = 400,
61
- className,
62
- title,
63
- toolbarExtra,
64
- renderFilterInToolbar = false,
65
- dataTime,
66
- xUnit = "月",
67
- yUnit,
68
- xAxisLabel,
69
- yAxisLabel,
70
- xPosition = "bottom",
71
- yPosition = "left",
72
- hiddenX = false,
73
- hiddenY = false,
74
- showGrid = true,
75
- color,
76
- statistic: statisticConfig,
77
- textMaxWidth = 80
78
- } = _b, props = __objRest(_b, [
79
- "data",
80
- "width",
81
- "height",
82
- "className",
83
- "title",
84
- "toolbarExtra",
85
- "renderFilterInToolbar",
86
- "dataTime",
87
- "xUnit",
88
- "yUnit",
89
- "xAxisLabel",
90
- "yAxisLabel",
91
- "xPosition",
92
- "yPosition",
93
- "hiddenX",
94
- "hiddenY",
95
- "showGrid",
96
- "color",
97
- "statistic",
98
- "textMaxWidth"
99
- ]);
100
- useMemo(() => {
101
- if (scatterChartComponentsRegistered) {
102
- return void 0;
103
- }
104
- if (typeof window === "undefined") {
105
- return void 0;
106
- }
107
- ChartJS.register(LinearScale, PointElement, LineElement, Tooltip, Legend);
108
- scatterChartComponentsRegistered = true;
109
- return void 0;
110
- }, []);
111
- const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
112
- const prefixCls = getPrefixCls("scatter-chart");
113
- const { wrapSSR, hashId } = useStyle(prefixCls);
114
- const statistics = useMemo(() => {
115
- if (!statisticConfig)
116
- return null;
117
- if (Array.isArray(statisticConfig) && statisticConfig.length === 0)
118
- return null;
119
- return Array.isArray(statisticConfig) ? statisticConfig : [statisticConfig];
120
- }, [statisticConfig]);
121
- const [windowWidth, setWindowWidth] = useState(
122
- typeof window !== "undefined" ? window.innerWidth : 768
123
- );
124
- const isMobile = windowWidth <= 768;
125
- const responsiveWidth = isMobile ? "100%" : width;
126
- const responsiveHeight = isMobile ? Math.min(windowWidth * 0.8, 400) : height;
127
- useEffect(() => {
128
- const handleResize = () => {
129
- setWindowWidth(window.innerWidth);
130
- };
131
- if (typeof window !== "undefined") {
132
- window.addEventListener("resize", handleResize);
133
- return () => window.removeEventListener("resize", handleResize);
134
- }
135
- }, []);
136
- useEffect(() => {
137
- return () => {
138
- const tooltipEl = document.getElementById("custom-scatter-tooltip");
139
- if (tooltipEl) {
140
- document.body.removeChild(tooltipEl);
141
- }
142
- };
143
- }, []);
144
- const chartRef = useRef(null);
145
- const safeData = !data || !Array.isArray(data) ? [] : data.filter(
146
- (item) => item !== null && item !== void 0 && typeof item === "object" && "x" in item && "y" in item
147
- );
148
- const categories = Array.from(
149
- new Set(
150
- safeData.map((item) => item == null ? void 0 : item.category).filter((category) => Boolean(category))
151
- )
152
- );
153
- const validFilterLabels = safeData.map((item) => item == null ? void 0 : item.filterLabel).filter(
154
- (category) => category !== void 0 && category !== null && Boolean(category)
155
- );
156
- const filterLabels = validFilterLabels.length > 0 ? Array.from(new Set(validFilterLabels)) : void 0;
157
- const [selectedFilter, setSelectedFilter] = useState(
158
- () => categories.find((cat) => Boolean(cat)) || ""
159
- );
160
- const [selectedFilterLabel, setSelectedFilterLabel] = useState(
161
- () => filterLabels && filterLabels.length > 0 ? filterLabels[0] : void 0
162
- );
163
- const filteredData = safeData.filter((item) => {
164
- if (!item)
165
- return false;
166
- if (!selectedFilter)
167
- return true;
168
- const categoryMatch = (item == null ? void 0 : item.category) === selectedFilter;
169
- if (!filterLabels || !selectedFilterLabel) {
170
- return categoryMatch;
171
- }
172
- return categoryMatch && (item == null ? void 0 : item.filterLabel) === selectedFilterLabel;
173
- });
174
- const datasetTypes = Array.from(
175
- new Set(
176
- filteredData.map((item) => item == null ? void 0 : item.type).filter((type) => Boolean(type))
177
- )
178
- );
179
- if (safeData.length === 0 || datasetTypes.length === 0) {
180
- return wrapSSR(
181
- /* @__PURE__ */ React.createElement(
182
- ChartContainer,
183
- {
184
- baseClassName: classNames(`${prefixCls}-container`),
185
- theme: "light",
186
- className: classNames(hashId, className),
187
- isMobile,
188
- variant: props.variant,
189
- style: {
190
- width: responsiveWidth,
191
- height: responsiveHeight
192
- }
193
- },
194
- /* @__PURE__ */ React.createElement(
195
- ChartToolBar,
196
- {
197
- title: title || "散点图",
198
- onDownload: () => {
199
- },
200
- extra: toolbarExtra,
201
- dataTime
202
- }
203
- ),
204
- /* @__PURE__ */ React.createElement(
205
- "div",
206
- {
207
- className: classNames(`${prefixCls}-empty-wrapper`, hashId),
208
- style: {
209
- display: "flex",
210
- alignItems: "center",
211
- justifyContent: "center",
212
- height: responsiveHeight,
213
- color: "#999",
214
- fontSize: "14px"
215
- }
216
- },
217
- "暂无有效数据"
218
- )
219
- )
220
- );
221
- }
222
- const datasets = datasetTypes.map((type, index) => {
223
- const typeData = filteredData.filter((item) => (item == null ? void 0 : item.type) === type);
224
- const coordinates = typeData.map((item) => {
225
- if (!item)
226
- return { x: 0, y: 0 };
227
- let x = 0, y = 0;
228
- if (item.x !== null && item.x !== void 0) {
229
- if (typeof item.x === "number") {
230
- x = Number.isFinite(item.x) ? item.x : 0;
231
- } else if (typeof item.x === "string") {
232
- const trimmed = item.x.trim();
233
- if (trimmed !== "" && trimmed !== "null" && trimmed !== "undefined") {
234
- const parsed = Number(trimmed);
235
- x = Number.isFinite(parsed) ? parsed : 0;
236
- }
140
+ var ScatterChart = function(_param) {
141
+ var 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, title = _param.title, toolbarExtra = _param.toolbarExtra, _param_renderFilterInToolbar = _param.renderFilterInToolbar, renderFilterInToolbar = _param_renderFilterInToolbar === void 0 ? false : _param_renderFilterInToolbar, dataTime = _param.dataTime, _param_xUnit = _param.xUnit, xUnit = _param_xUnit === void 0 ? '月' : _param_xUnit, yUnit = _param.yUnit, xAxisLabel = _param.xAxisLabel, yAxisLabel = _param.yAxisLabel, _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, _param_showGrid = _param.showGrid, showGrid = _param_showGrid === void 0 ? true : _param_showGrid, color = _param.color, statisticConfig = _param.statistic, _param_textMaxWidth = _param.textMaxWidth, textMaxWidth = _param_textMaxWidth === void 0 ? 80 : _param_textMaxWidth, props = _object_without_properties(_param, [
142
+ "data",
143
+ "width",
144
+ "height",
145
+ "className",
146
+ "title",
147
+ "toolbarExtra",
148
+ "renderFilterInToolbar",
149
+ "dataTime",
150
+ "xUnit",
151
+ "yUnit",
152
+ "xAxisLabel",
153
+ "yAxisLabel",
154
+ "xPosition",
155
+ "yPosition",
156
+ "hiddenX",
157
+ "hiddenY",
158
+ "showGrid",
159
+ "color",
160
+ "statistic",
161
+ "textMaxWidth"
162
+ ]);
163
+ useMemo(function() {
164
+ if (scatterChartComponentsRegistered) {
165
+ return undefined;
166
+ }
167
+ if (typeof window === 'undefined') {
168
+ return undefined;
237
169
  }
238
- }
239
- if (item.y !== null && item.y !== void 0) {
240
- if (typeof item.y === "number") {
241
- y = Number.isFinite(item.y) ? item.y : 0;
242
- } else if (typeof item.y === "string") {
243
- const trimmed = item.y.trim();
244
- if (trimmed !== "" && trimmed !== "null" && trimmed !== "undefined") {
245
- const parsed = Number(trimmed);
246
- y = Number.isFinite(parsed) ? parsed : 0;
247
- }
170
+ ChartJS.register(LinearScale, PointElement, LineElement, Tooltip, Legend);
171
+ scatterChartComponentsRegistered = true;
172
+ return undefined;
173
+ }, []);
174
+ var getPrefixCls = useContext(ConfigProvider.ConfigContext).getPrefixCls;
175
+ var prefixCls = getPrefixCls('scatter-chart');
176
+ var _useStyle = useStyle(prefixCls), wrapSSR = _useStyle.wrapSSR, hashId = _useStyle.hashId;
177
+ // 处理 ChartStatistic 组件配置
178
+ var statistics = useMemo(function() {
179
+ if (!statisticConfig) return null;
180
+ if (Array.isArray(statisticConfig) && statisticConfig.length === 0) return null;
181
+ return Array.isArray(statisticConfig) ? statisticConfig : [
182
+ statisticConfig
183
+ ];
184
+ }, [
185
+ statisticConfig
186
+ ]);
187
+ // 响应式尺寸计算
188
+ var _useState = _sliced_to_array(useState(typeof window !== 'undefined' ? window.innerWidth : 768), 2), windowWidth = _useState[0], setWindowWidth = _useState[1];
189
+ var isMobile = windowWidth <= 768;
190
+ var responsiveWidth = isMobile ? '100%' : width;
191
+ var responsiveHeight = isMobile ? Math.min(windowWidth * 0.8, 400) : height;
192
+ // 监听窗口大小变化
193
+ useEffect(function() {
194
+ var handleResize = function() {
195
+ setWindowWidth(window.innerWidth);
196
+ };
197
+ if (typeof window !== 'undefined') {
198
+ window.addEventListener('resize', handleResize);
199
+ return function() {
200
+ return window.removeEventListener('resize', handleResize);
201
+ };
248
202
  }
249
- }
250
- return { x, y };
203
+ }, []);
204
+ // 清理自定义tooltip
205
+ useEffect(function() {
206
+ return function() {
207
+ var tooltipEl = document.getElementById('custom-scatter-tooltip');
208
+ if (tooltipEl) {
209
+ document.body.removeChild(tooltipEl);
210
+ }
211
+ };
212
+ }, []);
213
+ var chartRef = useRef(null);
214
+ // 数据安全检查和处理 - 直接处理,不用 useMemo
215
+ var safeData = !data || !Array.isArray(data) ? [] : data.filter(function(item) {
216
+ return item !== null && item !== undefined && (typeof item === "undefined" ? "undefined" : _type_of(item)) === 'object' && 'x' in item && 'y' in item;
251
217
  });
252
- const providedColor = color;
253
- const baseColor = Array.isArray(providedColor) ? providedColor[index % providedColor.length] : providedColor;
254
- const safeIndex = Math.max(0, index % defaultColorList.length);
255
- const safeDefaultColor = defaultColorList[safeIndex] || "#1677ff";
256
- const finalColor = baseColor || safeDefaultColor;
257
- return {
258
- label: type || "默认",
259
- data: coordinates,
260
- backgroundColor: `${finalColor}99`,
261
- borderColor: finalColor,
262
- pointRadius: isMobile ? 4 : 6,
263
- pointHoverRadius: isMobile ? 6 : 8
264
- };
265
- });
266
- const currentConfig = {
267
- theme: "light",
268
- showLegend: true,
269
- legendPosition: "bottom"
270
- };
271
- const filterEnum = categories.length > 0 ? categories.filter((category) => Boolean(category)).map((category) => ({
272
- label: category,
273
- value: category
274
- })) : [];
275
- const filteredDataByFilterLabel = filterLabels == null ? void 0 : filterLabels.map((item) => ({
276
- key: item,
277
- label: item
278
- }));
279
- const processedData = {
280
- datasets: datasets.length > 0 ? datasets : [
281
- {
282
- label: "默认",
283
- data: [{ x: 0, y: 0 }],
284
- backgroundColor: `${defaultColorList[0] || "#1677ff"}99`,
285
- borderColor: defaultColorList[0] || "#1677ff",
286
- pointRadius: isMobile ? 4 : 6,
287
- pointHoverRadius: isMobile ? 6 : 8
288
- }
289
- ]
290
- };
291
- const options = {
292
- responsive: true,
293
- maintainAspectRatio: false,
294
- plugins: {
295
- legend: {
296
- display: currentConfig.showLegend !== false,
297
- position: isMobile ? "bottom" : currentConfig.legendPosition || "bottom",
298
- align: "start",
299
- labels: {
300
- color: currentConfig.theme === "light" ? "#767E8B" : "#fff",
301
- font: {
302
- size: isMobile ? 10 : 12,
303
- weight: "normal"
304
- },
305
- padding: isMobile ? 10 : 20,
306
- usePointStyle: true,
307
- pointStyle: "rectRounded",
308
- generateLabels: (chart) => {
309
- const original = ChartJS.defaults.plugins.legend.labels.generateLabels(chart);
310
- const canvas = document.createElement("canvas");
311
- const ctx = canvas.getContext("2d");
312
- if (!ctx)
313
- return original;
314
- const fontSize = isMobile ? 10 : 12;
315
- ctx.font = `${fontSize}px 'PingFang SC', sans-serif`;
316
- return original.map((label) => {
317
- const originalText = label.text;
318
- const textWidth = ctx.measureText(originalText).width;
319
- if (textWidth <= textMaxWidth) {
320
- return label;
321
- }
322
- const ellipsis = "...";
323
- const ellipsisWidth = ctx.measureText(ellipsis).width;
324
- const maxTextWidth = textMaxWidth - ellipsisWidth;
325
- let truncatedText = originalText;
326
- let truncatedWidth = textWidth;
327
- while (truncatedWidth > maxTextWidth && truncatedText.length > 0) {
328
- truncatedText = truncatedText.slice(0, -1);
329
- truncatedWidth = ctx.measureText(truncatedText).width;
330
- }
331
- return __spreadProps(__spreadValues({}, label), {
332
- text: truncatedText + ellipsis
333
- });
334
- });
335
- }
218
+ // 从扁平化数据中提取分类,添加安全检查
219
+ var categories = Array.from(new Set(safeData.map(function(item) {
220
+ return item === null || item === void 0 ? void 0 : item.category;
221
+ }).filter(function(category) {
222
+ return Boolean(category);
223
+ })));
224
+ // 从数据中提取 filterLabel,过滤掉 undefined 值,添加安全检查
225
+ var validFilterLabels = safeData.map(function(item) {
226
+ return item === null || item === void 0 ? void 0 : item.filterLabel;
227
+ }).filter(function(category) {
228
+ return category !== undefined && category !== null && Boolean(category);
229
+ });
230
+ var filterLabels = validFilterLabels.length > 0 ? Array.from(new Set(validFilterLabels)) : undefined;
231
+ // 状态管理,添加安全检查
232
+ var _useState1 = _sliced_to_array(useState(function() {
233
+ return categories.find(function(cat) {
234
+ return Boolean(cat);
235
+ }) || '';
236
+ }), 2), selectedFilter = _useState1[0], setSelectedFilter = _useState1[1];
237
+ var _useState2 = _sliced_to_array(useState(function() {
238
+ return filterLabels && filterLabels.length > 0 ? filterLabels[0] : undefined;
239
+ }), 2), selectedFilterLabel = _useState2[0], setSelectedFilterLabel = _useState2[1];
240
+ // 根据选定的分类筛选数据,添加安全检查
241
+ var filteredData = safeData.filter(function(item) {
242
+ if (!item) return false; // 额外的安全检查
243
+ if (!selectedFilter) return true;
244
+ var categoryMatch = (item === null || item === void 0 ? void 0 : item.category) === selectedFilter;
245
+ // 如果没有 filterLabels 或 selectedFilterLabel,只按 category 筛选
246
+ if (!filterLabels || !selectedFilterLabel) {
247
+ return categoryMatch;
336
248
  }
337
- },
338
- tooltip: {
339
- enabled: false,
340
- // 禁用默认 tooltip
341
- external: (context) => {
342
- var _a2, _b2, _c, _d, _e, _f;
343
- const { chart, tooltip } = context;
344
- if (tooltip.opacity === 0) {
345
- const tooltipEl2 = document.getElementById("custom-scatter-tooltip");
346
- if (tooltipEl2) {
347
- tooltipEl2.style.opacity = "0";
249
+ // 如果有 filterLabel 筛选,需要同时匹配 category 和 filterLabel
250
+ return categoryMatch && (item === null || item === void 0 ? void 0 : item.filterLabel) === selectedFilterLabel;
251
+ });
252
+ // 提取数据集类型,添加安全检查
253
+ var datasetTypes = Array.from(new Set(filteredData.map(function(item) {
254
+ return item === null || item === void 0 ? void 0 : item.type;
255
+ }).filter(function(type) {
256
+ return Boolean(type);
257
+ })));
258
+ // 如果没有有效数据,返回空状态
259
+ if (safeData.length === 0 || datasetTypes.length === 0) {
260
+ return wrapSSR(/*#__PURE__*/ React.createElement(ChartContainer, {
261
+ baseClassName: classNames("".concat(prefixCls, "-container")),
262
+ theme: 'light',
263
+ className: classNames(hashId, className),
264
+ isMobile: isMobile,
265
+ variant: props.variant,
266
+ style: {
267
+ width: responsiveWidth,
268
+ height: responsiveHeight
348
269
  }
349
- return;
350
- }
351
- let tooltipEl = document.getElementById("custom-scatter-tooltip");
352
- if (!tooltipEl) {
353
- tooltipEl = document.createElement("div");
354
- tooltipEl.id = "custom-scatter-tooltip";
355
- tooltipEl.style.position = "absolute";
356
- tooltipEl.style.pointerEvents = "none";
357
- tooltipEl.style.transition = "all 0.1s ease";
358
- document.body.appendChild(tooltipEl);
359
- }
360
- if (!tooltip.dataPoints || tooltip.dataPoints.length === 0) {
361
- return;
362
- }
363
- const dataPoint = tooltip.dataPoints[0];
364
- if (!dataPoint) {
365
- return;
366
- }
367
- let xValue = "", yValue = "";
368
- try {
369
- const rawX = (_a2 = dataPoint == null ? void 0 : dataPoint.parsed) == null ? void 0 : _a2.x;
370
- const rawY = (_b2 = dataPoint == null ? void 0 : dataPoint.parsed) == null ? void 0 : _b2.y;
371
- if (typeof rawX === "number" && Number.isFinite(rawX)) {
372
- xValue = String(rawX);
373
- } else {
374
- xValue = String(rawX || 0);
270
+ }, /*#__PURE__*/ React.createElement(ChartToolBar, {
271
+ title: title || '散点图',
272
+ onDownload: function() {},
273
+ extra: toolbarExtra,
274
+ dataTime: dataTime
275
+ }), /*#__PURE__*/ React.createElement("div", {
276
+ className: classNames("".concat(prefixCls, "-empty-wrapper"), hashId),
277
+ style: {
278
+ display: 'flex',
279
+ alignItems: 'center',
280
+ justifyContent: 'center',
281
+ height: responsiveHeight,
282
+ color: '#999',
283
+ fontSize: '14px'
375
284
  }
376
- if (typeof rawY === "number" && Number.isFinite(rawY)) {
377
- yValue = String(rawY);
378
- } else {
379
- yValue = String(rawY || 0);
285
+ }, "暂无有效数据")));
286
+ }
287
+ // 构建数据集,添加更强的安全检查
288
+ var datasets = datasetTypes.map(function(type, index) {
289
+ var typeData = filteredData.filter(function(item) {
290
+ return (item === null || item === void 0 ? void 0 : item.type) === type;
291
+ });
292
+ var coordinates = typeData.map(function(item) {
293
+ if (!item) return {
294
+ x: 0,
295
+ y: 0
296
+ };
297
+ // 增强的 x, y 坐标处理
298
+ var x = 0, y = 0;
299
+ // 处理 x 坐标
300
+ if (item.x !== null && item.x !== undefined) {
301
+ if (typeof item.x === 'number') {
302
+ x = Number.isFinite(item.x) ? item.x : 0;
303
+ } else if (typeof item.x === 'string') {
304
+ var trimmed = item.x.trim();
305
+ if (trimmed !== '' && trimmed !== 'null' && trimmed !== 'undefined') {
306
+ var parsed = Number(trimmed);
307
+ x = Number.isFinite(parsed) ? parsed : 0;
308
+ }
309
+ }
310
+ }
311
+ // 处理 y 坐标
312
+ if (item.y !== null && item.y !== undefined) {
313
+ if (typeof item.y === 'number') {
314
+ y = Number.isFinite(item.y) ? item.y : 0;
315
+ } else if (typeof item.y === 'string') {
316
+ var trimmed1 = item.y.trim();
317
+ if (trimmed1 !== '' && trimmed1 !== 'null' && trimmed1 !== 'undefined') {
318
+ var parsed1 = Number(trimmed1);
319
+ y = Number.isFinite(parsed1) ? parsed1 : 0;
320
+ }
321
+ }
322
+ }
323
+ return {
324
+ x: x,
325
+ y: y
326
+ };
327
+ });
328
+ // 根据 color prop 选择颜色
329
+ var providedColor = color;
330
+ var baseColor = Array.isArray(providedColor) ? providedColor[index % providedColor.length] : providedColor;
331
+ // 确保颜色数组安全访问
332
+ var safeIndex = Math.max(0, index % defaultColorList.length);
333
+ var safeDefaultColor = defaultColorList[safeIndex] || '#1677ff';
334
+ var finalColor = baseColor || safeDefaultColor;
335
+ return {
336
+ label: type || '默认',
337
+ data: coordinates,
338
+ backgroundColor: "".concat(finalColor, "99"),
339
+ borderColor: finalColor,
340
+ pointRadius: isMobile ? 4 : 6,
341
+ pointHoverRadius: isMobile ? 6 : 8
342
+ };
343
+ });
344
+ // 构建当前配置(应用默认值)
345
+ var currentConfig = {
346
+ theme: 'light',
347
+ showLegend: true,
348
+ legendPosition: 'bottom'
349
+ };
350
+ // 筛选器的枚举,添加安全检查
351
+ var filterEnum = categories.length > 0 ? categories.filter(function(category) {
352
+ return Boolean(category);
353
+ }).map(function(category) {
354
+ return {
355
+ label: category,
356
+ value: category
357
+ };
358
+ }) : [];
359
+ // 根据 filterLabel 筛选数据 - 只有当 filterLabels 存在时才生成
360
+ var filteredDataByFilterLabel = filterLabels === null || filterLabels === void 0 ? void 0 : filterLabels.map(function(item) {
361
+ return {
362
+ key: item,
363
+ label: item
364
+ };
365
+ });
366
+ // 处理数据,应用默认颜色,添加最终安全检查
367
+ var processedData = {
368
+ datasets: datasets.length > 0 ? datasets : [
369
+ {
370
+ label: '默认',
371
+ data: [
372
+ {
373
+ x: 0,
374
+ y: 0
375
+ }
376
+ ],
377
+ backgroundColor: "".concat(defaultColorList[0] || '#1677ff', "99"),
378
+ borderColor: defaultColorList[0] || '#1677ff',
379
+ pointRadius: isMobile ? 4 : 6,
380
+ pointHoverRadius: isMobile ? 6 : 8
381
+ }
382
+ ]
383
+ };
384
+ // 图表配置选项
385
+ var options = {
386
+ responsive: true,
387
+ maintainAspectRatio: false,
388
+ plugins: {
389
+ legend: {
390
+ display: currentConfig.showLegend !== false,
391
+ position: isMobile ? 'bottom' : currentConfig.legendPosition || 'bottom',
392
+ align: 'start',
393
+ labels: {
394
+ color: currentConfig.theme === 'light' ? '#767E8B' : '#fff',
395
+ font: {
396
+ size: isMobile ? 10 : 12,
397
+ weight: 'normal'
398
+ },
399
+ padding: isMobile ? 10 : 20,
400
+ usePointStyle: true,
401
+ pointStyle: 'rectRounded',
402
+ generateLabels: function(chart) {
403
+ var original = ChartJS.defaults.plugins.legend.labels.generateLabels(chart);
404
+ // 创建一个临时 canvas 来测量文字宽度
405
+ var canvas = document.createElement('canvas');
406
+ var ctx = canvas.getContext('2d');
407
+ if (!ctx) return original;
408
+ // 设置字体样式与图例相同
409
+ var fontSize = isMobile ? 10 : 12;
410
+ ctx.font = "".concat(fontSize, "px 'PingFang SC', sans-serif");
411
+ return original.map(function(label) {
412
+ var originalText = label.text;
413
+ var textWidth = ctx.measureText(originalText).width;
414
+ if (textWidth <= textMaxWidth) {
415
+ return label;
416
+ }
417
+ // 文字超过最大宽度,需要截断
418
+ var ellipsis = '...';
419
+ var ellipsisWidth = ctx.measureText(ellipsis).width;
420
+ var maxTextWidth = textMaxWidth - ellipsisWidth;
421
+ var truncatedText = originalText;
422
+ var truncatedWidth = textWidth;
423
+ // 逐个字符减少直到宽度符合要求
424
+ while(truncatedWidth > maxTextWidth && truncatedText.length > 0){
425
+ truncatedText = truncatedText.slice(0, -1);
426
+ truncatedWidth = ctx.measureText(truncatedText).width;
427
+ }
428
+ return _object_spread_props(_object_spread({}, label), {
429
+ text: truncatedText + ellipsis
430
+ });
431
+ });
432
+ }
433
+ }
434
+ },
435
+ tooltip: {
436
+ enabled: false,
437
+ external: function(context) {
438
+ var _dataPoint_dataset_label, _dataPoint_dataset, _dataPoint_dataset_borderColor, _dataPoint_dataset1;
439
+ var chart = context.chart, tooltip = context.tooltip;
440
+ // 如果没有 tooltip 数据,隐藏
441
+ if (tooltip.opacity === 0) {
442
+ var tooltipEl = document.getElementById('custom-scatter-tooltip');
443
+ if (tooltipEl) {
444
+ tooltipEl.style.opacity = '0';
445
+ }
446
+ return;
447
+ }
448
+ // 获取或创建自定义 tooltip 元素
449
+ var tooltipEl1 = document.getElementById('custom-scatter-tooltip');
450
+ if (!tooltipEl1) {
451
+ tooltipEl1 = document.createElement('div');
452
+ tooltipEl1.id = 'custom-scatter-tooltip';
453
+ tooltipEl1.style.position = 'absolute';
454
+ tooltipEl1.style.pointerEvents = 'none';
455
+ tooltipEl1.style.transition = 'all 0.1s ease';
456
+ document.body.appendChild(tooltipEl1);
457
+ }
458
+ // 获取数据,添加安全检查
459
+ if (!tooltip.dataPoints || tooltip.dataPoints.length === 0) {
460
+ return;
461
+ }
462
+ var dataPoint = tooltip.dataPoints[0];
463
+ if (!dataPoint) {
464
+ return;
465
+ }
466
+ // 安全获取坐标数据
467
+ var xValue = '', yValue = '';
468
+ try {
469
+ var _dataPoint_parsed, _dataPoint_parsed1;
470
+ var rawX = dataPoint === null || dataPoint === void 0 ? void 0 : (_dataPoint_parsed = dataPoint.parsed) === null || _dataPoint_parsed === void 0 ? void 0 : _dataPoint_parsed.x;
471
+ var rawY = dataPoint === null || dataPoint === void 0 ? void 0 : (_dataPoint_parsed1 = dataPoint.parsed) === null || _dataPoint_parsed1 === void 0 ? void 0 : _dataPoint_parsed1.y;
472
+ if (typeof rawX === 'number' && Number.isFinite(rawX)) {
473
+ xValue = String(rawX);
474
+ } else {
475
+ xValue = String(rawX || 0);
476
+ }
477
+ if (typeof rawY === 'number' && Number.isFinite(rawY)) {
478
+ yValue = String(rawY);
479
+ } else {
480
+ yValue = String(rawY || 0);
481
+ }
482
+ } catch (error) {
483
+ xValue = '0';
484
+ yValue = '0';
485
+ }
486
+ var dimensionTitle = xUnit ? "".concat(xValue).concat(xUnit) : xValue;
487
+ var label = (dataPoint === null || dataPoint === void 0 ? void 0 : (_dataPoint_dataset = dataPoint.dataset) === null || _dataPoint_dataset === void 0 ? void 0 : (_dataPoint_dataset_label = _dataPoint_dataset.label) === null || _dataPoint_dataset_label === void 0 ? void 0 : _dataPoint_dataset_label.toString()) || '数据指标';
488
+ var coordinates = yUnit ? "".concat(yValue).concat(yUnit) : yValue;
489
+ // 获取数据集颜色作为图标颜色
490
+ var iconColor = (dataPoint === null || dataPoint === void 0 ? void 0 : (_dataPoint_dataset1 = dataPoint.dataset) === null || _dataPoint_dataset1 === void 0 ? void 0 : (_dataPoint_dataset_borderColor = _dataPoint_dataset1.borderColor) === null || _dataPoint_dataset_borderColor === void 0 ? void 0 : _dataPoint_dataset_borderColor.toString()) || '#917EF7';
491
+ // 创建 HTML 内容
492
+ var isDark = currentConfig.theme !== 'light';
493
+ var bgColor = isDark ? 'rgba(0, 0, 0, 0.8)' : 'rgba(255, 255, 255, 0.95)';
494
+ var labelColor = isDark ? '#fff' : '#767E8B'; // 左边图标信息颜色
495
+ tooltipEl1.innerHTML = '\n <div style="\n background-color: '.concat(bgColor, ";\n border: 1px solid ").concat(isDark ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 16, 32, 0.0627)', ";\n border-radius: ").concat(isMobile ? '6px' : '8px', ";\n padding: ").concat(isMobile ? '8px 12px' : '12px 16px', ";\n font-family: 'PingFang SC', sans-serif;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 120px;\n \">\n <div style=\"\n font-family: 'PingFang SC', sans-serif;\n font-size: 12px;\n font-weight: normal;\n line-height: 20px;\n text-align: center;\n letter-spacing: 0em;\n font-variation-settings: 'opsz' auto;\n color: #767E8B;\n display: flex;\n align-items: center;\n justify-content: space-between;\n \">").concat(dimensionTitle, '</div>\n <div style="\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 20px;\n ">\n <div style="\n display: flex;\n align-items: center;\n gap: 8px;\n ">\n <div style="\n width: 12px;\n height: 12px;\n background-color: ').concat(iconColor, ';\n border-radius: 2px;\n flex-shrink: 0;\n "></div>\n <span style="\n color: ').concat(labelColor, ";\n font-size: ").concat(isMobile ? '11px' : '12px', ";\n font-weight: 500;\n font-family: 'PingFang SC', sans-serif;\n white-space: nowrap;\n \">").concat(label, "</span>\n </div>\n <span style=\"\n font-family: Rubik, sans-serif;\n font-size: 13px;\n font-weight: 500;\n line-height: 13px;\n text-align: center;\n letter-spacing: 0.04em;\n font-variation-settings: 'opsz' auto;\n font-feature-settings: 'kern' on;\n color: #343A45;\n white-space: nowrap;\n \">").concat(coordinates, "</span>\n </div>\n </div>\n ");
496
+ // 定位 tooltip
497
+ var position = chart.canvas.getBoundingClientRect();
498
+ tooltipEl1.style.opacity = '1';
499
+ tooltipEl1.style.left = position.left + window.pageXOffset + tooltip.caretX + 'px';
500
+ tooltipEl1.style.top = position.top + window.pageYOffset + tooltip.caretY + 'px';
501
+ tooltipEl1.style.zIndex = '1000';
502
+ }
380
503
  }
381
- } catch (error) {
382
- xValue = "0";
383
- yValue = "0";
384
- }
385
- const dimensionTitle = xUnit ? `${xValue}${xUnit}` : xValue;
386
- const label = ((_d = (_c = dataPoint == null ? void 0 : dataPoint.dataset) == null ? void 0 : _c.label) == null ? void 0 : _d.toString()) || "数据指标";
387
- const coordinates = yUnit ? `${yValue}${yUnit}` : yValue;
388
- const iconColor = ((_f = (_e = dataPoint == null ? void 0 : dataPoint.dataset) == null ? void 0 : _e.borderColor) == null ? void 0 : _f.toString()) || "#917EF7";
389
- const isDark = currentConfig.theme !== "light";
390
- const bgColor = isDark ? "rgba(0, 0, 0, 0.8)" : "rgba(255, 255, 255, 0.95)";
391
- const labelColor = isDark ? "#fff" : "#767E8B";
392
- tooltipEl.innerHTML = `
393
- <div style="
394
- background-color: ${bgColor};
395
- border: 1px solid ${isDark ? "rgba(255, 255, 255, 0.2)" : "rgba(0, 16, 32, 0.0627)"};
396
- border-radius: ${isMobile ? "6px" : "8px"};
397
- padding: ${isMobile ? "8px 12px" : "12px 16px"};
398
- font-family: 'PingFang SC', sans-serif;
399
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
400
- backdrop-filter: blur(10px);
401
- display: flex;
402
- flex-direction: column;
403
- gap: 8px;
404
- min-width: 120px;
405
- ">
406
- <div style="
407
- font-family: 'PingFang SC', sans-serif;
408
- font-size: 12px;
409
- font-weight: normal;
410
- line-height: 20px;
411
- text-align: center;
412
- letter-spacing: 0em;
413
- font-variation-settings: 'opsz' auto;
414
- color: #767E8B;
415
- display: flex;
416
- align-items: center;
417
- justify-content: space-between;
418
- ">${dimensionTitle}</div>
419
- <div style="
420
- display: flex;
421
- align-items: center;
422
- justify-content: space-between;
423
- gap: 20px;
424
- ">
425
- <div style="
426
- display: flex;
427
- align-items: center;
428
- gap: 8px;
429
- ">
430
- <div style="
431
- width: 12px;
432
- height: 12px;
433
- background-color: ${iconColor};
434
- border-radius: 2px;
435
- flex-shrink: 0;
436
- "></div>
437
- <span style="
438
- color: ${labelColor};
439
- font-size: ${isMobile ? "11px" : "12px"};
440
- font-weight: 500;
441
- font-family: 'PingFang SC', sans-serif;
442
- white-space: nowrap;
443
- ">${label}</span>
444
- </div>
445
- <span style="
446
- font-family: Rubik, sans-serif;
447
- font-size: 13px;
448
- font-weight: 500;
449
- line-height: 13px;
450
- text-align: center;
451
- letter-spacing: 0.04em;
452
- font-variation-settings: 'opsz' auto;
453
- font-feature-settings: 'kern' on;
454
- color: #343A45;
455
- white-space: nowrap;
456
- ">${coordinates}</span>
457
- </div>
458
- </div>
459
- `;
460
- const position = chart.canvas.getBoundingClientRect();
461
- tooltipEl.style.opacity = "1";
462
- tooltipEl.style.left = position.left + window.pageXOffset + tooltip.caretX + "px";
463
- tooltipEl.style.top = position.top + window.pageYOffset + tooltip.caretY + "px";
464
- tooltipEl.style.zIndex = "1000";
465
- }
466
- }
467
- },
468
- scales: {
469
- x: {
470
- display: !hiddenX,
471
- type: "linear",
472
- position: xPosition,
473
- title: {
474
- display: !!xAxisLabel,
475
- text: xAxisLabel || "",
476
- color: currentConfig.theme === "light" ? "rgba(0, 25, 61, 0.3255)" : "#fff",
477
- font: {
478
- size: isMobile ? 10 : 12,
479
- weight: 500
480
- }
481
504
  },
482
- min: 1,
483
- // 使用默认值
484
- max: 12,
485
- // 使用默认值
486
- ticks: {
487
- stepSize: 1,
488
- // 使用默认值
489
- color: currentConfig.theme === "light" ? "rgba(0, 25, 61, 0.3255)" : "#fff",
490
- font: {
491
- size: isMobile ? 8 : 10
492
- },
493
- callback: function(value) {
494
- return xUnit ? `${value}${xUnit}` : `${value}`;
495
- }
505
+ scales: {
506
+ x: {
507
+ display: !hiddenX,
508
+ type: 'linear',
509
+ position: xPosition,
510
+ title: {
511
+ display: !!xAxisLabel,
512
+ text: xAxisLabel || '',
513
+ color: currentConfig.theme === 'light' ? 'rgba(0, 25, 61, 0.3255)' : '#fff',
514
+ font: {
515
+ size: isMobile ? 10 : 12,
516
+ weight: 500
517
+ }
518
+ },
519
+ min: 1,
520
+ max: 12,
521
+ ticks: {
522
+ stepSize: 1,
523
+ color: currentConfig.theme === 'light' ? 'rgba(0, 25, 61, 0.3255)' : '#fff',
524
+ font: {
525
+ size: isMobile ? 8 : 10
526
+ },
527
+ callback: function callback(value) {
528
+ return xUnit ? "".concat(value).concat(xUnit) : "".concat(value);
529
+ }
530
+ },
531
+ grid: {
532
+ display: showGrid,
533
+ color: 'rgba(0, 16, 32, 0.0627)',
534
+ lineWidth: 1
535
+ }
536
+ },
537
+ y: {
538
+ display: !hiddenY,
539
+ type: 'linear',
540
+ position: yPosition,
541
+ title: {
542
+ display: !!yAxisLabel,
543
+ text: yAxisLabel || '',
544
+ color: currentConfig.theme === 'light' ? 'rgba(0, 25, 61, 0.3255)' : '#fff',
545
+ font: {
546
+ family: 'PingFang SC',
547
+ size: isMobile ? 10 : 12,
548
+ weight: 'normal'
549
+ },
550
+ align: 'center'
551
+ },
552
+ min: 0,
553
+ max: 100,
554
+ ticks: {
555
+ stepSize: 10,
556
+ color: currentConfig.theme === 'light' ? 'rgba(0, 25, 61, 0.3255)' : '#fff',
557
+ font: {
558
+ family: 'PingFang SC',
559
+ size: isMobile ? 8 : 12,
560
+ weight: 'normal'
561
+ },
562
+ callback: function callback(value) {
563
+ return yUnit ? "".concat(value).concat(yUnit) : "".concat(value);
564
+ }
565
+ },
566
+ grid: {
567
+ display: showGrid,
568
+ color: 'rgba(0, 16, 32, 0.0627)',
569
+ lineWidth: 1
570
+ }
571
+ }
496
572
  },
497
- grid: {
498
- display: showGrid,
499
- color: "rgba(0, 16, 32, 0.0627)",
500
- lineWidth: 1
573
+ elements: {
574
+ point: {
575
+ hoverRadius: isMobile ? 6 : 8
576
+ }
501
577
  }
502
- },
503
- y: {
504
- display: !hiddenY,
505
- type: "linear",
506
- position: yPosition,
507
- title: {
508
- display: !!yAxisLabel,
509
- text: yAxisLabel || "",
510
- color: currentConfig.theme === "light" ? "rgba(0, 25, 61, 0.3255)" : "#fff",
511
- font: {
512
- family: "PingFang SC",
513
- size: isMobile ? 10 : 12,
514
- weight: "normal"
515
- },
516
- align: "center"
517
- },
518
- min: 0,
519
- // 使用默认值
520
- max: 100,
521
- // 使用默认值
522
- ticks: {
523
- stepSize: 10,
524
- // 使用默认值
525
- color: currentConfig.theme === "light" ? "rgba(0, 25, 61, 0.3255)" : "#fff",
526
- font: {
527
- family: "PingFang SC",
528
- size: isMobile ? 8 : 12,
529
- weight: "normal"
530
- },
531
- callback: function(value) {
532
- return yUnit ? `${value}${yUnit}` : `${value}`;
533
- }
534
- },
535
- grid: {
536
- display: showGrid,
537
- color: "rgba(0, 16, 32, 0.0627)",
538
- lineWidth: 1
578
+ };
579
+ var handleDownload = function() {
580
+ try {
581
+ if (chartRef.current) {
582
+ downloadChart(chartRef.current, 'scatter-chart');
583
+ }
584
+ } catch (error) {
585
+ console.warn('图表下载失败:', error);
539
586
  }
540
- }
541
- },
542
- elements: {
543
- point: {
544
- hoverRadius: isMobile ? 6 : 8
545
- }
546
- }
547
- };
548
- const handleDownload = () => {
587
+ };
588
+ // 最终渲染,包含错误边界
549
589
  try {
550
- if (chartRef.current) {
551
- downloadChart(chartRef.current, "scatter-chart");
552
- }
553
- } catch (error) {
554
- console.warn("图表下载失败:", error);
555
- }
556
- };
557
- try {
558
- return wrapSSR(
559
- /* @__PURE__ */ React.createElement(
560
- ChartContainer,
561
- {
562
- baseClassName: classNames(`${prefixCls}-container`),
563
- theme: currentConfig.theme,
564
- className: classNames(hashId, className),
565
- isMobile,
566
- variant: props.variant,
567
- style: {
568
- width: responsiveWidth,
569
- height: responsiveHeight
570
- }
571
- },
572
- /* @__PURE__ */ React.createElement(
573
- ChartToolBar,
574
- {
575
- title: title || "散点图",
590
+ return wrapSSR(/*#__PURE__*/ React.createElement(ChartContainer, {
591
+ baseClassName: classNames("".concat(prefixCls, "-container")),
592
+ theme: currentConfig.theme,
593
+ className: classNames(hashId, className),
594
+ isMobile: isMobile,
595
+ variant: props.variant,
596
+ style: {
597
+ width: responsiveWidth,
598
+ height: responsiveHeight
599
+ }
600
+ }, /*#__PURE__*/ React.createElement(ChartToolBar, {
601
+ title: title || '散点图',
576
602
  onDownload: handleDownload,
577
603
  extra: toolbarExtra,
578
- dataTime,
579
- filter: renderFilterInToolbar && filterEnum.length > 0 ? /* @__PURE__ */ React.createElement(
580
- ChartFilter,
581
- __spreadProps(__spreadValues({
604
+ dataTime: dataTime,
605
+ filter: renderFilterInToolbar && filterEnum.length > 0 ? /*#__PURE__*/ React.createElement(ChartFilter, _object_spread_props(_object_spread({
582
606
  filterOptions: filterEnum,
583
- selectedFilter,
607
+ selectedFilter: selectedFilter,
584
608
  onFilterChange: setSelectedFilter
585
- }, filterLabels && {
609
+ }, filterLabels && {
586
610
  customOptions: filteredDataByFilterLabel,
587
611
  selectedCustomSelection: selectedFilterLabel,
588
612
  onSelectionChange: setSelectedFilterLabel
589
- }), {
613
+ }), {
590
614
  theme: currentConfig.theme,
591
615
  variant: "compact"
592
- })
593
- ) : void 0
594
- }
595
- ),
596
- !renderFilterInToolbar && filterEnum.length > 0 && /* @__PURE__ */ React.createElement(
597
- ChartFilter,
598
- __spreadProps(__spreadValues({
616
+ })) : undefined
617
+ }), !renderFilterInToolbar && filterEnum.length > 0 && /*#__PURE__*/ React.createElement(ChartFilter, _object_spread_props(_object_spread({
599
618
  filterOptions: filterEnum,
600
- selectedFilter,
619
+ selectedFilter: selectedFilter,
601
620
  onFilterChange: setSelectedFilter
602
- }, filterLabels && {
621
+ }, filterLabels && {
603
622
  customOptions: filteredDataByFilterLabel,
604
623
  selectedCustomSelection: selectedFilterLabel,
605
624
  onSelectionChange: setSelectedFilterLabel
606
- }), {
625
+ }), {
607
626
  theme: currentConfig.theme
608
- })
609
- ),
610
- statistics && /* @__PURE__ */ React.createElement(
611
- "div",
612
- {
613
- className: classNames(`${prefixCls}-statistic-container`, hashId)
614
- },
615
- statistics.map((config, index) => /* @__PURE__ */ React.createElement(
616
- ChartStatistic,
617
- __spreadProps(__spreadValues({
618
- key: index
627
+ })), statistics && /*#__PURE__*/ React.createElement("div", {
628
+ className: classNames("".concat(prefixCls, "-statistic-container"), hashId)
629
+ }, statistics.map(function(config, index) {
630
+ return /*#__PURE__*/ React.createElement(ChartStatistic, _object_spread_props(_object_spread({
631
+ key: index
619
632
  }, config), {
620
- theme: currentConfig.theme
621
- })
622
- ))
623
- ),
624
- /* @__PURE__ */ React.createElement(
625
- "div",
626
- {
627
- className: classNames(`${prefixCls}-chart-wrapper`, hashId),
628
- style: { height: responsiveHeight }
629
- },
630
- /* @__PURE__ */ React.createElement(Scatter, { ref: chartRef, data: processedData, options })
631
- )
632
- )
633
- );
634
- } catch (error) {
635
- console.error("ScatterChart 渲染错误:", error);
636
- return wrapSSR(
637
- /* @__PURE__ */ React.createElement(
638
- ChartContainer,
639
- {
640
- baseClassName: classNames(`${prefixCls}-container`),
641
- theme: "light",
642
- isMobile,
643
- className: classNames(hashId, className),
644
- variant: props.variant,
645
- style: {
646
- width: responsiveWidth,
647
- height: responsiveHeight
648
- }
649
- },
650
- /* @__PURE__ */ React.createElement(
651
- ChartToolBar,
652
- {
653
- title: title || "散点图",
654
- onDownload: () => {
655
- },
633
+ theme: currentConfig.theme
634
+ }));
635
+ })), /*#__PURE__*/ React.createElement("div", {
636
+ className: classNames("".concat(prefixCls, "-chart-wrapper"), hashId),
637
+ style: {
638
+ height: responsiveHeight
639
+ }
640
+ }, /*#__PURE__*/ React.createElement(Scatter, {
641
+ ref: chartRef,
642
+ data: processedData,
643
+ options: options
644
+ }))));
645
+ } catch (error) {
646
+ console.error('ScatterChart 渲染错误:', error);
647
+ return wrapSSR(/*#__PURE__*/ React.createElement(ChartContainer, {
648
+ baseClassName: classNames("".concat(prefixCls, "-container")),
649
+ theme: 'light',
650
+ isMobile: isMobile,
651
+ className: classNames(hashId, className),
652
+ variant: props.variant,
653
+ style: {
654
+ width: responsiveWidth,
655
+ height: responsiveHeight
656
+ }
657
+ }, /*#__PURE__*/ React.createElement(ChartToolBar, {
658
+ title: title || '散点图',
659
+ onDownload: function() {},
656
660
  extra: toolbarExtra,
657
- dataTime
658
- }
659
- ),
660
- /* @__PURE__ */ React.createElement(
661
- "div",
662
- {
663
- className: classNames(`${prefixCls}-error-wrapper`, hashId),
661
+ dataTime: dataTime
662
+ }), /*#__PURE__*/ React.createElement("div", {
663
+ className: classNames("".concat(prefixCls, "-error-wrapper"), hashId),
664
664
  style: {
665
- display: "flex",
666
- alignItems: "center",
667
- justifyContent: "center",
668
- height: responsiveHeight,
669
- color: "#ff4d4f",
670
- fontSize: "14px"
665
+ display: 'flex',
666
+ alignItems: 'center',
667
+ justifyContent: 'center',
668
+ height: responsiveHeight,
669
+ color: '#ff4d4f',
670
+ fontSize: '14px'
671
671
  }
672
- },
673
- "图表渲染失败,请检查数据格式"
674
- )
675
- )
676
- );
677
- }
678
- };
679
- var ScatterChart_default = ScatterChart;
680
- export {
681
- ScatterChart_default as default
672
+ }, "图表渲染失败,请检查数据格式")));
673
+ }
682
674
  };
675
+ export default ScatterChart;