@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,75 +1,259 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
+ try {
11
+ var info = gen[key](arg);
12
+ var value = info.value;
13
+ } catch (error) {
14
+ reject(error);
15
+ return;
16
16
  }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
17
+ if (info.done) {
18
+ resolve(value);
19
+ } else {
20
+ Promise.resolve(value).then(_next, _throw);
29
21
  }
30
- return target;
31
- };
32
- var __async = (__this, __arguments, generator) => {
33
- return new Promise((resolve, reject) => {
34
- var fulfilled = (value) => {
35
- try {
36
- step(generator.next(value));
37
- } catch (e) {
38
- reject(e);
39
- }
22
+ }
23
+ function _async_to_generator(fn) {
24
+ return function() {
25
+ var self = this, args = arguments;
26
+ return new Promise(function(resolve, reject) {
27
+ var gen = fn.apply(self, args);
28
+ function _next(value) {
29
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
30
+ }
31
+ function _throw(err) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
33
+ }
34
+ _next(undefined);
35
+ });
40
36
  };
41
- var rejected = (value) => {
42
- try {
43
- step(generator.throw(value));
44
- } catch (e) {
45
- reject(e);
46
- }
37
+ }
38
+ function _define_property(obj, key, value) {
39
+ if (key in obj) {
40
+ Object.defineProperty(obj, key, {
41
+ value: value,
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true
45
+ });
46
+ } else {
47
+ obj[key] = value;
48
+ }
49
+ return obj;
50
+ }
51
+ function _iterable_to_array_limit(arr, i) {
52
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
53
+ if (_i == null) return;
54
+ var _arr = [];
55
+ var _n = true;
56
+ var _d = false;
57
+ var _s, _e;
58
+ try {
59
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
60
+ _arr.push(_s.value);
61
+ if (i && _arr.length === i) break;
62
+ }
63
+ } catch (err) {
64
+ _d = true;
65
+ _e = err;
66
+ } finally{
67
+ try {
68
+ if (!_n && _i["return"] != null) _i["return"]();
69
+ } finally{
70
+ if (_d) throw _e;
71
+ }
72
+ }
73
+ return _arr;
74
+ }
75
+ function _non_iterable_rest() {
76
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
77
+ }
78
+ function _object_spread(target) {
79
+ for(var i = 1; i < arguments.length; i++){
80
+ var source = arguments[i] != null ? arguments[i] : {};
81
+ var ownKeys = Object.keys(source);
82
+ if (typeof Object.getOwnPropertySymbols === "function") {
83
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
84
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
85
+ }));
86
+ }
87
+ ownKeys.forEach(function(key) {
88
+ _define_property(target, key, source[key]);
89
+ });
90
+ }
91
+ return target;
92
+ }
93
+ function ownKeys(object, enumerableOnly) {
94
+ var keys = Object.keys(object);
95
+ if (Object.getOwnPropertySymbols) {
96
+ var symbols = Object.getOwnPropertySymbols(object);
97
+ if (enumerableOnly) {
98
+ symbols = symbols.filter(function(sym) {
99
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
100
+ });
101
+ }
102
+ keys.push.apply(keys, symbols);
103
+ }
104
+ return keys;
105
+ }
106
+ function _object_spread_props(target, source) {
107
+ source = source != null ? source : {};
108
+ if (Object.getOwnPropertyDescriptors) {
109
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
110
+ } else {
111
+ ownKeys(Object(source)).forEach(function(key) {
112
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
113
+ });
114
+ }
115
+ return target;
116
+ }
117
+ function _object_without_properties(source, excluded) {
118
+ if (source == null) return {};
119
+ var target = _object_without_properties_loose(source, excluded);
120
+ var key, i;
121
+ if (Object.getOwnPropertySymbols) {
122
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
123
+ for(i = 0; i < sourceSymbolKeys.length; i++){
124
+ key = sourceSymbolKeys[i];
125
+ if (excluded.indexOf(key) >= 0) continue;
126
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
127
+ target[key] = source[key];
128
+ }
129
+ }
130
+ return target;
131
+ }
132
+ function _object_without_properties_loose(source, excluded) {
133
+ if (source == null) return {};
134
+ var target = {};
135
+ var sourceKeys = Object.keys(source);
136
+ var key, i;
137
+ for(i = 0; i < sourceKeys.length; i++){
138
+ key = sourceKeys[i];
139
+ if (excluded.indexOf(key) >= 0) continue;
140
+ target[key] = source[key];
141
+ }
142
+ return target;
143
+ }
144
+ function _sliced_to_array(arr, i) {
145
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
146
+ }
147
+ function _unsupported_iterable_to_array(o, minLen) {
148
+ if (!o) return;
149
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
150
+ var n = Object.prototype.toString.call(o).slice(8, -1);
151
+ if (n === "Object" && o.constructor) n = o.constructor.name;
152
+ if (n === "Map" || n === "Set") return Array.from(n);
153
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
154
+ }
155
+ function _ts_generator(thisArg, body) {
156
+ var f, y, t, g, _ = {
157
+ label: 0,
158
+ sent: function() {
159
+ if (t[0] & 1) throw t[1];
160
+ return t[1];
161
+ },
162
+ trys: [],
163
+ ops: []
47
164
  };
48
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
49
- step((generator = generator.apply(__this, __arguments)).next());
50
- });
51
- };
52
-
53
- // src/MarkdownInputField/MarkdownInputField.tsx
165
+ return g = {
166
+ next: verb(0),
167
+ "throw": verb(1),
168
+ "return": verb(2)
169
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
170
+ return this;
171
+ }), g;
172
+ function verb(n) {
173
+ return function(v) {
174
+ return step([
175
+ n,
176
+ v
177
+ ]);
178
+ };
179
+ }
180
+ function step(op) {
181
+ if (f) throw new TypeError("Generator is already executing.");
182
+ while(_)try {
183
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
184
+ if (y = 0, t) op = [
185
+ op[0] & 2,
186
+ t.value
187
+ ];
188
+ switch(op[0]){
189
+ case 0:
190
+ case 1:
191
+ t = op;
192
+ break;
193
+ case 4:
194
+ _.label++;
195
+ return {
196
+ value: op[1],
197
+ done: false
198
+ };
199
+ case 5:
200
+ _.label++;
201
+ y = op[1];
202
+ op = [
203
+ 0
204
+ ];
205
+ continue;
206
+ case 7:
207
+ op = _.ops.pop();
208
+ _.trys.pop();
209
+ continue;
210
+ default:
211
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
212
+ _ = 0;
213
+ continue;
214
+ }
215
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
216
+ _.label = op[1];
217
+ break;
218
+ }
219
+ if (op[0] === 6 && _.label < t[1]) {
220
+ _.label = t[1];
221
+ t = op;
222
+ break;
223
+ }
224
+ if (t && _.label < t[2]) {
225
+ _.label = t[2];
226
+ _.ops.push(op);
227
+ break;
228
+ }
229
+ if (t[2]) _.ops.pop();
230
+ _.trys.pop();
231
+ continue;
232
+ }
233
+ op = body.call(thisArg, _);
234
+ } catch (e) {
235
+ op = [
236
+ 6,
237
+ e
238
+ ];
239
+ y = 0;
240
+ } finally{
241
+ f = t = 0;
242
+ }
243
+ if (op[0] & 5) throw op[1];
244
+ return {
245
+ value: op[0] ? op[1] : void 0,
246
+ done: true
247
+ };
248
+ }
249
+ }
54
250
  import { ConfigProvider } from "antd";
55
251
  import classNames from "classnames";
56
252
  import { useMergedState } from "rc-util";
