@ant-design/agentic-ui 2.29.6 → 2.29.8

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 (377) hide show
  1. package/dist/AILabel/index.js +17 -8
  2. package/dist/AgenticLayout/index.js +3 -5
  3. package/dist/BackTo/BackBottom.js +17 -8
  4. package/dist/BackTo/BackTop.js +17 -8
  5. package/dist/BackTo/ScrollVisibleButton.js +75 -11
  6. package/dist/Bubble/AIBubble.js +131 -121
  7. package/dist/Bubble/Avatar/index.js +19 -10
  8. package/dist/Bubble/FileView.js +2 -2
  9. package/dist/Bubble/List/PureBubbleList.js +4 -5
  10. package/dist/Bubble/List/index.js +4 -5
  11. package/dist/Bubble/List/style.js +3 -0
  12. package/dist/Bubble/MessagesContent/BubbleExtra.js +108 -93
  13. package/dist/Bubble/MessagesContent/CopyButton/index.js +36 -26
  14. package/dist/Bubble/MessagesContent/DocInfo.js +19 -10
  15. package/dist/Bubble/MessagesContent/MarkdownPreview.js +2 -2
  16. package/dist/Bubble/MessagesContent/index.js +149 -130
  17. package/dist/Bubble/PureBubble.js +151 -133
  18. package/dist/Bubble/UserBubble.js +1 -1
  19. package/dist/Bubble/style.js +2 -2
  20. package/dist/Bubble/types/BubbleExtra.js +4 -1
  21. package/dist/Bubble/types/DocInfo.js +9 -1
  22. package/dist/ChatLayout/components/FooterBackgroundLottie/images/img_0.png +0 -0
  23. package/dist/ChatLayout/components/FooterBackgroundLottie/images/img_1.png +0 -0
  24. package/dist/ChatLayout/components/FooterBackgroundLottie/images/img_2.png +0 -0
  25. package/dist/ChatLayout/components/FooterBackgroundLottie/index.d.ts +51 -0
  26. package/dist/ChatLayout/components/FooterBackgroundLottie/index.js +45 -0
  27. package/dist/ChatLayout/components/FooterBackgroundLottie/lottie.d.ts +85 -0
  28. package/dist/ChatLayout/components/FooterBackgroundLottie/lottie.js +382 -0
  29. package/dist/ChatLayout/index.js +52 -14
  30. package/dist/ChatLayout/style.js +11 -0
  31. package/dist/ChatLayout/types.d.ts +28 -0
  32. package/dist/Components/ActionIconBox/index.js +30 -38
  33. package/dist/Components/ActionItemBox/ActionItemBox.js +1 -1
  34. package/dist/Components/Button/SwitchButton/index.js +18 -17
  35. package/dist/Components/LayoutHeader/index.js +5 -3
  36. package/dist/Components/LayoutHeader/style.js +5 -0
  37. package/dist/Components/Loading/CreativeRecommendationLoading.js +2 -2
  38. package/dist/Components/Loading/CreativeSparkLoading.js +2 -2
  39. package/dist/Components/SuggestionList/index.js +20 -19
  40. package/dist/Components/TextAnimate/index.js +19 -10
  41. package/dist/Components/TypingAnimation/index.js +19 -10
  42. package/dist/Components/effects/EffectPlayer.js +20 -11
  43. package/dist/Components/icons/LoadingSpinnerIcon.js +19 -10
  44. package/dist/History/components/HistoryActionsBox.js +21 -23
  45. package/dist/History/components/HistoryItem.js +61 -53
  46. package/dist/History/components/HistoryRunningIcon.js +19 -10
  47. package/dist/History/components/LoadMoreComponent.js +61 -55
  48. package/dist/History/components/NewChatComponent.js +53 -47
  49. package/dist/History/components/SearchComponent.js +24 -26
  50. package/dist/History/hooks/useHistory.js +80 -73
  51. package/dist/History/index.js +17 -16
  52. package/dist/History/menu.js +17 -8
  53. package/dist/Hooks/useAutoScroll.js +19 -19
  54. package/dist/Hooks/useDebounceFn/index.js +51 -45
  55. package/dist/Hooks/useElementSize.d.ts +5 -0
  56. package/dist/Hooks/useElementSize.js +71 -0
  57. package/dist/Hooks/useIntersectionOnce.js +17 -8
  58. package/dist/Hooks/useLanguage.d.ts +3 -0
  59. package/dist/I18n/locales.d.ts +3 -0
  60. package/dist/I18n/locales.js +8 -0
  61. package/dist/MarkdownEditor/BaseMarkdownEditor.js +23 -13
  62. package/dist/MarkdownEditor/editor/Editor.js +31 -39
  63. package/dist/MarkdownEditor/editor/components/CommentList/index.js +29 -37
  64. package/dist/MarkdownEditor/editor/elements/Blockquote/ReadonlyBlockquote.d.ts +33 -0
  65. package/dist/MarkdownEditor/editor/elements/Blockquote/ReadonlyBlockquote.js +69 -0
  66. package/dist/MarkdownEditor/editor/elements/Break/ReadonlyBreak.d.ts +30 -0
  67. package/dist/MarkdownEditor/editor/elements/Break/ReadonlyBreak.js +88 -0
  68. package/dist/MarkdownEditor/editor/elements/Card/ReadonlyCard.d.ts +34 -0
  69. package/dist/MarkdownEditor/editor/elements/Card/ReadonlyCard.js +96 -0
  70. package/dist/MarkdownEditor/editor/elements/Code/ReadonlyCode.d.ts +33 -0
  71. package/dist/MarkdownEditor/editor/elements/Code/ReadonlyCode.js +145 -0
  72. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition/ReadonlyFootnoteDefinition.d.ts +34 -0
  73. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition/ReadonlyFootnoteDefinition.js +125 -0
  74. package/dist/MarkdownEditor/editor/elements/FootnoteReference/ReadonlyFootnoteReference.d.ts +34 -0
  75. package/dist/MarkdownEditor/editor/elements/FootnoteReference/ReadonlyFootnoteReference.js +101 -0
  76. package/dist/MarkdownEditor/editor/elements/Head/ReadonlyHead.d.ts +35 -0
  77. package/dist/MarkdownEditor/editor/elements/Head/ReadonlyHead.js +111 -0
  78. package/dist/MarkdownEditor/editor/elements/Head/index.d.ts +3 -0
  79. package/dist/MarkdownEditor/editor/elements/Head/index.js +3 -1
  80. package/dist/MarkdownEditor/editor/elements/Hr/ReadonlyHr.d.ts +30 -0
  81. package/dist/MarkdownEditor/editor/elements/Hr/ReadonlyHr.js +95 -0
  82. package/dist/MarkdownEditor/editor/elements/Image/ReadonlyEditorImage.d.ts +35 -0
  83. package/dist/MarkdownEditor/editor/elements/Image/ReadonlyEditorImage.js +426 -0
  84. package/dist/MarkdownEditor/editor/elements/Image/index.js +124 -121
  85. package/dist/MarkdownEditor/editor/elements/InlineKatex/ReadonlyInlineKatex.d.ts +32 -0
  86. package/dist/MarkdownEditor/editor/elements/InlineKatex/ReadonlyInlineKatex.js +100 -0
  87. package/dist/MarkdownEditor/editor/elements/Katex/ReadonlyKatex.d.ts +32 -0
  88. package/dist/MarkdownEditor/editor/elements/Katex/ReadonlyKatex.js +110 -0
  89. package/dist/MarkdownEditor/editor/elements/LinkCard/ReadonlyLinkCard.d.ts +40 -0
  90. package/dist/MarkdownEditor/editor/elements/LinkCard/ReadonlyLinkCard.js +215 -0
  91. package/dist/MarkdownEditor/editor/elements/List/List.js +27 -12
  92. package/dist/MarkdownEditor/editor/elements/List/ListItem.js +17 -16
  93. package/dist/MarkdownEditor/editor/elements/List/ReadonlyList.d.ts +33 -0
  94. package/dist/MarkdownEditor/editor/elements/List/ReadonlyList.js +93 -0
  95. package/dist/MarkdownEditor/editor/elements/List/ReadonlyListItem.d.ts +35 -0
  96. package/dist/MarkdownEditor/editor/elements/List/ReadonlyListItem.js +138 -0
  97. package/dist/MarkdownEditor/editor/elements/Media/ReadonlyMedia.d.ts +36 -0
  98. package/dist/MarkdownEditor/editor/elements/Media/ReadonlyMedia.js +600 -0
  99. package/dist/MarkdownEditor/editor/elements/Media/index.js +107 -92
  100. package/dist/MarkdownEditor/editor/elements/Mermaid/ReadonlyMermaid.d.ts +32 -0
  101. package/dist/MarkdownEditor/editor/elements/Mermaid/ReadonlyMermaid.js +101 -0
  102. package/dist/MarkdownEditor/editor/elements/Paragraph/ReadonlyParagraph.d.ts +35 -0
  103. package/dist/MarkdownEditor/editor/elements/Paragraph/ReadonlyParagraph.js +109 -0
  104. package/dist/MarkdownEditor/editor/elements/Paragraph/index.js +2 -1
  105. package/dist/MarkdownEditor/editor/elements/Schema/ReadonlySchema.d.ts +33 -0
  106. package/dist/MarkdownEditor/editor/elements/Schema/ReadonlySchema.js +163 -0
  107. package/dist/MarkdownEditor/editor/elements/Table/Table.js +19 -10
  108. package/dist/MarkdownEditor/editor/elements/TagPopup/index.js +17 -16
  109. package/dist/MarkdownEditor/editor/elements/index.d.ts +20 -1
  110. package/dist/MarkdownEditor/editor/elements/index.js +65 -29
  111. package/dist/MarkdownEditor/editor/parser/parse/parseBlockElements.js +19 -11
  112. package/dist/MarkdownEditor/editor/parser/parse/parseCode.js +1 -1
  113. package/dist/MarkdownEditor/editor/parser/parse/parseEmptyLines.js +1 -1
  114. package/dist/MarkdownEditor/editor/parser/parse/parseTable.js +4 -1
  115. package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +66 -23
  116. package/dist/MarkdownEditor/editor/parser/remarkParse.js +3 -1
  117. package/dist/MarkdownEditor/editor/plugins/elements.js +60 -6
  118. package/dist/MarkdownEditor/editor/plugins/handlePaste.js +25 -30
  119. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/arrow.js +0 -1
  120. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +97 -39
  121. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/enter.js +0 -1
  122. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +0 -1
  123. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.d.ts +14 -0
  124. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +117 -91
  125. package/dist/MarkdownEditor/editor/plugins/index.d.ts +8 -0
  126. package/dist/MarkdownEditor/editor/plugins/index.js +8 -0
  127. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.d.ts +12 -6
  128. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +106 -95
  129. package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +1 -1
  130. package/dist/MarkdownEditor/editor/plugins/useOnchange.js +28 -22
  131. package/dist/MarkdownEditor/editor/plugins/utils.d.ts +31 -0
  132. package/dist/MarkdownEditor/editor/plugins/utils.js +75 -0
  133. package/dist/MarkdownEditor/editor/plugins/withCardPlugin.d.ts +15 -0
  134. package/dist/MarkdownEditor/editor/plugins/withCardPlugin.js +329 -0
  135. package/dist/MarkdownEditor/editor/plugins/withCodeTagPlugin.d.ts +11 -0
  136. package/dist/MarkdownEditor/editor/plugins/withCodeTagPlugin.js +299 -0
  137. package/dist/MarkdownEditor/editor/plugins/withInlineNodes.d.ts +12 -0
  138. package/dist/MarkdownEditor/editor/plugins/withInlineNodes.js +17 -0
  139. package/dist/MarkdownEditor/editor/plugins/withLinkAndMediaPlugin.d.ts +11 -0
  140. package/dist/MarkdownEditor/editor/plugins/withLinkAndMediaPlugin.js +70 -0
  141. package/dist/MarkdownEditor/editor/plugins/withListsPlugin.d.ts +23 -0
  142. package/dist/MarkdownEditor/editor/plugins/withListsPlugin.js +204 -0
  143. package/dist/MarkdownEditor/editor/plugins/withMarkdown.d.ts +9 -12
  144. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +17 -764
  145. package/dist/MarkdownEditor/editor/plugins/withSchemaPlugin.d.ts +11 -0
  146. package/dist/MarkdownEditor/editor/plugins/withSchemaPlugin.js +55 -0
  147. package/dist/MarkdownEditor/editor/plugins/withVoidNodes.d.ts +12 -0
  148. package/dist/MarkdownEditor/editor/plugins/withVoidNodes.js +17 -0
  149. package/dist/MarkdownEditor/editor/store.js +18 -14
  150. package/dist/MarkdownEditor/editor/tools/InsertAutocomplete.js +202 -197
  151. package/dist/MarkdownEditor/editor/tools/InsertLink.js +2 -2
  152. package/dist/MarkdownEditor/editor/tools/ToolBar/ReadonlyBaseBar.js +142 -134
  153. package/dist/MarkdownEditor/editor/utils/ace.js +61 -61
  154. package/dist/MarkdownEditor/editor/utils/docx/module.js +41 -8
  155. package/dist/MarkdownEditor/editor/utils/editorCommands.d.ts +97 -0
  156. package/dist/MarkdownEditor/editor/utils/editorCommands.js +966 -0
  157. package/dist/MarkdownEditor/editor/utils/editorUtils.js +13 -6
  158. package/dist/MarkdownEditor/editor/utils/index.js +8 -2
  159. package/dist/MarkdownEditor/editor/utils/keyboard.js +46 -426
  160. package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +23 -17
  161. package/dist/MarkdownEditor/editor/utils/media.js +21 -23
  162. package/dist/MarkdownEditor/editor/utils/performanceMonitor.js +55 -50
  163. package/dist/MarkdownEditor/editor/utils/useLocalState.js +11 -4
  164. package/dist/MarkdownEditor/el.d.ts +12 -5
  165. package/dist/MarkdownEditor/types.d.ts +1 -0
  166. package/dist/MarkdownEditor/types.js +4 -1
  167. package/dist/MarkdownEditor/utils/native-table/native-table-editor.js +14 -14
  168. package/dist/MarkdownEditor/utils/native-table/native-table-keyboard.js +2 -2
  169. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/style.js +1 -0
  170. package/dist/MarkdownInputField/AttachmentButton/index.js +33 -31
  171. package/dist/MarkdownInputField/BeforeToolContainer/BeforeToolContainer.js +14 -7
  172. package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +2 -2
  173. package/dist/MarkdownInputField/FileMapView/index.js +17 -16
  174. package/dist/MarkdownInputField/FilePaste/index.js +25 -30
  175. package/dist/MarkdownInputField/FileUploadManager/index.js +39 -40
  176. package/dist/MarkdownInputField/MarkdownInputField.js +47 -51
  177. package/dist/MarkdownInputField/QuickActions/index.js +66 -60
  178. package/dist/MarkdownInputField/SendButton/index.js +22 -13
  179. package/dist/MarkdownInputField/Suggestion/index.js +17 -16
  180. package/dist/MarkdownInputField/VoiceInput/index.js +51 -45
  181. package/dist/MarkdownInputField/VoiceInputManager/index.js +133 -125
  182. package/dist/MarkdownInputField/hooks/useMarkdownInputFieldHandlers.js +103 -101
  183. package/dist/MarkdownInputField/hooks/useMarkdownInputFieldStyles.js +1 -1
  184. package/dist/MarkdownInputField/style.js +8 -4
  185. package/dist/MarkdownInputField/types/MarkdownInputFieldProps.js +14 -1
  186. package/dist/Plugins/chart/BarChart/index.js +8 -8
  187. package/dist/Plugins/chart/ChartRender.js +52 -46
  188. package/dist/Plugins/chart/DonutChart/index.js +26 -17
  189. package/dist/Plugins/chart/DonutChart/plugins.js +1 -1
  190. package/dist/Plugins/chart/DonutChart/types.js +1 -1
  191. package/dist/Plugins/chart/FunnelChart/index.js +31 -28
  192. package/dist/Plugins/chart/LineChart/index.js +19 -10
  193. package/dist/Plugins/chart/RadarChart/index.js +19 -10
  194. package/dist/Plugins/chart/ScatterChart/index.js +19 -10
  195. package/dist/Plugins/chart/components/ChartContainer/ChartContainer.js +20 -11
  196. package/dist/Plugins/chart/index.js +31 -13
  197. package/dist/Plugins/chart/loadChartRuntime.js +17 -16
  198. package/dist/Plugins/chart/types/classNames.js +4 -1
  199. package/dist/Plugins/chart/utils.js +20 -20
  200. package/dist/Plugins/code/CodeUI/Katex/Katex.js +52 -46
  201. package/dist/Plugins/code/components/AceEditor.js +149 -133
  202. package/dist/Plugins/code/components/CodeRenderer.js +7 -7
  203. package/dist/Plugins/code/components/CodeToolbar.js +2 -2
  204. package/dist/Plugins/code/components/LanguageSelector.js +6 -6
  205. package/dist/Plugins/code/components/LoadImage.js +5 -5
  206. package/dist/Plugins/code/components/ThinkBlock.js +8 -8
  207. package/dist/Plugins/code/hooks/useCodeEditorState.js +5 -5
  208. package/dist/Plugins/code/index.js +6 -6
  209. package/dist/Plugins/code/langIconMap.js +0 -1
  210. package/dist/Plugins/code/langIcons/AbapIcon.js +19 -10
  211. package/dist/Plugins/code/langIcons/ActionscriptIcon.js +19 -10
  212. package/dist/Plugins/code/langIcons/AdaIcon.js +19 -10
  213. package/dist/Plugins/code/langIcons/ApacheIcon.js +19 -10
  214. package/dist/Plugins/code/langIcons/ApexIcon.js +19 -10
  215. package/dist/Plugins/code/langIcons/AplIcon.js +19 -10
  216. package/dist/Plugins/code/langIcons/ApplescriptIcon.js +19 -10
  217. package/dist/Plugins/code/langIcons/AstroIcon.js +19 -10
  218. package/dist/Plugins/code/langIcons/AwkIcon.js +19 -10
  219. package/dist/Plugins/code/langIcons/BallerinaIcon.js +19 -10
  220. package/dist/Plugins/code/langIcons/BatIcon.js +19 -10
  221. package/dist/Plugins/code/langIcons/BicepIcon.js +19 -10
  222. package/dist/Plugins/code/langIcons/BladeIcon.js +19 -10
  223. package/dist/Plugins/code/langIcons/CIcon.js +19 -10
  224. package/dist/Plugins/code/langIcons/CadenceIcon.js +19 -10
  225. package/dist/Plugins/code/langIcons/ClojureIcon.js +19 -10
  226. package/dist/Plugins/code/langIcons/CmakeIcon.js +19 -10
  227. package/dist/Plugins/code/langIcons/CobolIcon.js +19 -10
  228. package/dist/Plugins/code/langIcons/CodeqlIcon.js +19 -10
  229. package/dist/Plugins/code/langIcons/CoffeeIcon.js +19 -10
  230. package/dist/Plugins/code/langIcons/ConsoleIcon.js +19 -10
  231. package/dist/Plugins/code/langIcons/CppIcon.js +19 -10
  232. package/dist/Plugins/code/langIcons/CrystalIcon.js +19 -10
  233. package/dist/Plugins/code/langIcons/CsharpIcon.js +19 -10
  234. package/dist/Plugins/code/langIcons/CssIcon.js +19 -10
  235. package/dist/Plugins/code/langIcons/DIcon.js +19 -10
  236. package/dist/Plugins/code/langIcons/DartIcon.js +19 -10
  237. package/dist/Plugins/code/langIcons/DatabaseIcon.js +19 -10
  238. package/dist/Plugins/code/langIcons/DiffIcon.js +19 -10
  239. package/dist/Plugins/code/langIcons/DockerIcon.js +19 -10
  240. package/dist/Plugins/code/langIcons/DotenvIcon.js +19 -10
  241. package/dist/Plugins/code/langIcons/ElixirIcon.js +19 -10
  242. package/dist/Plugins/code/langIcons/ElmIcon.js +19 -10
  243. package/dist/Plugins/code/langIcons/ErbIcon.js +19 -10
  244. package/dist/Plugins/code/langIcons/ErlangIcon.js +19 -10
  245. package/dist/Plugins/code/langIcons/FsharpIcon.js +19 -10
  246. package/dist/Plugins/code/langIcons/GdscriptIcon.js +19 -10
  247. package/dist/Plugins/code/langIcons/GlslIcon.js +19 -10
  248. package/dist/Plugins/code/langIcons/GnuplotIcon.js +19 -10
  249. package/dist/Plugins/code/langIcons/GoIcon.js +19 -10
  250. package/dist/Plugins/code/langIcons/GraphqlIcon.js +19 -10
  251. package/dist/Plugins/code/langIcons/GroovyIcon.js +19 -10
  252. package/dist/Plugins/code/langIcons/HackIcon.js +19 -10
  253. package/dist/Plugins/code/langIcons/HamlIcon.js +19 -10
  254. package/dist/Plugins/code/langIcons/HandlebarsIcon.js +19 -10
  255. package/dist/Plugins/code/langIcons/HaskellIcon.js +19 -10
  256. package/dist/Plugins/code/langIcons/HclIcon.js +19 -10
  257. package/dist/Plugins/code/langIcons/HclLightIcon.js +19 -10
  258. package/dist/Plugins/code/langIcons/HjsonIcon.js +19 -10
  259. package/dist/Plugins/code/langIcons/HlslIcon.js +19 -10
  260. package/dist/Plugins/code/langIcons/HtmlIcon.js +19 -10
  261. package/dist/Plugins/code/langIcons/HttpIcon.js +19 -10
  262. package/dist/Plugins/code/langIcons/ImbaIcon.js +19 -10
  263. package/dist/Plugins/code/langIcons/IniIcon.js +19 -10
  264. package/dist/Plugins/code/langIcons/JavaIcon.js +19 -10
  265. package/dist/Plugins/code/langIcons/JavascriptIcon.js +19 -10
  266. package/dist/Plugins/code/langIcons/JinjaIcon.js +19 -10
  267. package/dist/Plugins/code/langIcons/Json5Icon.js +19 -10
  268. package/dist/Plugins/code/langIcons/JsonIcon.js +19 -10
  269. package/dist/Plugins/code/langIcons/JsonnetIcon.js +19 -10
  270. package/dist/Plugins/code/langIcons/JuliaIcon.js +19 -10
  271. package/dist/Plugins/code/langIcons/KotlinIcon.js +19 -10
  272. package/dist/Plugins/code/langIcons/KustoIcon.js +19 -10
  273. package/dist/Plugins/code/langIcons/LessIcon.js +19 -10
  274. package/dist/Plugins/code/langIcons/LiquidIcon.js +19 -10
  275. package/dist/Plugins/code/langIcons/LispIcon.js +19 -10
  276. package/dist/Plugins/code/langIcons/LuaIcon.js +19 -10
  277. package/dist/Plugins/code/langIcons/MakefileIcon.js +19 -10
  278. package/dist/Plugins/code/langIcons/MarkdownIcon.js +19 -10
  279. package/dist/Plugins/code/langIcons/MarkojsIcon.js +19 -10
  280. package/dist/Plugins/code/langIcons/MatlabIcon.js +19 -10
  281. package/dist/Plugins/code/langIcons/MdxIcon.js +19 -10
  282. package/dist/Plugins/code/langIcons/MermaidIcon.js +19 -10
  283. package/dist/Plugins/code/langIcons/MojoIcon.js +19 -10
  284. package/dist/Plugins/code/langIcons/NginxIcon.js +19 -10
  285. package/dist/Plugins/code/langIcons/NimIcon.js +19 -10
  286. package/dist/Plugins/code/langIcons/NixIcon.js +19 -10
  287. package/dist/Plugins/code/langIcons/ObjectiveCIcon.js +19 -10
  288. package/dist/Plugins/code/langIcons/ObjectiveCppIcon.js +19 -10
  289. package/dist/Plugins/code/langIcons/OcamlIcon.js +19 -10
  290. package/dist/Plugins/code/langIcons/PascalIcon.js +19 -10
  291. package/dist/Plugins/code/langIcons/Perl6Icon.js +19 -10
  292. package/dist/Plugins/code/langIcons/PerlIcon.js +19 -10
  293. package/dist/Plugins/code/langIcons/PhpIcon.js +19 -10
  294. package/dist/Plugins/code/langIcons/PostcssIcon.js +19 -10
  295. package/dist/Plugins/code/langIcons/PowershellIcon.js +19 -10
  296. package/dist/Plugins/code/langIcons/PrismaIcon.js +19 -10
  297. package/dist/Plugins/code/langIcons/PrologIcon.js +19 -10
  298. package/dist/Plugins/code/langIcons/ProtoIcon.js +19 -10
  299. package/dist/Plugins/code/langIcons/PugIcon.js +19 -10
  300. package/dist/Plugins/code/langIcons/PuppetIcon.js +19 -10
  301. package/dist/Plugins/code/langIcons/PurescriptIcon.js +19 -10
  302. package/dist/Plugins/code/langIcons/PythonIcon.js +19 -10
  303. package/dist/Plugins/code/langIcons/RIcon.js +19 -10
  304. package/dist/Plugins/code/langIcons/RazorIcon.js +19 -10
  305. package/dist/Plugins/code/langIcons/ReactIcon.js +19 -10
  306. package/dist/Plugins/code/langIcons/ReactTsIcon.js +19 -10
  307. package/dist/Plugins/code/langIcons/RubyIcon.js +19 -10
  308. package/dist/Plugins/code/langIcons/RustIcon.js +19 -10
  309. package/dist/Plugins/code/langIcons/SasIcon.js +19 -10
  310. package/dist/Plugins/code/langIcons/SassIcon.js +19 -10
  311. package/dist/Plugins/code/langIcons/ScalaIcon.js +19 -10
  312. package/dist/Plugins/code/langIcons/SchemeIcon.js +19 -10
  313. package/dist/Plugins/code/langIcons/ShaderlabIcon.js +19 -10
  314. package/dist/Plugins/code/langIcons/SolidityIcon.js +19 -10
  315. package/dist/Plugins/code/langIcons/SparqlIcon.js +19 -10
  316. package/dist/Plugins/code/langIcons/StataIcon.js +19 -10
  317. package/dist/Plugins/code/langIcons/StylusIcon.js +19 -10
  318. package/dist/Plugins/code/langIcons/SvelteIcon.js +19 -10
  319. package/dist/Plugins/code/langIcons/SwiftIcon.js +19 -10
  320. package/dist/Plugins/code/langIcons/SystemverilogIcon.js +19 -10
  321. package/dist/Plugins/code/langIcons/TclIcon.js +19 -10
  322. package/dist/Plugins/code/langIcons/TexIcon.js +19 -10
  323. package/dist/Plugins/code/langIcons/TomlIcon.js +19 -10
  324. package/dist/Plugins/code/langIcons/TwigIcon.js +19 -10
  325. package/dist/Plugins/code/langIcons/TypescriptIcon.js +19 -10
  326. package/dist/Plugins/code/langIcons/VerilogIcon.js +19 -10
  327. package/dist/Plugins/code/langIcons/VhdlIcon.js +19 -10
  328. package/dist/Plugins/code/langIcons/VimIcon.js +19 -10
  329. package/dist/Plugins/code/langIcons/VueIcon.js +19 -10
  330. package/dist/Plugins/code/langIcons/WebassemblyIcon.js +19 -10
  331. package/dist/Plugins/code/langIcons/WenyanIcon.js +19 -10
  332. package/dist/Plugins/code/langIcons/WgslIcon.js +19 -10
  333. package/dist/Plugins/code/langIcons/WolframlanguageIcon.js +19 -10
  334. package/dist/Plugins/code/langIcons/XmlIcon.js +19 -10
  335. package/dist/Plugins/code/langIcons/XslIcon.js +19 -10
  336. package/dist/Plugins/code/langIcons/YamlIcon.js +19 -10
  337. package/dist/Plugins/code/langIcons/ZigIcon.js +19 -10
  338. package/dist/Plugins/code/loadAceEditor.js +21 -23
  339. package/dist/Plugins/code/utils/langOptions.js +6 -6
  340. package/dist/Plugins/formatter/index.js +6 -6
  341. package/dist/Plugins/katex/InlineKatex.js +52 -46
  342. package/dist/Plugins/katex/Katex.js +53 -47
  343. package/dist/Plugins/katex/index.js +6 -6
  344. package/dist/Plugins/katex/loadKatex.js +27 -29
  345. package/dist/Plugins/mermaid/Mermaid.js +34 -28
  346. package/dist/Plugins/mermaid/useMermaidRender.js +103 -97
  347. package/dist/Plugins/mermaid/utils.js +25 -17
  348. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +162 -150
  349. package/dist/Schema/SchemaEditor/index.js +8 -1
  350. package/dist/Schema/SchemaForm/index.js +2 -2
  351. package/dist/Schema/SchemaRenderer/index.js +45 -46
  352. package/dist/ThoughtChainList/index.js +22 -13
  353. package/dist/ToolUseBar/BarItem/Content.js +3 -3
  354. package/dist/ToolUseBar/BarItem/index.js +10 -3
  355. package/dist/ToolUseBar/index.js +19 -10
  356. package/dist/ToolUseBar/style.js +4 -4
  357. package/dist/Types/common.js +4 -1
  358. package/dist/Types/message.js +4 -1
  359. package/dist/Utils/debugUtils.js +8 -8
  360. package/dist/Utils/getScroll.js +12 -5
  361. package/dist/Utils/loadCSS.js +23 -22
  362. package/dist/Utils/proxySandbox/ProxySandbox.js +42 -34
  363. package/dist/Utils/proxySandbox/SecurityContextManager.js +54 -54
  364. package/dist/Utils/proxySandbox/index.js +25 -22
  365. package/dist/Utils/proxySandbox/types.js +11 -11
  366. package/dist/Utils/scrollTo.js +8 -1
  367. package/dist/WelcomeMessage/index.js +1 -1
  368. package/dist/Workspace/File/FileComponent.js +91 -66
  369. package/dist/Workspace/File/PreviewComponent.js +15 -8
  370. package/dist/Workspace/File/index.d.ts +1 -1
  371. package/dist/Workspace/File/style.js +7 -0
  372. package/dist/Workspace/RealtimeFollow/index.js +1 -2
  373. package/dist/Workspace/index.js +13 -11
  374. package/dist/Workspace/style.js +8 -14
  375. package/dist/Workspace/types.d.ts +50 -0
  376. package/dist/Workspace/types.js +0 -1
  377. package/package.json +27 -27
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { ElementProps, MediaNode } from '../../../el';
3
+ /**
4
+ * ReadonlyMedia 组件 - 只读媒体预览组件
5
+ *
6
+ * 专门针对 readonly 模式优化的媒体组件,移除了编辑相关功能(调整大小、删除等)。
7
+ * 简化渲染逻辑,提升预览模式性能。
8
+ *
9
+ * @component
10
+ * @description 只读媒体预览组件,用于预览模式下的媒体渲染
11
+ * @param {ElementProps<MediaNode>} props - 组件属性
12
+ * @param {MediaNode} props.element - 媒体节点元素
13
+ * @param {React.ReactNode} props.children - 子组件内容
14
+ * @param {Object} props.attributes - 元素属性
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <ReadonlyMedia
19
+ * element={mediaNode}
20
+ * attributes={attributes}
21
+ * >
22
+ * 媒体内容
23
+ * </ReadonlyMedia>
24
+ * ```
25
+ *
26
+ * @returns {React.ReactElement} 渲染的只读媒体组件
27
+ *
28
+ * @remarks
29
+ * - 移除调整大小功能
30
+ * - 移除删除功能
31
+ * - 移除选择状态管理
32
+ * - 简化状态管理逻辑
33
+ * - 使用 React.memo 优化性能
34
+ * - 保持预览模式的视觉效果
35
+ */
36
+ export declare const ReadonlyMedia: React.FC<ElementProps<MediaNode>>;
@@ -0,0 +1,600 @@
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
+ }
17
+ if (info.done) {
18
+ resolve(value);
19
+ } else {
20
+ Promise.resolve(value).then(_next, _throw);
21
+ }
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
+ });
36
+ };
37
+ }
38
+ function _iterable_to_array_limit(arr, i) {
39
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
40
+ if (_i == null) return;
41
+ var _arr = [];
42
+ var _n = true;
43
+ var _d = false;
44
+ var _s, _e;
45
+ try {
46
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
47
+ _arr.push(_s.value);
48
+ if (i && _arr.length === i) break;
49
+ }
50
+ } catch (err) {
51
+ _d = true;
52
+ _e = err;
53
+ } finally{
54
+ try {
55
+ if (!_n && _i["return"] != null) _i["return"]();
56
+ } finally{
57
+ if (_d) throw _e;
58
+ }
59
+ }
60
+ return _arr;
61
+ }
62
+ function _non_iterable_rest() {
63
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
+ }
65
+ function _sliced_to_array(arr, i) {
66
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
67
+ }
68
+ function _unsupported_iterable_to_array(o, minLen) {
69
+ if (!o) return;
70
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
71
+ var n = Object.prototype.toString.call(o).slice(8, -1);
72
+ if (n === "Object" && o.constructor) n = o.constructor.name;
73
+ if (n === "Map" || n === "Set") return Array.from(n);
74
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
75
+ }
76
+ function _ts_generator(thisArg, body) {
77
+ var f, y, t, _ = {
78
+ label: 0,
79
+ sent: function() {
80
+ if (t[0] & 1) throw t[1];
81
+ return t[1];
82
+ },
83
+ trys: [],
84
+ ops: []
85
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
86
+ return d(g, "next", {
87
+ value: verb(0)
88
+ }), d(g, "throw", {
89
+ value: verb(1)
90
+ }), d(g, "return", {
91
+ value: verb(2)
92
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
93
+ value: function() {
94
+ return this;
95
+ }
96
+ }), g;
97
+ function verb(n) {
98
+ return function(v) {
99
+ return step([
100
+ n,
101
+ v
102
+ ]);
103
+ };
104
+ }
105
+ function step(op) {
106
+ if (f) throw new TypeError("Generator is already executing.");
107
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
108
+ 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;
109
+ if (y = 0, t) op = [
110
+ op[0] & 2,
111
+ t.value
112
+ ];
113
+ switch(op[0]){
114
+ case 0:
115
+ case 1:
116
+ t = op;
117
+ break;
118
+ case 4:
119
+ _.label++;
120
+ return {
121
+ value: op[1],
122
+ done: false
123
+ };
124
+ case 5:
125
+ _.label++;
126
+ y = op[1];
127
+ op = [
128
+ 0
129
+ ];
130
+ continue;
131
+ case 7:
132
+ op = _.ops.pop();
133
+ _.trys.pop();
134
+ continue;
135
+ default:
136
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
137
+ _ = 0;
138
+ continue;
139
+ }
140
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
141
+ _.label = op[1];
142
+ break;
143
+ }
144
+ if (op[0] === 6 && _.label < t[1]) {
145
+ _.label = t[1];
146
+ t = op;
147
+ break;
148
+ }
149
+ if (t && _.label < t[2]) {
150
+ _.label = t[2];
151
+ _.ops.push(op);
152
+ break;
153
+ }
154
+ if (t[2]) _.ops.pop();
155
+ _.trys.pop();
156
+ continue;
157
+ }
158
+ op = body.call(thisArg, _);
159
+ } catch (e) {
160
+ op = [
161
+ 6,
162
+ e
163
+ ];
164
+ y = 0;
165
+ } finally{
166
+ f = t = 0;
167
+ }
168
+ if (op[0] & 5) throw op[1];
169
+ return {
170
+ value: op[0] ? op[1] : void 0,
171
+ done: true
172
+ };
173
+ }
174
+ }
175
+ import { LoadingOutlined } from "@ant-design/icons";
176
+ import { Skeleton } from "antd";
177
+ import React, { useEffect, useLayoutEffect, useMemo, useState } from "react";
178
+ import { useRefFunction } from "../../../../Hooks/useRefFunction";
179
+ import { MediaErrorLink } from "../../components/MediaErrorLink";
180
+ import { useGetSetState } from "../../utils";
181
+ import { getMediaType } from "../../utils/dom";
182
+ import { ReadonlyImage } from "../Image";
183
+ /**
184
+ * ReadonlyMedia 组件 - 只读媒体预览组件
185
+ *
186
+ * 专门针对 readonly 模式优化的媒体组件,移除了编辑相关功能(调整大小、删除等)。
187
+ * 简化渲染逻辑,提升预览模式性能。
188
+ *
189
+ * @component
190
+ * @description 只读媒体预览组件,用于预览模式下的媒体渲染
191
+ * @param {ElementProps<MediaNode>} props - 组件属性
192
+ * @param {MediaNode} props.element - 媒体节点元素
193
+ * @param {React.ReactNode} props.children - 子组件内容
194
+ * @param {Object} props.attributes - 元素属性
195
+ *
196
+ * @example
197
+ * ```tsx
198
+ * <ReadonlyMedia
199
+ * element={mediaNode}
200
+ * attributes={attributes}
201
+ * >
202
+ * 媒体内容
203
+ * </ReadonlyMedia>
204
+ * ```
205
+ *
206
+ * @returns {React.ReactElement} 渲染的只读媒体组件
207
+ *
208
+ * @remarks
209
+ * - 移除调整大小功能
210
+ * - 移除删除功能
211
+ * - 移除选择状态管理
212
+ * - 简化状态管理逻辑
213
+ * - 使用 React.memo 优化性能
214
+ * - 保持预览模式的视觉效果
215
+ */ export var ReadonlyMedia = /*#__PURE__*/ React.memo(function(param) {
216
+ var element = param.element, attributes = param.attributes, children = param.children;
217
+ var _state, _state1;
218
+ var _useState = _sliced_to_array(useState(false), 2), showAsText = _useState[0], setShowAsText = _useState[1];
219
+ var _useGetSetState = _sliced_to_array(useGetSetState({
220
+ loadSuccess: true,
221
+ url: '',
222
+ type: getMediaType(element === null || element === void 0 ? void 0 : element.url, element.alt)
223
+ }), 2), state = _useGetSetState[0], setState = _useGetSetState[1];
224
+ // 如果 finished 为 false,设置 5 秒超时,超时后显示为文本
225
+ useEffect(function() {
226
+ if (element.finished === false) {
227
+ setShowAsText(false);
228
+ var timer = setTimeout(function() {
229
+ setShowAsText(true);
230
+ }, 5000);
231
+ return function() {
232
+ clearTimeout(timer);
233
+ };
234
+ } else {
235
+ setShowAsText(false);
236
+ }
237
+ }, [
238
+ element.finished
239
+ ]);
240
+ var initial = useRefFunction(function() {
241
+ return _async_to_generator(function() {
242
+ var type, finalType, realUrl, img, video, audio;
243
+ return _ts_generator(this, function(_state) {
244
+ type = getMediaType(element === null || element === void 0 ? void 0 : element.url, element.alt);
245
+ type = !type ? 'image' : type;
246
+ finalType = [
247
+ 'image',
248
+ 'video',
249
+ 'autio',
250
+ 'attachment'
251
+ ].includes(type) ? type : 'other';
252
+ setState({
253
+ type: finalType
254
+ });
255
+ realUrl = element === null || element === void 0 ? void 0 : element.url;
256
+ setState({
257
+ url: realUrl
258
+ });
259
+ if (finalType === 'image' || finalType === 'other') {
260
+ img = document.createElement('img');
261
+ img.referrerPolicy = 'no-referrer';
262
+ img.crossOrigin = 'anonymous';
263
+ img.src = realUrl;
264
+ img.onerror = function() {
265
+ setState({
266
+ loadSuccess: false
267
+ });
268
+ };
269
+ img.onload = function() {
270
+ return setState({
271
+ loadSuccess: true
272
+ });
273
+ };
274
+ }
275
+ if (finalType === 'video') {
276
+ video = document.createElement('video');
277
+ video.src = realUrl;
278
+ video.preload = 'metadata';
279
+ video.onerror = function() {
280
+ setState({
281
+ loadSuccess: false
282
+ });
283
+ };
284
+ video.onloadedmetadata = function() {
285
+ setState({
286
+ loadSuccess: true
287
+ });
288
+ };
289
+ }
290
+ if (finalType === 'audio') {
291
+ audio = document.createElement('audio');
292
+ audio.src = realUrl;
293
+ audio.preload = 'metadata';
294
+ audio.onerror = function() {
295
+ setState({
296
+ loadSuccess: false
297
+ });
298
+ };
299
+ audio.onloadedmetadata = function() {
300
+ setState({
301
+ loadSuccess: true
302
+ });
303
+ };
304
+ }
305
+ return [
306
+ 2
307
+ ];
308
+ });
309
+ })();
310
+ });
311
+ useLayoutEffect(function() {
312
+ initial();
313
+ }, [
314
+ element === null || element === void 0 ? void 0 : element.url
315
+ ]);
316
+ // 图片预览
317
+ var imageDom = useMemo(function() {
318
+ var _state;
319
+ if (state().type !== 'image' && state().type !== 'other') return null;
320
+ // 检查是否为不完整的图片(finished 状态)
321
+ if (element.finished === false) {
322
+ // 如果 5 秒后仍未完成,显示为文本
323
+ if (showAsText) {
324
+ return /*#__PURE__*/ React.createElement("div", {
325
+ style: {
326
+ padding: '8px 12px',
327
+ border: '1px solid #d9d9d9',
328
+ borderRadius: '4px',
329
+ color: 'rgba(0, 0, 0, 0.65)',
330
+ wordBreak: 'break-all'
331
+ }
332
+ }, element.alt || element.url || '图片链接');
333
+ }
334
+ // 5 秒内显示 loading 状态的占位符
335
+ return /*#__PURE__*/ React.createElement(Skeleton.Image, {
336
+ active: true
337
+ });
338
+ }
339
+ return /*#__PURE__*/ React.createElement(ReadonlyImage, {
340
+ src: ((_state = state()) === null || _state === void 0 ? void 0 : _state.url) || (element === null || element === void 0 ? void 0 : element.url),
341
+ alt: (element === null || element === void 0 ? void 0 : element.alt) || 'image',
342
+ width: element.width,
343
+ height: element.height,
344
+ crossOrigin: "anonymous"
345
+ });
346
+ }, [
347
+ state().type,
348
+ (_state = state()) === null || _state === void 0 ? void 0 : _state.url,
349
+ element.finished,
350
+ showAsText,
351
+ element.url,
352
+ element.alt,
353
+ element.width,
354
+ element.height
355
+ ]);
356
+ // 媒体元素预览(video、audio、attachment)
357
+ var mediaElement = useMemo(function() {
358
+ var _element_otherProps;
359
+ var rawMarkdown = (element === null || element === void 0 ? void 0 : element.rawMarkdown) || (element === null || element === void 0 ? void 0 : (_element_otherProps = element.otherProps) === null || _element_otherProps === void 0 ? void 0 : _element_otherProps.rawMarkdown);
360
+ if (state().type === 'video') {
361
+ var _state;
362
+ // 如果是不完整状态
363
+ if (element.finished === false) {
364
+ // 如果 5 秒后仍未完成,显示为文本
365
+ if (showAsText) {
366
+ return /*#__PURE__*/ React.createElement("div", {
367
+ style: {
368
+ padding: '8px 12px',
369
+ border: '1px solid #d9d9d9',
370
+ borderRadius: '4px',
371
+ color: 'rgba(0, 0, 0, 0.65)',
372
+ wordBreak: 'break-all'
373
+ }
374
+ }, element.alt || element.url || '视频链接');
375
+ }
376
+ // 5 秒内显示 loading 占位符
377
+ return /*#__PURE__*/ React.createElement(Skeleton.Image, {
378
+ active: true
379
+ });
380
+ }
381
+ if (!state().loadSuccess) {
382
+ var _state1, _state2;
383
+ return /*#__PURE__*/ React.createElement(MediaErrorLink, {
384
+ url: (_state1 = state()) === null || _state1 === void 0 ? void 0 : _state1.url,
385
+ fallbackUrl: element === null || element === void 0 ? void 0 : element.url,
386
+ displayText: element.alt || ((_state2 = state()) === null || _state2 === void 0 ? void 0 : _state2.url) || (element === null || element === void 0 ? void 0 : element.url) || '视频链接'
387
+ });
388
+ }
389
+ return /*#__PURE__*/ React.createElement("video", {
390
+ "data-testid": "video-element",
391
+ controls: element.controls !== false,
392
+ autoPlay: element.autoplay,
393
+ loop: element.loop,
394
+ muted: element.muted,
395
+ poster: element.poster,
396
+ style: {
397
+ width: element.width ? "".concat(element.width, "px") : '100%',
398
+ height: element.height ? "".concat(element.height, "px") : 'auto',
399
+ maxWidth: '100%',
400
+ borderRadius: '6px',
401
+ boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)',
402
+ display: 'block'
403
+ },
404
+ src: ((_state = state()) === null || _state === void 0 ? void 0 : _state.url) || '',
405
+ preload: "metadata",
406
+ onError: function() {
407
+ var _state;
408
+ console.warn('Video failed to load:', (_state = state()) === null || _state === void 0 ? void 0 : _state.url);
409
+ setState({
410
+ loadSuccess: false
411
+ });
412
+ }
413
+ });
414
+ }
415
+ if (state().type === 'audio') {
416
+ var _state3;
417
+ // 如果是不完整状态
418
+ if (element.finished === false) {
419
+ // 如果 5 秒后仍未完成,显示为文本
420
+ if (showAsText) {
421
+ return /*#__PURE__*/ React.createElement("div", {
422
+ style: {
423
+ padding: '8px 12px',
424
+ border: '1px solid #d9d9d9',
425
+ borderRadius: '4px',
426
+ color: 'rgba(0, 0, 0, 0.65)',
427
+ wordBreak: 'break-all'
428
+ }
429
+ }, element.alt || element.url || '音频链接');
430
+ }
431
+ // 5 秒内显示 loading 占位符
432
+ return /*#__PURE__*/ React.createElement("div", {
433
+ style: {
434
+ display: 'inline-flex',
435
+ alignItems: 'center',
436
+ gap: '8px',
437
+ padding: '12px 16px',
438
+ border: '1px dashed #d9d9d9',
439
+ borderRadius: '6px',
440
+ backgroundColor: '#fafafa',
441
+ minWidth: '200px',
442
+ justifyContent: 'center'
443
+ }
444
+ }, /*#__PURE__*/ React.createElement(LoadingOutlined, {
445
+ style: {
446
+ color: '#1890ff',
447
+ fontSize: '16px'
448
+ },
449
+ spin: true
450
+ }), /*#__PURE__*/ React.createElement("span", {
451
+ style: {
452
+ color: '#666',
453
+ fontSize: '13px',
454
+ wordBreak: 'break-all'
455
+ }
456
+ }, rawMarkdown || (element === null || element === void 0 ? void 0 : element.alt) || '音频加载中...'));
457
+ }
458
+ if (!state().loadSuccess) {
459
+ var _state4, _state5;
460
+ return /*#__PURE__*/ React.createElement(MediaErrorLink, {
461
+ url: (_state4 = state()) === null || _state4 === void 0 ? void 0 : _state4.url,
462
+ fallbackUrl: element === null || element === void 0 ? void 0 : element.url,
463
+ displayText: element.alt || ((_state5 = state()) === null || _state5 === void 0 ? void 0 : _state5.url) || (element === null || element === void 0 ? void 0 : element.url) || '音频链接'
464
+ });
465
+ }
466
+ return /*#__PURE__*/ React.createElement("audio", {
467
+ "data-testid": "audio-element",
468
+ controls: true,
469
+ style: {
470
+ width: '100%',
471
+ height: 'auto'
472
+ },
473
+ src: ((_state3 = state()) === null || _state3 === void 0 ? void 0 : _state3.url) || '',
474
+ onError: function() {
475
+ var _state;
476
+ console.warn('Audio failed to load:', (_state = state()) === null || _state === void 0 ? void 0 : _state.url);
477
+ setState({
478
+ loadSuccess: false
479
+ });
480
+ }
481
+ }, "Your browser does not support the", /*#__PURE__*/ React.createElement("code", null, "audio"), " element.");
482
+ }
483
+ if (state().type === 'attachment') {
484
+ var _state6;
485
+ return /*#__PURE__*/ React.createElement("div", {
486
+ style: {
487
+ padding: 12,
488
+ boxSizing: 'border-box',
489
+ border: '1px solid #f0f0f0',
490
+ borderRadius: '0.5em',
491
+ width: '100%',
492
+ backgroundImage: 'linear-gradient(rgb(249, 251, 255) 0%, rgb(243, 248, 255) 100%)',
493
+ flex: 1,
494
+ display: 'flex',
495
+ alignItems: 'center',
496
+ gap: 12,
497
+ color: '#262626',
498
+ justifyContent: 'space-between'
499
+ }
500
+ }, /*#__PURE__*/ React.createElement("div", {
501
+ style: {
502
+ display: 'flex',
503
+ alignItems: 'center',
504
+ gap: 12,
505
+ color: '#262626',
506
+ fontSize: 16,
507
+ flex: 1,
508
+ minWidth: 0
509
+ }
510
+ }, /*#__PURE__*/ React.createElement("div", {
511
+ style: {
512
+ width: 40,
513
+ height: 40,
514
+ borderRadius: '0.25em',
515
+ backgroundColor: '#fff',
516
+ display: 'flex',
517
+ alignItems: 'center',
518
+ justifyContent: 'center',
519
+ fontSize: 20
520
+ }
521
+ }, "\uD83D\uDCCE"), /*#__PURE__*/ React.createElement("div", {
522
+ style: {
523
+ flex: 1,
524
+ minWidth: 0,
525
+ overflow: 'hidden',
526
+ textOverflow: 'ellipsis',
527
+ whiteSpace: 'nowrap'
528
+ }
529
+ }, element.alt || element.url || '附件')), /*#__PURE__*/ React.createElement("div", {
530
+ "data-icon-box": true,
531
+ style: {
532
+ padding: '0 18px'
533
+ }
534
+ }, /*#__PURE__*/ React.createElement("a", {
535
+ href: (_state6 = state()) === null || _state6 === void 0 ? void 0 : _state6.url,
536
+ target: "_blank",
537
+ rel: "noopener noreferrer",
538
+ style: {
539
+ fontSize: 16,
540
+ cursor: 'pointer',
541
+ color: '#1677ff'
542
+ }
543
+ }, "查看")));
544
+ }
545
+ return null;
546
+ }, [
547
+ state().type,
548
+ (_state1 = state()) === null || _state1 === void 0 ? void 0 : _state1.url,
549
+ element.finished,
550
+ showAsText,
551
+ element === null || element === void 0 ? void 0 : element.rawMarkdown,
552
+ element.url,
553
+ element.alt,
554
+ element.width,
555
+ element.height,
556
+ element.controls,
557
+ element.autoplay,
558
+ element.loop,
559
+ element.muted,
560
+ element.poster,
561
+ state().loadSuccess
562
+ ]);
563
+ return /*#__PURE__*/ React.createElement("div", attributes, /*#__PURE__*/ React.createElement("div", {
564
+ "data-be": "media",
565
+ "data-testid": "media-container",
566
+ style: {
567
+ position: 'relative',
568
+ display: 'flex',
569
+ alignItems: 'flex-end',
570
+ userSelect: 'none',
571
+ WebkitUserSelect: 'none',
572
+ MozUserSelect: 'none',
573
+ msUserSelect: 'none',
574
+ width: '100%',
575
+ maxWidth: '100%',
576
+ boxSizing: 'border-box'
577
+ },
578
+ draggable: false
579
+ }, /*#__PURE__*/ React.createElement("div", {
580
+ tabIndex: -1,
581
+ style: {
582
+ color: 'transparent',
583
+ padding: 4,
584
+ userSelect: 'none',
585
+ display: 'flex',
586
+ flexDirection: 'column',
587
+ width: mediaElement ? '100%' : undefined,
588
+ maxWidth: '100%',
589
+ boxSizing: 'border-box'
590
+ },
591
+ draggable: false,
592
+ contentEditable: false,
593
+ "data-be": "media-container"
594
+ }, mediaElement, imageDom, /*#__PURE__*/ React.createElement("div", {
595
+ style: {
596
+ display: 'none'
597
+ }
598
+ }, children))));
599
+ });
600
+ ReadonlyMedia.displayName = 'ReadonlyMedia';