@ant-design/agentic-ui 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/dist/AgentRunBar/Robot.js +105 -57
  2. package/dist/AgentRunBar/icons/PauseIcon.js +38 -38
  3. package/dist/AgentRunBar/icons/PlayIcon.js +38 -38
  4. package/dist/AgentRunBar/icons/SimplePauseIcon.js +38 -38
  5. package/dist/AgentRunBar/icons/SimplePlayIcon.js +38 -38
  6. package/dist/AgentRunBar/icons/SimpleStopIcon.js +38 -38
  7. package/dist/AgentRunBar/icons/StopIcon.js +41 -50
  8. package/dist/AgentRunBar/icons/index.js +0 -1
  9. package/dist/AgentRunBar/index.js +270 -237
  10. package/dist/AgentRunBar/style.js +273 -239
  11. package/dist/AgenticLayout/index.js +140 -85
  12. package/dist/AgenticLayout/style.js +126 -107
  13. package/dist/AnswerAlert/components/CloseIcon.js +12 -21
  14. package/dist/AnswerAlert/components/ErrorIcon.js +42 -38
  15. package/dist/AnswerAlert/components/InfoIcon.js +42 -38
  16. package/dist/AnswerAlert/components/LoaderIcon.js +12 -21
  17. package/dist/AnswerAlert/components/SuccessIcon.js +42 -38
  18. package/dist/AnswerAlert/components/WarningIcon.js +42 -38
  19. package/dist/AnswerAlert/index.js +155 -75
  20. package/dist/AnswerAlert/style.js +159 -147
  21. package/dist/BackTo/BackBottom.js +154 -70
  22. package/dist/BackTo/BackTop.js +148 -68
  23. package/dist/BackTo/ScrollVisibleButton.js +124 -98
  24. package/dist/BackTo/hooks/useScrollVisible.js +79 -33
  25. package/dist/BackTo/icons/BottomIcon.js +37 -37
  26. package/dist/BackTo/icons/TopIcon.js +37 -37
  27. package/dist/BackTo/index.js +22 -7
  28. package/dist/BackTo/style.js +93 -70
  29. package/dist/Bubble/AIBubble.js +469 -406
  30. package/dist/Bubble/Avatar/index.js +139 -85
  31. package/dist/Bubble/Avatar/isEmoji.js +2 -6
  32. package/dist/Bubble/Bubble.js +114 -38
  33. package/dist/Bubble/BubbleBeforeNode.js +104 -74
  34. package/dist/Bubble/BubbleConfigProvide.js +3 -7
  35. package/dist/Bubble/FileView.js +63 -69
  36. package/dist/Bubble/List/PureBubbleList.js +130 -131
  37. package/dist/Bubble/List/SkeletonList.js +33 -24
  38. package/dist/Bubble/List/index.js +187 -124
  39. package/dist/Bubble/List/style.js +76 -47
  40. package/dist/Bubble/MessagesContent/BubbleContext.js +6 -12
  41. package/dist/Bubble/MessagesContent/BubbleExtra.js +663 -355
  42. package/dist/Bubble/MessagesContent/CopyButton/index.js +326 -96
  43. package/dist/Bubble/MessagesContent/DocInfo.js +351 -386
  44. package/dist/Bubble/MessagesContent/EXCEPTION.js +42 -22
  45. package/dist/Bubble/MessagesContent/MarkdownPreview.js +206 -156
  46. package/dist/Bubble/MessagesContent/VoiceButton/index.js +213 -115
  47. package/dist/Bubble/MessagesContent/VoiceButton/style.js +129 -105
  48. package/dist/Bubble/MessagesContent/VoiceButton/types.js +9 -0
  49. package/dist/Bubble/MessagesContent/docInfoStyle.js +118 -88
  50. package/dist/Bubble/MessagesContent/icons.js +157 -57
  51. package/dist/Bubble/MessagesContent/index.js +609 -368
  52. package/dist/Bubble/PureBubble.js +439 -326
  53. package/dist/Bubble/Title.js +110 -87
  54. package/dist/Bubble/UserBubble.js +218 -279
  55. package/dist/Bubble/index.js +10 -16
  56. package/dist/Bubble/style.js +248 -227
  57. package/dist/Bubble/type.js +3 -0
  58. package/dist/Bubble/types/BubbleExtra.js +1 -0
  59. package/dist/Bubble/types/DocInfo.js +1 -0
  60. package/dist/ChatBootPage/ButtonTab.js +25 -45
  61. package/dist/ChatBootPage/ButtonTabGroup.js +74 -47
  62. package/dist/ChatBootPage/ButtonTabGroupStyle.js +73 -45
  63. package/dist/ChatBootPage/ButtonTabStyle.js +121 -98
  64. package/dist/ChatBootPage/CaseReply.js +119 -113
  65. package/dist/ChatBootPage/CaseReplyStyle.js +217 -189
  66. package/dist/ChatBootPage/Title.js +19 -23
  67. package/dist/ChatBootPage/index.js +9 -11
  68. package/dist/ChatBootPage/style.js +80 -50
  69. package/dist/ChatLayout/index.js +93 -57
  70. package/dist/ChatLayout/style.js +206 -176
  71. package/dist/ChatLayout/types.js +1 -0
  72. package/dist/Components/ActionIconBox/index.js +571 -197
  73. package/dist/Components/ActionIconBox/style.js +141 -111
  74. package/dist/Components/ActionItemBox/ActionItemBox.js +95 -149
  75. package/dist/Components/ActionItemBox/index.js +7 -7
  76. package/dist/Components/ActionItemBox/style.js +353 -361
  77. package/dist/Components/Button/IconButton/index.js +35 -43
  78. package/dist/Components/Button/IconButton/style.js +357 -331
  79. package/dist/Components/Button/SwitchButton/index.js +243 -87
  80. package/dist/Components/Button/SwitchButton/style.js +160 -146
  81. package/dist/Components/Button/ToggleButton/index.js +46 -57
  82. package/dist/Components/Button/ToggleButton/style.js +283 -258
  83. package/dist/Components/Button/index.js +6 -2
  84. package/dist/Components/GradientText/index.js +21 -27
  85. package/dist/Components/GradientText/style.js +88 -63
  86. package/dist/Components/ImageList.js +111 -133
  87. package/dist/Components/LayoutHeader/index.js +145 -81
  88. package/dist/Components/LayoutHeader/style.js +89 -64
  89. package/dist/Components/LayoutHeader/types.js +3 -0
  90. package/dist/Components/Loading/index.js +53 -22
  91. package/dist/Components/Robot/index.js +90 -56
  92. package/dist/Components/Robot/lotties/DazingLottie/index.js +78 -47
  93. package/dist/Components/Robot/lotties/ThinkingLottie/index.js +78 -47
  94. package/dist/Components/Robot/lotties/index.js +0 -1
  95. package/dist/Components/SuggestionList/index.js +354 -182
  96. package/dist/Components/SuggestionList/style.js +204 -186
  97. package/dist/Components/TextAnimate/index.js +494 -362
  98. package/dist/Components/TextAnimate/style.js +72 -48
  99. package/dist/Components/TypingAnimation/index.js +214 -169
  100. package/dist/Components/TypingAnimation/style.js +76 -52
  101. package/dist/Components/VisualList/index.js +267 -180
  102. package/dist/Components/VisualList/style.js +140 -124
  103. package/dist/Components/icons/LoadingSpinnerIcon.js +124 -73
  104. package/dist/Components/lotties/DazingLottie/index.js +78 -47
  105. package/dist/Components/lotties/LoadingLottie/index.js +82 -48
  106. package/dist/Components/lotties/TextLoading/index.js +73 -49
  107. package/dist/Components/lotties/TextLoading/style.js +95 -78
  108. package/dist/Components/lotties/ThinkingLottie/index.js +78 -47
  109. package/dist/Components/lotties/index.js +0 -1
  110. package/dist/Constants/colors.js +71 -97
  111. package/dist/History/components/HistoryActionsBox.js +407 -180
  112. package/dist/History/components/HistoryEmpty.js +38 -42
  113. package/dist/History/components/HistoryEmptyIcon.js +682 -964
  114. package/dist/History/components/HistoryItem.js +683 -471
  115. package/dist/History/components/HistoryList.js +170 -87
  116. package/dist/History/components/HistoryRunningIcon.js +160 -111
  117. package/dist/History/components/LoadMoreComponent.js +308 -103
  118. package/dist/History/components/NewChatComponent.js +261 -69
  119. package/dist/History/components/NewChatComponent.style.js +79 -53
  120. package/dist/History/components/SearchComponent.js +367 -156
  121. package/dist/History/components/index.js +11 -23
  122. package/dist/History/hooks/useHistory.js +404 -129
  123. package/dist/History/index.js +301 -186
  124. package/dist/History/menu.js +158 -212
  125. package/dist/History/style.js +282 -276
  126. package/dist/History/types/HistoryData.js +6 -10
  127. package/dist/History/types/HistoryList.js +3 -0
  128. package/dist/History/types/index.js +3 -0
  129. package/dist/History/utils/index.js +35 -32
  130. package/dist/Hooks/useAutoScroll.js +262 -84
  131. package/dist/Hooks/useClickAway.js +60 -21
  132. package/dist/Hooks/useCopied.js +72 -20
  133. package/dist/Hooks/useDebounceFn/index.js +213 -55
  134. package/dist/Hooks/useIntersectionOnce.js +163 -74
  135. package/dist/Hooks/useLanguage.d.ts +3 -0
  136. package/dist/Hooks/useLanguage.js +67 -26
  137. package/dist/Hooks/useRefFunction/index.js +76 -11
  138. package/dist/Hooks/useSpeechSynthesis.js +143 -99
  139. package/dist/Hooks/useStyle/index.js +95 -60
  140. package/dist/Hooks/useThrottleFn/index.js +41 -41
  141. package/dist/I18n/index.js +246 -109
  142. package/dist/I18n/locales.d.ts +3 -0
  143. package/dist/I18n/locales.js +724 -711
  144. package/dist/Icons/animated/VoicePlayLottie/index.js +75 -46
  145. package/dist/Icons/animated/VoicingLottie/index.js +78 -47
  146. package/dist/MarkdownEditor/BaseMarkdownEditor.js +421 -349
  147. package/dist/MarkdownEditor/editor/Editor.js +1160 -843
  148. package/dist/MarkdownEditor/editor/components/CommentList/index.js +407 -239
  149. package/dist/MarkdownEditor/editor/components/CommentList/style.js +119 -89
  150. package/dist/MarkdownEditor/editor/components/ContributorAvatar/index.js +61 -63
  151. package/dist/MarkdownEditor/editor/components/ContributorAvatar/style.js +82 -52
  152. package/dist/MarkdownEditor/editor/components/LazyElement/index.js +208 -106
  153. package/dist/MarkdownEditor/editor/components/LazyElement/style.js +69 -42
  154. package/dist/MarkdownEditor/editor/components/fntTag/index.js +7 -11
  155. package/dist/MarkdownEditor/editor/components/fntTag/style.js +66 -36
  156. package/dist/MarkdownEditor/editor/components/index.js +0 -1
  157. package/dist/MarkdownEditor/editor/elements/Blockquote.js +95 -37
  158. package/dist/MarkdownEditor/editor/elements/Break.js +56 -25
  159. package/dist/MarkdownEditor/editor/elements/Card/index.js +131 -52
  160. package/dist/MarkdownEditor/editor/elements/Code.js +89 -67
  161. package/dist/MarkdownEditor/editor/elements/Comment/index.js +79 -50
  162. package/dist/MarkdownEditor/editor/elements/ErrorBoundary.js +117 -21
  163. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition.js +83 -64
  164. package/dist/MarkdownEditor/editor/elements/FootnoteReference.js +115 -41
  165. package/dist/MarkdownEditor/editor/elements/Head.js +131 -67
  166. package/dist/MarkdownEditor/editor/elements/Hr.js +63 -38
  167. package/dist/MarkdownEditor/editor/elements/Image/index.js +636 -494
  168. package/dist/MarkdownEditor/editor/elements/InlineKatex.js +60 -44
  169. package/dist/MarkdownEditor/editor/elements/Katex.js +71 -55
  170. package/dist/MarkdownEditor/editor/elements/LinkCard/index.js +79 -175
  171. package/dist/MarkdownEditor/editor/elements/LinkCard/style.js +130 -100
  172. package/dist/MarkdownEditor/editor/elements/List/List.js +96 -69
  173. package/dist/MarkdownEditor/editor/elements/List/ListItem.js +422 -247
  174. package/dist/MarkdownEditor/editor/elements/List/index.js +1 -5
  175. package/dist/MarkdownEditor/editor/elements/List/style.js +131 -117
  176. package/dist/MarkdownEditor/editor/elements/Media.js +637 -519
  177. package/dist/MarkdownEditor/editor/elements/Mermaid.js +79 -54
  178. package/dist/MarkdownEditor/editor/elements/Paragraph.js +144 -83
  179. package/dist/MarkdownEditor/editor/elements/Schema.js +167 -128
  180. package/dist/MarkdownEditor/editor/elements/Table/ReadonlyTableComponent.js +211 -178
  181. package/dist/MarkdownEditor/editor/elements/Table/SimpleTable.js +73 -49
  182. package/dist/MarkdownEditor/editor/elements/Table/Table.js +285 -204
  183. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/index.js +397 -280
  184. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/style.js +126 -101
  185. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/index.js +381 -276
  186. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/style.js +120 -98
  187. package/dist/MarkdownEditor/editor/elements/Table/TableContext.js +64 -21
  188. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/index.js +52 -42
  189. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/style.js +69 -39
  190. package/dist/MarkdownEditor/editor/elements/Table/Td/index.js +126 -72
  191. package/dist/MarkdownEditor/editor/elements/Table/Td/style.js +85 -55
  192. package/dist/MarkdownEditor/editor/elements/Table/index.js +204 -105
  193. package/dist/MarkdownEditor/editor/elements/Table/style.js +244 -233
  194. package/dist/MarkdownEditor/editor/elements/Table/useScrollShadow.js +119 -62
  195. package/dist/MarkdownEditor/editor/elements/TagPopup/index.js +438 -276
  196. package/dist/MarkdownEditor/editor/elements/TagPopup/style.js +103 -77
  197. package/dist/MarkdownEditor/editor/elements/index.js +437 -424
  198. package/dist/MarkdownEditor/editor/parser/json-parse.js +38 -9
  199. package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +1753 -1168
  200. package/dist/MarkdownEditor/editor/parser/parserMdToSchema.js +16 -20
  201. package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +1021 -606
  202. package/dist/MarkdownEditor/editor/parser/remarkParse.js +158 -102
  203. package/dist/MarkdownEditor/editor/plugins/catchError.js +78 -17
  204. package/dist/MarkdownEditor/editor/plugins/elements.js +458 -342
  205. package/dist/MarkdownEditor/editor/plugins/handlePaste.js +752 -300
  206. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/arrow.js +215 -129
  207. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +325 -180
  208. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/enter.js +576 -418
  209. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +157 -47
  210. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +331 -209
  211. package/dist/MarkdownEditor/editor/plugins/index.js +0 -1
  212. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +1245 -507
  213. package/dist/MarkdownEditor/editor/plugins/parseMarkdownToNodesAndInsert.js +36 -24
  214. package/dist/MarkdownEditor/editor/plugins/useHighlight.js +267 -116
  215. package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +234 -160
  216. package/dist/MarkdownEditor/editor/plugins/useOnchange.js +253 -92
  217. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +728 -439
  218. package/dist/MarkdownEditor/editor/store.js +1819 -1389
  219. package/dist/MarkdownEditor/editor/style.js +551 -506
  220. package/dist/MarkdownEditor/editor/tagStyles.js +43 -43
  221. package/dist/MarkdownEditor/editor/tools/DragHandle.js +56 -54
  222. package/dist/MarkdownEditor/editor/tools/InsertAutocomplete.js +1049 -732
  223. package/dist/MarkdownEditor/editor/tools/InsertLink.js +232 -181
  224. package/dist/MarkdownEditor/editor/tools/Leading.js +566 -303
  225. package/dist/MarkdownEditor/editor/tools/ToolBar/BaseBar.js +415 -377
  226. package/dist/MarkdownEditor/editor/tools/ToolBar/FloatBar.js +162 -125
  227. package/dist/MarkdownEditor/editor/tools/ToolBar/ReadonlyBaseBar.js +480 -258
  228. package/dist/MarkdownEditor/editor/tools/ToolBar/ToolBar.js +44 -44
  229. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ClearFormatButton.js +20 -35
  230. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ColorPickerButton.js +69 -73
  231. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormatButton.js +13 -19
  232. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormattingTools.js +34 -41
  233. package/dist/MarkdownEditor/editor/tools/ToolBar/components/HeadingDropdown.js +53 -47
  234. package/dist/MarkdownEditor/editor/tools/ToolBar/components/LinkButton.js +11 -19
  235. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ToolBarItem.js +23 -43
  236. package/dist/MarkdownEditor/editor/tools/ToolBar/components/UndoRedoButtons.js +14 -25
  237. package/dist/MarkdownEditor/editor/tools/ToolBar/config/toolsConfig.js +139 -102
  238. package/dist/MarkdownEditor/editor/tools/ToolBar/floatBarStyle.js +95 -65
  239. package/dist/MarkdownEditor/editor/tools/ToolBar/hooks/useToolBarLogic.js +252 -161
  240. package/dist/MarkdownEditor/editor/tools/ToolBar/index.js +14 -24
  241. package/dist/MarkdownEditor/editor/tools/ToolBar/toolBarStyle.js +95 -65
  242. package/dist/MarkdownEditor/editor/tools/insertAutocompleteStyle.js +82 -52
  243. package/dist/MarkdownEditor/editor/types/Table.js +1 -0
  244. package/dist/MarkdownEditor/editor/utils/InlineChromiumBugfix.js +11 -16
  245. package/dist/MarkdownEditor/editor/utils/ace.js +136 -40
  246. package/dist/MarkdownEditor/editor/utils/docx/docxDeserializer.js +29 -32
  247. package/dist/MarkdownEditor/editor/utils/docx/index.js +0 -1
  248. package/dist/MarkdownEditor/editor/utils/docx/module.js +193 -164
  249. package/dist/MarkdownEditor/editor/utils/docx/utils.js +113 -98
  250. package/dist/MarkdownEditor/editor/utils/dom.js +119 -90
  251. package/dist/MarkdownEditor/editor/utils/editorUtils.js +1369 -906
  252. package/dist/MarkdownEditor/editor/utils/htmlToMarkdown.js +196 -184
  253. package/dist/MarkdownEditor/editor/utils/index.js +354 -215
  254. package/dist/MarkdownEditor/editor/utils/isMarkdown.js +56 -44
  255. package/dist/MarkdownEditor/editor/utils/keyboard.js +1229 -664
  256. package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +294 -76
  257. package/dist/MarkdownEditor/editor/utils/media.js +274 -99
  258. package/dist/MarkdownEditor/editor/utils/path.js +22 -16
  259. package/dist/MarkdownEditor/editor/utils/performanceMonitor.js +370 -168
  260. package/dist/MarkdownEditor/editor/utils/useLocalState.js +96 -37
  261. package/dist/MarkdownEditor/el.js +1 -0
  262. package/dist/MarkdownEditor/hooks/editor.js +123 -41
  263. package/dist/MarkdownEditor/hooks/subscribe.js +18 -15
  264. package/dist/MarkdownEditor/index.js +118 -30
  265. package/dist/MarkdownEditor/plugin.js +2 -5
  266. package/dist/MarkdownEditor/style.js +96 -66
  267. package/dist/MarkdownEditor/types.js +1 -0
  268. package/dist/MarkdownEditor/utils/exportHtml.js +42 -83
  269. package/dist/MarkdownEditor/utils/native-table/index.js +0 -1
  270. package/dist/MarkdownEditor/utils/native-table/native-table-editor.js +337 -222
  271. package/dist/MarkdownEditor/utils/native-table/native-table-keyboard.js +201 -113
  272. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.d.ts +4 -0
  273. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.js +277 -82
  274. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileIcon.js +62 -33
  275. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.js +147 -125
  276. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/index.js +174 -129
  277. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/style.js +263 -237
  278. package/dist/MarkdownInputField/AttachmentButton/index.js +480 -205
  279. package/dist/MarkdownInputField/AttachmentButton/style.js +143 -114
  280. package/dist/MarkdownInputField/AttachmentButton/types.js +3 -0
  281. package/dist/MarkdownInputField/AttachmentButton/utils.d.ts +60 -0
  282. package/dist/MarkdownInputField/AttachmentButton/utils.js +365 -33
  283. package/dist/MarkdownInputField/BeforeToolContainer/BeforeToolContainer.js +438 -404
  284. package/dist/MarkdownInputField/Enlargement/index.js +7 -17
  285. package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +193 -216
  286. package/dist/MarkdownInputField/FileMapView/index.js +387 -174
  287. package/dist/MarkdownInputField/FileMapView/style.js +281 -259
  288. package/dist/MarkdownInputField/FilePaste/index.js +239 -65
  289. package/dist/MarkdownInputField/FileUploadManager/index.js +504 -170
  290. package/dist/MarkdownInputField/MarkdownInputField.js +819 -549
  291. package/dist/MarkdownInputField/QuickActions/index.js +304 -134
  292. package/dist/MarkdownInputField/RefinePromptButton/index.js +24 -33
  293. package/dist/MarkdownInputField/RefinePromptButton/style.js +99 -73
  294. package/dist/MarkdownInputField/SendActions/index.js +179 -197
  295. package/dist/MarkdownInputField/SendButton/index.js +150 -110
  296. package/dist/MarkdownInputField/SendButton/style.js +95 -64
  297. package/dist/MarkdownInputField/SkillModeBar/hooks/index.js +3 -5
  298. package/dist/MarkdownInputField/SkillModeBar/hooks/useSkillModeState.js +51 -26
  299. package/dist/MarkdownInputField/SkillModeBar/index.js +119 -106
  300. package/dist/MarkdownInputField/SkillModeBar/style.js +124 -98
  301. package/dist/MarkdownInputField/Suggestion/index.js +391 -154
  302. package/dist/MarkdownInputField/TopOperatingArea/index.js +37 -44
  303. package/dist/MarkdownInputField/TopOperatingArea/style.js +98 -81
  304. package/dist/MarkdownInputField/VoiceInput/index.js +210 -82
  305. package/dist/MarkdownInputField/VoiceInput/style.js +85 -59
  306. package/dist/MarkdownInputField/VoiceInputManager/index.js +321 -94
  307. package/dist/MarkdownInputField/style.js +296 -233
  308. package/dist/Plugins/chart/AreaChart/index.js +541 -393
  309. package/dist/Plugins/chart/AreaChart/style.js +114 -90
  310. package/dist/Plugins/chart/BarChart/index.d.ts +4 -0
  311. package/dist/Plugins/chart/BarChart/index.js +865 -697
  312. package/dist/Plugins/chart/BarChart/style.js +114 -90
  313. package/dist/Plugins/chart/ChartAttrToolBar/ChartAttrToolBarStyle.js +82 -52
  314. package/dist/Plugins/chart/ChartAttrToolBar/index.js +94 -65
  315. package/dist/Plugins/chart/ChartMark/Area.js +176 -150
  316. package/dist/Plugins/chart/ChartMark/Bar.js +181 -152
  317. package/dist/Plugins/chart/ChartMark/Column.js +181 -151
  318. package/dist/Plugins/chart/ChartMark/Container.js +116 -75
  319. package/dist/Plugins/chart/ChartMark/Line.js +179 -151
  320. package/dist/Plugins/chart/ChartMark/Pie.js +79 -63
  321. package/dist/Plugins/chart/ChartMark/index.js +6 -13
  322. package/dist/Plugins/chart/ChartMark/useChart.js +1 -0
  323. package/dist/Plugins/chart/ChartRender.js +981 -696
  324. package/dist/Plugins/chart/ChartStatistic/index.js +47 -62
  325. package/dist/Plugins/chart/ChartStatistic/style.js +142 -143
  326. package/dist/Plugins/chart/ChartStatistic/utils.js +37 -27
  327. package/dist/Plugins/chart/DonutChart/Legend.js +94 -124
  328. package/dist/Plugins/chart/DonutChart/constants.js +4 -11
  329. package/dist/Plugins/chart/DonutChart/hooks.js +183 -112
  330. package/dist/Plugins/chart/DonutChart/index.js +588 -516
  331. package/dist/Plugins/chart/DonutChart/plugins.js +47 -44
  332. package/dist/Plugins/chart/DonutChart/style.js +186 -175
  333. package/dist/Plugins/chart/DonutChart/types.js +1 -0
  334. package/dist/Plugins/chart/FunnelChart/index.js +844 -647
  335. package/dist/Plugins/chart/FunnelChart/style.js +97 -71
  336. package/dist/Plugins/chart/LineChart/index.js +516 -393
  337. package/dist/Plugins/chart/LineChart/style.js +114 -90
  338. package/dist/Plugins/chart/RadarChart/index.js +580 -582
  339. package/dist/Plugins/chart/RadarChart/style.js +122 -112
  340. package/dist/Plugins/chart/ScatterChart/index.js +633 -640
  341. package/dist/Plugins/chart/ScatterChart/style.js +108 -94
  342. package/dist/Plugins/chart/components/ChartContainer/ChartContainer.js +151 -80
  343. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.js +160 -41
  344. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundaryExample.js +80 -62
  345. package/dist/Plugins/chart/components/ChartContainer/index.js +2 -7
  346. package/dist/Plugins/chart/components/ChartContainer/style.js +121 -91
  347. package/dist/Plugins/chart/components/ChartFilter/ChartFilter.js +58 -90
  348. package/dist/Plugins/chart/components/ChartFilter/style.js +169 -154
  349. package/dist/Plugins/chart/components/ChartToolBar/ChartToolBar.js +54 -59
  350. package/dist/Plugins/chart/components/ChartToolBar/style.js +132 -117
  351. package/dist/Plugins/chart/components/icons/TimeIcon.js +20 -26
  352. package/dist/Plugins/chart/components/index.js +32 -34
  353. package/dist/Plugins/chart/const.js +34 -25
  354. package/dist/Plugins/chart/hooks/useChartStatistic.js +1 -0
  355. package/dist/Plugins/chart/index.js +436 -339
  356. package/dist/Plugins/chart/loadChartRuntime.js +209 -110
  357. package/dist/Plugins/chart/utils.js +311 -87
  358. package/dist/Plugins/code/CodeUI/Katex/Katex.js +112 -66
  359. package/dist/Plugins/code/components/AceEditor.js +334 -237
  360. package/dist/Plugins/code/components/AceEditorContainer.js +23 -32
  361. package/dist/Plugins/code/components/CodeContainer.js +41 -56
  362. package/dist/Plugins/code/components/CodeRenderer.js +202 -155
  363. package/dist/Plugins/code/components/CodeToolbar.js +137 -181
  364. package/dist/Plugins/code/components/HtmlPreview.js +19 -22
  365. package/dist/Plugins/code/components/LanguageSelector.js +162 -96
  366. package/dist/Plugins/code/components/LoadImage.js +145 -46
  367. package/dist/Plugins/code/components/ThinkBlock.js +38 -42
  368. package/dist/Plugins/code/components/index.js +13 -23
  369. package/dist/Plugins/code/hooks/index.js +7 -9
  370. package/dist/Plugins/code/hooks/useCodeEditorState.js +139 -62
  371. package/dist/Plugins/code/hooks/useRenderConditions.js +31 -23
  372. package/dist/Plugins/code/hooks/useToolbarConfig.js +44 -46
  373. package/dist/Plugins/code/index.js +141 -89
  374. package/dist/Plugins/code/langIconMap.js +400 -108
  375. package/dist/Plugins/code/langIcons/AbapIcon.js +90 -57
  376. package/dist/Plugins/code/langIcons/ActionscriptIcon.js +89 -56
  377. package/dist/Plugins/code/langIcons/AdaIcon.js +89 -52
  378. package/dist/Plugins/code/langIcons/ApacheIcon.js +205 -254
  379. package/dist/Plugins/code/langIcons/ApexIcon.js +108 -82
  380. package/dist/Plugins/code/langIcons/AplIcon.js +90 -54
  381. package/dist/Plugins/code/langIcons/ApplescriptIcon.js +89 -56
  382. package/dist/Plugins/code/langIcons/AstroIcon.js +91 -58
  383. package/dist/Plugins/code/langIcons/AwkIcon.js +98 -68
  384. package/dist/Plugins/code/langIcons/BallerinaIcon.js +92 -59
  385. package/dist/Plugins/code/langIcons/BatIcon.js +158 -229
  386. package/dist/Plugins/code/langIcons/BicepIcon.js +91 -58
  387. package/dist/Plugins/code/langIcons/BladeIcon.js +90 -58
  388. package/dist/Plugins/code/langIcons/CIcon.js +90 -55
  389. package/dist/Plugins/code/langIcons/CadenceIcon.js +89 -56
  390. package/dist/Plugins/code/langIcons/ClojureIcon.js +96 -75
  391. package/dist/Plugins/code/langIcons/CmakeIcon.js +93 -62
  392. package/dist/Plugins/code/langIcons/CobolIcon.js +99 -70
  393. package/dist/Plugins/code/langIcons/CodeqlIcon.js +96 -76
  394. package/dist/Plugins/code/langIcons/CoffeeIcon.js +89 -56
  395. package/dist/Plugins/code/langIcons/ConsoleIcon.js +89 -56
  396. package/dist/Plugins/code/langIcons/CppIcon.js +90 -55
  397. package/dist/Plugins/code/langIcons/CrystalIcon.js +90 -57
  398. package/dist/Plugins/code/langIcons/CsharpIcon.js +90 -59
  399. package/dist/Plugins/code/langIcons/CssIcon.js +89 -52
  400. package/dist/Plugins/code/langIcons/DIcon.js +90 -53
  401. package/dist/Plugins/code/langIcons/DartIcon.js +92 -71
  402. package/dist/Plugins/code/langIcons/DatabaseIcon.js +90 -57
  403. package/dist/Plugins/code/langIcons/DiffIcon.js +90 -57
  404. package/dist/Plugins/code/langIcons/DockerIcon.js +89 -56
  405. package/dist/Plugins/code/langIcons/DotenvIcon.js +94 -56
  406. package/dist/Plugins/code/langIcons/ElixirIcon.js +91 -58
  407. package/dist/Plugins/code/langIcons/ElmIcon.js +105 -58
  408. package/dist/Plugins/code/langIcons/ErbIcon.js +90 -54
  409. package/dist/Plugins/code/langIcons/ErlangIcon.js +89 -56
  410. package/dist/Plugins/code/langIcons/FsharpIcon.js +93 -62
  411. package/dist/Plugins/code/langIcons/GdscriptIcon.js +96 -88
  412. package/dist/Plugins/code/langIcons/GlslIcon.js +90 -58
  413. package/dist/Plugins/code/langIcons/GnuplotIcon.js +98 -77
  414. package/dist/Plugins/code/langIcons/GoIcon.js +114 -93
  415. package/dist/Plugins/code/langIcons/GraphqlIcon.js +106 -66
  416. package/dist/Plugins/code/langIcons/GroovyIcon.js +89 -56
  417. package/dist/Plugins/code/langIcons/HackIcon.js +97 -64
  418. package/dist/Plugins/code/langIcons/HamlIcon.js +89 -56
  419. package/dist/Plugins/code/langIcons/HandlebarsIcon.js +89 -56
  420. package/dist/Plugins/code/langIcons/HaskellIcon.js +93 -64
  421. package/dist/Plugins/code/langIcons/HclIcon.js +118 -93
  422. package/dist/Plugins/code/langIcons/HclLightIcon.js +118 -97
  423. package/dist/Plugins/code/langIcons/HjsonIcon.js +94 -62
  424. package/dist/Plugins/code/langIcons/HlslIcon.js +96 -76
  425. package/dist/Plugins/code/langIcons/HtmlIcon.js +89 -56
  426. package/dist/Plugins/code/langIcons/HttpIcon.js +89 -56
  427. package/dist/Plugins/code/langIcons/ImbaIcon.js +98 -65
  428. package/dist/Plugins/code/langIcons/IniIcon.js +90 -54
  429. package/dist/Plugins/code/langIcons/JavaIcon.js +89 -56
  430. package/dist/Plugins/code/langIcons/JavascriptIcon.js +89 -56
  431. package/dist/Plugins/code/langIcons/JinjaIcon.js +100 -68
  432. package/dist/Plugins/code/langIcons/Json5Icon.js +100 -82
  433. package/dist/Plugins/code/langIcons/JsonIcon.js +89 -56
  434. package/dist/Plugins/code/langIcons/JsonnetIcon.js +102 -86
  435. package/dist/Plugins/code/langIcons/JuliaIcon.js +105 -52
  436. package/dist/Plugins/code/langIcons/KotlinIcon.js +104 -74
  437. package/dist/Plugins/code/langIcons/KustoIcon.js +90 -57
  438. package/dist/Plugins/code/langIcons/LessIcon.js +90 -57
  439. package/dist/Plugins/code/langIcons/LiquidIcon.js +91 -58
  440. package/dist/Plugins/code/langIcons/LispIcon.js +89 -56
  441. package/dist/Plugins/code/langIcons/LuaIcon.js +93 -60
  442. package/dist/Plugins/code/langIcons/MakefileIcon.js +91 -58
  443. package/dist/Plugins/code/langIcons/MarkdownIcon.js +89 -56
  444. package/dist/Plugins/code/langIcons/MarkojsIcon.js +96 -73
  445. package/dist/Plugins/code/langIcons/MatlabIcon.js +93 -64
  446. package/dist/Plugins/code/langIcons/MdxIcon.js +90 -53
  447. package/dist/Plugins/code/langIcons/MermaidIcon.js +95 -64
  448. package/dist/Plugins/code/langIcons/MojoIcon.js +95 -62
  449. package/dist/Plugins/code/langIcons/NginxIcon.js +94 -61
  450. package/dist/Plugins/code/langIcons/NimIcon.js +91 -54
  451. package/dist/Plugins/code/langIcons/NixIcon.js +92 -56
  452. package/dist/Plugins/code/langIcons/ObjectiveCIcon.js +90 -59
  453. package/dist/Plugins/code/langIcons/ObjectiveCppIcon.js +90 -57
  454. package/dist/Plugins/code/langIcons/OcamlIcon.js +90 -61
  455. package/dist/Plugins/code/langIcons/PascalIcon.js +95 -55
  456. package/dist/Plugins/code/langIcons/Perl6Icon.js +299 -320
  457. package/dist/Plugins/code/langIcons/PerlIcon.js +89 -56
  458. package/dist/Plugins/code/langIcons/PhpIcon.js +89 -52
  459. package/dist/Plugins/code/langIcons/PostcssIcon.js +130 -113
  460. package/dist/Plugins/code/langIcons/PowershellIcon.js +91 -58
  461. package/dist/Plugins/code/langIcons/PrismaIcon.js +97 -68
  462. package/dist/Plugins/code/langIcons/PrologIcon.js +91 -58
  463. package/dist/Plugins/code/langIcons/ProtoIcon.js +94 -68
  464. package/dist/Plugins/code/langIcons/PugIcon.js +177 -145
  465. package/dist/Plugins/code/langIcons/PuppetIcon.js +96 -52
  466. package/dist/Plugins/code/langIcons/PurescriptIcon.js +93 -61
  467. package/dist/Plugins/code/langIcons/PythonIcon.js +90 -61
  468. package/dist/Plugins/code/langIcons/RIcon.js +89 -52
  469. package/dist/Plugins/code/langIcons/RazorIcon.js +90 -57
  470. package/dist/Plugins/code/langIcons/ReactIcon.js +89 -56
  471. package/dist/Plugins/code/langIcons/ReactTsIcon.js +90 -57
  472. package/dist/Plugins/code/langIcons/RubyIcon.js +91 -58
  473. package/dist/Plugins/code/langIcons/RustIcon.js +89 -56
  474. package/dist/Plugins/code/langIcons/SasIcon.js +89 -52
  475. package/dist/Plugins/code/langIcons/SassIcon.js +90 -57
  476. package/dist/Plugins/code/langIcons/ScalaIcon.js +96 -53
  477. package/dist/Plugins/code/langIcons/SchemeIcon.js +91 -58
  478. package/dist/Plugins/code/langIcons/ShaderlabIcon.js +89 -56
  479. package/dist/Plugins/code/langIcons/SolidityIcon.js +94 -52
  480. package/dist/Plugins/code/langIcons/SparqlIcon.js +94 -64
  481. package/dist/Plugins/code/langIcons/StataIcon.js +126 -108
  482. package/dist/Plugins/code/langIcons/StylusIcon.js +92 -59
  483. package/dist/Plugins/code/langIcons/SvelteIcon.js +91 -58
  484. package/dist/Plugins/code/langIcons/SwiftIcon.js +90 -57
  485. package/dist/Plugins/code/langIcons/SystemverilogIcon.js +115 -102
  486. package/dist/Plugins/code/langIcons/TclIcon.js +89 -52
  487. package/dist/Plugins/code/langIcons/TexIcon.js +99 -65
  488. package/dist/Plugins/code/langIcons/TomlIcon.js +94 -70
  489. package/dist/Plugins/code/langIcons/TwigIcon.js +89 -56
  490. package/dist/Plugins/code/langIcons/TypescriptIcon.js +93 -60
  491. package/dist/Plugins/code/langIcons/VerilogIcon.js +89 -56
  492. package/dist/Plugins/code/langIcons/VhdlIcon.js +94 -64
  493. package/dist/Plugins/code/langIcons/VimIcon.js +278 -420
  494. package/dist/Plugins/code/langIcons/VueIcon.js +92 -59
  495. package/dist/Plugins/code/langIcons/WebassemblyIcon.js +103 -76
  496. package/dist/Plugins/code/langIcons/WenyanIcon.js +104 -100
  497. package/dist/Plugins/code/langIcons/WgslIcon.js +93 -77
  498. package/dist/Plugins/code/langIcons/WolframlanguageIcon.js +100 -71
  499. package/dist/Plugins/code/langIcons/XmlIcon.js +89 -52
  500. package/dist/Plugins/code/langIcons/XslIcon.js +94 -66
  501. package/dist/Plugins/code/langIcons/YamlIcon.js +89 -56
  502. package/dist/Plugins/code/langIcons/ZigIcon.js +106 -81
  503. package/dist/Plugins/code/langIcons/index.js +128 -259
  504. package/dist/Plugins/code/utils/index.js +5 -5
  505. package/dist/Plugins/code/utils/langOptions.js +86 -11
  506. package/dist/Plugins/defaultPlugins.js +9 -13
  507. package/dist/Plugins/formatter/index.js +205 -105
  508. package/dist/Plugins/index.js +6 -2
  509. package/dist/Plugins/katex/InlineKatex.js +196 -107
  510. package/dist/Plugins/katex/Katex.js +139 -65
  511. package/dist/Plugins/katex/index.js +163 -103
  512. package/dist/Plugins/mermaid/Mermaid.js +472 -197
  513. package/dist/Plugins/mermaid/index.js +237 -142
  514. package/dist/Quote/index.js +112 -73
  515. package/dist/Quote/style.js +176 -160
  516. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +163 -119
  517. package/dist/Schema/SchemaEditor/index.js +385 -275
  518. package/dist/Schema/SchemaEditor/style.js +261 -269
  519. package/dist/Schema/SchemaForm/index.js +443 -268
  520. package/dist/Schema/SchemaForm/types.js +1 -0
  521. package/dist/Schema/SchemaRenderer/index.js +973 -588
  522. package/dist/Schema/SchemaRenderer/templateEngine.js +106 -26
  523. package/dist/Schema/index.js +7 -11
  524. package/dist/Schema/types.js +1 -0
  525. package/dist/Schema/validator.js +74 -36
  526. package/dist/TaskList/index.js +197 -142
  527. package/dist/TaskList/style.js +143 -122
  528. package/dist/ThoughtChainList/CostMillis.js +88 -54
  529. package/dist/ThoughtChainList/DeepThink.js +187 -152
  530. package/dist/ThoughtChainList/DotAni/index.js +29 -14
  531. package/dist/ThoughtChainList/DotAni/style.js +82 -50
  532. package/dist/ThoughtChainList/FlipText/index.js +74 -30
  533. package/dist/ThoughtChainList/MarkdownEditor.js +126 -72
  534. package/dist/ThoughtChainList/RagRetrievalInfo.js +113 -145
  535. package/dist/ThoughtChainList/TableSql.js +413 -459
  536. package/dist/ThoughtChainList/ThoughtChainListItem.js +388 -222
  537. package/dist/ThoughtChainList/TitleInfo.js +189 -185
  538. package/dist/ThoughtChainList/ToolCall.js +429 -463
  539. package/dist/ThoughtChainList/WebSearch.js +192 -162
  540. package/dist/ThoughtChainList/index.js +449 -410
  541. package/dist/ThoughtChainList/style.js +253 -232
  542. package/dist/ThoughtChainList/types.js +1 -0
  543. package/dist/ToolUseBar/ToolUseBarItem.js +183 -139
  544. package/dist/ToolUseBar/ToolUseBarItemComponents.js +345 -276
  545. package/dist/ToolUseBar/ToolUseBarThink.js +335 -396
  546. package/dist/ToolUseBar/index.js +226 -113
  547. package/dist/ToolUseBar/style.js +334 -308
  548. package/dist/ToolUseBar/thinkStyle.js +350 -328
  549. package/dist/Types/common.js +1 -0
  550. package/dist/Types/index.js +4 -2
  551. package/dist/Types/message.js +1 -0
  552. package/dist/Utils/easings.js +9 -12
  553. package/dist/Utils/formatTime.js +41 -17
  554. package/dist/Utils/getScroll.js +41 -41
  555. package/dist/Utils/language.js +355 -150
  556. package/dist/Utils/proxySandbox/ProxySandbox.js +1637 -1076
  557. package/dist/Utils/proxySandbox/SecurityContextManager.js +607 -343
  558. package/dist/Utils/proxySandbox/index.js +554 -267
  559. package/dist/Utils/proxySandbox/types.js +187 -52
  560. package/dist/Utils/scrollTo.js +48 -56
  561. package/dist/Utils/throttleByAnimationFrame.js +46 -20
  562. package/dist/WelcomeMessage/index.js +106 -58
  563. package/dist/WelcomeMessage/style.js +80 -55
  564. package/dist/Workspace/Browser/index.js +102 -40
  565. package/dist/Workspace/Browser/style.js +62 -33
  566. package/dist/Workspace/File/DataSourceStrategy.js +419 -217
  567. package/dist/Workspace/File/FileComponent.js +1004 -791
  568. package/dist/Workspace/File/FileTypeProcessor.js +337 -184
  569. package/dist/Workspace/File/PreviewComponent.js +472 -532
  570. package/dist/Workspace/File/index.js +3 -10
  571. package/dist/Workspace/File/style.js +397 -424
  572. package/dist/Workspace/File/utils.js +160 -106
  573. package/dist/Workspace/HtmlPreview/index.js +238 -137
  574. package/dist/Workspace/HtmlPreview/style.js +99 -77
  575. package/dist/Workspace/RealtimeFollow/index.js +411 -413
  576. package/dist/Workspace/RealtimeFollow/style.js +299 -303
  577. package/dist/Workspace/Task/index.js +53 -35
  578. package/dist/Workspace/Task/style.js +99 -73
  579. package/dist/Workspace/index.js +332 -254
  580. package/dist/Workspace/style.js +165 -146
  581. package/dist/Workspace/types.js +471 -252
  582. package/dist/Workspace/utils/codeLanguageUtils.js +148 -129
  583. package/dist/Workspace/utils.js +28 -20
  584. package/dist/index.js +27 -17
  585. package/package.json +3 -2