57
- import React, {
58
- useCallback,
59
- useContext,
60
- useEffect,
61
- useImperativeHandle,
62
- useMemo,
63
- useRef,
64
- useState
65
- } from "react";
253
+ import React, { useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
66
254
  import { useRefFunction } from "../Hooks/useRefFunction";
67
- import {
68
- BaseMarkdownEditor
69
- } from "../MarkdownEditor";
70
- import {
71
- upLoadFileToServer
72
- } from "./AttachmentButton";
255
+ import { BaseMarkdownEditor } from "../MarkdownEditor";
256
+ import { upLoadFileToServer } from "./AttachmentButton";
73
257
  import { AttachmentFileList } from "./AttachmentButton/AttachmentFileList";
74
258
  import { getFileListFromDataTransferItems } from "./FilePaste";
75
259
  import { useFileUploadManager } from "./FileUploadManager";
@@ -80,503 +264,589 @@ import { useStyle } from "./style";
80
264
  import { Suggestion } from "./Suggestion";
81
265
  import TopOperatingArea from "./TopOperatingArea";
82
266
  import { useVoiceInputManager } from "./VoiceInputManager";
83
- var MarkdownInputField = (_a) => {
84
- var _b = _a, {
85
- tagInputProps,
86
- markdownProps,
87
- borderRadius = 16,
88
- onBlur,
89
- onFocus,
90
- isShowTopOperatingArea = false
91
- } = _b, props = __objRest(_b, [
92
- "tagInputProps",
93
- "markdownProps",
94
- "borderRadius",
95
- "onBlur",
96
- "onFocus",
97
- "isShowTopOperatingArea"
98
- ]);
99
- var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
100
- const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
101
- const baseCls = getPrefixCls("agentic-md-input-field");
102
- const { wrapSSR, hashId } = useStyle(baseCls);
103
- const [isHover, setHover] = React.useState(false);
104
- const [isLoading, setIsLoading] = React.useState(false);
105
- const [isEnlarged, setIsEnlarged] = React.useState(false);
106
- const markdownEditorRef = React.useRef();
107
- const quickActionsRef = React.useRef(null);
108
- const actionsRef = React.useRef(null);
109
- const isSendingRef = React.useRef(false);
110
- const [collapseSendActions, setCollapseSendActions] = useState(() => {
111
- if (typeof window === "undefined")
112
- return false;
113
- if (window.innerWidth < 460)
114
- return true;
115
- return false;
116
- });
117
- const [value, setValue] = useMergedState("", {
118
- value: props.value,
119
- onChange: props.onChange
120
- });
121
- const [rightPadding, setRightPadding] = useState(64);
122
- const [topRightPadding, setTopRightPadding] = useState(0);
123
- const [quickRightOffset, setQuickRightOffset] = useState(0);
124
- const computedRightPadding = useMemo(() => {
125
- const bottomOverlayPadding = props.toolsRender ? 0 : rightPadding || 52;
126
- const topOverlayPadding = (topRightPadding || 0) + (quickRightOffset || 0);
127
- return Math.max(bottomOverlayPadding, topOverlayPadding);
128
- }, [props.toolsRender, rightPadding, topRightPadding, quickRightOffset]);
129
- const collapsedHeight = useMemo(() => {
130
- var _a3;
131
- const mh = (_a3 = props.style) == null ? void 0 : _a3.maxHeight;
132
- const base = typeof mh === "number" ? mh : mh ? parseFloat(String(mh)) || 114 : 114;
133
- return base;
134
- }, [(_a2 = props.style) == null ? void 0 : _a2.maxHeight, (_b2 = props.attachment) == null ? void 0 : _b2.enable]);
135
- const collapsedHeightPx = useMemo(() => {
136
- var _a3;
137
- const extra = ((_a3 = props.attachment) == null ? void 0 : _a3.enable) ? 90 : 0;
138
- return collapsedHeight + extra;
139
- }, [(_c = props.style) == null ? void 0 : _c.maxHeight, (_d = props.attachment) == null ? void 0 : _d.enable]);
140
- const [fileMap, setFileMap] = useMergedState(void 0, {
141
- value: (_e = props.attachment) == null ? void 0 : _e.fileMap,
142
- onChange: (_f = props.attachment) == null ? void 0 : _f.onFileMapChange
143
- });
144
- const hasEnlargeAction = !!((_g = props == null ? void 0 : props.enlargeable) == null ? void 0 : _g.enable);
145
- const hasRefineAction = !!((_h = props == null ? void 0 : props.refinePrompt) == null ? void 0 : _h.enable);
146
- const hasCustomQuickAction = !!(props == null ? void 0 : props.quickActionRender);
147
- const hasActionsRender = !!(props == null ? void 0 : props.actionsRender);
148
- const hasToolsRender = !!(props == null ? void 0 : props.toolsRender);
149
- const quickActionCount = Number(hasEnlargeAction) + Number(hasRefineAction) + Number(hasCustomQuickAction);
150
- const auxiliaryActionCount = Number(hasActionsRender) + Number(hasToolsRender);
151
- const totalActionCount = quickActionCount + auxiliaryActionCount;
152
- const isMultiRowLayout = totalActionCount > 0;
153
- const computedMinHeight = useMemo(() => {
154
- var _a3, _b3;
155
- if (isEnlarged)
156
- return "auto";
157
- if (((_a3 = props.style) == null ? void 0 : _a3.minHeight) !== void 0)
158
- return props.style.minHeight;
159
- if (hasEnlargeAction && hasRefineAction)
160
- return 140;
161
- if (totalActionCount === 1)
162
- return 90;
163
- if (isMultiRowLayout)
164
- return 106;
165
- return ((_b3 = props.style) == null ? void 0 : _b3.minHeight) || 0;
166
- }, [
167
- isEnlarged,
168
- hasEnlargeAction,
169
- hasRefineAction,
170
- isMultiRowLayout,
171
- totalActionCount,
172
- (_i = props.style) == null ? void 0 : _i.minHeight
173
- ]);
174
- const {
175
- fileUploadDone,
176
- supportedFormat,
177
- uploadImage,
178
- updateAttachmentFiles,
179
- handleFileRemoval,
180
- handleFileRetry
181
- } = useFileUploadManager({
182
- attachment: props.attachment,
183
- fileMap,
184
- onFileMapChange: setFileMap
185
- });
186
- const { recording, startRecording, stopRecording } = useVoiceInputManager({
187
- voiceRecognizer: props.voiceRecognizer,
188
- editorRef: markdownEditorRef,
189
- onValueChange: setValue
190
- });
191
- useEffect(() => {
192
- var _a3, _b3;
193
- if (!markdownEditorRef.current)
194
- return;
195
- (_b3 = (_a3 = markdownEditorRef.current) == null ? void 0 : _a3.store) == null ? void 0 : _b3.setMDContent(value);
196
- }, [props.value]);
197
- useImperativeHandle(props.inputRef, () => markdownEditorRef.current);
198
- const handleEnlargeClick = useRefFunction(() => {
199
- setIsEnlarged(!isEnlarged);
200
- });
201
- const sendMessage = useRefFunction(() => __async(void 0, null, function* () {
202
- var _a3, _b3, _c2, _d2, _e2, _f2;
203
- if (props.disabled)
204
- return;
205
- if (props.typing)
206
- return;
207
- if (isLoading)
208
- return;
209
- if (isSendingRef.current)
210
- return;
211
- if (recording)
212
- yield stopRecording();
213
- const mdValue = (_b3 = (_a3 = markdownEditorRef == null ? void 0 : markdownEditorRef.current) == null ? void 0 : _a3.store) == null ? void 0 : _b3.getMDContent();
214
- if (mdValue !== value && mdValue) {
215
- (_c2 = props.onChange) == null ? void 0 : _c2.call(props, mdValue);
216
- }
217
- if (props.onSend && (props.allowEmptySubmit || mdValue)) {
218
- isSendingRef.current = true;
219
- setIsLoading(true);
220
- try {
221
- yield props.onSend(mdValue || "");
222
- (_e2 = (_d2 = markdownEditorRef == null ? void 0 : markdownEditorRef.current) == null ? void 0 : _d2.store) == null ? void 0 : _e2.clearContent();
223
- (_f2 = props.onChange) == null ? void 0 : _f2.call(props, "");
224
- setValue("");
225
- setFileMap == null ? void 0 : setFileMap(/* @__PURE__ */ new Map());
226
- } catch (error) {
227
- console.error("Send message failed:", error);
228
- throw error;
229
- } finally {
230
- setIsLoading(false);
231
- isSendingRef.current = false;
232
- }
233
- }
234
- }));
235
- const enlargedStyle = useMemo(() => {
236
- if (!isEnlarged)
237
- return {};
238
- return {
239
- maxHeight: "980px",
240
- minHeight: "280px"
241
- };
242
- }, [isEnlarged]);
243
- const beforeTools = useMemo(() => {
244
- if (props.beforeToolsRender) {
245
- return props.beforeToolsRender(__spreadProps(__spreadValues({}, props), {
267
+ /**
268
+ * MarkdownInputField 组件 - Markdown输入字段组件
269
+ *
270
+ * 该组件提供一个功能完整的Markdown输入框,支持实时预览、文件附件、
271
+ * 快捷键发送、自动完成等功能。是聊天应用中的核心输入组件。
272
+ *
273
+ * @component
274
+ * @description Markdown输入字段组件,支持实时预览和文件附件
275
+ * @param {MarkdownInputFieldProps} props - 组件属性
276
+ * @param {string} [props.value] - 输入框的值
277
+ * @param {(value: string) => void} [props.onChange] - 值变化时的回调
278
+ * @param {(value: string) => Promise<void>} [props.onSend] - 发送消息的回调
279
+ * @param {string} [props.placeholder] - 占位符文本
280
+ * @param {string} [props.triggerSendKey='Mod+Enter'] - 触发发送的快捷键
281
+ * @param {boolean} [props.disabled] - 是否禁用
282
+ * @param {boolean} [props.typing] - 是否正在输入
283
+ * @param {AttachmentProps} [props.attachment] - 附件配置
284
+ * @param {string[]} [props.bgColorList] - 背景颜色列表,推荐使用3-4种颜色
285
+ * @param {React.RefObject} [props.inputRef] - 输入框引用
286
+ * @param {MarkdownRenderConfig} [props.markdownRenderConfig] - Markdown渲染配置
287
+ * @param {SuggestionProps} [props.suggestion] - 自动完成配置
288
+ *
289
+ * @example
290
+ * ```tsx
291
+ * <MarkdownInputField
292
+ * value="# 标题"
293
+ * onChange={(value) => console.log(value)}
294
+ * onSend={(value) => Promise.resolve()}
295
+ * placeholder="请输入Markdown文本..."
296
+ * triggerSendKey="Mod+Enter"
297
+ * />
298
+ * ```
299
+ *
300
+ * @returns {React.ReactElement} 渲染的Markdown输入字段组件
301
+ *
302
+ * @remarks
303
+ * - 支持实时Markdown预览
304
+ * - 支持文件附件上传
305
+ * - 支持快捷键发送消息
306
+ * - 支持自动完成功能
307
+ * - 支持自定义渲染配置
308
+ */ export var MarkdownInputField = function(_param) {
309
+ var tagInputProps = _param.tagInputProps, markdownProps = _param.markdownProps, _param_borderRadius = _param.borderRadius, borderRadius = _param_borderRadius === void 0 ? 16 : _param_borderRadius, onBlur = _param.onBlur, onFocus = _param.onFocus, _param_isShowTopOperatingArea = _param.isShowTopOperatingArea, isShowTopOperatingArea = _param_isShowTopOperatingArea === void 0 ? false : _param_isShowTopOperatingArea, props = _object_without_properties(_param, [
310
+ "tagInputProps",
311
+ "markdownProps",
312
+ "borderRadius",
313
+ "onBlur",
314
+ "onFocus",
315
+ "isShowTopOperatingArea"
316
+ ]);
317
+ var _props_style, _props_attachment, _props_style1, _props_attachment1, _props_attachment2, _props_attachment3, _props_enlargeable, _props_refinePrompt, _props_style2, _props_attachment4, _props_attachment5, _props_enlargeable1, _props_refinePrompt1, _props_enlargeable2, _props_enlargeable3;
318
+ var getPrefixCls = useContext(ConfigProvider.ConfigContext).getPrefixCls;
319
+ var baseCls = getPrefixCls('agentic-md-input-field');
320
+ var _useStyle = useStyle(baseCls), wrapSSR = _useStyle.wrapSSR, hashId = _useStyle.hashId;
321
+ var _React_useState = _sliced_to_array(React.useState(false), 2), isHover = _React_useState[0], setHover = _React_useState[1];
322
+ var _React_useState1 = _sliced_to_array(React.useState(false), 2), isLoading = _React_useState1[0], setIsLoading = _React_useState1[1];
323
+ var _React_useState2 = _sliced_to_array(React.useState(false), 2), isEnlarged = _React_useState2[0], setIsEnlarged = _React_useState2[1];
324
+ var markdownEditorRef = React.useRef();
325
+ var quickActionsRef = React.useRef(null);
326
+ var actionsRef = React.useRef(null);
327
+ var isSendingRef = React.useRef(false); // 防重复触发标记
328
+ var _useState = _sliced_to_array(useState(function() {
329
+ if (typeof window === 'undefined') return false;
330
+ if (window.innerWidth < 460) return true;
331
+ return false;
332
+ }), 2), collapseSendActions = _useState[0], setCollapseSendActions = _useState[1];
333
+ var _useMergedState = _sliced_to_array(useMergedState('', {
334
+ value: props.value,
335
+ onChange: props.onChange
336
+ }), 2), value = _useMergedState[0], setValue = _useMergedState[1];
337
+ var _useState1 = _sliced_to_array(useState(64), 2), rightPadding = _useState1[0], setRightPadding = _useState1[1];
338
+ var _useState2 = _sliced_to_array(useState(0), 2), topRightPadding = _useState2[0], setTopRightPadding = _useState2[1];
339
+ var _useState3 = _sliced_to_array(useState(0), 2), quickRightOffset = _useState3[0], setQuickRightOffset = _useState3[1];
340
+ var computedRightPadding = useMemo(function() {
341
+ var bottomOverlayPadding = props.toolsRender ? 0 : rightPadding || 52;
342
+ var topOverlayPadding = (topRightPadding || 0) + (quickRightOffset || 0);
343
+ return Math.max(bottomOverlayPadding, topOverlayPadding);
344
+ }, [
345
+ props.toolsRender,
346
+ rightPadding,
347
+ topRightPadding,
348
+ quickRightOffset
349
+ ]);
350
+ var collapsedHeight = useMemo(function() {
351
+ var _props_style;
352
+ var mh = (_props_style = props.style) === null || _props_style === void 0 ? void 0 : _props_style.maxHeight;
353
+ var base = typeof mh === 'number' ? mh : mh ? parseFloat(String(mh)) || 114 : 114;
354
+ return base;
355
+ }, [
356
+ (_props_style = props.style) === null || _props_style === void 0 ? void 0 : _props_style.maxHeight,
357
+ (_props_attachment = props.attachment) === null || _props_attachment === void 0 ? void 0 : _props_attachment.enable
358
+ ]);
359
+ var collapsedHeightPx = useMemo(function() {
360
+ var _props_attachment;
361
+ var extra = ((_props_attachment = props.attachment) === null || _props_attachment === void 0 ? void 0 : _props_attachment.enable) ? 90 : 0;
362
+ return collapsedHeight + extra;
363
+ }, [
364
+ (_props_style1 = props.style) === null || _props_style1 === void 0 ? void 0 : _props_style1.maxHeight,
365
+ (_props_attachment1 = props.attachment) === null || _props_attachment1 === void 0 ? void 0 : _props_attachment1.enable
366
+ ]);
367
+ var _useMergedState1 = _sliced_to_array(useMergedState(undefined, {
368
+ value: (_props_attachment2 = props.attachment) === null || _props_attachment2 === void 0 ? void 0 : _props_attachment2.fileMap,
369
+ onChange: (_props_attachment3 = props.attachment) === null || _props_attachment3 === void 0 ? void 0 : _props_attachment3.onFileMapChange
370
+ }), 2), fileMap = _useMergedState1[0], setFileMap = _useMergedState1[1];
371
+ var hasEnlargeAction = !!(props === null || props === void 0 ? void 0 : (_props_enlargeable = props.enlargeable) === null || _props_enlargeable === void 0 ? void 0 : _props_enlargeable.enable);
372
+ var hasRefineAction = !!(props === null || props === void 0 ? void 0 : (_props_refinePrompt = props.refinePrompt) === null || _props_refinePrompt === void 0 ? void 0 : _props_refinePrompt.enable);
373
+ var hasCustomQuickAction = !!(props === null || props === void 0 ? void 0 : props.quickActionRender);
374
+ var hasActionsRender = !!(props === null || props === void 0 ? void 0 : props.actionsRender);
375
+ var hasToolsRender = !!(props === null || props === void 0 ? void 0 : props.toolsRender);
376
+ var quickActionCount = Number(hasEnlargeAction) + Number(hasRefineAction) + Number(hasCustomQuickAction);
377
+ var auxiliaryActionCount = Number(hasActionsRender) + Number(hasToolsRender);
378
+ var totalActionCount = quickActionCount + auxiliaryActionCount;
379
+ // 是否需要多行布局
380
+ var isMultiRowLayout = totalActionCount > 0;
381
+ // 计算最小高度
382
+ var computedMinHeight = useMemo(function() {
383
+ var _props_style, _props_style1;
384
+ if (isEnlarged) return 'auto';
385
+ if (((_props_style = props.style) === null || _props_style === void 0 ? void 0 : _props_style.minHeight) !== undefined) return props.style.minHeight;
386
+ // 如果同时有放大按钮和提示词优化按钮,最小高度为 140px
387
+ if (hasEnlargeAction && hasRefineAction) return 140;
388
+ if (totalActionCount === 1) return 90;
389
+ // 其他多行布局情况,最小高度为 106px
390
+ if (isMultiRowLayout) return 106;
391
+ // 默认使用传入的 minHeight 或 0
392
+ return ((_props_style1 = props.style) === null || _props_style1 === void 0 ? void 0 : _props_style1.minHeight) || 0;
393
+ }, [
394
+ isEnlarged,
395
+ hasEnlargeAction,
396
+ hasRefineAction,
397
+ isMultiRowLayout,
398
+ totalActionCount,
399
+ (_props_style2 = props.style) === null || _props_style2 === void 0 ? void 0 : _props_style2.minHeight
400
+ ]);
401
+ // 文件上传管理
402
+ var _useFileUploadManager = useFileUploadManager({
403
+ attachment: props.attachment,
404
+ fileMap: fileMap,
405
+ onFileMapChange: setFileMap
406
+ }), fileUploadDone = _useFileUploadManager.fileUploadDone, supportedFormat = _useFileUploadManager.supportedFormat, uploadImage = _useFileUploadManager.uploadImage, updateAttachmentFiles = _useFileUploadManager.updateAttachmentFiles, handleFileRemoval = _useFileUploadManager.handleFileRemoval, handleFileRetry = _useFileUploadManager.handleFileRetry;
407
+ // 语音输入管理
408
+ var _useVoiceInputManager = useVoiceInputManager({
409
+ voiceRecognizer: props.voiceRecognizer,
410
+ editorRef: markdownEditorRef,
411
+ onValueChange: setValue
412
+ }), recording = _useVoiceInputManager.recording, startRecording = _useVoiceInputManager.startRecording, stopRecording = _useVoiceInputManager.stopRecording;
413
+ useEffect(function() {
414
+ var _markdownEditorRef_current_store, _markdownEditorRef_current;
415
+ if (!markdownEditorRef.current) return;
416
+ (_markdownEditorRef_current = markdownEditorRef.current) === null || _markdownEditorRef_current === void 0 ? void 0 : (_markdownEditorRef_current_store = _markdownEditorRef_current.store) === null || _markdownEditorRef_current_store === void 0 ? void 0 : _markdownEditorRef_current_store.setMDContent(value);
417
+ }, [
418
+ props.value
419
+ ]);
420
+ useImperativeHandle(props.inputRef, function() {
421
+ return markdownEditorRef.current;
422
+ });
423
+ // 已移除 enlargeTargetRef,不需要校验容器定位
424
+ /**
425
+ * 处理放大缩小按钮点击
426
+ * @description 切换编辑器的放大/缩小状态
427
+ */ var handleEnlargeClick = useRefFunction(function() {
428
+ setIsEnlarged(!isEnlarged);
429
+ });
430
+ /**
431
+ * 发送消息的函数
432
+ * @description 该函数用于处理发送消息的逻辑,包括调用回调函数和清空输入框。
433
+ * @returns {Promise<void>} 发送操作的Promise
434
+ * @example
435
+ * ```tsx
436
+ * <MarkdownInputField
437
+ * value="# 示例"
438
+ * onChange={(value) => console.log(value)}
439
+ * onSend={(value) => Promise.resolve()}
440
+ * />
441
+ * ```
442
+ */ var sendMessage = useRefFunction(/*#__PURE__*/ _async_to_generator(function() {
443
+ var _markdownEditorRef_current_store, _markdownEditorRef_current, mdValue, _props_onChange, _markdownEditorRef_current_store1, _markdownEditorRef_current1, _props_onChange1, error;
444
+ return _ts_generator(this, function(_state) {
445
+ switch(_state.label){
446
+ case 0:
447
+ if (props.disabled) return [
448
+ 2
449
+ ];
450
+ if (props.typing) return [
451
+ 2
452
+ ];
453
+ // 防止重复触发:如果正在加载中,直接返回
454
+ if (isLoading) return [
455
+ 2
456
+ ];
457
+ // 使用 ref 防止快速连续触发
458
+ if (isSendingRef.current) return [
459
+ 2
460
+ ];
461
+ if (!recording) return [
462
+ 3,
463
+ 2
464
+ ];
465
+ return [
466
+ 4,
467
+ stopRecording()
468
+ ];
469
+ case 1:
470
+ _state.sent();
471
+ _state.label = 2;
472
+ case 2:
473
+ mdValue = markdownEditorRef === null || markdownEditorRef === void 0 ? void 0 : (_markdownEditorRef_current = markdownEditorRef.current) === null || _markdownEditorRef_current === void 0 ? void 0 : (_markdownEditorRef_current_store = _markdownEditorRef_current.store) === null || _markdownEditorRef_current_store === void 0 ? void 0 : _markdownEditorRef_current_store.getMDContent();
474
+ // 如果mdValue和value不一致,并且mdValue不为空,则调用onChange
475
+ if (mdValue !== value && mdValue) {
476
+ ;
477
+ (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, mdValue);
478
+ }
479
+ if (!(props.onSend && (props.allowEmptySubmit || mdValue))) return [
480
+ 3,
481
+ 7
482
+ ];
483
+ // 设置发送标记
484
+ isSendingRef.current = true;
485
+ setIsLoading(true);
486
+ _state.label = 3;
487
+ case 3:
488
+ _state.trys.push([
489
+ 3,
490
+ 5,
491
+ 6,
492
+ 7
493
+ ]);
494
+ return [
495
+ 4,
496
+ props.onSend(mdValue || '')
497
+ ];
498
+ case 4:
499
+ _state.sent();
500
+ markdownEditorRef === null || markdownEditorRef === void 0 ? void 0 : (_markdownEditorRef_current1 = markdownEditorRef.current) === null || _markdownEditorRef_current1 === void 0 ? void 0 : (_markdownEditorRef_current_store1 = _markdownEditorRef_current1.store) === null || _markdownEditorRef_current_store1 === void 0 ? void 0 : _markdownEditorRef_current_store1.clearContent();
501
+ (_props_onChange1 = props.onChange) === null || _props_onChange1 === void 0 ? void 0 : _props_onChange1.call(props, '');
502
+ setValue('');
503
+ setFileMap === null || setFileMap === void 0 ? void 0 : setFileMap(new Map());
504
+ return [
505
+ 3,
506
+ 7
507
+ ];
508
+ case 5:
509
+ error = _state.sent();
510
+ console.error('Send message failed:', error);
511
+ throw error;
512
+ case 6:
513
+ setIsLoading(false);
514
+ // 重置发送标记
515
+ isSendingRef.current = false;
516
+ return [
517
+ 7
518
+ ];
519
+ case 7:
520
+ return [
521
+ 2
522
+ ];
523
+ }
524
+ });
525
+ }));
526
+ /**
527
+ * 放大状态样式计算
528
+ */ var enlargedStyle = useMemo(function() {
529
+ if (!isEnlarged) return {};
530
+ return {
531
+ maxHeight: '980px',
532
+ minHeight: '280px'
533
+ };
534
+ }, [
535
+ isEnlarged
536
+ ]);
537
+ var beforeTools = useMemo(function() {
538
+ if (props.beforeToolsRender) {
539
+ return props.beforeToolsRender(_object_spread_props(_object_spread({}, props), {
540
+ isHover: isHover,
541
+ isLoading: isLoading
542
+ }));
543
+ }
544
+ return null;
545
+ }, [
546
+ props,
246
547
  isHover,
247
548
  isLoading
248
- }));
249
- }
250
- return null;
251
- }, [props, isHover, isLoading]);
252
- const inputRef = useRef(null);
253
- const activeInput = useRefFunction((active) => {
254
- var _a3, _b3;
255
- if (inputRef.current) {
256
- if (active) {
257
- inputRef.current.tabIndex = 1;
258
- (_a3 = inputRef.current) == null ? void 0 : _a3.classList.add("active");
259
- } else {
260
- inputRef.current.tabIndex = -1;
261
- (_b3 = inputRef.current) == null ? void 0 : _b3.classList.remove("active");
262
- }
263
- }
264
- });
265
- useEffect(() => {
266
- if (!inputRef.current)
267
- return;
268
- if (false)
269
- return;
270
- const handleResize = () => {
271
- var _a3;
272
- if (!inputRef.current)
273
- return;
274
- if (false)
275
- return;
276
- if (((_a3 = inputRef.current) == null ? void 0 : _a3.clientWidth) < 481) {
277
- setCollapseSendActions(true);
278
- } else {
279
- setCollapseSendActions(false);
280
- }
281
- };
282
- handleResize();
283
- const resizeObserver = new ResizeObserver(handleResize);
284
- resizeObserver.observe(inputRef.current);
285
- return () => {
286
- resizeObserver.disconnect();
287
- };
288
- }, []);
289
- const handlePaste = useCallback(
290
- (e) => __async(void 0, null, function* () {
291
- const imageFiles = (yield getFileListFromDataTransferItems(e)).filter(
292
- (file) => file.type.startsWith("image/")
293
- );
294
- upLoadFileToServer(imageFiles, __spreadProps(__spreadValues({}, markdownProps == null ? void 0 : markdownProps.attachment), {
549
+ ]);
550
+ var inputRef = useRef(null);
551
+ var activeInput = useRefFunction(function(active) {
552
+ if (inputRef.current) {
553
+ if (active) {
554
+ var _inputRef_current;
555
+ inputRef.current.tabIndex = 1;
556
+ (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.classList.add('active');
557
+ } else {
558
+ var _inputRef_current1;
559
+ inputRef.current.tabIndex = -1;
560
+ (_inputRef_current1 = inputRef.current) === null || _inputRef_current1 === void 0 ? void 0 : _inputRef_current1.classList.remove('active');
561
+ }
562
+ }
563
+ });
564
+ useEffect(function() {
565
+ if (!inputRef.current) return;
566
+ if (process.env.NODE_ENV === 'test') return;
567
+ var handleResize = function() {
568
+ var _inputRef_current;
569
+ if (!inputRef.current) return;
570
+ if (process.env.NODE_ENV === 'test') return;
571
+ if (((_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.clientWidth) < 481) {
572
+ setCollapseSendActions(true);
573
+ } else {
574
+ setCollapseSendActions(false);
575
+ }
576
+ };
577
+ handleResize();
578
+ var resizeObserver = new ResizeObserver(handleResize);
579
+ resizeObserver.observe(inputRef.current);
580
+ return function() {
581
+ resizeObserver.disconnect();
582
+ };
583
+ }, []);
584
+ // 图片粘贴上传
585
+ var handlePaste = useCallback(/*#__PURE__*/ function() {
586
+ var _ref = _async_to_generator(function(e) {
587
+ var imageFiles;
588
+ return _ts_generator(this, function(_state) {
589
+ switch(_state.label){
590
+ case 0:
591
+ return [
592
+ 4,
593
+ getFileListFromDataTransferItems(e)
594
+ ];
595
+ case 1:
596
+ imageFiles = _state.sent().filter(function(file) {
597
+ return file.type.startsWith('image/');
598
+ });
599
+ upLoadFileToServer(imageFiles, _object_spread_props(_object_spread({}, markdownProps === null || markdownProps === void 0 ? void 0 : markdownProps.attachment), {
600
+ fileMap: fileMap,
601
+ onFileMapChange: setFileMap
602
+ }));
603
+ return [
604
+ 2
605
+ ];
606
+ }
607
+ });
608
+ });
609
+ return function(e) {
610
+ return _ref.apply(this, arguments);
611
+ };
612
+ }(), [
295
613
  fileMap,
296
- onFileMapChange: setFileMap
297
- }));
298
- }),
299
- [fileMap, markdownProps == null ? void 0 : markdownProps.attachment]
300
- );
301
- const attachmentList = useMemo(() => {
302
- var _a3;
303
- if (!((_a3 = props.attachment) == null ? void 0 : _a3.enable))
304
- return null;
305
- return /* @__PURE__ */ React.createElement(
306
- AttachmentFileList,
307
- {
614
+ markdownProps === null || markdownProps === void 0 ? void 0 : markdownProps.attachment
615
+ ]);
616
+ // 预计算:附件列表节点,减少 JSX 嵌套
617
+ var attachmentList = useMemo(function() {
618
+ var _props_attachment;
619
+ if (!((_props_attachment = props.attachment) === null || _props_attachment === void 0 ? void 0 : _props_attachment.enable)) return null;
620
+ return /*#__PURE__*/ React.createElement(AttachmentFileList, {
621
+ fileMap: fileMap,
622
+ onDelete: handleFileRemoval,
623
+ onRetry: handleFileRetry,
624
+ onClearFileMap: function() {
625
+ updateAttachmentFiles(new Map());
626
+ }
627
+ });
628
+ }, [
308
629
  fileMap,
309
- onDelete: handleFileRemoval,
310
- onRetry: handleFileRetry,
311
- onClearFileMap: () => {
312
- updateAttachmentFiles(/* @__PURE__ */ new Map());
630
+ (_props_attachment4 = props.attachment) === null || _props_attachment4 === void 0 ? void 0 : _props_attachment4.enable,
631
+ handleFileRemoval,
632
+ handleFileRetry,
633
+ updateAttachmentFiles
634
+ ]);
635
+ // 键盘事件:早返回减少嵌套
636
+ var handleKeyDown = useRefFunction(function(e) {
637
+ var _markdownEditorRef_current;
638
+ var triggerSendKey = props.triggerSendKey || 'Enter';
639
+ if (markdownEditorRef === null || markdownEditorRef === void 0 ? void 0 : (_markdownEditorRef_current = markdownEditorRef.current) === null || _markdownEditorRef_current === void 0 ? void 0 : _markdownEditorRef_current.store.inputComposition) return;
640
+ var isEnter = e.key === 'Enter';
641
+ var isMod = e.ctrlKey || e.metaKey;
642
+ if (triggerSendKey === 'Enter') {
643
+ if (!(isEnter && !isMod)) return;
644
+ e.stopPropagation();
645
+ e.preventDefault();
646
+ if (props.onSend) sendMessage();
647
+ return;
313
648
  }
314
- }
315
- );
316
- }, [
317
- fileMap,
318
- (_j = props.attachment) == null ? void 0 : _j.enable,
319
- handleFileRemoval,
320
- handleFileRetry,
321
- updateAttachmentFiles
322
- ]);
323
- const handleKeyDown = useRefFunction(
324
- (e) => {
325
- var _a3;
326
- const triggerSendKey = props.triggerSendKey || "Enter";
327
- if ((_a3 = markdownEditorRef == null ? void 0 : markdownEditorRef.current) == null ? void 0 : _a3.store.inputComposition)
328
- return;
329
- const isEnter = e.key === "Enter";
330
- const isMod = e.ctrlKey || e.metaKey;
331
- if (triggerSendKey === "Enter") {
332
- if (!(isEnter && !isMod))
333
- return;
334
- e.stopPropagation();
335
- e.preventDefault();
336
- if (props.onSend)
337
- sendMessage();
338
- return;
339
- }
340
- if (triggerSendKey === "Mod+Enter") {
341
- if (!(isEnter && isMod))
342
- return;
343
- e.stopPropagation();
344
- e.preventDefault();
345
- if (props.onSend && !isLoading && !props.disabled && !props.typing) {
346
- sendMessage();
649
+ if (triggerSendKey === 'Mod+Enter') {
650
+ if (!(isEnter && isMod)) return;
651
+ e.stopPropagation();
652
+ e.preventDefault();
653
+ // 防止重复触发:检查是否已经在加载中
654
+ if (props.onSend && !isLoading && !props.disabled && !props.typing) {
655
+ sendMessage();
656
+ }
347
657
  }
348
- }
349
- }
350
- );
351
- const sendActionsNode = /* @__PURE__ */ React.createElement(
352
- SendActions,
353
- {
354
- attachment: __spreadProps(__spreadValues({}, props.attachment), {
355
- supportedFormat,
356
- fileMap,
357
- onFileMapChange: setFileMap,
358
- upload: ((_k = props.attachment) == null ? void 0 : _k.upload) ? (file) => props.attachment.upload(file, 0) : void 0
359
- }),
360
- voiceRecognizer: props.voiceRecognizer,
361
- value,
362
- disabled: props.disabled,
363
- typing: props.typing,
364
- isLoading,
365
- fileUploadDone,
366
- recording,
367
- collapseSendActions,
368
- allowEmptySubmit: props.allowEmptySubmit,
369
- uploadImage,
370
- onStartRecording: startRecording,
371
- onStopRecording: stopRecording,
372
- onSend: sendMessage,
373
- onStop: () => {
374
- var _a3;
375
- setIsLoading(false);
376
- (_a3 = props.onStop) == null ? void 0 : _a3.call(props);
377
- },
378
- actionsRender: props.actionsRender,
379
- prefixCls: baseCls,
380
- hashId,
381
- hasTools: !!props.toolsRender,
382
- onResize: setRightPadding
383
- }
384
- );
385
- return wrapSSR(
386
- /* @__PURE__ */ React.createElement(React.Fragment, null, isShowTopOperatingArea && /* @__PURE__ */ React.createElement("div", { className: classNames(`${baseCls}-top-area`, hashId) }, /* @__PURE__ */ React.createElement(
387
- TopOperatingArea,
388
- {
658
+ });
659
+ // 预计算:SendActions 节点,统一渲染,避免重复 JSX
660
+ var sendActionsNode = /*#__PURE__*/ React.createElement(SendActions, {
661
+ attachment: _object_spread_props(_object_spread({}, props.attachment), {
662
+ supportedFormat: supportedFormat,
663
+ fileMap: fileMap,
664
+ onFileMapChange: setFileMap,
665
+ upload: ((_props_attachment5 = props.attachment) === null || _props_attachment5 === void 0 ? void 0 : _props_attachment5.upload) ? function(file) {
666
+ return props.attachment.upload(file, 0);
667
+ } : undefined
668
+ }),
669
+ voiceRecognizer: props.voiceRecognizer,
670
+ value: value,
671
+ disabled: props.disabled,
672
+ typing: props.typing,
673
+ isLoading: isLoading,
674
+ fileUploadDone: fileUploadDone,
675
+ recording: recording,
676
+ collapseSendActions: collapseSendActions,
677
+ allowEmptySubmit: props.allowEmptySubmit,
678
+ uploadImage: uploadImage,
679
+ onStartRecording: startRecording,
680
+ onStopRecording: stopRecording,
681
+ onSend: sendMessage,
682
+ onStop: function() {
683
+ var _props_onStop;
684
+ setIsLoading(false);
685
+ (_props_onStop = props.onStop) === null || _props_onStop === void 0 ? void 0 : _props_onStop.call(props);
686
+ },
687
+ actionsRender: props.actionsRender,
688
+ prefixCls: baseCls,
689
+ hashId: hashId,
690
+ hasTools: !!props.toolsRender,
691
+ onResize: setRightPadding
692
+ });
693
+ var _props_enlargeable_height;
694
+ var _obj, _obj1;
695
+ return wrapSSR(/*#__PURE__*/ React.createElement(React.Fragment, null, isShowTopOperatingArea && /*#__PURE__*/ React.createElement("div", {
696
+ className: classNames("".concat(baseCls, "-top-area"), hashId)
697
+ }, /*#__PURE__*/ React.createElement(TopOperatingArea, {
389
698
  targetRef: props.targetRef,
390
699
  operationBtnRender: props.operationBtnRender,
391
700
  isShowBackTo: props.isShowBackTo
392
- }
393
- )), beforeTools ? /* @__PURE__ */ React.createElement("div", { className: classNames(`${baseCls}-before-tools`, hashId) }, beforeTools) : null, /* @__PURE__ */ React.createElement(
394
- Suggestion,
395
- {
396
- tagInputProps: __spreadValues({
397
- enable: true,
398
- type: "dropdown"
701
+ })), beforeTools ? /*#__PURE__*/ React.createElement("div", {
702
+ className: classNames("".concat(baseCls, "-before-tools"), hashId)
703
+ }, beforeTools) : null, /*#__PURE__*/ React.createElement(Suggestion, {
704
+ tagInputProps: _object_spread({
705
+ enable: true,
706
+ type: 'dropdown'
399
707
  }, tagInputProps)
400
- },
401
- /* @__PURE__ */ React.createElement(
402
- "div",
403
- {
404
- ref: inputRef,
405
- className: classNames(baseCls, hashId, props.className, {
406
- [`${baseCls}-disabled`]: props.disabled,
407
- [`${baseCls}-typing`]: false,
408
- [`${baseCls}-loading`]: isLoading,
409
- [`${baseCls}-is-multi-row`]: isMultiRowLayout,
410
- [`${baseCls}-enlarged`]: isEnlarged
411
- }),
412
- style: __spreadProps(__spreadValues(__spreadValues({}, props.style), enlargedStyle), {
413
- height: isEnlarged ? `${(_m = (_l = props.enlargeable) == null ? void 0 : _l.height) != null ? _m : 980}px` : `min(${collapsedHeightPx}px,100%)`,
708
+ }, /*#__PURE__*/ React.createElement("div", {
709
+ ref: inputRef,
710
+ className: classNames(baseCls, hashId, props.className, (_obj = {}, _define_property(_obj, "".concat(baseCls, "-disabled"), props.disabled), _define_property(_obj, "".concat(baseCls, "-typing"), false), _define_property(_obj, "".concat(baseCls, "-loading"), isLoading), _define_property(_obj, "".concat(baseCls, "-is-multi-row"), isMultiRowLayout), _define_property(_obj, "".concat(baseCls, "-enlarged"), isEnlarged), _obj)),
711
+ style: _object_spread_props(_object_spread({}, props.style, enlargedStyle), {
712
+ height: isEnlarged ? "".concat((_props_enlargeable_height = (_props_enlargeable1 = props.enlargeable) === null || _props_enlargeable1 === void 0 ? void 0 : _props_enlargeable1.height) !== null && _props_enlargeable_height !== void 0 ? _props_enlargeable_height : 980, "px") : "min(".concat(collapsedHeightPx, "px,100%)"),
414
713
  borderRadius: borderRadius || 16,
415
714
  minHeight: computedMinHeight,
416
- cursor: isLoading || props.disabled ? "not-allowed" : "auto",
715
+ cursor: isLoading || props.disabled ? 'not-allowed' : 'auto',
417
716
  opacity: props.disabled ? 0.5 : 1,
418
- maxHeight: isEnlarged ? "none" : `min(${collapsedHeightPx}px,100%)`,
419
- transition: "height, max-height 0.3s,border-radius 0.3s,box-shadow 0.3s,transform 0.3s,opacity 0.3s,background 0.3s"
420
- }),
421
- tabIndex: 1,
422
- onMouseEnter: () => setHover(true),
423
- onMouseLeave: () => setHover(false),
424
- onKeyDown: handleKeyDown
717
+ maxHeight: isEnlarged ? 'none' : "min(".concat(collapsedHeightPx, "px,100%)"),
718
+ transition: 'height, max-height 0.3s,border-radius 0.3s,box-shadow 0.3s,transform 0.3s,opacity 0.3s,background 0.3s'
719
+ }),
720
+ tabIndex: 1,
721
+ onMouseEnter: function() {
722
+ return setHover(true);
425
723
  },
426
- /* @__PURE__ */ React.createElement(
427
- "div",
428
- {
429
- style: {
430
- display: "flex",
431
- flexDirection: "column",
432
- borderTopLeftRadius: "inherit",
433
- borderTopRightRadius: "inherit",
434
- maxHeight: isEnlarged ? "none" : (() => {
435
- var _a3, _b3;
436
- const mh = (_a3 = props.style) == null ? void 0 : _a3.maxHeight;
437
- const base = typeof mh === "number" ? mh : mh ? parseFloat(String(mh)) || 400 : 400;
438
- const extra = ((_b3 = props.attachment) == null ? void 0 : _b3.enable) ? 90 : 0;
439
- return `min(${base + extra}px)`;
440
- })(),
441
- height: isEnlarged ? "100%" : "auto",
442
- flex: 1
443
- },
444
- className: classNames(`${baseCls}-editor`, hashId, {
445
- [`${baseCls}-editor-hover`]: isHover,
446
- [`${baseCls}-editor-disabled`]: props.disabled
447
- })
448
- },
449
- /* @__PURE__ */ React.createElement(
450
- SkillModeBar,
451
- {
452
- skillMode: props.skillMode,
453
- onSkillModeOpenChange: props.onSkillModeOpenChange
454
- }
455
- ),
456
- /* @__PURE__ */ React.createElement("div", { className: classNames(`${baseCls}-editor-content`, hashId) }, attachmentList, /* @__PURE__ */ React.createElement(
457
- BaseMarkdownEditor,
458
- __spreadValues({
459
- editorRef: markdownEditorRef,
460
- leafRender: props.leafRender,
461
- style: {
462
- width: "100%",
463
- flex: 1,
464
- padding: 0,
465
- paddingRight: computedRightPadding
466
- },
467
- toolBar: {
468
- enable: false
469
- },
470
- floatBar: {
471
- enable: false
472
- },
473
- readonly: isLoading,
474
- contentStyle: {
475
- padding: "var(--padding-3x)"
476
- },
477
- textAreaProps: {
478
- enable: true,
479
- placeholder: props.placeholder,
480
- triggerSendKey: props.triggerSendKey || "Enter"
481
- },
482
- tagInputProps: __spreadValues({
483
- enable: true,
484
- type: "dropdown"
485
- }, tagInputProps),
486
- initValue: props.value,
487
- onChange: (value2) => {
488
- var _a3;
489
- setValue(value2);
490
- (_a3 = props.onChange) == null ? void 0 : _a3.call(props, value2);
491
- },
492
- onFocus: (value2, schema, e) => {
493
- onFocus == null ? void 0 : onFocus(value2, schema, e);
494
- activeInput(true);
495
- },
496
- onBlur: (value2, schema, e) => {
497
- onBlur == null ? void 0 : onBlur(value2, schema, e);
498
- activeInput(false);
499
- },
500
- onPaste: (e) => {
501
- handlePaste(e);
502
- },
503
- titlePlaceholderContent: props.placeholder,
504
- toc: false,
505
- pasteConfig: props.pasteConfig
506
- }, markdownProps)
507
- ))
508
- ),
509
- props.toolsRender ? /* @__PURE__ */ React.createElement(
510
- "div",
511
- {
512
- style: {
513
- backgroundColor: "#fff",
514
- display: "flex",
515
- boxSizing: "border-box",
516
- borderRadius: "inherit",
517
- flexDirection: "row",
518
- alignItems: "center",
519
- justifyContent: "space-between",
520
- gap: 8,
521
- width: "100%",
522
- paddingRight: "var(--padding-3x)",
523
- paddingLeft: "var(--padding-3x)",
524
- paddingBottom: "var(--padding-3x)"
525
- }
526
- },
527
- /* @__PURE__ */ React.createElement(
528
- "div",
529
- {
530
- ref: actionsRef,
531
- contentEditable: false,
532
- className: classNames(`${baseCls}-send-tools`, hashId)
533
- },
534
- props.toolsRender(__spreadProps(__spreadValues({
535
- value,
536
- fileMap,
537
- onFileMapChange: setFileMap
538
- }, props), {
539
- isHover,
540
- isLoading,
541
- fileUploadStatus: fileUploadDone ? "done" : "uploading"
542
- }))
543
- ),
544
- sendActionsNode
545
- ) : sendActionsNode,
546
- (props == null ? void 0 : props.quickActionRender) || ((_n = props.refinePrompt) == null ? void 0 : _n.enable) || ((_o = props.enlargeable) == null ? void 0 : _o.enable) ? /* @__PURE__ */ React.createElement(
547
- QuickActions,
548
- {
549
- ref: quickActionsRef,
550
- value,
551
- fileMap,
552
- onFileMapChange: setFileMap,
553
- isHover,
554
- isLoading,
555
- disabled: props.disabled,
556
- fileUploadStatus: fileUploadDone ? "done" : "uploading",
557
- refinePrompt: props.refinePrompt,
558
- editorRef: markdownEditorRef,
559
- onValueChange: (text) => {
560
- var _a3;
561
- setValue(text);
562
- (_a3 = props.onChange) == null ? void 0 : _a3.call(props, text);
563
- },
564
- quickActionRender: props.quickActionRender,
565
- prefixCls: baseCls,
566
- hashId,
567
- enlargeable: !!((_p = props.enlargeable) == null ? void 0 : _p.enable),
568
- isEnlarged,
569
- onEnlargeClick: handleEnlargeClick,
570
- onResize: (width, rightOffset) => {
571
- setTopRightPadding(width);
572
- setQuickRightOffset(rightOffset);
573
- }
574
- }
575
- ) : null
576
- )
577
- ))
578
- );
579
- };
580
- export {
581
- MarkdownInputField
724
+ onMouseLeave: function() {
725
+ return setHover(false);
726
+ },
727
+ onKeyDown: handleKeyDown
728
+ }, /*#__PURE__*/ React.createElement("div", {
729
+ style: {
730
+ display: 'flex',
731
+ flexDirection: 'column',
732
+ borderTopLeftRadius: 'inherit',
733
+ borderTopRightRadius: 'inherit',
734
+ maxHeight: isEnlarged ? 'none' : function() {
735
+ var _props_style, _props_attachment;
736
+ var mh = (_props_style = props.style) === null || _props_style === void 0 ? void 0 : _props_style.maxHeight;
737
+ var base = typeof mh === 'number' ? mh : mh ? parseFloat(String(mh)) || 400 : 400;
738
+ var extra = ((_props_attachment = props.attachment) === null || _props_attachment === void 0 ? void 0 : _props_attachment.enable) ? 90 : 0;
739
+ return "min(".concat(base + extra, "px)");
740
+ }(),
741
+ height: isEnlarged ? '100%' : 'auto',
742
+ flex: 1
743
+ },
744
+ className: classNames("".concat(baseCls, "-editor"), hashId, (_obj1 = {}, _define_property(_obj1, "".concat(baseCls, "-editor-hover"), isHover), _define_property(_obj1, "".concat(baseCls, "-editor-disabled"), props.disabled), _obj1))
745
+ }, /*#__PURE__*/ React.createElement(SkillModeBar, {
746
+ skillMode: props.skillMode,
747
+ onSkillModeOpenChange: props.onSkillModeOpenChange
748
+ }), /*#__PURE__*/ React.createElement("div", {
749
+ className: classNames("".concat(baseCls, "-editor-content"), hashId)
750
+ }, attachmentList, /*#__PURE__*/ React.createElement(BaseMarkdownEditor, _object_spread({
751
+ editorRef: markdownEditorRef,
752
+ leafRender: props.leafRender,
753
+ style: {
754
+ width: '100%',
755
+ flex: 1,
756
+ padding: 0,
757
+ paddingRight: computedRightPadding
758
+ },
759
+ toolBar: {
760
+ enable: false
761
+ },
762
+ floatBar: {
763
+ enable: false
764
+ },
765
+ readonly: isLoading,
766
+ contentStyle: {
767
+ padding: 'var(--padding-3x)'
768
+ },
769
+ textAreaProps: {
770
+ enable: true,
771
+ placeholder: props.placeholder,
772
+ triggerSendKey: props.triggerSendKey || 'Enter'
773
+ },
774
+ tagInputProps: _object_spread({
775
+ enable: true,
776
+ type: 'dropdown'
777
+ }, tagInputProps),
778
+ initValue: props.value,
779
+ onChange: function(value) {
780
+ var _props_onChange;
781
+ setValue(value);
782
+ (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, value);
783
+ },
784
+ onFocus: function(value, schema, e) {
785
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(value, schema, e);
786
+ activeInput(true);
787
+ },
788
+ onBlur: function(value, schema, e) {
789
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(value, schema, e);
790
+ activeInput(false);
791
+ },
792
+ onPaste: function(e) {
793
+ handlePaste(e);
794
+ },
795
+ titlePlaceholderContent: props.placeholder,
796
+ toc: false,
797
+ pasteConfig: props.pasteConfig
798
+ }, markdownProps)))), props.toolsRender ? /*#__PURE__*/ React.createElement("div", {
799
+ style: {
800
+ backgroundColor: '#fff',
801
+ display: 'flex',
802
+ boxSizing: 'border-box',
803
+ borderRadius: 'inherit',
804
+ flexDirection: 'row',
805
+ alignItems: 'center',
806
+ justifyContent: 'space-between',
807
+ gap: 8,
808
+ width: '100%',
809
+ paddingRight: 'var(--padding-3x)',
810
+ paddingLeft: 'var(--padding-3x)',
811
+ paddingBottom: 'var(--padding-3x)'
812
+ }
813
+ }, /*#__PURE__*/ React.createElement("div", {
814
+ ref: actionsRef,
815
+ contentEditable: false,
816
+ className: classNames("".concat(baseCls, "-send-tools"), hashId)
817
+ }, props.toolsRender(_object_spread_props(_object_spread({
818
+ value: value,
819
+ fileMap: fileMap,
820
+ onFileMapChange: setFileMap
821
+ }, props), {
822
+ isHover: isHover,
823
+ isLoading: isLoading,
824
+ fileUploadStatus: fileUploadDone ? 'done' : 'uploading'
825
+ }))), sendActionsNode) : sendActionsNode, (props === null || props === void 0 ? void 0 : props.quickActionRender) || ((_props_refinePrompt1 = props.refinePrompt) === null || _props_refinePrompt1 === void 0 ? void 0 : _props_refinePrompt1.enable) || ((_props_enlargeable2 = props.enlargeable) === null || _props_enlargeable2 === void 0 ? void 0 : _props_enlargeable2.enable) ? /*#__PURE__*/ React.createElement(QuickActions, {
826
+ ref: quickActionsRef,
827
+ value: value,
828
+ fileMap: fileMap,
829
+ onFileMapChange: setFileMap,
830
+ isHover: isHover,
831
+ isLoading: isLoading,
832
+ disabled: props.disabled,
833
+ fileUploadStatus: fileUploadDone ? 'done' : 'uploading',
834
+ refinePrompt: props.refinePrompt,
835
+ editorRef: markdownEditorRef,
836
+ onValueChange: function(text) {
837
+ var _props_onChange;
838
+ setValue(text);
839
+ (_props_onChange = props.onChange) === null || _props_onChange === void 0 ? void 0 : _props_onChange.call(props, text);
840
+ },
841
+ quickActionRender: props.quickActionRender,
842
+ prefixCls: baseCls,
843
+ hashId: hashId,
844
+ enlargeable: !!((_props_enlargeable3 = props.enlargeable) === null || _props_enlargeable3 === void 0 ? void 0 : _props_enlargeable3.enable),
845
+ isEnlarged: isEnlarged,
846
+ onEnlargeClick: handleEnlargeClick,
847
+ onResize: function(width, rightOffset) {
848
+ setTopRightPadding(width);
849
+ setQuickRightOffset(rightOffset);
850
+ }
851
+ }) : null))));
582
852
  };