@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,62 +1,253 @@
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 asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
+ try {
11
+ var info = gen[key](arg);
12
+ var value = info.value;
13
+ } catch (error) {
14
+ reject(error);
15
+ return;
16
16
  }
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];
17
+ if (info.done) {
18
+ resolve(value);
19
+ } else {
20
+ Promise.resolve(value).then(_next, _throw);
29
21
  }
30
- return target;
31
- };
32
- var __async = (__this, __arguments, generator) => {
33
- return new Promise((resolve, reject) => {
34
- var fulfilled = (value) => {
35
- try {
36
- step(generator.next(value));
37
- } catch (e) {
38
- reject(e);
39
- }
22
+ }
23
+ function _async_to_generator(fn) {
24
+ return function() {
25
+ var self = this, args = arguments;
26
+ return new Promise(function(resolve, reject) {
27
+ var gen = fn.apply(self, args);
28
+ function _next(value) {
29
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
30
+ }
31
+ function _throw(err) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
33
+ }
34
+ _next(undefined);
35
+ });
40
36
  };
41
- var rejected = (value) => {
42
- try {
43
- step(generator.throw(value));
44
- } catch (e) {
45
- reject(e);
46
- }
37
+ }
38
+ function _define_property(obj, key, value) {
39
+ if (key in obj) {
40
+ Object.defineProperty(obj, key, {
41
+ value: value,
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true
45
+ });
46
+ } else {
47
+ obj[key] = value;
48
+ }
49
+ return obj;
50
+ }
51
+ function _iterable_to_array_limit(arr, i) {
52
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
53
+ if (_i == null) return;
54
+ var _arr = [];
55
+ var _n = true;
56
+ var _d = false;
57
+ var _s, _e;
58
+ try {
59
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
60
+ _arr.push(_s.value);
61
+ if (i && _arr.length === i) break;
62
+ }
63
+ } catch (err) {
64
+ _d = true;
65
+ _e = err;
66
+ } finally{
67
+ try {
68
+ if (!_n && _i["return"] != null) _i["return"]();
69
+ } finally{
70
+ if (_d) throw _e;
71
+ }
72
+ }
73
+ return _arr;
74
+ }
75
+ function _non_iterable_rest() {
76
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
77
+ }
78
+ function _object_spread(target) {
79
+ for(var i = 1; i < arguments.length; i++){
80
+ var source = arguments[i] != null ? arguments[i] : {};
81
+ var ownKeys = Object.keys(source);
82
+ if (typeof Object.getOwnPropertySymbols === "function") {
83
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
84
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
85
+ }));
86
+ }
87
+ ownKeys.forEach(function(key) {
88
+ _define_property(target, key, source[key]);
89
+ });
90
+ }
91
+ return target;
92
+ }
93
+ function ownKeys(object, enumerableOnly) {
94
+ var keys = Object.keys(object);
95
+ if (Object.getOwnPropertySymbols) {
96
+ var symbols = Object.getOwnPropertySymbols(object);
97
+ if (enumerableOnly) {
98
+ symbols = symbols.filter(function(sym) {
99
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
100
+ });
101
+ }
102
+ keys.push.apply(keys, symbols);
103
+ }
104
+ return keys;
105
+ }
106
+ function _object_spread_props(target, source) {
107
+ source = source != null ? source : {};
108
+ if (Object.getOwnPropertyDescriptors) {
109
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
110
+ } else {
111
+ ownKeys(Object(source)).forEach(function(key) {
112
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
113
+ });
114
+ }
115
+ return target;
116
+ }
117
+ function _object_without_properties(source, excluded) {
118
+ if (source == null) return {};
119
+ var target = _object_without_properties_loose(source, excluded);
120
+ var key, i;
121
+ if (Object.getOwnPropertySymbols) {
122
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
123
+ for(i = 0; i < sourceSymbolKeys.length; i++){
124
+ key = sourceSymbolKeys[i];
125
+ if (excluded.indexOf(key) >= 0) continue;
126
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
127
+ target[key] = source[key];
128
+ }
129
+ }
130
+ return target;
131
+ }
132
+ function _object_without_properties_loose(source, excluded) {
133
+ if (source == null) return {};
134
+ var target = {};
135
+ var sourceKeys = Object.keys(source);
136
+ var key, i;
137
+ for(i = 0; i < sourceKeys.length; i++){
138
+ key = sourceKeys[i];
139
+ if (excluded.indexOf(key) >= 0) continue;
140
+ target[key] = source[key];
141
+ }
142
+ return target;
143
+ }
144
+ function _sliced_to_array(arr, i) {
145
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
146
+ }
147
+ function _unsupported_iterable_to_array(o, minLen) {
148
+ if (!o) return;
149
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
150
+ var n = Object.prototype.toString.call(o).slice(8, -1);
151
+ if (n === "Object" && o.constructor) n = o.constructor.name;
152
+ if (n === "Map" || n === "Set") return Array.from(n);
153
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
154
+ }
155
+ function _ts_generator(thisArg, body) {
156
+ var f, y, t, g, _ = {
157
+ label: 0,
158
+ sent: function() {
159
+ if (t[0] & 1) throw t[1];
160
+ return t[1];
161
+ },
162
+ trys: [],
163
+ ops: []
47
164
  };
48
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
49
- step((generator = generator.apply(__this, __arguments)).next());
50
- });
51
- };
52
-
53
- // src/Bubble/MessagesContent/BubbleExtra.tsx
54
- import {
55
- DislikeFilled,
56
- DislikeOutlined,
57
- LikeFilled,
58
- LikeOutlined
59
- } from "@ant-design/icons";
165
+ return g = {
166
+ next: verb(0),
167
+ "throw": verb(1),
168
+ "return": verb(2)
169
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
170
+ return this;
171
+ }), g;
172
+ function verb(n) {
173
+ return function(v) {
174
+ return step([
175
+ n,
176
+ v
177
+ ]);
178
+ };
179
+ }
180
+ function step(op) {
181
+ if (f) throw new TypeError("Generator is already executing.");
182
+ while(_)try {
183
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
184
+ if (y = 0, t) op = [
185
+ op[0] & 2,
186
+ t.value
187
+ ];
188
+ switch(op[0]){
189
+ case 0:
190
+ case 1:
191
+ t = op;
192
+ break;
193
+ case 4:
194
+ _.label++;
195
+ return {
196
+ value: op[1],
197
+ done: false
198
+ };
199
+ case 5:
200
+ _.label++;
201
+ y = op[1];
202
+ op = [
203
+ 0
204
+ ];
205
+ continue;
206
+ case 7:
207
+ op = _.ops.pop();
208
+ _.trys.pop();
209
+ continue;
210
+ default:
211
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
212
+ _ = 0;
213
+ continue;
214
+ }
215
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
216
+ _.label = op[1];
217
+ break;
218
+ }
219
+ if (op[0] === 6 && _.label < t[1]) {
220
+ _.label = t[1];
221
+ t = op;
222
+ break;
223
+ }
224
+ if (t && _.label < t[2]) {
225
+ _.label = t[2];
226
+ _.ops.push(op);
227
+ break;
228
+ }
229
+ if (t[2]) _.ops.pop();
230
+ _.trys.pop();
231
+ continue;
232
+ }
233
+ op = body.call(thisArg, _);
234
+ } catch (e) {
235
+ op = [
236
+ 6,
237
+ e
238
+ ];
239
+ y = 0;
240
+ } finally{
241
+ f = t = 0;
242
+ }
243
+ if (op[0] & 5) throw op[1];
244
+ return {
245
+ value: op[0] ? op[1] : void 0,
246
+ done: true
247
+ };
248
+ }
249
+ }
250
+ import { DislikeFilled, DislikeOutlined, LikeFilled, LikeOutlined } from "@ant-design/icons";
60
251
  import { ConfigProvider, Divider } from "antd";