@@ -1,565 +1,505 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _define_property(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
14
19
  }
15
- return a;
16
- };
17
-
18
- // src/Workspace/File/PreviewComponent.tsx
20
+ return obj;
21
+ }
22
+ function _iterable_to_array_limit(arr, i) {
23
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
24
+ if (_i == null) return;
25
+ var _arr = [];
26
+ var _n = true;
27
+ var _d = false;
28
+ var _s, _e;
29
+ try {
30
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
31
+ _arr.push(_s.value);
32
+ if (i && _arr.length === i) break;
33
+ }
34
+ } catch (err) {
35
+ _d = true;
36
+ _e = err;
37
+ } finally{
38
+ try {
39
+ if (!_n && _i["return"] != null) _i["return"]();
40
+ } finally{
41
+ if (_d) throw _e;
42
+ }
43
+ }
44
+ return _arr;
45
+ }
46
+ function _non_iterable_rest() {
47
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
48
+ }
49
+ function _object_spread(target) {
50
+ for(var i = 1; i < arguments.length; i++){
51
+ var source = arguments[i] != null ? arguments[i] : {};
52
+ var ownKeys = Object.keys(source);
53
+ if (typeof Object.getOwnPropertySymbols === "function") {
54
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
55
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
56
+ }));
57
+ }
58
+ ownKeys.forEach(function(key) {
59
+ _define_property(target, key, source[key]);
60
+ });
61
+ }
62
+ return target;
63
+ }
64
+ function _sliced_to_array(arr, i) {
65
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
66
+ }
67
+ function _unsupported_iterable_to_array(o, minLen) {
68
+ if (!o) return;
69
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
70
+ var n = Object.prototype.toString.call(o).slice(8, -1);
71
+ if (n === "Object" && o.constructor) n = o.constructor.name;
72
+ if (n === "Map" || n === "Set") return Array.from(n);
73
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
74
+ }
19
75
  import { LoadingOutlined } from "@ant-design/icons";
