@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,623 +1,621 @@
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/RadarChart/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
- Filler,
38
- Legend,
39
- LineElement,
40
- PointElement,
41
- RadialLinearScale,
42
- Tooltip
43
- } from "chart.js";
131
+ import { Chart as ChartJS, Filler, Legend, LineElement, PointElement, RadialLinearScale, Tooltip } from "chart.js";
44
132
  import classNames from "classnames";
45
133
  import React, { useContext, useEffect, useMemo, useRef, useState } from "react";
46
134
  import { Radar } from "react-chartjs-2";
47
135
  import ChartStatistic from "../ChartStatistic";
48
- import {
49
- ChartContainer,
50
- ChartFilter,
51
- ChartToolBar,
52
- downloadChart
53
- } from "../components";
136
+ import { ChartContainer, ChartFilter, ChartToolBar, downloadChart } from "../components";
54
137
  import { defaultColorList } from "../const";
55
138
  import { useStyle } from "./style";
56
139
  var radarChartComponentsRegistered = false;
57
- var RadarChart = (_a) => {
58
- var _b = _a, {
59
- data,
60
- title,
61
- width = 600,
62
- height = 400,
63
- className,
64
- toolbarExtra,
65
- renderFilterInToolbar = false,
66
- dataTime,
67
- color,
68
- statistic: statisticConfig,
69
- textMaxWidth = 80
70
- } = _b, props = __objRest(_b, [
71
- "data",
72
- "title",
73
- "width",
74
- "height",
75
- "className",
76
- "toolbarExtra",
77
- "renderFilterInToolbar",
78
- "dataTime",
79
- "color",
80
- "statistic",
81
- "textMaxWidth"
82
- ]);
83
- useMemo(() => {
84
- if (radarChartComponentsRegistered) {
85
- return void 0;
86
- }
87
- if (typeof window === "undefined") {
88
- return void 0;
89
- }
90
- ChartJS.register(
91
- RadialLinearScale,
92
- PointElement,
93
- LineElement,
94
- Filler,
95
- Tooltip,
96
- Legend
97
- );
98
- radarChartComponentsRegistered = true;
99
- return void 0;
100
- }, []);
101
- const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
102
- const prefixCls = getPrefixCls("radar-chart");
103
- const { wrapSSR, hashId } = useStyle(prefixCls);
104
- const statistics = useMemo(() => {
105
- if (!statisticConfig)
106
- return null;
107
- return Array.isArray(statisticConfig) ? statisticConfig : [statisticConfig];
108
- }, [statisticConfig]);
109
- const [windowWidth, setWindowWidth] = useState(
110
- typeof window !== "undefined" ? window.innerWidth : 768
111
- );
112
- const isMobile = windowWidth <= 768;
113
- const responsiveWidth = isMobile ? "100%" : width;
114
- const responsiveHeight = isMobile ? Math.min(windowWidth * 0.85, 400) : height;
115
- useEffect(() => {
116
- const handleResize = () => {
117
- setWindowWidth(window.innerWidth);
118
- };
119
- if (typeof window !== "undefined") {
120
- window.addEventListener("resize", handleResize);
121
- return () => window.removeEventListener("resize", handleResize);
122
- }
123
- }, []);
124
- useEffect(() => {
125
- return () => {
126
- const tooltipEl = document.getElementById("custom-radar-tooltip");
127
- if (tooltipEl) {
128
- document.body.removeChild(tooltipEl);
129
- }
130
- };
131
- }, []);
132
- const chartRef = useRef(null);
133
- const safeData = !data || !Array.isArray(data) ? [] : data.filter(
134
- (item) => item !== null && item !== void 0 && typeof item === "object" && "label" in item
135
- );
136
- const categories = Array.from(
137
- new Set(
138
- safeData.map((item) => item == null ? void 0 : item.category).filter((category) => Boolean(category))
139
- )
140
- );
141
- const validFilterLabels = safeData.map((item) => item == null ? void 0 : item.filterLabel).filter(
142
- (category) => category !== void 0 && category !== null && Boolean(category)
143
- );
144
- const filterLabels = validFilterLabels.length > 0 ? Array.from(new Set(validFilterLabels)) : void 0;
145
- const [selectedFilter, setSelectedFilter] = useState(
146
- () => categories.find((cat) => Boolean(cat)) || ""
147
- );
148
- const [selectedFilterLabel, setSelectedFilterLabel] = useState(
149
- () => filterLabels && filterLabels.length > 0 ? filterLabels[0] : void 0
150
- );
151
- const filteredData = safeData.filter((item) => {
152
- if (!item)
153
- return false;
154
- if (!selectedFilter)
155
- return true;
156
- const categoryMatch = (item == null ? void 0 : item.category) === selectedFilter;
157
- if (!filterLabels || !selectedFilterLabel) {
158
- return categoryMatch;
159
- }
160
- return categoryMatch && (item == null ? void 0 : item.filterLabel) === selectedFilterLabel;
161
- });
162
- const labels = Array.from(
163
- new Set(
164
- filteredData.map((item) => item == null ? void 0 : item.label).filter((label) => Boolean(label))
165
- )
166
- );
167
- const datasetTypes = Array.from(
168
- new Set(
169
- filteredData.map((item) => item == null ? void 0 : item.type).filter((type) => Boolean(type))
170
- )
171
- );
172
- if (safeData.length === 0 || labels.length === 0 || datasetTypes.length === 0) {
173
- return wrapSSR(
174
- /* @__PURE__ */ React.createElement(
175
- ChartContainer,
176
- {
177
- baseClassName: classNames(`${prefixCls}-container`),
178
- theme: "light",
179
- className: classNames(hashId, className),
180
- isMobile,
181
- variant: props.variant,
182
- style: {
183
- width: responsiveWidth,
184
- height: responsiveHeight
185
- }
186
- },
187
- /* @__PURE__ */ React.createElement(
188
- ChartToolBar,
189
- {
190
- title: title || "雷达图",
191
- onDownload: () => {
192
- },
140
+ var RadarChart = function(_param) {
141
+ var data = _param.data, title = _param.title, _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, toolbarExtra = _param.toolbarExtra, _param_renderFilterInToolbar = _param.renderFilterInToolbar, renderFilterInToolbar = _param_renderFilterInToolbar === void 0 ? false : _param_renderFilterInToolbar, dataTime = _param.dataTime, 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
+ "title",
144
+ "width",
145
+ "height",
146
+ "className",
147
+ "toolbarExtra",
148
+ "renderFilterInToolbar",
149
+ "dataTime",
150
+ "color",
151
+ "statistic",
152
+ "textMaxWidth"
153
+ ]);
154
+ useMemo(function() {
155
+ if (radarChartComponentsRegistered) {
156
+ return undefined;
157
+ }
158
+ if (typeof window === 'undefined') {
159
+ return undefined;
160
+ }
161
+ ChartJS.register(RadialLinearScale, PointElement, LineElement, Filler, Tooltip, Legend);
162
+ radarChartComponentsRegistered = true;
163
+ return undefined;
164
+ }, []);
165
+ var getPrefixCls = useContext(ConfigProvider.ConfigContext).getPrefixCls;
166
+ var prefixCls = getPrefixCls('radar-chart');
167
+ var _useStyle = useStyle(prefixCls), wrapSSR = _useStyle.wrapSSR, hashId = _useStyle.hashId;
168
+ // 处理 ChartStatistic 组件配置
169
+ var statistics = useMemo(function() {
170
+ if (!statisticConfig) return null;
171
+ return Array.isArray(statisticConfig) ? statisticConfig : [
172
+ statisticConfig
173
+ ];
174
+ }, [
175
+ statisticConfig
176
+ ]);
177
+ // 响应式尺寸计算
178
+ var _useState = _sliced_to_array(useState(typeof window !== 'undefined' ? window.innerWidth : 768), 2), windowWidth = _useState[0], setWindowWidth = _useState[1];
179
+ var isMobile = windowWidth <= 768;
180
+ var responsiveWidth = isMobile ? '100%' : width;
181
+ // 雷达图保持正方形比例,移动端使用屏幕宽度的85%,最大400px
182
+ var responsiveHeight = isMobile ? Math.min(windowWidth * 0.85, 400) : height;
183
+ // 监听窗口大小变化
184
+ useEffect(function() {
185
+ var handleResize = function() {
186
+ setWindowWidth(window.innerWidth);
187
+ };
188
+ if (typeof window !== 'undefined') {
189
+ window.addEventListener('resize', handleResize);
190
+ return function() {
191
+ return window.removeEventListener('resize', handleResize);
192
+ };
193
+ }
194
+ }, []);
195
+ // 清理自定义tooltip
196
+ useEffect(function() {
197
+ return function() {
198
+ var tooltipEl = document.getElementById('custom-radar-tooltip');
199
+ if (tooltipEl) {
200
+ document.body.removeChild(tooltipEl);
201
+ }
202
+ };
203
+ }, []);
204
+ var chartRef = useRef(null);
205
+ // 数据安全检查和处理 - 直接处理,不用 useMemo
206
+ var safeData = !data || !Array.isArray(data) ? [] : data.filter(function(item) {
207
+ return item !== null && item !== undefined && (typeof item === "undefined" ? "undefined" : _type_of(item)) === 'object' && 'label' in item;
208
+ });
209
+ // 从扁平化数据中提取分类,添加安全检查
210
+ var categories = Array.from(new Set(safeData.map(function(item) {
211
+ return item === null || item === void 0 ? void 0 : item.category;
212
+ }).filter(function(category) {
213
+ return Boolean(category);
214
+ })));
215
+ // 从数据中提取 filterLabel,过滤掉 undefined 值,添加安全检查
216
+ var validFilterLabels = safeData.map(function(item) {
217
+ return item === null || item === void 0 ? void 0 : item.filterLabel;
218
+ }).filter(function(category) {
219
+ return category !== undefined && category !== null && Boolean(category);
220
+ });
221
+ var filterLabels = validFilterLabels.length > 0 ? Array.from(new Set(validFilterLabels)) : undefined;
222
+ // 状态管理,添加安全检查
223
+ var _useState1 = _sliced_to_array(useState(function() {
224
+ return categories.find(function(cat) {
225
+ return Boolean(cat);
226
+ }) || '';
227
+ }), 2), selectedFilter = _useState1[0], setSelectedFilter = _useState1[1];
228
+ var _useState2 = _sliced_to_array(useState(function() {
229
+ return filterLabels && filterLabels.length > 0 ? filterLabels[0] : undefined;
230
+ }), 2), selectedFilterLabel = _useState2[0], setSelectedFilterLabel = _useState2[1];
231
+ // 根据选定的分类筛选数据,添加安全检查
232
+ var filteredData = safeData.filter(function(item) {
233
+ if (!item) return false; // 额外的安全检查
234
+ if (!selectedFilter) return true;
235
+ var categoryMatch = (item === null || item === void 0 ? void 0 : item.category) === selectedFilter;
236
+ // 如果没有 filterLabels 或 selectedFilterLabel,只按 category 筛选
237
+ if (!filterLabels || !selectedFilterLabel) {
238
+ return categoryMatch;
239
+ }
240
+ // 如果有 filterLabel 筛选,需要同时匹配 category 和 filterLabel
241
+ return categoryMatch && (item === null || item === void 0 ? void 0 : item.filterLabel) === selectedFilterLabel;
242
+ });
243
+ // 提取标签和数据集,添加安全检查
244
+ var labels = Array.from(new Set(filteredData.map(function(item) {
245
+ return item === null || item === void 0 ? void 0 : item.label;
246
+ }).filter(function(label) {
247
+ return Boolean(label);
248
+ })));
249
+ var datasetTypes = Array.from(new Set(filteredData.map(function(item) {
250
+ return item === null || item === void 0 ? void 0 : item.type;
251
+ }).filter(function(type) {
252
+ return Boolean(type);
253
+ })));
254
+ // 如果没有有效数据,返回空状态
255
+ if (safeData.length === 0 || labels.length === 0 || datasetTypes.length === 0) {
256
+ return wrapSSR(/*#__PURE__*/ React.createElement(ChartContainer, {
257
+ baseClassName: classNames("".concat(prefixCls, "-container")),
258
+ theme: 'light',
259
+ className: classNames(hashId, className),
260
+ isMobile: isMobile,
261
+ variant: props.variant,
262
+ style: {
263
+ width: responsiveWidth,
264
+ height: responsiveHeight
265
+ }
266
+ }, /*#__PURE__*/ React.createElement(ChartToolBar, {
267
+ title: title || '雷达图',
268
+ onDownload: function() {},
193
269
  extra: toolbarExtra,
194
- dataTime
195
- }
196
- ),
197
- /* @__PURE__ */ React.createElement(
198
- "div",
199
- {
200
- className: classNames(`${prefixCls}-empty-wrapper`, hashId),
270
+ dataTime: dataTime
271
+ }), /*#__PURE__*/ React.createElement("div", {
272
+ className: classNames("".concat(prefixCls, "-empty-wrapper"), hashId),
201
273
  style: {
202
- display: "flex",
203
- alignItems: "center",
204
- justifyContent: "center",
205
- height: responsiveHeight,
206
- color: "#999",
207
- fontSize: "14px"
274
+ display: 'flex',
275
+ alignItems: 'center',
276
+ justifyContent: 'center',
277
+ height: responsiveHeight,
278
+ color: '#999',
279
+ fontSize: '14px'
208
280
  }
209
- },
210
- "暂无有效数据"
211
- )
212
- )
213
- );
214
- }
215
- const datasets = datasetTypes.map((type, index) => {
216
- const typeData = filteredData.filter((item) => (item == null ? void 0 : item.type) === type);
217
- const scores = labels.map((label) => {
218
- const item = typeData.find((d) => (d == null ? void 0 : d.label) === label);
219
- if (!item || item.score === null || item.score === void 0) {
220
- return 0;
221
- }
222
- const score = item.score;
223
- if (typeof score === "number") {
224
- return Number.isFinite(score) && score >= 0 ? score : 0;
225
- }
226
- if (typeof score === "string") {
227
- const trimmed = score.trim();
228
- if (trimmed === "" || trimmed === "null" || trimmed === "undefined") {
229
- return 0;
230
- }
231
- const parsed = Number(trimmed);
232
- return Number.isFinite(parsed) && parsed >= 0 ? parsed : 0;
233
- }
234
- return 0;
281
+ }, "暂无有效数据")));
282
+ }
283
+ // 构建数据集,添加更强的安全检查
284
+ var datasets = datasetTypes.map(function(type, index) {
285
+ var typeData = filteredData.filter(function(item) {
286
+ return (item === null || item === void 0 ? void 0 : item.type) === type;
287
+ });
288
+ var scores = labels.map(function(label) {
289
+ var item = typeData.find(function(d) {
290
+ return (d === null || d === void 0 ? void 0 : d.label) === label;
291
+ });
292
+ if (!item || item.score === null || item.score === undefined) {
293
+ return 0;
294
+ }
295
+ // 增强的 score 处理
296
+ var score = item.score;
297
+ if (typeof score === 'number') {
298
+ return Number.isFinite(score) && score >= 0 ? score : 0;
299
+ }
300
+ if (typeof score === 'string') {
301
+ var trimmed = score.trim();
302
+ if (trimmed === '' || trimmed === 'null' || trimmed === 'undefined') {
303
+ return 0;
304
+ }
305
+ var parsed = Number(trimmed);
306
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : 0;
307
+ }
308
+ return 0;
309
+ });
310
+ // 根据 color prop 选择颜色
311
+ var providedColor = color;
312
+ var baseColor = Array.isArray(providedColor) ? providedColor[index % providedColor.length] : providedColor;
313
+ // 确保颜色数组安全访问
314
+ var safeIndex = Math.max(0, index % defaultColorList.length);
315
+ var safeDefaultColor = defaultColorList[safeIndex] || '#1677ff';
316
+ var finalColor = baseColor || safeDefaultColor;
317
+ return {
318
+ label: type || '默认',
319
+ data: scores,
320
+ borderColor: finalColor,
321
+ backgroundColor: "".concat(finalColor, "20"),
322
+ borderWidth: isMobile ? 1.5 : 2,
323
+ pointBackgroundColor: finalColor,
324
+ pointBorderColor: '#fff',
325
+ pointBorderWidth: isMobile ? 1 : 2,
326
+ pointRadius: isMobile ? 3 : 4,
327
+ pointHoverRadius: isMobile ? 5 : 6,
328
+ fill: true
329
+ };
235
330
  });
236
- const providedColor = color;
237
- const baseColor = Array.isArray(providedColor) ? providedColor[index % providedColor.length] : providedColor;
238
- const safeIndex = Math.max(0, index % defaultColorList.length);
239
- const safeDefaultColor = defaultColorList[safeIndex] || "#1677ff";
240
- const finalColor = baseColor || safeDefaultColor;
241
- return {
242
- label: type || "默认",
243
- data: scores,
244
- borderColor: finalColor,
245
- backgroundColor: `${finalColor}20`,
246
- borderWidth: isMobile ? 1.5 : 2,
247
- pointBackgroundColor: finalColor,
248
- pointBorderColor: "#fff",
249
- pointBorderWidth: isMobile ? 1 : 2,
250
- pointRadius: isMobile ? 3 : 4,
251
- pointHoverRadius: isMobile ? 5 : 6,
252
- fill: true
331
+ // 构建当前配置(用于主题等设置)
332
+ var currentConfig = {
333
+ theme: 'light',
334
+ showLegend: true,
335
+ legendPosition: 'right'
253
336
  };
254
- });
255
- const currentConfig = {
256
- theme: "light",
257
- showLegend: true,
258
- legendPosition: "right"
259
- };
260
- const filterEnum = categories.length > 0 ? categories.filter((category) => Boolean(category)).map((category) => ({
261
- label: category,
262
- value: category
263
- })) : [];
264
- const filteredDataByFilterLabel = filterLabels == null ? void 0 : filterLabels.map((item) => ({
265
- key: item,
266
- label: item
267
- }));
268
- const processedData = {
269
- labels: labels.length > 0 ? labels : ["默认"],
270
- datasets: datasets.length > 0 ? datasets : [
271
- {
272
- label: "默认",
273
- data: [0],
274
- borderColor: defaultColorList[0] || "#1677ff",
275
- backgroundColor: `${defaultColorList[0] || "#1677ff"}20`,
276
- borderWidth: isMobile ? 1.5 : 2,
277
- pointBackgroundColor: defaultColorList[0] || "#1677ff",
278
- pointBorderColor: "#fff",
279
- pointBorderWidth: isMobile ? 1 : 2,
280
- pointRadius: isMobile ? 3 : 4,
281
- pointHoverRadius: isMobile ? 5 : 6,
282
- fill: true
283
- }
284
- ]
285
- };
286
- const options = {
287
- responsive: true,
288
- maintainAspectRatio: false,
289
- plugins: {
290
- legend: {
291
- display: currentConfig.showLegend !== false,
292
- position: isMobile ? "bottom" : currentConfig.legendPosition || "right",
293
- labels: {
294
- color: currentConfig.theme === "light" ? "#767E8B" : "#fff",
295
- font: {
296
- size: isMobile ? 10 : 12,
297
- weight: "normal"
298
- },
299
- padding: isMobile ? 10 : 20,
300
- usePointStyle: true,
301
- pointStyle: "rectRounded",
302
- generateLabels: (chart) => {
303
- const original = ChartJS.defaults.plugins.legend.labels.generateLabels(chart);
304
- const canvas = document.createElement("canvas");
305
- const ctx = canvas.getContext("2d");
306
- if (!ctx)
307
- return original;
308
- const fontSize = isMobile ? 10 : 12;
309
- ctx.font = `${fontSize}px 'PingFang SC', sans-serif`;
310
- return original.map((label) => {
311
- const originalText = label.text;
312
- const textWidth = ctx.measureText(originalText).width;
313
- if (textWidth <= textMaxWidth) {
314
- return label;
315
- }
316
- const ellipsis = "...";
317
- const ellipsisWidth = ctx.measureText(ellipsis).width;
318
- const maxTextWidth = textMaxWidth - ellipsisWidth;
319
- let truncatedText = originalText;
320
- let truncatedWidth = textWidth;
321
- while (truncatedWidth > maxTextWidth && truncatedText.length > 0) {
322
- truncatedText = truncatedText.slice(0, -1);
323
- truncatedWidth = ctx.measureText(truncatedText).width;
324
- }
325
- return __spreadProps(__spreadValues({}, label), {
326
- text: truncatedText + ellipsis
327
- });
328
- });
329
- }
330
- }
331
- },
332
- tooltip: {
333
- enabled: false,
334
- // 禁用默认 tooltip
335
- external: (context) => {
336
- var _a2, _b2, _c, _d, _e, _f;
337
- const { chart, tooltip } = context;
338
- if (tooltip.opacity === 0) {
339
- const tooltipEl2 = document.getElementById("custom-radar-tooltip");
340
- if (tooltipEl2) {
341
- tooltipEl2.style.opacity = "0";
337
+ // 筛选器的枚举,添加安全检查
338
+ var filterEnum = categories.length > 0 ? categories.filter(function(category) {
339
+ return Boolean(category);
340
+ }).map(function(category) {
341
+ return {
342
+ label: category,
343
+ value: category
344
+ };
345
+ }) : [];
346
+ // 根据 filterLabel 筛选数据 - 只有当 filterLabels 存在时才生成
347
+ var filteredDataByFilterLabel = filterLabels === null || filterLabels === void 0 ? void 0 : filterLabels.map(function(item) {
348
+ return {
349
+ key: item,
350
+ label: item
351
+ };
352
+ });
353
+ // 处理数据,应用默认颜色和样式,添加最终安全检查
354
+ var processedData = {
355
+ labels: labels.length > 0 ? labels : [
356
+ '默认'
357
+ ],
358
+ datasets: datasets.length > 0 ? datasets : [
359
+ {
360
+ label: '默认',
361
+ data: [
362
+ 0
363
+ ],
364
+ borderColor: defaultColorList[0] || '#1677ff',
365
+ backgroundColor: "".concat(defaultColorList[0] || '#1677ff', "20"),
366
+ borderWidth: isMobile ? 1.5 : 2,
367
+ pointBackgroundColor: defaultColorList[0] || '#1677ff',
368
+ pointBorderColor: '#fff',
369
+ pointBorderWidth: isMobile ? 1 : 2,
370
+ pointRadius: isMobile ? 3 : 4,
371
+ pointHoverRadius: isMobile ? 5 : 6,
372
+ fill: true
342
373
  }
343
- return;
344
- }
345
- let tooltipEl = document.getElementById("custom-radar-tooltip");
346
- if (!tooltipEl) {
347
- tooltipEl = document.createElement("div");
348
- tooltipEl.id = "custom-radar-tooltip";
349
- tooltipEl.style.position = "absolute";
350
- tooltipEl.style.pointerEvents = "none";
351
- tooltipEl.style.transition = "all 0.1s ease";
352
- document.body.appendChild(tooltipEl);
353
- }
354
- if (!tooltip.dataPoints || tooltip.dataPoints.length === 0) {
355
- return;
356
- }
357
- const dataPoint = tooltip.dataPoints[0];
358
- if (!dataPoint) {
359
- return;
360
- }
361
- const dimensionTitle = ((_a2 = dataPoint == null ? void 0 : dataPoint.label) == null ? void 0 : _a2.toString()) || "";
362
- const label = ((_c = (_b2 = dataPoint == null ? void 0 : dataPoint.dataset) == null ? void 0 : _b2.label) == null ? void 0 : _c.toString()) || "数据指标";
363
- let value = "";
364
- try {
365
- const rawValue = (_d = dataPoint == null ? void 0 : dataPoint.parsed) == null ? void 0 : _d.r;
366
- if (typeof rawValue === "number" && Number.isFinite(rawValue)) {
367
- value = rawValue.toFixed(1);
368
- } else {
369
- value = String(rawValue || 0);
374
+ ]
375
+ };
376
+ // 图表配置选项
377
+ var options = {
378
+ responsive: true,
379
+ maintainAspectRatio: false,
380
+ plugins: {
381
+ legend: {
382
+ display: currentConfig.showLegend !== false,
383
+ position: isMobile ? 'bottom' : currentConfig.legendPosition || 'right',
384
+ labels: {
385
+ color: currentConfig.theme === 'light' ? '#767E8B' : '#fff',
386
+ font: {
387
+ size: isMobile ? 10 : 12,
388
+ weight: 'normal'
389
+ },
390
+ padding: isMobile ? 10 : 20,
391
+ usePointStyle: true,
392
+ pointStyle: 'rectRounded',
393
+ generateLabels: function(chart) {
394
+ var original = ChartJS.defaults.plugins.legend.labels.generateLabels(chart);
395
+ // 创建一个临时 canvas 来测量文字宽度
396
+ var canvas = document.createElement('canvas');
397
+ var ctx = canvas.getContext('2d');
398
+ if (!ctx) return original;
399
+ // 设置字体样式与图例相同
400
+ var fontSize = isMobile ? 10 : 12;
401
+ ctx.font = "".concat(fontSize, "px 'PingFang SC', sans-serif");
402
+ return original.map(function(label) {
403
+ var originalText = label.text;
404
+ var textWidth = ctx.measureText(originalText).width;
405
+ if (textWidth <= textMaxWidth) {
406
+ return label;
407
+ }
408
+ // 文字超过最大宽度,需要截断
409
+ var ellipsis = '...';
410
+ var ellipsisWidth = ctx.measureText(ellipsis).width;
411
+ var maxTextWidth = textMaxWidth - ellipsisWidth;
412
+ var truncatedText = originalText;
413
+ var truncatedWidth = textWidth;
414
+ // 逐个字符减少直到宽度符合要求
415
+ while(truncatedWidth > maxTextWidth && truncatedText.length > 0){
416
+ truncatedText = truncatedText.slice(0, -1);
417
+ truncatedWidth = ctx.measureText(truncatedText).width;
418
+ }
419
+ return _object_spread_props(_object_spread({}, label), {
420
+ text: truncatedText + ellipsis
421
+ });
422
+ });
423
+ }
424
+ }
425
+ },
426
+ tooltip: {
427
+ enabled: false,
428
+ external: function(context) {
429
+ var _dataPoint_label, _dataPoint_dataset_label, _dataPoint_dataset, _dataPoint_dataset_borderColor, _dataPoint_dataset1;
430
+ var chart = context.chart, tooltip = context.tooltip;
431
+ // 如果没有 tooltip 数据,隐藏
432
+ if (tooltip.opacity === 0) {
433
+ var tooltipEl = document.getElementById('custom-radar-tooltip');
434
+ if (tooltipEl) {
435
+ tooltipEl.style.opacity = '0';
436
+ }
437
+ return;
438
+ }
439
+ // 获取或创建自定义 tooltip 元素
440
+ var tooltipEl1 = document.getElementById('custom-radar-tooltip');
441
+ if (!tooltipEl1) {
442
+ tooltipEl1 = document.createElement('div');
443
+ tooltipEl1.id = 'custom-radar-tooltip';
444
+ tooltipEl1.style.position = 'absolute';
445
+ tooltipEl1.style.pointerEvents = 'none';
446
+ tooltipEl1.style.transition = 'all 0.1s ease';
447
+ document.body.appendChild(tooltipEl1);
448
+ }
449
+ // 获取数据,添加安全检查
450
+ if (!tooltip.dataPoints || tooltip.dataPoints.length === 0) {
451
+ return;
452
+ }
453
+ var dataPoint = tooltip.dataPoints[0];
454
+ if (!dataPoint) {
455
+ return;
456
+ }
457
+ var dimensionTitle = (dataPoint === null || dataPoint === void 0 ? void 0 : (_dataPoint_label = dataPoint.label) === null || _dataPoint_label === void 0 ? void 0 : _dataPoint_label.toString()) || ''; // 维度标题,如"技术"
458
+ 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()) || '数据指标'; // 数据集标签
459
+ var value = '';
460
+ try {
461
+ var _dataPoint_parsed;
462
+ var rawValue = dataPoint === null || dataPoint === void 0 ? void 0 : (_dataPoint_parsed = dataPoint.parsed) === null || _dataPoint_parsed === void 0 ? void 0 : _dataPoint_parsed.r;
463
+ if (typeof rawValue === 'number' && Number.isFinite(rawValue)) {
464
+ value = rawValue.toFixed(1);
465
+ } else {
466
+ value = String(rawValue || 0);
467
+ }
468
+ } catch (error) {
469
+ value = '0';
470
+ }
471
+ // 获取数据集颜色作为图标颜色
472
+ 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()) || '#388BFF';
473
+ // 创建 HTML 内容
474
+ var isDark = currentConfig.theme !== 'light';
475
+ var bgColor = isDark ? 'rgba(0, 0, 0, 0.8)' : 'rgba(255, 255, 255, 0.95)';
476
+ var labelColor = isDark ? '#fff' : '#767E8B'; // 左边图标信息颜色
477
+ 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(value, "</span>\n </div>\n </div>\n ");
478
+ // 定位 tooltip
479
+ var position = chart.canvas.getBoundingClientRect();
480
+ tooltipEl1.style.opacity = '1';
481
+ tooltipEl1.style.left = position.left + window.pageXOffset + tooltip.caretX + 'px';
482
+ tooltipEl1.style.top = position.top + window.pageYOffset + tooltip.caretY + 'px';
483
+ tooltipEl1.style.zIndex = '1000';
484
+ }
370
485
  }
371
- } catch (error) {
372
- value = "0";
373
- }
374
- const iconColor = ((_f = (_e = dataPoint == null ? void 0 : dataPoint.dataset) == null ? void 0 : _e.borderColor) == null ? void 0 : _f.toString()) || "#388BFF";
375
- const isDark = currentConfig.theme !== "light";
376
- const bgColor = isDark ? "rgba(0, 0, 0, 0.8)" : "rgba(255, 255, 255, 0.95)";
377
- const labelColor = isDark ? "#fff" : "#767E8B";
378
- tooltipEl.innerHTML = `
379
- <div style="
380
- background-color: ${bgColor};
381
- border: 1px solid ${isDark ? "rgba(255, 255, 255, 0.2)" : "rgba(0, 16, 32, 0.0627)"};
382
- border-radius: ${isMobile ? "6px" : "8px"};
383
- padding: ${isMobile ? "8px 12px" : "12px 16px"};
384
- font-family: 'PingFang SC', sans-serif;
385
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
386
- backdrop-filter: blur(10px);
387
- display: flex;
388
- flex-direction: column;
389
- gap: 8px;
390
- min-width: 120px;
391
- ">
392
- <div style="
393
- font-family: 'PingFang SC', sans-serif;
394
- font-size: 12px;
395
- font-weight: normal;
396
- line-height: 20px;
397
- text-align: center;
398
- letter-spacing: 0em;
399
- font-variation-settings: 'opsz' auto;
400
- color: #767E8B;
401
- display: flex;
402
- align-items: center;
403
- justify-content: space-between;
404
- ">${dimensionTitle}</div>
405
- <div style="
406
- display: flex;
407
- align-items: center;
408
- justify-content: space-between;
409
- gap: 20px;
410
- ">
411
- <div style="
412
- display: flex;
413
- align-items: center;
414
- gap: 8px;
415
- ">
416
- <div style="
417
- width: 12px;
418
- height: 12px;
419
- background-color: ${iconColor};
420
- border-radius: 2px;
421
- flex-shrink: 0;
422
- "></div>
423
- <span style="
424
- color: ${labelColor};
425
- font-size: ${isMobile ? "11px" : "12px"};
426
- font-weight: 500;
427
- font-family: 'PingFang SC', sans-serif;
428
- white-space: nowrap;
429
- ">${label}</span>
430
- </div>
431
- <span style="
432
- font-family: Rubik, sans-serif;
433
- font-size: 13px;
434
- font-weight: 500;
435
- line-height: 13px;
436
- text-align: center;
437
- letter-spacing: 0.04em;
438
- font-variation-settings: 'opsz' auto;
439
- font-feature-settings: 'kern' on;
440
- color: #343A45;
441
- white-space: nowrap;
442
- ">${value}</span>
443
- </div>
444
- </div>
445
- `;
446
- const position = chart.canvas.getBoundingClientRect();
447
- tooltipEl.style.opacity = "1";
448
- tooltipEl.style.left = position.left + window.pageXOffset + tooltip.caretX + "px";
449
- tooltipEl.style.top = position.top + window.pageYOffset + tooltip.caretY + "px";
450
- tooltipEl.style.zIndex = "1000";
451
- }
452
- }
453
- },
454
- scales: {
455
- r: {
456
- beginAtZero: true,
457
- max: 100,
458
- // Assuming max score is 100 for now
459
- min: 0,
460
- ticks: {
461
- stepSize: isMobile ? 25 : 20,
462
- // 移动端减少刻度线以避免拥挤
463
- color: currentConfig.theme === "light" ? "rgba(0, 25, 61, 0.3255)" : "#fff",
464
- font: {
465
- size: isMobile ? 8 : 10
466
- },
467
- backdropColor: "transparent",
468
- callback: function(value) {
469
- return value;
470
- }
471
486
  },
472
- grid: {
473
- color: currentConfig.theme === "light" ? "rgba(0, 0, 0, 0.1)" : "rgba(255, 255, 255, 0.2)",
474
- lineWidth: 1
475
- },
476
- angleLines: {
477
- color: currentConfig.theme === "light" ? "rgba(0, 0, 0, 0.1)" : "rgba(255, 255, 255, 0.2)",
478
- lineWidth: 1
487
+ scales: {
488
+ r: {
489
+ beginAtZero: true,
490
+ max: 100,
491
+ min: 0,
492
+ ticks: {
493
+ stepSize: isMobile ? 25 : 20,
494
+ color: currentConfig.theme === 'light' ? 'rgba(0, 25, 61, 0.3255)' : '#fff',
495
+ font: {
496
+ size: isMobile ? 8 : 10
497
+ },
498
+ backdropColor: 'transparent',
499
+ callback: function callback(value) {
500
+ // 在每个坐标轴旁边显示刻度值
501
+ return value;
502
+ }
503
+ },
504
+ grid: {
505
+ color: currentConfig.theme === 'light' ? 'rgba(0, 0, 0, 0.1)' : 'rgba(255, 255, 255, 0.2)',
506
+ lineWidth: 1
507
+ },
508
+ angleLines: {
509
+ color: currentConfig.theme === 'light' ? 'rgba(0, 0, 0, 0.1)' : 'rgba(255, 255, 255, 0.2)',
510
+ lineWidth: 1
511
+ },
512
+ pointLabels: {
513
+ color: currentConfig.theme === 'light' ? 'rgba(0, 25, 61, 0.3255)' : '#fff',
514
+ font: {
515
+ size: isMobile ? 10 : 12,
516
+ weight: 500
517
+ },
518
+ padding: isMobile ? 10 : 15
519
+ }
520
+ }
479
521
  },
480
- pointLabels: {
481
- color: currentConfig.theme === "light" ? "rgba(0, 25, 61, 0.3255)" : "#fff",
482
- font: {
483
- size: isMobile ? 10 : 12,
484
- weight: 500
485
- },
486
- padding: isMobile ? 10 : 15
522
+ elements: {
523
+ point: {
524
+ hoverRadius: isMobile ? 4 : 6
525
+ }
487
526
  }
488
- }
489
- },
490
- elements: {
491
- point: {
492
- hoverRadius: isMobile ? 4 : 6
493
- }
494
- }
495
- };
496
- const handleDownload = () => {
527
+ };
528
+ var handleDownload = function() {
529
+ try {
530
+ if (chartRef.current) {
531
+ downloadChart(chartRef.current, 'radar-chart');
532
+ }
533
+ } catch (error) {
534
+ console.warn('图表下载失败:', error);
535
+ }
536
+ };
537
+ // 最终渲染,包含错误边界
497
538
  try {
498
- if (chartRef.current) {
499
- downloadChart(chartRef.current, "radar-chart");
500
- }
501
- } catch (error) {
502
- console.warn("图表下载失败:", error);
503
- }
504
- };
505
- try {
506
- return wrapSSR(
507
- /* @__PURE__ */ React.createElement(
508
- ChartContainer,
509
- {
510
- baseClassName: classNames(`${prefixCls}-container`),
511
- theme: currentConfig.theme,
512
- className: classNames(hashId, className),
513
- isMobile,
514
- variant: props.variant,
515
- style: {
516
- width: responsiveWidth,
517
- height: responsiveHeight
518
- }
519
- },
520
- /* @__PURE__ */ React.createElement(
521
- ChartToolBar,
522
- {
523
- title: title || "雷达图",
539
+ return wrapSSR(/*#__PURE__*/ React.createElement(ChartContainer, {
540
+ baseClassName: classNames("".concat(prefixCls, "-container")),
541
+ theme: currentConfig.theme,
542
+ className: classNames(hashId, className),
543
+ isMobile: isMobile,
544
+ variant: props.variant,
545
+ style: {
546
+ width: responsiveWidth,
547
+ height: responsiveHeight
548
+ }
549
+ }, /*#__PURE__*/ React.createElement(ChartToolBar, {
550
+ title: title || '雷达图',
524
551
  onDownload: handleDownload,
525
552
  extra: toolbarExtra,
526
- dataTime,
527
- filter: renderFilterInToolbar && filterEnum.length > 0 ? /* @__PURE__ */ React.createElement(
528
- ChartFilter,
529
- __spreadProps(__spreadValues({
553
+ dataTime: dataTime,
554
+ filter: renderFilterInToolbar && filterEnum.length > 0 ? /*#__PURE__*/ React.createElement(ChartFilter, _object_spread_props(_object_spread({
530
555
  filterOptions: filterEnum,
531
- selectedFilter,
556
+ selectedFilter: selectedFilter,
532
557
  onFilterChange: setSelectedFilter
533
- }, filterLabels && {
558
+ }, filterLabels && {
534
559
  customOptions: filteredDataByFilterLabel,
535
560
  selectedCustomSelection: selectedFilterLabel,
536
561
  onSelectionChange: setSelectedFilterLabel
537
- }), {
562
+ }), {
538
563
  theme: currentConfig.theme,
539
564
  variant: "compact"
540
- })
541
- ) : void 0
542
- }
543
- ),
544
- !renderFilterInToolbar && filterEnum.length > 0 && /* @__PURE__ */ React.createElement(
545
- ChartFilter,
546
- __spreadProps(__spreadValues({
565
+ })) : undefined
566
+ }), !renderFilterInToolbar && filterEnum.length > 0 && /*#__PURE__*/ React.createElement(ChartFilter, _object_spread_props(_object_spread({
547
567
  filterOptions: filterEnum,
548
- selectedFilter,
568
+ selectedFilter: selectedFilter,
549
569
  onFilterChange: setSelectedFilter
550
- }, filterLabels && {
570
+ }, filterLabels && {
551
571
  customOptions: filteredDataByFilterLabel,
552
572
  selectedCustomSelection: selectedFilterLabel,
553
573
  onSelectionChange: setSelectedFilterLabel
554
- }), {
574
+ }), {
555
575
  theme: currentConfig.theme
556
- })
557
- ),
558
- statistics && /* @__PURE__ */ React.createElement(
559
- "div",
560
- {
561
- className: classNames(`${prefixCls}-statistic-container`, hashId)
562
- },
563
- statistics.map((config, index) => /* @__PURE__ */ React.createElement(
564
- ChartStatistic,
565
- __spreadProps(__spreadValues({
566
- key: index
576
+ })), statistics && /*#__PURE__*/ React.createElement("div", {
577
+ className: classNames("".concat(prefixCls, "-statistic-container"), hashId)
578
+ }, statistics.map(function(config, index) {
579
+ return /*#__PURE__*/ React.createElement(ChartStatistic, _object_spread_props(_object_spread({
580
+ key: index
567
581
  }, config), {
568
- theme: currentConfig.theme
569
- })
570
- ))
571
- ),
572
- /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-chart-wrapper`, hashId) }, /* @__PURE__ */ React.createElement(Radar, { ref: chartRef, data: processedData, options }))
573
- )
574
- );
575
- } catch (error) {
576
- console.error("RadarChart 渲染错误:", error);
577
- return wrapSSR(
578
- /* @__PURE__ */ React.createElement(
579
- ChartContainer,
580
- {
581
- baseClassName: classNames(`${prefixCls}-container`),
582
- theme: "light",
583
- className: classNames(hashId, className),
584
- isMobile,
585
- variant: props.variant,
586
- style: {
587
- width: responsiveWidth,
588
- height: responsiveHeight
589
- }
590
- },
591
- /* @__PURE__ */ React.createElement(
592
- ChartToolBar,
593
- {
594
- title: title || "雷达图",
595
- onDownload: () => {
596
- },
582
+ theme: currentConfig.theme
583
+ }));
584
+ })), /*#__PURE__*/ React.createElement("div", {
585
+ className: classNames("".concat(prefixCls, "-chart-wrapper"), hashId)
586
+ }, /*#__PURE__*/ React.createElement(Radar, {
587
+ ref: chartRef,
588
+ data: processedData,
589
+ options: options
590
+ }))));
591
+ } catch (error) {
592
+ console.error('RadarChart 渲染错误:', error);
593
+ return wrapSSR(/*#__PURE__*/ React.createElement(ChartContainer, {
594
+ baseClassName: classNames("".concat(prefixCls, "-container")),
595
+ theme: 'light',
596
+ className: classNames(hashId, className),
597
+ isMobile: isMobile,
598
+ variant: props.variant,
599
+ style: {
600
+ width: responsiveWidth,
601
+ height: responsiveHeight
602
+ }
603
+ }, /*#__PURE__*/ React.createElement(ChartToolBar, {
604
+ title: title || '雷达图',
605
+ onDownload: function() {},
597
606
  extra: toolbarExtra,
598
- dataTime
599
- }
600
- ),
601
- /* @__PURE__ */ React.createElement(
602
- "div",
603
- {
604
- className: classNames(`${prefixCls}-error-wrapper`, hashId),
607
+ dataTime: dataTime
608
+ }), /*#__PURE__*/ React.createElement("div", {
609
+ className: classNames("".concat(prefixCls, "-error-wrapper"), hashId),
605
610
  style: {
606
- display: "flex",
607
- alignItems: "center",
608
- justifyContent: "center",
609
- height: responsiveHeight,
610
- color: "#ff4d4f",
611
- fontSize: "14px"
611
+ display: 'flex',
612
+ alignItems: 'center',
613
+ justifyContent: 'center',
614
+ height: responsiveHeight,
615
+ color: '#ff4d4f',
616
+ fontSize: '14px'
612
617
  }
613
- },
614
- "图表渲染失败,请检查数据格式"
615
- )
616
- )
617
- );
618
- }
619
- };
620
- var RadarChart_default = RadarChart;
621
- export {
622
- RadarChart_default as default
618
+ }, "图表渲染失败,请检查数据格式")));
619
+ }
623
620
  };
621
+ export default RadarChart;