61
252
  import classNames from "classnames";
62
253
  import copy from "copy-to-clipboard";
@@ -68,310 +259,427 @@ import { Loading } from "../../Components/Loading";
68
259
  import { BubbleConfigContext } from "../BubbleConfigProvide";
69
260
  import { CopyButton } from "./CopyButton";
70
261
  import { VoiceButton } from "./VoiceButton";
71
- var BubbleExtra = (_a) => {
72
- var _b = _a, {
73
- onReply,
74
- bubble,
75
- readonly,
76
- pure,
77
- placement
78
- } = _b, props = __objRest(_b, [
79
- "onReply",
80
- "bubble",
81
- "readonly",
82
- "pure",
83
- "placement"
84
- ]);
85
- var _a2, _b2, _c, _d, _e, _f, _g, _h;
86
- const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
87
- const context = useContext(BubbleConfigContext);
88
- const [feedbackLoading, setFeedbackLoading] = useState(false);
89
- const originalData = bubble == null ? void 0 : bubble.originData;
90
- const prefixCls = getPrefixCls("chat-item-extra");
91
- const alreadyFeedback = ["thumbsDown", "thumbsUp"].includes(
92
- (originalData == null ? void 0 : originalData.feedback) || ""
93
- );
94
- const shouldShowLike = !((_a2 = originalData == null ? void 0 : originalData.extra) == null ? void 0 : _a2.answerStatus) && !readonly && (props.onLike || (originalData == null ? void 0 : originalData.feedback)) && (originalData == null ? void 0 : originalData.feedback) !== "thumbsDown";
95
- const shouldShowDisLike = !((_b2 = originalData == null ? void 0 : originalData.extra) == null ? void 0 : _b2.answerStatus) && !readonly && (props.onDisLike || (originalData == null ? void 0 : originalData.feedback)) && (originalData == null ? void 0 : originalData.feedback) !== "thumbsUp";
96
- const likeButtonTitle = useMemo(() => {
97
- var _a3, _b3, _c2;
98
- if (alreadyFeedback && (originalData == null ? void 0 : originalData.feedback) === "thumbsUp") {
99
- if (props.onCancelLike) {
100
- return ((_a3 = context == null ? void 0 : context.locale) == null ? void 0 : _a3["chat.message.cancel-like"]) || "取消点赞";
101
- } else {
102
- return ((_b3 = context == null ? void 0 : context.locale) == null ? void 0 : _b3["chat.message.feedback-success"]) || "已经反馈过了哦";
103
- }
104
- } else {
105
- return ((_c2 = context == null ? void 0 : context.locale) == null ? void 0 : _c2["chat.message.like"]) || "喜欢";
106
- }
107
- }, [
108
- alreadyFeedback,
109
- originalData == null ? void 0 : originalData.feedback,
110
- !!props.onCancelLike,
111
- context == null ? void 0 : context.locale
112
- ]);
113
- const getDislikeButtonTitle = useMemo(() => {
114
- var _a3, _b3;
115
- if (alreadyFeedback) {
116
- return ((_a3 = context == null ? void 0 : context.locale) == null ? void 0 : _a3["chat.message.feedback-success"]) || "已经反馈过了哦";
117
- } else {
118
- return ((_b3 = context == null ? void 0 : context.locale) == null ? void 0 : _b3["chat.message.dislike"]) || "不喜欢";
119
- }
120
- }, [alreadyFeedback, context == null ? void 0 : context.locale]);
121
- const typing = (originalData == null ? void 0 : originalData.isAborted) !== true && (originalData == null ? void 0 : originalData.isFinished) === false && ((_c = originalData == null ? void 0 : originalData.extra) == null ? void 0 : _c.isHistory) === void 0 && (originalData == null ? void 0 : originalData.isFinished) !== void 0;
122
- const like = useMemo(
123
- () => shouldShowLike && !typing ? /* @__PURE__ */ React.createElement(
124
- ActionIconBox,
125
- {
126
- "data-testid": "like-button",
127
- active: (originalData == null ? void 0 : originalData.feedback) === "thumbsUp",
128
- title: likeButtonTitle,
129
- onClick: (e) => __async(void 0, null, function* () {
130
- var _a3, _b3, _c2, _d2;
131
- (_a3 = e == null ? void 0 : e.preventDefault) == null ? void 0 : _a3.call(e);
132
- (_b3 = e == null ? void 0 : e.stopPropagation) == null ? void 0 : _b3.call(e);
133
- try {
134
- if (alreadyFeedback) {
135
- if ((originalData == null ? void 0 : originalData.feedback) === "thumbsUp") {
136
- yield (_c2 = props.onCancelLike) == null ? void 0 : _c2.call(props, bubble.originData);
137
- }
138
- return;
262
+ /**
263
+ * BubbleExtra 组件用于显示聊天项的额外操作按钮,如点赞、踩、复制等。
264
+ *
265
+ * @param {BubbleExtraProps} props - 组件的属性。
266
+ * @param {Function} props.onReply - 回复操作的回调函数。
267
+ * @param {Object} props.bubble - 聊天项的数据对象。
268
+ * @param {boolean} props.readonly - 是否为只读模式。
269
+ * @param {Function} [props.onLike] - 点赞操作的回调函数。
270
+ * @param {Function} [props.onDisLike] - 踩操作的回调函数。
271
+ *
272
+ * @returns {JSX.Element} 返回一个包含操作按钮的 JSX 元素。
273
+ *
274
+ * @example
275
+ * ```tsx
276
+ * <BubbleExtra
277
+ * onReply={handleReply}
278
+ * bubble={bubbleData}
279
+ * readonly={false}
280
+ * onLike={handleLike}
281
+ * onDisLike={handleDisLike}
282
+ * />
283
+ * ```
284
+ */ export var BubbleExtra = function(_param) {
285
+ var onReply = _param.onReply, bubble = _param.bubble, readonly = _param.readonly, pure = _param.pure, placement = _param.placement, props = _object_without_properties(_param, [
286
+ "onReply",
287
+ "bubble",
288
+ "readonly",
289
+ "pure",
290
+ "placement"
291
+ ]);
292
+ var _originalData_extra, _originalData_extra1, _originalData_extra2, _originalData_extra3, _bubble_originData, _bubble_originData1, _props_rightRender, _context_locale;
293
+ var getPrefixCls = useContext(ConfigProvider.ConfigContext).getPrefixCls;
294
+ var context = useContext(BubbleConfigContext);
295
+ var _useState = _sliced_to_array(useState(false), 2), feedbackLoading = _useState[0], setFeedbackLoading = _useState[1];
296
+ // 获取聊天项的原始数据
297
+ var originalData = bubble === null || bubble === void 0 ? void 0 : bubble.originData;
298
+ var prefixCls = getPrefixCls('chat-item-extra');
299
+ // 判断是否已经点过赞或踩
300
+ var alreadyFeedback = [
301
+ 'thumbsDown',
302
+ 'thumbsUp'
303
+ ].includes((originalData === null || originalData === void 0 ? void 0 : originalData.feedback) || '');
304
+ // 判断是否应该显示点赞
305
+ var shouldShowLike = !(originalData === null || originalData === void 0 ? void 0 : (_originalData_extra = originalData.extra) === null || _originalData_extra === void 0 ? void 0 : _originalData_extra.answerStatus) && !readonly && (props.onLike || (originalData === null || originalData === void 0 ? void 0 : originalData.feedback)) && (originalData === null || originalData === void 0 ? void 0 : originalData.feedback) !== 'thumbsDown';
306
+ // 判断是否应该显示踩
307
+ var shouldShowDisLike = !(originalData === null || originalData === void 0 ? void 0 : (_originalData_extra1 = originalData.extra) === null || _originalData_extra1 === void 0 ? void 0 : _originalData_extra1.answerStatus) && !readonly && (props.onDisLike || (originalData === null || originalData === void 0 ? void 0 : originalData.feedback)) && (originalData === null || originalData === void 0 ? void 0 : originalData.feedback) !== 'thumbsUp';
308
+ // 获取点赞按钮的标题文本
309
+ var likeButtonTitle = useMemo(function() {
310
+ if (alreadyFeedback && (originalData === null || originalData === void 0 ? void 0 : originalData.feedback) === 'thumbsUp') {
311
+ // 已经点赞的情况
312
+ if (props.onCancelLike) {
313
+ var _context_locale;
314
+ return (context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.cancel-like']) || '取消点赞';
315
+ } else {
316
+ var _context_locale1;
317
+ return (context === null || context === void 0 ? void 0 : (_context_locale1 = context.locale) === null || _context_locale1 === void 0 ? void 0 : _context_locale1['chat.message.feedback-success']) || '已经反馈过了哦';
318
+ }
319
+ } else {
320
+ var _context_locale2;
321
+ // 未点赞的情况
322
+ return (context === null || context === void 0 ? void 0 : (_context_locale2 = context.locale) === null || _context_locale2 === void 0 ? void 0 : _context_locale2['chat.message.like']) || '喜欢';
323
+ }
324
+ }, [
325
+ alreadyFeedback,
326
+ originalData === null || originalData === void 0 ? void 0 : originalData.feedback,
327
+ !!props.onCancelLike,
328
+ context === null || context === void 0 ? void 0 : context.locale
329
+ ]);
330
+ // 获取点踩按钮的标题文本
331
+ var getDislikeButtonTitle = useMemo(function() {
332
+ if (alreadyFeedback) {
333
+ var _context_locale;
334
+ return (context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.feedback-success']) || '已经反馈过了哦';
335
+ } else {
336
+ var _context_locale1;
337
+ return (context === null || context === void 0 ? void 0 : (_context_locale1 = context.locale) === null || _context_locale1 === void 0 ? void 0 : _context_locale1['chat.message.dislike']) || '不喜欢';
338
+ }
339
+ }, [
340
+ alreadyFeedback,
341
+ context === null || context === void 0 ? void 0 : context.locale
342
+ ]);
343
+ var typing = (originalData === null || originalData === void 0 ? void 0 : originalData.isAborted) !== true && (originalData === null || originalData === void 0 ? void 0 : originalData.isFinished) === false && (originalData === null || originalData === void 0 ? void 0 : (_originalData_extra2 = originalData.extra) === null || _originalData_extra2 === void 0 ? void 0 : _originalData_extra2.isHistory) === undefined && (originalData === null || originalData === void 0 ? void 0 : originalData.isFinished) !== undefined;
344
+ var like = useMemo(function() {
345
+ return shouldShowLike && !typing ? /*#__PURE__*/ React.createElement(ActionIconBox, {
346
+ "data-testid": "like-button",
347
+ active: (originalData === null || originalData === void 0 ? void 0 : originalData.feedback) === 'thumbsUp',
348
+ title: likeButtonTitle,
349
+ onClick: /*#__PURE__*/ function() {
350
+ var _ref = _async_to_generator(function(e) {
351
+ var _e_preventDefault, _e_stopPropagation, _props_onLike, _props_onCancelLike, error;
352
+ return _ts_generator(this, function(_state) {
353
+ switch(_state.label){
354
+ case 0:
355
+ e === null || e === void 0 ? void 0 : (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);
356
+ e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);
357
+ _state.label = 1;
358
+ case 1:
359
+ _state.trys.push([
360
+ 1,
361
+ 6,
362
+ ,
363
+ 7
364
+ ]);
365
+ if (!alreadyFeedback) return [
366
+ 3,
367
+ 4
368
+ ];
369
+ if (!((originalData === null || originalData === void 0 ? void 0 : originalData.feedback) === 'thumbsUp')) return [
370
+ 3,
371
+ 3
372
+ ];
373
+ return [
374
+ 4,
375
+ (_props_onCancelLike = props.onCancelLike) === null || _props_onCancelLike === void 0 ? void 0 : _props_onCancelLike.call(props, bubble.originData)
376
+ ];
377
+ case 2:
378
+ _state.sent();
379
+ _state.label = 3;
380
+ case 3:
381
+ return [
382
+ 2
383
+ ];
384
+ case 4:
385
+ return [
386
+ 4,
387
+ (_props_onLike = props.onLike) === null || _props_onLike === void 0 ? void 0 : _props_onLike.call(props)
388
+ ];
389
+ case 5:
390
+ _state.sent();
391
+ return [
392
+ 3,
393
+ 7
394
+ ];
395
+ case 6:
396
+ error = _state.sent();
397
+ return [
398
+ 3,
399
+ 7
400
+ ];
401
+ case 7:
402
+ return [
403
+ 2
404
+ ];
405
+ }
406
+ });
407
+ });
408
+ return function(e) {
409
+ return _ref.apply(this, arguments);
410
+ };
411
+ }()
412
+ }, (originalData === null || originalData === void 0 ? void 0 : originalData.feedback) === 'thumbsUp' ? /*#__PURE__*/ React.createElement(LikeFilled, null) : /*#__PURE__*/ React.createElement(LikeOutlined, null)) : null;
413
+ }, [
414
+ shouldShowLike,
415
+ alreadyFeedback,
416
+ originalData === null || originalData === void 0 ? void 0 : originalData.isFinished,
417
+ typing,
418
+ feedbackLoading,
419
+ props.onCancelLike
420
+ ]);
421
+ var disLike = useMemo(function() {
422
+ return shouldShowDisLike && !typing ? /*#__PURE__*/ React.createElement(ActionIconBox, {
423
+ "data-testid": "dislike-button",
424
+ loading: feedbackLoading,
425
+ onLoadingChange: setFeedbackLoading,
426
+ title: getDislikeButtonTitle,
427
+ onClick: /*#__PURE__*/ _async_to_generator(function() {
428
+ var _props_onDisLike, error;
429
+ return _ts_generator(this, function(_state) {
430
+ switch(_state.label){
431
+ case 0:
432
+ _state.trys.push([
433
+ 0,
434
+ 2,
435
+ ,
436
+ 3
437
+ ]);
438
+ if (alreadyFeedback) {
439
+ // message.error('您已经点过赞或踩了');
440
+ return [
441
+ 2
442
+ ];
443
+ }
444
+ return [
445
+ 4,
446
+ (_props_onDisLike = props.onDisLike) === null || _props_onDisLike === void 0 ? void 0 : _props_onDisLike.call(props)
447
+ ];
448
+ case 1:
449
+ _state.sent();
450
+ return [
451
+ 3,
452
+ 3
453
+ ];
454
+ case 2:
455
+ error = _state.sent();
456
+ return [
457
+ 3,
458
+ 3
459
+ ];
460
+ case 3:
461
+ return [
462
+ 2
463
+ ];
464
+ }
465
+ });
466
+ })
467
+ }, (originalData === null || originalData === void 0 ? void 0 : originalData.feedback) === 'thumbsDown' ? /*#__PURE__*/ React.createElement(DislikeFilled, null) : /*#__PURE__*/ React.createElement(DislikeOutlined, null)) : null;
468
+ }, [
469
+ shouldShowDisLike,
470
+ feedbackLoading,
471
+ alreadyFeedback,
472
+ originalData === null || originalData === void 0 ? void 0 : originalData.isFinished,
473
+ typing
474
+ ]);
475
+ /**
476
+ * 判断是否应该显示复制选项。
477
+ *
478
+ * 复制选项显示需要满足以下条件:
479
+ * 1. 基础条件(必须全部满足):
480
+ * - `navigator.clipboard` API 可用。
481
+ * - 聊天项的原始数据包含内容
482
+ * - 聊天项的原始数据在额外字段中没有回答状态
483
+ * - 聊天项的内容不等于本地化的 'chat.message.aborted' 消息或其默认值 '回答已停止生成'
484
+ * 2. 第4个条件:shouldShowCopy 控制
485
+ * - 如果用户传递了 shouldShowCopy 函数,则调用函数判断
486
+ * - 如果用户传递了 shouldShowCopy 布尔值,则直接使用该值
487
+ * - 如果用户未传递 shouldShowCopy(undefined),则默认为 true
488
+ *
489
+ * @constant
490
+ * @type {boolean}
491
+ */ var shouldShowCopy = useMemo(function() {
492
+ var _originalData_extra, _context_locale;
493
+ var defaultConditions = (originalData === null || originalData === void 0 ? void 0 : originalData.content) && !(originalData === null || originalData === void 0 ? void 0 : (_originalData_extra = originalData.extra) === null || _originalData_extra === void 0 ? void 0 : _originalData_extra.answerStatus) && (originalData === null || originalData === void 0 ? void 0 : originalData.content) !== ((context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.aborted']) || '回答已停止生成');
494
+ if (!defaultConditions) {
495
+ return false;
496
+ }
497
+ if (typeof props.shouldShowCopy === 'function') {
498
+ return props.shouldShowCopy(bubble);
499
+ } else if (typeof props.shouldShowCopy === 'boolean') {
500
+ return props.shouldShowCopy;
501
+ }
502
+ return true;
503
+ }, [
504
+ props.shouldShowCopy,
505
+ bubble,
506
+ originalData === null || originalData === void 0 ? void 0 : originalData.content,
507
+ originalData === null || originalData === void 0 ? void 0 : (_originalData_extra3 = originalData.extra) === null || _originalData_extra3 === void 0 ? void 0 : _originalData_extra3.answerStatus,
508
+ context === null || context === void 0 ? void 0 : context.locale
509
+ ]);
510
+ var copyDom = useMemo(function() {
511
+ var _context_locale;
512
+ return shouldShowCopy ? /*#__PURE__*/ React.createElement(CopyButton, {
513
+ "data-testid": "chat-item-copy-button",
514
+ title: (context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.copy']) || '复制',
515
+ onClick: function() {
516
+ try {
517
+ var _bubble_originData;
518
+ copy(((_bubble_originData = bubble.originData) === null || _bubble_originData === void 0 ? void 0 : _bubble_originData.content) || '');
519
+ } catch (error) {
520
+ // 复制失败时静默处理
521
+ console.error('复制失败:', error);
522
+ }
523
+ },
524
+ showTitle: false
525
+ }, /*#__PURE__*/ React.createElement(Copy, null)) : null;
526
+ }, [
527
+ shouldShowCopy,
528
+ context === null || context === void 0 ? void 0 : context.locale,
529
+ (_bubble_originData = bubble.originData) === null || _bubble_originData === void 0 ? void 0 : _bubble_originData.content
530
+ ]);
531
+ var voiceDom = useMemo(function() {
532
+ var _originalData_extra, _context_locale, _bubble_originData;
533
+ /**
534
+ * 判断是否应该显示语音选项。
535
+ *
536
+ * 语音选项显示需要满足以下条件:
537
+ * 基础条件(必须全部满足):
538
+ * - 聊天项的原始数据包含内容
539
+ * - 聊天项的原始数据在额外字段中没有回答状态
540
+ * - 聊天项的内容不等于本地化的 'chat.message.aborted' 消息或其默认值 '回答已停止生成'
541
+ * */ var defaultShow = !!(originalData === null || originalData === void 0 ? void 0 : originalData.content) && !(originalData === null || originalData === void 0 ? void 0 : (_originalData_extra = originalData.extra) === null || _originalData_extra === void 0 ? void 0 : _originalData_extra.answerStatus) && !typing && (originalData === null || originalData === void 0 ? void 0 : originalData.content) !== ((context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.aborted']) || '回答已停止生成');
542
+ if (!props.shouldShowVoice || !defaultShow) return null;
543
+ return /*#__PURE__*/ React.createElement(VoiceButton, {
544
+ text: ((_bubble_originData = bubble.originData) === null || _bubble_originData === void 0 ? void 0 : _bubble_originData.content) || '',
545
+ defaultRate: 1,
546
+ rateOptions: [
547
+ 1.5,
548
+ 1.25,
549
+ 1,
550
+ 0.75
551
+ ],
552
+ useSpeech: props.useSpeech
553
+ });
554
+ }, [
555
+ props.shouldShowVoice,
556
+ props.useSpeech,
557
+ (_bubble_originData1 = bubble.originData) === null || _bubble_originData1 === void 0 ? void 0 : _bubble_originData1.content
558
+ ]);
559
+ var dom = useMemo(function() {
560
+ return voiceDom || copyDom || like || disLike ? /*#__PURE__*/ React.createElement(motion.div, {
561
+ style: {
562
+ display: 'flex',
563
+ gap: 8,
564
+ alignItems: 'center'
565
+ },
566
+ variants: {
567
+ visible: {
568
+ opacity: 1,
569
+ transition: {
570
+ when: 'beforeChildren',
571
+ staggerChildren: 0.1,
572
+ delayChildren: 0.5
573
+ }
574
+ },
575
+ hidden: {
576
+ opacity: 0,
577
+ transition: {
578
+ when: 'afterChildren'
579
+ }
580
+ }
581
+ },
582
+ whileInView: "visible",
583
+ initial: "hidden",
584
+ animate: "visible",
585
+ className: classNames("".concat(prefixCls, "-action-box"))
586
+ }, voiceDom ? voiceDom : null, copyDom ? copyDom : null, (voiceDom || copyDom) && (like || disLike) && /*#__PURE__*/ React.createElement(Divider, {
587
+ type: "vertical",
588
+ style: {
589
+ margin: '0px 2px'
139
590
  }
140
- yield (_d2 = props.onLike) == null ? void 0 : _d2.call(props);
141
- } catch (error) {
142
- }
143
- })
144
- },
145
- (originalData == null ? void 0 : originalData.feedback) === "thumbsUp" ? /* @__PURE__ */ React.createElement(LikeFilled, null) : /* @__PURE__ */ React.createElement(LikeOutlined, null)
146
- ) : null,
147
- [
148
- shouldShowLike,
149
- alreadyFeedback,
150
- originalData == null ? void 0 : originalData.isFinished,
151
- typing,
152
- feedbackLoading,
153
- props.onCancelLike
154
- ]
155
- );
156
- const disLike = useMemo(
157
- () => shouldShowDisLike && !typing ? /* @__PURE__ */ React.createElement(
158
- ActionIconBox,
159
- {
160
- "data-testid": "dislike-button",
161
- loading: feedbackLoading,
162
- onLoadingChange: setFeedbackLoading,
163
- title: getDislikeButtonTitle,
164
- onClick: () => __async(void 0, null, function* () {
165
- var _a3;
166
- try {
167
- if (alreadyFeedback) {
168
- return;
591
+ }), like ? like : null, disLike ? disLike : null) : null;
592
+ }, [
593
+ voiceDom,
594
+ copyDom,
595
+ like,
596
+ disLike,
597
+ prefixCls
598
+ ]);
599
+ var reSend = useMemo(function() {
600
+ var _originalData_extra_preMessage, _originalData_extra, _context_locale, _context_locale1;
601
+ if ((originalData === null || originalData === void 0 ? void 0 : originalData.isAborted) && !originalData.isFinished) {
602
+ var _context_locale2;
603
+ return /*#__PURE__*/ React.createElement("span", null, (context === null || context === void 0 ? void 0 : (_context_locale2 = context.locale) === null || _context_locale2 === void 0 ? void 0 : _context_locale2['chat.message.aborted']) || '回答已停止生成');
604
+ }
605
+ if (!(originalData === null || originalData === void 0 ? void 0 : (_originalData_extra = originalData.extra) === null || _originalData_extra === void 0 ? void 0 : (_originalData_extra_preMessage = _originalData_extra.preMessage) === null || _originalData_extra_preMessage === void 0 ? void 0 : _originalData_extra_preMessage.content)) return null;
606
+ if (typing) return null;
607
+ return /*#__PURE__*/ React.createElement(ActionIconBox, {
608
+ "data-testid": "reply-button",
609
+ borderLess: true,
610
+ onClick: /*#__PURE__*/ _async_to_generator(function() {
611
+ var _bubble_originData_extra_preMessage, _bubble_originData_extra, _bubble_originData, _context_locale;
612
+ return _ts_generator(this, function(_state) {
613
+ onReply === null || onReply === void 0 ? void 0 : onReply(((_bubble_originData = bubble.originData) === null || _bubble_originData === void 0 ? void 0 : (_bubble_originData_extra = _bubble_originData.extra) === null || _bubble_originData_extra === void 0 ? void 0 : (_bubble_originData_extra_preMessage = _bubble_originData_extra.preMessage) === null || _bubble_originData_extra_preMessage === void 0 ? void 0 : _bubble_originData_extra_preMessage.content) || (context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.retrySend']) || '重新生成');
614
+ return [
615
+ 2
616
+ ];
617
+ });
618
+ }),
619
+ title: (context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.retrySend']) || '重新生成'
620
+ }, /*#__PURE__*/ React.createElement("div", {
621
+ style: {
622
+ gap: 4,
623
+ display: 'flex',
624
+ cursor: 'pointer',
625
+ alignItems: 'center'
169
626
  }
170
- yield (_a3 = props.onDisLike) == null ? void 0 : _a3.call(props);
171
- } catch (error) {
172
- }
173
- })
174
- },
175
- (originalData == null ? void 0 : originalData.feedback) === "thumbsDown" ? /* @__PURE__ */ React.createElement(DislikeFilled, null) : /* @__PURE__ */ React.createElement(DislikeOutlined, null)
176
- ) : null,
177
- [
178
- shouldShowDisLike,
179
- feedbackLoading,
180
- alreadyFeedback,
181
- originalData == null ? void 0 : originalData.isFinished,
182
- typing
183
- ]
184
- );
185
- const shouldShowCopy = useMemo(() => {
186
- var _a3, _b3;
187
- const defaultConditions = (originalData == null ? void 0 : originalData.content) && !((_a3 = originalData == null ? void 0 : originalData.extra) == null ? void 0 : _a3.answerStatus) && (originalData == null ? void 0 : originalData.content) !== (((_b3 = context == null ? void 0 : context.locale) == null ? void 0 : _b3["chat.message.aborted"]) || "回答已停止生成");
188
- if (!defaultConditions) {
189
- return false;
627
+ }, /*#__PURE__*/ React.createElement(RotateCwSquare, null), /*#__PURE__*/ React.createElement("span", null, (context === null || context === void 0 ? void 0 : (_context_locale1 = context.locale) === null || _context_locale1 === void 0 ? void 0 : _context_locale1['chat.message.retrySend']) || '重新生成')));
628
+ }, [
629
+ originalData === null || originalData === void 0 ? void 0 : originalData.isAborted,
630
+ typing,
631
+ originalData === null || originalData === void 0 ? void 0 : originalData.isFinished
632
+ ]);
633
+ useEffect(function() {
634
+ var _props_onRenderExtraNull;
635
+ (_props_onRenderExtraNull = props.onRenderExtraNull) === null || _props_onRenderExtraNull === void 0 ? void 0 : _props_onRenderExtraNull.call(props, !dom && !reSend);
636
+ }, [
637
+ dom
638
+ ]);
639
+ // 检查是否有任何内容需要渲染
640
+ var hasLeftContent = typing && originalData.content !== '...' || reSend;
641
+ var rightDom = props.rightRender === false ? null : props.rightRender ? (_props_rightRender = props.rightRender) === null || _props_rightRender === void 0 ? void 0 : _props_rightRender.call(props, _object_spread_props(_object_spread({}, props), {
642
+ bubble: bubble,
643
+ onReply: onReply,
644
+ onRenderExtraNull: props.onRenderExtraNull
645
+ }), {
646
+ like: like,
647
+ disLike: disLike,
648
+ copy: copyDom,
649
+ reply: reSend
650
+ }) : dom;
651
+ var hasRightContent = (originalData === null || originalData === void 0 ? void 0 : originalData.isAborted) ? copyDom : props.rightRender === false ? false : !!rightDom;
652
+ // 如果没有任何内容,直接返回 null
653
+ if (!hasLeftContent && !hasRightContent) return null;
654
+ if (!copyDom && (originalData === null || originalData === void 0 ? void 0 : originalData.isAborted) && !reSend) {
655
+ return null;
190
656
  }
191
- if (typeof props.shouldShowCopy === "function") {
192
- return props.shouldShowCopy(bubble);
193
- } else if (typeof props.shouldShowCopy === "boolean") {
194
- return props.shouldShowCopy;
657
+ if (pure) {
658
+ return [
659
+ reSend,
660
+ like,
661
+ disLike,
662
+ copyDom,
663
+ voiceDom
664
+ ];
195
665
  }
196
- return true;
197
- }, [
198
- props.shouldShowCopy,
199
- bubble,
200
- originalData == null ? void 0 : originalData.content,
201
- (_d = originalData == null ? void 0 : originalData.extra) == null ? void 0 : _d.answerStatus,
202
- context == null ? void 0 : context.locale
203
- ]);
204
- const copyDom = useMemo(
205
- () => {
206
- var _a3;
207
- return shouldShowCopy ? /* @__PURE__ */ React.createElement(
208
- CopyButton,
209
- {
210
- "data-testid": "chat-item-copy-button",
211
- title: ((_a3 = context == null ? void 0 : context.locale) == null ? void 0 : _a3["chat.message.copy"]) || "复制",
212
- onClick: () => {
213
- var _a4;
214
- try {
215
- copy(((_a4 = bubble.originData) == null ? void 0 : _a4.content) || "");
216
- } catch (error) {
217
- console.error("复制失败:", error);
218
- }
219
- },
220
- showTitle: false
221
- },
222
- /* @__PURE__ */ React.createElement(Copy, null)
223
- ) : null;
224
- },
225
- [shouldShowCopy, context == null ? void 0 : context.locale, (_e = bubble.originData) == null ? void 0 : _e.content]
226
- );
227
- const voiceDom = useMemo(() => {
228
- var _a3, _b3, _c2;
229
- const defaultShow = !!(originalData == null ? void 0 : originalData.content) && !((_a3 = originalData == null ? void 0 : originalData.extra) == null ? void 0 : _a3.answerStatus) && !typing && (originalData == null ? void 0 : originalData.content) !== (((_b3 = context == null ? void 0 : context.locale) == null ? void 0 : _b3["chat.message.aborted"]) || "回答已停止生成");
230
- if (!props.shouldShowVoice || !defaultShow)
231
- return null;
232
- return /* @__PURE__ */ React.createElement(
233
- VoiceButton,
234
- {
235
- text: ((_c2 = bubble.originData) == null ? void 0 : _c2.content) || "",
236
- defaultRate: 1,
237
- rateOptions: [1.5, 1.25, 1, 0.75],
238
- useSpeech: props.useSpeech
239
- }
240
- );
241
- }, [props.shouldShowVoice, props.useSpeech, (_f = bubble.originData) == null ? void 0 : _f.content]);
242
- const dom = useMemo(
243
- () => voiceDom || copyDom || like || disLike ? /* @__PURE__ */ React.createElement(
244
- motion.div,
245
- {
666
+ return /*#__PURE__*/ React.createElement("div", {
667
+ className: prefixCls,
668
+ style: _object_spread({
669
+ display: 'flex',
670
+ alignItems: 'center',
671
+ justifyContent: 'space-between',
672
+ width: '100%',
673
+ paddingLeft: placement === 'right' ? 0 : 'var(--padding-5x)',
674
+ paddingRight: placement === 'right' ? 0 : 'var(--padding-5x)',
675
+ paddingBottom: placement === 'right' ? 0 : 'var(--padding-2x)',
676
+ color: 'var(--color-gray-text-secondary)',
677
+ fontSize: (context === null || context === void 0 ? void 0 : context.compact) ? '11px' : '13px',
678
+ gap: 4
679
+ }, props.style)
680
+ }, typing && originalData.content !== '...' ? /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement(Loading, {
246
681
  style: {
247
- display: "flex",
248
- gap: 8,
249
- alignItems: "center"
250
- },
251
- variants: {
252
- visible: {
253
- opacity: 1,
254
- transition: {
255
- when: "beforeChildren",
256
- staggerChildren: 0.1,
257
- delayChildren: 0.5
258
- }
259
- },
260
- hidden: {
261
- opacity: 0,
262
- transition: {
263
- when: "afterChildren"
264
- }
265
- }
266
- },
267
- whileInView: "visible",
268
- initial: "hidden",
269
- animate: "visible",
270
- className: classNames(`${prefixCls}-action-box`)
271
- },
272
- voiceDom ? voiceDom : null,
273
- copyDom ? copyDom : null,
274
- (voiceDom || copyDom) && (like || disLike) && /* @__PURE__ */ React.createElement(
275
- Divider,
276
- {
277
- type: "vertical",
278
- style: {
279
- margin: "0px 2px"
280
- }
682
+ fontSize: (context === null || context === void 0 ? void 0 : context.compact) ? 20 : 16
281
683
  }
282
- ),
283
- like ? like : null,
284
- disLike ? disLike : null
285
- ) : null,
286
- [voiceDom, copyDom, like, disLike, prefixCls]
287
- );
288
- const reSend = useMemo(() => {
289
- var _a3, _b3, _c2, _d2, _e2;
290
- if ((originalData == null ? void 0 : originalData.isAborted) && !originalData.isFinished) {
291
- return /* @__PURE__ */ React.createElement("span", null, ((_a3 = context == null ? void 0 : context.locale) == null ? void 0 : _a3["chat.message.aborted"]) || "回答已停止生成");
292
- }
293
- if (!((_c2 = (_b3 = originalData == null ? void 0 : originalData.extra) == null ? void 0 : _b3.preMessage) == null ? void 0 : _c2.content))
294
- return null;
295
- if (typing)
296
- return null;
297
- return /* @__PURE__ */ React.createElement(
298
- ActionIconBox,
299
- {
300
- "data-testid": "reply-button",
301
- borderLess: true,
302
- onClick: () => __async(void 0, null, function* () {
303
- var _a4, _b4, _c3, _d3;
304
- onReply == null ? void 0 : onReply(
305
- ((_c3 = (_b4 = (_a4 = bubble.originData) == null ? void 0 : _a4.extra) == null ? void 0 : _b4.preMessage) == null ? void 0 : _c3.content) || ((_d3 = context == null ? void 0 : context.locale) == null ? void 0 : _d3["chat.message.retrySend"]) || "重新生成"
306
- );
307
- }),
308
- title: ((_d2 = context == null ? void 0 : context.locale) == null ? void 0 : _d2["chat.message.retrySend"]) || "重新生成"
309
- },
310
- /* @__PURE__ */ React.createElement(
311
- "div",
312
- {
313
- style: {
314
- gap: 4,
315
- display: "flex",
316
- cursor: "pointer",
317
- alignItems: "center"
318
- }
319
- },
320
- /* @__PURE__ */ React.createElement(RotateCwSquare, null),
321
- /* @__PURE__ */ React.createElement("span", null, ((_e2 = context == null ? void 0 : context.locale) == null ? void 0 : _e2["chat.message.retrySend"]) || "重新生成")
322
- )
323
- );
324
- }, [originalData == null ? void 0 : originalData.isAborted, typing, originalData == null ? void 0 : originalData.isFinished]);
325
- useEffect(() => {
326
- var _a3;
327
- (_a3 = props.onRenderExtraNull) == null ? void 0 : _a3.call(props, !dom && !reSend);
328
- }, [dom]);
329
- const hasLeftContent = typing && originalData.content !== "..." || reSend;
330
- const rightDom = props.rightRender === false ? null : props.rightRender ? (_g = props.rightRender) == null ? void 0 : _g.call(
331
- props,
332
- __spreadProps(__spreadValues({}, props), {
333
- bubble,
334
- onReply,
335
- onRenderExtraNull: props.onRenderExtraNull
336
- }),
337
- {
338
- like,
339
- disLike,
340
- copy: copyDom,
341
- reply: reSend
342
- }
343
- ) : dom;
344
- const hasRightContent = (originalData == null ? void 0 : originalData.isAborted) ? copyDom : props.rightRender === false ? false : !!rightDom;
345
- if (!hasLeftContent && !hasRightContent)
346
- return null;
347
- if (!copyDom && (originalData == null ? void 0 : originalData.isAborted) && !reSend) {
348
- return null;
349
- }
350
- if (pure) {
351
- return [reSend, like, disLike, copyDom, voiceDom];
352
- }
353
- return /* @__PURE__ */ React.createElement(
354
- "div",
355
- {
356
- className: prefixCls,
357
- style: __spreadValues({
358
- display: "flex",
359
- alignItems: "center",
360
- justifyContent: "space-between",
361
- width: "100%",
362
- paddingLeft: placement === "right" ? 0 : "var(--padding-5x)",
363
- paddingRight: placement === "right" ? 0 : "var(--padding-5x)",
364
- paddingBottom: placement === "right" ? 0 : "var(--padding-2x)",
365
- color: "var(--color-gray-text-secondary)",
366
- fontSize: (context == null ? void 0 : context.compact) ? "11px" : "13px",
367
- gap: 4
368
- }, props.style)
369
- },
370
- typing && originalData.content !== "..." ? /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Loading, { style: { fontSize: (context == null ? void 0 : context.compact) ? 20 : 16 } }), /* @__PURE__ */ React.createElement("span", null, ((_h = context == null ? void 0 : context.locale) == null ? void 0 : _h["chat.message.generating"]) || "")) : null,
371
- reSend || null,
372
- (originalData == null ? void 0 : originalData.isAborted) ? copyDom : rightDom
373
- );
374
- };
375
- export {
376
- BubbleExtra
684
+ }), /*#__PURE__*/ React.createElement("span", null, (context === null || context === void 0 ? void 0 : (_context_locale = context.locale) === null || _context_locale === void 0 ? void 0 : _context_locale['chat.message.generating']) || '')) : null, reSend || null, (originalData === null || originalData === void 0 ? void 0 : originalData.isAborted) ? copyDom : rightDom);
377
685
  };