20
- import {
21
- Download as DownloadIcon,
22
- ArrowLeft as LeftIcon,
23
- Locate,
24
- SquareArrowOutUpRight as ShareIcon
25
- } from "@sofa-design/icons";
26
- import {
27
- Alert,
28
- Button,
29
- ConfigProvider,
30
- Image,
31
- Segmented,
32
- Spin,
33
- Typography
34
- } from "antd";
76
+ import { Download as DownloadIcon, ArrowLeft as LeftIcon, Locate, SquareArrowOutUpRight as ShareIcon } from "@sofa-design/icons";
77
+ import { Alert, Button, ConfigProvider, Image, Segmented, Spin, Typography } from "antd";
35
78
  import classNames from "classnames";
36
79
  import React, { useContext, useEffect, useRef, useState } from "react";
37
80
  import { ActionIconBox } from "../../Components/ActionIconBox";
38
81
  import { I18nContext } from "../../I18n";
39
- import {
40
- MarkdownEditor
41
- } from "../../MarkdownEditor";
82
+ import { MarkdownEditor } from "../../MarkdownEditor";
42
83
  import { HtmlPreview } from "../HtmlPreview";
43
84
  import { formatFileSize, formatLastModified } from "../utils";
44
- import {
45
- getLanguageFromFilename,
46
- wrapContentInCodeBlock
47
- } from "../utils/codeLanguageUtils";
85
+ import { getLanguageFromFilename, wrapContentInCodeBlock } from "../utils/codeLanguageUtils";
48
86
  import { fileTypeProcessor } from "./FileTypeProcessor";
49
87
  import { useFileStyle } from "./style";
50
88
  import { getFileTypeIcon } from "./utils";
51
- var HTML_MIME_TYPE = "text/html";
52
- var HTML_EXTENSIONS = [".html", ".htm"];
53
- var EDITOR_PADDING = "0 12px";
54
- var isHtmlFile = (fileName, mimeType) => {
55
- const name = (fileName == null ? void 0 : fileName.toLowerCase()) || "";
56
- const byExtension = HTML_EXTENSIONS.some((ext) => name.endsWith(ext));
57
- const byMimeType = mimeType === HTML_MIME_TYPE;
58
- return byExtension || byMimeType;
89
+ var HTML_MIME_TYPE = 'text/html';
90
+ var HTML_EXTENSIONS = [
91
+ '.html',
92
+ '.htm'
93
+ ];
94
+ var EDITOR_PADDING = '0 12px';
95
+ var isHtmlFile = function(fileName, mimeType) {
96
+ var name = (fileName === null || fileName === void 0 ? void 0 : fileName.toLowerCase()) || '';
97
+ var byExtension = HTML_EXTENSIONS.some(function(ext) {
98
+ return name.endsWith(ext);
99
+ });
100
+ var byMimeType = mimeType === HTML_MIME_TYPE;
101
+ return byExtension || byMimeType;
59
102
  };
60
- var getContentStatus = (state) => {
61
- if ("error" in state)
62
- return "error";
63
- return state.status === "loading" ? "loading" : "done";
103
+ var getContentStatus = function(state) {
104
+ if ('error' in state) return 'error';
105
+ return state.status === 'loading' ? 'loading' : 'done';
64
106
  };
65
- var buildMarkdownContent = (raw, category, fileName) => {
66
- if (category === "code") {
67
- const language = getLanguageFromFilename(fileName);
68
- return wrapContentInCodeBlock(raw, language);
69
- }
70
- return raw;
107
+ var buildMarkdownContent = function(raw, category, fileName) {
108
+ if (category === 'code') {
109
+ var language = getLanguageFromFilename(fileName);
110
+ return wrapContentInCodeBlock(raw, language);
111
+ }
112
+ return raw;
71
113
  };
72
- var PlaceholderContent = ({
73
- children,
74
- showFileInfo,
75
- file,
76
- onDownload,
77
- locale,
78
- prefixCls,
79
- hashId
80
- }) => {
81
- const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
82
- const finalPrefixCls = prefixCls || getPrefixCls("workspace-preview");
83
- return /* @__PURE__ */ React.createElement("div", { className: classNames(`${finalPrefixCls}-placeholder`, hashId) }, /* @__PURE__ */ React.createElement(
84
- "div",
85
- {
86
- className: classNames(`${finalPrefixCls}-placeholder-content`, hashId)
87
- },
88
- children,
89
- showFileInfo && file && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", null, (locale == null ? void 0 : locale["workspace.file.fileName"]) || "文件名:", file.name), file.size && /* @__PURE__ */ React.createElement("p", null, (locale == null ? void 0 : locale["workspace.file.fileSize"]) || "文件大小:", file.size), onDownload && /* @__PURE__ */ React.createElement(
90
- "button",
91
- {
114
+ // 占位符组件
115
+ var PlaceholderContent = function(param) {
116
+ var children = param.children, showFileInfo = param.showFileInfo, file = param.file, onDownload = param.onDownload, locale = param.locale, prefixCls = param.prefixCls, hashId = param.hashId;
117
+ var getPrefixCls = useContext(ConfigProvider.ConfigContext).getPrefixCls;
118
+ var finalPrefixCls = prefixCls || getPrefixCls('workspace-preview');
119
+ return /*#__PURE__*/ React.createElement("div", {
120
+ className: classNames("".concat(finalPrefixCls, "-placeholder"), hashId)
121
+ }, /*#__PURE__*/ React.createElement("div", {
122
+ className: classNames("".concat(finalPrefixCls, "-placeholder-content"), hashId)
123
+ }, children, showFileInfo && file && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("p", null, (locale === null || locale === void 0 ? void 0 : locale['workspace.file.fileName']) || '文件名:', file.name), file.size && /*#__PURE__*/ React.createElement("p", null, (locale === null || locale === void 0 ? void 0 : locale['workspace.file.fileSize']) || '文件大小:', file.size), onDownload && /*#__PURE__*/ React.createElement("button", {
92
124
  type: "button",
93
- className: classNames(
94
- `${finalPrefixCls}-download-button`,
95
- hashId
96
- ),
125
+ className: classNames("".concat(finalPrefixCls, "-download-button"), hashId),
97
126
  onClick: onDownload,
98
- "aria-label": (locale == null ? void 0 : locale["workspace.file.download"]) || "下载文件"
99
- },
100
- (locale == null ? void 0 : locale["workspace.file.clickToDownload"]) || "点击下载"
101
- ))
102
- ));
127
+ "aria-label": (locale === null || locale === void 0 ? void 0 : locale['workspace.file.download']) || '下载文件'
128
+ }, (locale === null || locale === void 0 ? void 0 : locale['workspace.file.clickToDownload']) || '点击下载'))));
103
129
  };
104
- var PreviewComponent = ({
105
- file,
106
- customContent,
107
- customHeader,
108
- customActions,
109
- onBack,
110
- onDownload,
111
- onShare,
112
- onLocate,
113
- markdownEditorProps,
114
- headerFileOverride
115
- }) => {
116
- var _a, _b;
117
- const { locale } = useContext(I18nContext);
118
- const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
119
- const filePrefixCls = getPrefixCls("workspace-file");
120
- const { wrapSSR, hashId } = useFileStyle(filePrefixCls);
121
- const prefixCls = `${filePrefixCls}-preview`;
122
- const editorRef = useRef();
123
- const [processResult, setProcessResult] = useState(
124
- null
125
- );
126
- const [contentState, setContentState] = useState({
127
- status: "idle",
128
- mdContent: "",
129
- rawContent: ""
130
- });
131
- const [htmlViewMode, setHtmlViewMode] = useState(
132
- "preview"
133
- );
134
- const handleDownload = () => {
135
- onDownload == null ? void 0 : onDownload(file);
136
- };
137
- const handleShare = (e) => {
138
- onShare == null ? void 0 : onShare(file, {
139
- anchorEl: e.currentTarget,
140
- origin: "preview"
141
- });
142
- };
143
- const handleLocate = () => {
144
- onLocate == null ? void 0 : onLocate(file);
145
- };
146
- useEffect(() => {
147
- if (customContent)
148
- return;
149
- try {
150
- const result = fileTypeProcessor.processFile(file);
151
- setProcessResult(result);
152
- } catch (err) {
153
- setContentState({
154
- status: "error",
155
- error: err instanceof Error ? err.message : "文件处理失败"
156
- });
157
- }
158
- }, [file, customContent]);
159
- useEffect(() => {
160
- if (customContent || !processResult)
161
- return;
162
- const { typeInference, dataSource } = processResult;
163
- const isTextOrCode = typeInference.category === "text" || typeInference.category === "code";
164
- if (!isTextOrCode)
165
- return;
166
- const setReadyContent = (raw) => {
167
- setContentState({
168
- status: "ready",
169
- mdContent: buildMarkdownContent(raw, typeInference.category, file.name),
170
- rawContent: raw
171
- });
130
+ /**
131
+ * 文件预览组件
132
+ */ export var PreviewComponent = function(param) {
133
+ var file = param.file, customContent = param.customContent, customHeader = param.customHeader, customActions = param.customActions, onBack = param.onBack, onDownload = param.onDownload, onShare = param.onShare, onLocate = param.onLocate, markdownEditorProps = param.markdownEditorProps, headerFileOverride = param.headerFileOverride;
134
+ var locale = useContext(I18nContext).locale;
135
+ var getPrefixCls = useContext(ConfigProvider.ConfigContext).getPrefixCls;
136
+ var filePrefixCls = getPrefixCls('workspace-file');
137
+ var _useFileStyle = useFileStyle(filePrefixCls), wrapSSR = _useFileStyle.wrapSSR, hashId = _useFileStyle.hashId;
138
+ var prefixCls = "".concat(filePrefixCls, "-preview");
139
+ var editorRef = useRef();
140
+ var _useState = _sliced_to_array(useState(null), 2), processResult = _useState[0], setProcessResult = _useState[1];
141
+ var _useState1 = _sliced_to_array(useState({
142
+ status: 'idle',
143
+ mdContent: '',
144
+ rawContent: ''
145
+ }), 2), contentState = _useState1[0], setContentState = _useState1[1];
146
+ var _useState2 = _sliced_to_array(useState('preview'), 2), htmlViewMode = _useState2[0], setHtmlViewMode = _useState2[1];
147
+ var handleDownload = function() {
148
+ onDownload === null || onDownload === void 0 ? void 0 : onDownload(file);
172
149
  };
173
- if (dataSource.content) {
174
- setReadyContent(dataSource.content);
175
- return;
176
- }
177
- if (dataSource.previewUrl) {
178
- setContentState({ status: "loading", mdContent: "", rawContent: "" });
179
- fetch(dataSource.previewUrl).then((response) => {
180
- if (!response.ok) {
181
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
182
- }
183
- return response.text();
184
- }).then(setReadyContent).catch((err) => {
185
- const errorMessage = err instanceof Error ? err.message : "加载文本内容失败";
186
- setContentState({ status: "error", error: errorMessage });
187
- console.error("加载文本内容失败:", err);
188
- });
189
- }
190
- }, [processResult, file.name, customContent]);
191
- useEffect(() => {
192
- var _a2;
193
- if (customContent)
194
- return;
195
- if (((_a2 = editorRef.current) == null ? void 0 : _a2.store) && contentState.status === "ready" && contentState.mdContent) {
196
- editorRef.current.store.setMDContent(contentState.mdContent);
197
- }
198
- }, [contentState, customContent]);
199
- useEffect(() => {
200
- return () => {
201
- if (processResult) {
202
- fileTypeProcessor.cleanupResult(processResult);
203
- }
150
+ var handleShare = function(e) {
151
+ onShare === null || onShare === void 0 ? void 0 : onShare(file, {
152
+ anchorEl: e.currentTarget,
153
+ origin: 'preview'
154
+ });
204
155
  };
205
- }, [processResult]);
206
- useEffect(() => {
207
- setHtmlViewMode("preview");
208
- }, [file.name]);
209
- const isCurrentFileHtml = isHtmlFile(
210
- file.name,
211
- processResult == null ? void 0 : processResult.dataSource.mimeType
212
- );
213
- const renderPreviewContent = () => {
214
- var _a2;
215
- if (file.loading) {
216
- return /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-content-loading`, hashId) }, /* @__PURE__ */ React.createElement(
217
- "span",
218
- {
219
- className: classNames(`${prefixCls}-content-loading-tip`, hashId)
220
- },
221
- /* @__PURE__ */ React.createElement(LoadingOutlined, null),
222
- "正在生成"
223
- ), /* @__PURE__ */ React.createElement(
224
- "div",
225
- {
226
- className: classNames(`${prefixCls}-content-loading-inner`, hashId)
227
- },
228
- ((_a2 = file == null ? void 0 : file.content) == null ? void 0 : _a2.padEnd(1e4, file == null ? void 0 : file.content)) || "...".padEnd(1e4, "...")
229
- ));
230
- }
231
- if (customContent) {
232
- return /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-custom-content`, hashId) }, customContent);
233
- }
234
- if (!processResult) {
235
- return /* @__PURE__ */ React.createElement(PlaceholderContent, { prefixCls, hashId }, /* @__PURE__ */ React.createElement(Spin, { size: "large", tip: "正在处理文件..." }));
236
- }
237
- if (contentState.status === "error") {
238
- return /* @__PURE__ */ React.createElement(PlaceholderContent, { prefixCls, hashId }, /* @__PURE__ */ React.createElement(
239
- Alert,
240
- {
241
- message: "文件处理失败",
242
- description: contentState.error,
243
- type: "error",
244
- showIcon: true
156
+ var handleLocate = function() {
157
+ onLocate === null || onLocate === void 0 ? void 0 : onLocate(file);
158
+ };
159
+ useEffect(function() {
160
+ if (customContent) return;
161
+ try {
162
+ var result = fileTypeProcessor.processFile(file);
163
+ setProcessResult(result);
164
+ } catch (err) {
165
+ setContentState({
166
+ status: 'error',
167
+ error: err instanceof Error ? err.message : '文件处理失败'
168
+ });
245
169
  }
246
- ));
247
- }
248
- const { typeInference, dataSource, canPreview, previewMode } = processResult;
249
- if (!canPreview || previewMode === "none") {
250
- return /* @__PURE__ */ React.createElement(PlaceholderContent, { prefixCls, hashId }, /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-unsupported`, hashId) }, /* @__PURE__ */ React.createElement(
251
- "div",
252
- {
253
- className: classNames(
254
- `${filePrefixCls}-item`,
255
- `${prefixCls}-unsupported-item`,
256
- hashId
257
- )
258
- },
259
- /* @__PURE__ */ React.createElement("div", { className: classNames(`${filePrefixCls}-item-icon`, hashId) }, getFileTypeIcon(
260
- fileTypeProcessor.inferFileType(file).fileType,
261
- file.icon,
262
- file.name
263
- )),
264
- /* @__PURE__ */ React.createElement(
265
- "div",
266
- {
267
- className: classNames(`${filePrefixCls}-item-info`, hashId),
268
- style: { textAlign: "left" }
269
- },
270
- /* @__PURE__ */ React.createElement(
271
- "div",
272
- {
273
- className: classNames(`${filePrefixCls}-item-name`, hashId)
274
- },
275
- /* @__PURE__ */ React.createElement(
276
- Typography.Text,
277
- {
278
- ellipsis: { tooltip: file.name },
170
+ }, [
171
+ file,
172
+ customContent
173
+ ]);
174
+ useEffect(function() {
175
+ if (customContent || !processResult) return;
176
+ var typeInference = processResult.typeInference, dataSource = processResult.dataSource;
177
+ var isTextOrCode = typeInference.category === 'text' || typeInference.category === 'code';
178
+ if (!isTextOrCode) return;
179
+ var setReadyContent = function(raw) {
180
+ setContentState({
181
+ status: 'ready',
182
+ mdContent: buildMarkdownContent(raw, typeInference.category, file.name),
183
+ rawContent: raw
184
+ });
185
+ };
186
+ if (dataSource.content) {
187
+ setReadyContent(dataSource.content);
188
+ return;
189
+ }
190
+ if (dataSource.previewUrl) {
191
+ setContentState({
192
+ status: 'loading',
193
+ mdContent: '',
194
+ rawContent: ''
195
+ });
196
+ fetch(dataSource.previewUrl).then(function(response) {
197
+ if (!response.ok) {
198
+ throw new Error("HTTP ".concat(response.status, ": ").concat(response.statusText));
199
+ }
200
+ return response.text();
201
+ }).then(setReadyContent).catch(function(err) {
202
+ var errorMessage = err instanceof Error ? err.message : '加载文本内容失败';
203
+ setContentState({
204
+ status: 'error',
205
+ error: errorMessage
206
+ });
207
+ console.error('加载文本内容失败:', err);
208
+ });
209
+ }
210
+ }, [
211
+ processResult,
212
+ file.name,
213
+ customContent
214
+ ]);
215
+ useEffect(function() {
216
+ var _editorRef_current;
217
+ if (customContent) return;
218
+ if (((_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.store) && contentState.status === 'ready' && contentState.mdContent) {
219
+ editorRef.current.store.setMDContent(contentState.mdContent);
220
+ }
221
+ }, [
222
+ contentState,
223
+ customContent
224
+ ]);
225
+ useEffect(function() {
226
+ return function() {
227
+ if (processResult) {
228
+ fileTypeProcessor.cleanupResult(processResult);
229
+ }
230
+ };
231
+ }, [
232
+ processResult
233
+ ]);
234
+ useEffect(function() {
235
+ setHtmlViewMode('preview');
236
+ }, [
237
+ file.name
238
+ ]);
239
+ var isCurrentFileHtml = isHtmlFile(file.name, processResult === null || processResult === void 0 ? void 0 : processResult.dataSource.mimeType);
240
+ var renderPreviewContent = function() {
241
+ if (file.loading) {
242
+ var _file_content;
243
+ return /*#__PURE__*/ React.createElement("div", {
244
+ className: classNames("".concat(prefixCls, "-content-loading"), hashId)
245
+ }, /*#__PURE__*/ React.createElement("span", {
246
+ className: classNames("".concat(prefixCls, "-content-loading-tip"), hashId)
247
+ }, /*#__PURE__*/ React.createElement(LoadingOutlined, null), "正在生成"), /*#__PURE__*/ React.createElement("div", {
248
+ className: classNames("".concat(prefixCls, "-content-loading-inner"), hashId)
249
+ }, (file === null || file === void 0 ? void 0 : (_file_content = file.content) === null || _file_content === void 0 ? void 0 : _file_content.padEnd(10000, file === null || file === void 0 ? void 0 : file.content)) || '...'.padEnd(10000, '...')));
250
+ }
251
+ if (customContent) {
252
+ return /*#__PURE__*/ React.createElement("div", {
253
+ className: classNames("".concat(prefixCls, "-custom-content"), hashId)
254
+ }, customContent);
255
+ }
256
+ if (!processResult) {
257
+ return /*#__PURE__*/ React.createElement(PlaceholderContent, {
258
+ prefixCls: prefixCls,
259
+ hashId: hashId
260
+ }, /*#__PURE__*/ React.createElement(Spin, {
261
+ size: "large",
262
+ tip: "正在处理文件..."
263
+ }));
264
+ }
265
+ if (contentState.status === 'error') {
266
+ return /*#__PURE__*/ React.createElement(PlaceholderContent, {
267
+ prefixCls: prefixCls,
268
+ hashId: hashId
269
+ }, /*#__PURE__*/ React.createElement(Alert, {
270
+ message: "文件处理失败",
271
+ description: contentState.error,
272
+ type: "error",
273
+ showIcon: true
274
+ }));
275
+ }
276
+ var typeInference = processResult.typeInference, dataSource = processResult.dataSource, canPreview = processResult.canPreview, previewMode = processResult.previewMode;
277
+ if (!canPreview || previewMode === 'none') {
278
+ return /*#__PURE__*/ React.createElement(PlaceholderContent, {
279
+ prefixCls: prefixCls,
280
+ hashId: hashId
281
+ }, /*#__PURE__*/ React.createElement("div", {
282
+ className: classNames("".concat(prefixCls, "-unsupported"), hashId)
283
+ }, /*#__PURE__*/ React.createElement("div", {
284
+ className: classNames("".concat(filePrefixCls, "-item"), "".concat(prefixCls, "-unsupported-item"), hashId)
285
+ }, /*#__PURE__*/ React.createElement("div", {
286
+ className: classNames("".concat(filePrefixCls, "-item-icon"), hashId)
287
+ }, getFileTypeIcon(fileTypeProcessor.inferFileType(file).fileType, file.icon, file.name)), /*#__PURE__*/ React.createElement("div", {
288
+ className: classNames("".concat(filePrefixCls, "-item-info"), hashId),
279
289
  style: {
280
- font: "var(--font-text-h6-base)",
281
- color: "var(--color-gray-text-default)"
290
+ textAlign: 'left'
282
291
  }
283
- },
284
- file.name
285
- )
286
- ),
287
- /* @__PURE__ */ React.createElement(
288
- "div",
289
- {
290
- className: classNames(
291
- `${filePrefixCls}-item-details`,
292
- hashId
293
- )
294
- },
295
- /* @__PURE__ */ React.createElement(Typography.Text, { type: "secondary", ellipsis: true }, /* @__PURE__ */ React.createElement(
296
- "span",
297
- {
298
- className: classNames(
299
- `${filePrefixCls}-item-type`,
300
- hashId
301
- )
302
- },
303
- fileTypeProcessor.inferFileType(file).displayType || fileTypeProcessor.inferFileType(file).fileType
304
- ), file.size && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
305
- "span",
306
- {
307
- className: classNames(
308
- `${filePrefixCls}-item-separator`,
309
- hashId
310
- )
311
- },
312
- "|"
313
- ), /* @__PURE__ */ React.createElement(
314
- "span",
315
- {
316
- className: classNames(
317
- `${filePrefixCls}-item-size`,
318
- hashId
319
- )
320
- },
321
- formatFileSize(file.size)
322
- )), file.lastModified && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
323
- "span",
324
- {
325
- className: classNames(
326
- `${filePrefixCls}-item-separator`,
327
- hashId
328
- )
329
- },
330
- "|"
331
- ), /* @__PURE__ */ React.createElement(
332
- "span",
333
- {
334
- className: classNames(
335
- `${filePrefixCls}-item-time`,
336
- hashId
337
- )
338
- },
339
- formatLastModified(file.lastModified)
340
- )))
341
- )
342
- )
343
- ), /* @__PURE__ */ React.createElement(
344
- "div",
345
- {
346
- className: classNames(`${prefixCls}-unsupported-text`, hashId)
347
- },
348
- "此文件无法预览,请下载查看。"
349
- ), onDownload && /* @__PURE__ */ React.createElement(
350
- Button,
351
- {
352
- color: "default",
353
- variant: "solid",
354
- icon: /* @__PURE__ */ React.createElement(DownloadIcon, null),
355
- onClick: handleDownload,
356
- "aria-label": (locale == null ? void 0 : locale["workspace.file.download"]) || "下载"
357
- },
358
- "下载"
359
- )));
360
- }
361
- const renderTextOrCode = () => {
362
- if (isCurrentFileHtml) {
363
- const htmlStatus = getContentStatus(contentState);
364
- return /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-text`, hashId) }, /* @__PURE__ */ React.createElement(
365
- HtmlPreview,
366
- {
367
- html: contentState.rawContent || "",
368
- status: htmlStatus,
369
- viewMode: htmlViewMode,
370
- onViewModeChange: setHtmlViewMode,
371
- iframeProps: { sandbox: "allow-scripts" },
372
- showSegmented: false
373
- }
374
- ));
375
- }
376
- if (contentState.status === "loading") {
377
- return /* @__PURE__ */ React.createElement(PlaceholderContent, { prefixCls, hashId }, /* @__PURE__ */ React.createElement(Spin, { size: "large", tip: "正在加载文件内容..." }));
378
- }
379
- return /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-text`, hashId) }, /* @__PURE__ */ React.createElement(
380
- MarkdownEditor,
381
- __spreadValues({
382
- editorRef,
383
- initValue: "",
384
- readonly: true,
385
- contentStyle: { padding: EDITOR_PADDING }
386
- }, markdownEditorProps)
387
- ));
388
- };
389
- const getPreviewErrorMessage = (category) => {
390
- const messages = {
391
- image: (locale == null ? void 0 : locale["workspace.file.cannotGetImagePreview"]) || "无法获取图片预览",
392
- video: (locale == null ? void 0 : locale["workspace.file.cannotGetVideoPreview"]) || "无法获取视频预览",
393
- audio: (locale == null ? void 0 : locale["workspace.file.cannotGetAudioPreview"]) || "无法获取音频预览",
394
- pdf: (locale == null ? void 0 : locale["workspace.file.cannotGetPdfPreview"]) || "无法获取PDF预览"
395
- };
396
- return messages[category] || `无法获取${category}预览`;
397
- };
398
- const renderMediaPreview = (category) => {
399
- if (!dataSource.previewUrl) {
400
- return /* @__PURE__ */ React.createElement(
401
- PlaceholderContent,
402
- {
403
- locale,
404
- prefixCls,
405
- hashId
406
- },
407
- /* @__PURE__ */ React.createElement("p", null, getPreviewErrorMessage(category))
408
- );
409
- }
410
- const mediaElements = {
411
- image: /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-image`, hashId) }, /* @__PURE__ */ React.createElement(Image, { src: dataSource.previewUrl, alt: file.name })),
412
- video: /* @__PURE__ */ React.createElement(
413
- "video",
414
- {
415
- className: classNames(`${prefixCls}-video`, hashId),
416
- src: dataSource.previewUrl,
417
- controls: true,
418
- controlsList: "nodownload",
419
- preload: "metadata"
420
- },
421
- /* @__PURE__ */ React.createElement("track", { kind: "captions" }),
422
- "您的浏览器不支持视频播放"
423
- ),
424
- audio: /* @__PURE__ */ React.createElement(
425
- "audio",
426
- {
427
- className: classNames(`${prefixCls}-audio`, hashId),
428
- src: dataSource.previewUrl,
429
- controls: true,
430
- controlsList: "nodownload",
431
- preload: "metadata"
432
- },
433
- "您的浏览器不支持音频播放"
434
- ),
435
- pdf: /* @__PURE__ */ React.createElement(
436
- "embed",
437
- {
438
- className: classNames(`${prefixCls}-pdf`, hashId),
439
- src: dataSource.previewUrl,
440
- type: "application/pdf",
441
- width: "100%",
442
- height: "100%"
443
- }
444
- )
445
- };
446
- return mediaElements[category];
292
+ }, /*#__PURE__*/ React.createElement("div", {
293
+ className: classNames("".concat(filePrefixCls, "-item-name"), hashId)
294
+ }, /*#__PURE__*/ React.createElement(Typography.Text, {
295
+ ellipsis: {
296
+ tooltip: file.name
297
+ },
298
+ style: {
299
+ font: 'var(--font-text-h6-base)',
300
+ color: 'var(--color-gray-text-default)'
301
+ }
302
+ }, file.name)), /*#__PURE__*/ React.createElement("div", {
303
+ className: classNames("".concat(filePrefixCls, "-item-details"), hashId)
304
+ }, /*#__PURE__*/ React.createElement(Typography.Text, {
305
+ type: "secondary",
306
+ ellipsis: true
307
+ }, /*#__PURE__*/ React.createElement("span", {
308
+ className: classNames("".concat(filePrefixCls, "-item-type"), hashId)
309
+ }, fileTypeProcessor.inferFileType(file).displayType || fileTypeProcessor.inferFileType(file).fileType), file.size && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("span", {
310
+ className: classNames("".concat(filePrefixCls, "-item-separator"), hashId)
311
+ }, "|"), /*#__PURE__*/ React.createElement("span", {
312
+ className: classNames("".concat(filePrefixCls, "-item-size"), hashId)
313
+ }, formatFileSize(file.size))), file.lastModified && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("span", {
314
+ className: classNames("".concat(filePrefixCls, "-item-separator"), hashId)
315
+ }, "|"), /*#__PURE__*/ React.createElement("span", {
316
+ className: classNames("".concat(filePrefixCls, "-item-time"), hashId)
317
+ }, formatLastModified(file.lastModified))))))), /*#__PURE__*/ React.createElement("div", {
318
+ className: classNames("".concat(prefixCls, "-unsupported-text"), hashId)
319
+ }, "此文件无法预览,请下载查看。"), onDownload && /*#__PURE__*/ React.createElement(Button, {
320
+ color: "default",
321
+ variant: "solid",
322
+ icon: /*#__PURE__*/ React.createElement(DownloadIcon, null),
323
+ onClick: handleDownload,
324
+ "aria-label": (locale === null || locale === void 0 ? void 0 : locale['workspace.file.download']) || '下载'
325
+ }, "下载")));
326
+ }
327
+ var renderTextOrCode = function() {
328
+ if (isCurrentFileHtml) {
329
+ var htmlStatus = getContentStatus(contentState);
330
+ return /*#__PURE__*/ React.createElement("div", {
331
+ className: classNames("".concat(prefixCls, "-text"), hashId)
332
+ }, /*#__PURE__*/ React.createElement(HtmlPreview, {
333
+ html: contentState.rawContent || '',
334
+ status: htmlStatus,
335
+ viewMode: htmlViewMode,
336
+ onViewModeChange: setHtmlViewMode,
337
+ iframeProps: {
338
+ sandbox: 'allow-scripts'
339
+ },
340
+ showSegmented: false
341
+ }));
342
+ }
343
+ if (contentState.status === 'loading') {
344
+ return /*#__PURE__*/ React.createElement(PlaceholderContent, {
345
+ prefixCls: prefixCls,
346
+ hashId: hashId
347
+ }, /*#__PURE__*/ React.createElement(Spin, {
348
+ size: "large",
349
+ tip: "正在加载文件内容..."
350
+ }));
351
+ }
352
+ return /*#__PURE__*/ React.createElement("div", {
353
+ className: classNames("".concat(prefixCls, "-text"), hashId)
354
+ }, /*#__PURE__*/ React.createElement(MarkdownEditor, _object_spread({
355
+ editorRef: editorRef,
356
+ initValue: "",
357
+ readonly: true,
358
+ contentStyle: {
359
+ padding: EDITOR_PADDING
360
+ }
361
+ }, markdownEditorProps)));
362
+ };
363
+ var getPreviewErrorMessage = function(category) {
364
+ var messages = {
365
+ image: (locale === null || locale === void 0 ? void 0 : locale['workspace.file.cannotGetImagePreview']) || '无法获取图片预览',
366
+ video: (locale === null || locale === void 0 ? void 0 : locale['workspace.file.cannotGetVideoPreview']) || '无法获取视频预览',
367
+ audio: (locale === null || locale === void 0 ? void 0 : locale['workspace.file.cannotGetAudioPreview']) || '无法获取音频预览',
368
+ pdf: (locale === null || locale === void 0 ? void 0 : locale['workspace.file.cannotGetPdfPreview']) || '无法获取PDF预览'
369
+ };
370
+ return messages[category] || "无法获取".concat(category, "预览");
371
+ };
372
+ var renderMediaPreview = function(category) {
373
+ if (!dataSource.previewUrl) {
374
+ return /*#__PURE__*/ React.createElement(PlaceholderContent, {
375
+ locale: locale,
376
+ prefixCls: prefixCls,
377
+ hashId: hashId
378
+ }, /*#__PURE__*/ React.createElement("p", null, getPreviewErrorMessage(category)));
379
+ }
380
+ var mediaElements = {
381
+ image: /*#__PURE__*/ React.createElement("div", {
382
+ className: classNames("".concat(prefixCls, "-image"), hashId)
383
+ }, /*#__PURE__*/ React.createElement(Image, {
384
+ src: dataSource.previewUrl,
385
+ alt: file.name
386
+ })),
387
+ video: /*#__PURE__*/ React.createElement("video", {
388
+ className: classNames("".concat(prefixCls, "-video"), hashId),
389
+ src: dataSource.previewUrl,
390
+ controls: true,
391
+ controlsList: "nodownload",
392
+ preload: "metadata"
393
+ }, /*#__PURE__*/ React.createElement("track", {
394
+ kind: "captions"
395
+ }), "您的浏览器不支持视频播放"),
396
+ audio: /*#__PURE__*/ React.createElement("audio", {
397
+ className: classNames("".concat(prefixCls, "-audio"), hashId),
398
+ src: dataSource.previewUrl,
399
+ controls: true,
400
+ controlsList: "nodownload",
401
+ preload: "metadata"
402
+ }, "您的浏览器不支持音频播放"),
403
+ pdf: /*#__PURE__*/ React.createElement("embed", {
404
+ className: classNames("".concat(prefixCls, "-pdf"), hashId),
405
+ src: dataSource.previewUrl,
406
+ type: "application/pdf",
407
+ width: "100%",
408
+ height: "100%"
409
+ })
410
+ };
411
+ return mediaElements[category];
412
+ };
413
+ switch(typeInference.category){
414
+ case 'text':
415
+ case 'code':
416
+ return renderTextOrCode();
417
+ case 'image':
418
+ case 'video':
419
+ case 'audio':
420
+ case 'pdf':
421
+ return renderMediaPreview(typeInference.category);
422
+ default:
423
+ return /*#__PURE__*/ React.createElement(PlaceholderContent, {
424
+ file: file,
425
+ showFileInfo: true,
426
+ onDownload: onDownload ? handleDownload : undefined,
427
+ locale: locale,
428
+ prefixCls: prefixCls,
429
+ hashId: hashId
430
+ }, /*#__PURE__*/ React.createElement("p", null, (locale === null || locale === void 0 ? void 0 : locale['workspace.file.unknownFileType']) || '未知的文件类型'), /*#__PURE__*/ React.createElement("p", null, "文件类型:", typeInference.fileType));
431
+ }
447
432
  };
448
- switch (typeInference.category) {
449
- case "text":
450
- case "code":
451
- return renderTextOrCode();
452
- case "image":
453
- case "video":
454
- case "audio":
455
- case "pdf":
456
- return renderMediaPreview(typeInference.category);
457
- default:
458
- return /* @__PURE__ */ React.createElement(
459
- PlaceholderContent,
460
- {
461
- file,
462
- showFileInfo: true,
463
- onDownload: onDownload ? handleDownload : void 0,
464
- locale,
465
- prefixCls,
466
- hashId
467
- },
468
- /* @__PURE__ */ React.createElement("p", null, (locale == null ? void 0 : locale["workspace.file.unknownFileType"]) || "未知的文件类型"),
469
- /* @__PURE__ */ React.createElement("p", null, "文件类型:", typeInference.fileType)
470
- );
471
- }
472
- };
473
- return wrapSSR(
474
- /* @__PURE__ */ React.createElement("div", { className: classNames(prefixCls, hashId) }, customHeader ? /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-header`, hashId) }, customHeader) : /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-header`, hashId) }, onBack && /* @__PURE__ */ React.createElement(
475
- "button",
476
- {
433
+ var _headerFileOverride_lastModified, _headerFileOverride_lastModified1;
434
+ return wrapSSR(/*#__PURE__*/ React.createElement("div", {
435
+ className: classNames(prefixCls, hashId)
436
+ }, customHeader ? /*#__PURE__*/ React.createElement("div", {
437
+ className: classNames("".concat(prefixCls, "-header"), hashId)
438
+ }, customHeader) : /*#__PURE__*/ React.createElement("div", {
439
+ className: classNames("".concat(prefixCls, "-header"), hashId)
440
+ }, onBack && /*#__PURE__*/ React.createElement("button", {
477
441
  type: "button",
478
- className: classNames(`${prefixCls}-back-button`, hashId),
442
+ className: classNames("".concat(prefixCls, "-back-button"), hashId),
479
443
  onClick: onBack,
480
- "aria-label": (locale == null ? void 0 : locale["workspace.file.backToFileList"]) || "返回文件列表"
481
- },
482
- /* @__PURE__ */ React.createElement(
483
- LeftIcon,
484
- {
485
- className: classNames(`${prefixCls}-back-icon`, hashId)
486
- }
487
- )
488
- ), /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-file-info`, hashId) }, /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-file-title`, hashId) }, (() => {
489
- const headerFile = headerFileOverride ? __spreadValues(__spreadValues({}, file), headerFileOverride) : file;
490
- const fileType = fileTypeProcessor.inferFileType(file).fileType;
491
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
492
- "span",
493
- {
494
- className: classNames(`${prefixCls}-file-icon`, hashId)
495
- },
496
- getFileTypeIcon(
497
- fileType,
498
- headerFile.icon,
499
- headerFile.name
500
- )
501
- ), /* @__PURE__ */ React.createElement(
502
- "span",
503
- {
504
- className: classNames(`${prefixCls}-file-name`, hashId)
505
- },
506
- headerFile.name
507
- ));
508
- })()), ((_a = headerFileOverride == null ? void 0 : headerFileOverride.lastModified) != null ? _a : file.lastModified) && /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-generate-time`, hashId) }, (locale == null ? void 0 : locale["workspace.file.generationTime"]) || "生成时间:", formatLastModified(
509
- (_b = headerFileOverride == null ? void 0 : headerFileOverride.lastModified) != null ? _b : file.lastModified
510
- ))), /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-actions`, hashId) }, !customContent && isCurrentFileHtml && /* @__PURE__ */ React.createElement(
511
- Segmented,
512
- {
444
+ "aria-label": (locale === null || locale === void 0 ? void 0 : locale['workspace.file.backToFileList']) || '返回文件列表'
445
+ }, /*#__PURE__*/ React.createElement(LeftIcon, {
446
+ className: classNames("".concat(prefixCls, "-back-icon"), hashId)
447
+ })), /*#__PURE__*/ React.createElement("div", {
448
+ className: classNames("".concat(prefixCls, "-file-info"), hashId)
449
+ }, /*#__PURE__*/ React.createElement("div", {
450
+ className: classNames("".concat(prefixCls, "-file-title"), hashId)
451
+ }, function() {
452
+ var headerFile = headerFileOverride ? _object_spread({}, file, headerFileOverride) : file;
453
+ var fileType = fileTypeProcessor.inferFileType(file).fileType;
454
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("span", {
455
+ className: classNames("".concat(prefixCls, "-file-icon"), hashId)
456
+ }, getFileTypeIcon(fileType, headerFile.icon, headerFile.name)), /*#__PURE__*/ React.createElement("span", {
457
+ className: classNames("".concat(prefixCls, "-file-name"), hashId)
458
+ }, headerFile.name));
459
+ }()), ((_headerFileOverride_lastModified = headerFileOverride === null || headerFileOverride === void 0 ? void 0 : headerFileOverride.lastModified) !== null && _headerFileOverride_lastModified !== void 0 ? _headerFileOverride_lastModified : file.lastModified) && /*#__PURE__*/ React.createElement("div", {
460
+ className: classNames("".concat(prefixCls, "-generate-time"), hashId)
461
+ }, (locale === null || locale === void 0 ? void 0 : locale['workspace.file.generationTime']) || '生成时间:', formatLastModified((_headerFileOverride_lastModified1 = headerFileOverride === null || headerFileOverride === void 0 ? void 0 : headerFileOverride.lastModified) !== null && _headerFileOverride_lastModified1 !== void 0 ? _headerFileOverride_lastModified1 : file.lastModified))), /*#__PURE__*/ React.createElement("div", {
462
+ className: classNames("".concat(prefixCls, "-actions"), hashId)
463
+ }, !customContent && isCurrentFileHtml && /*#__PURE__*/ React.createElement(Segmented, {
513
464
  size: "small",
514
465
  options: [
515
- {
516
- label: (locale == null ? void 0 : locale["htmlPreview.preview"]) || "预览",
517
- value: "preview"
518
- },
519
- {
520
- label: (locale == null ? void 0 : locale["htmlPreview.code"]) || "代码",
521
- value: "code"
522
- }
466
+ {
467
+ label: (locale === null || locale === void 0 ? void 0 : locale['htmlPreview.preview']) || '预览',
468
+ value: 'preview'
469
+ },
470
+ {
471
+ label: (locale === null || locale === void 0 ? void 0 : locale['htmlPreview.code']) || '代码',
472
+ value: 'code'
473
+ }
523
474
  ],
524
475
  value: htmlViewMode,
525
- onChange: (val) => setHtmlViewMode(val)
526
- }
527
- ), customActions && /* @__PURE__ */ React.createElement(
528
- "div",
529
- {
530
- className: classNames(`${prefixCls}-custom-actions`, hashId)
531
- },
532
- customActions
533
- ), onLocate && file.canLocate === true && /* @__PURE__ */ React.createElement(
534
- ActionIconBox,
535
- {
536
- title: (locale == null ? void 0 : locale["workspace.file.location"]) || "定位",
476
+ onChange: function(val) {
477
+ return setHtmlViewMode(val);
478
+ }
479
+ }), customActions && /*#__PURE__*/ React.createElement("div", {
480
+ className: classNames("".concat(prefixCls, "-custom-actions"), hashId)
481
+ }, customActions), onLocate && file.canLocate === true && /*#__PURE__*/ React.createElement(ActionIconBox, {
482
+ title: (locale === null || locale === void 0 ? void 0 : locale['workspace.file.location']) || '定位',
537
483
  onClick: handleLocate,
538
- tooltipProps: { mouseEnterDelay: 0.3 },
539
- className: classNames(`${prefixCls}-item-action-btn`, hashId)
540
- },
541
- /* @__PURE__ */ React.createElement(Locate, null)
542
- ), onShare && file.canShare === true && /* @__PURE__ */ React.createElement(
543
- ActionIconBox,
544
- {
545
- title: (locale == null ? void 0 : locale["workspace.file.share"]) || "分享",
484
+ tooltipProps: {
485
+ mouseEnterDelay: 0.3
486
+ },
487
+ className: classNames("".concat(prefixCls, "-item-action-btn"), hashId)
488
+ }, /*#__PURE__*/ React.createElement(Locate, null)), onShare && file.canShare === true && /*#__PURE__*/ React.createElement(ActionIconBox, {
489
+ title: (locale === null || locale === void 0 ? void 0 : locale['workspace.file.share']) || '分享',
546
490
  onClick: handleShare,
547
- tooltipProps: { mouseEnterDelay: 0.3 },
548
- className: classNames(`${prefixCls}-item-action-btn`, hashId)
549
- },
550
- /* @__PURE__ */ React.createElement(ShareIcon, null)
551
- ), onDownload && /* @__PURE__ */ React.createElement(
552
- ActionIconBox,
553
- {
554
- title: (locale == null ? void 0 : locale["workspace.file.download"]) || "下载",
491
+ tooltipProps: {
492
+ mouseEnterDelay: 0.3
493
+ },
494
+ className: classNames("".concat(prefixCls, "-item-action-btn"), hashId)
495
+ }, /*#__PURE__*/ React.createElement(ShareIcon, null)), onDownload && /*#__PURE__*/ React.createElement(ActionIconBox, {
496
+ title: (locale === null || locale === void 0 ? void 0 : locale['workspace.file.download']) || '下载',
555
497
  onClick: handleDownload,
556
- tooltipProps: { mouseEnterDelay: 0.3 },
557
- className: classNames(`${prefixCls}-item-action-btn`, hashId)
558
- },
559
- /* @__PURE__ */ React.createElement(DownloadIcon, null)
560
- ))), /* @__PURE__ */ React.createElement("div", { className: classNames(`${prefixCls}-content`, hashId) }, renderPreviewContent()))
561
- );
562
- };
563
- export {
564
- PreviewComponent
498
+ tooltipProps: {
499
+ mouseEnterDelay: 0.3
500
+ },
501
+ className: classNames("".concat(prefixCls, "-item-action-btn"), hashId)
502
+ }, /*#__PURE__*/ React.createElement(DownloadIcon, null)))), /*#__PURE__*/ React.createElement("div", {
503
+ className: classNames("".concat(prefixCls, "-content"), hashId)
504
+ }, renderPreviewContent())));
565
505
  };