@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,483 +1,772 @@
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 _array_without_holes(arr) {
10
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
11
+ }
12
+ function _define_property(obj, key, value) {
13
+ if (key in obj) {
14
+ Object.defineProperty(obj, key, {
15
+ value: value,
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true
19
+ });
20
+ } else {
21
+ obj[key] = value;
16
22
  }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
-
21
- // src/MarkdownEditor/editor/plugins/withMarkdown.ts
23
+ return obj;
24
+ }
25
+ function _iterable_to_array(iter) {
26
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
27
+ }
28
+ function _iterable_to_array_limit(arr, i) {
29
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
30
+ if (_i == null) return;
31
+ var _arr = [];
32
+ var _n = true;
33
+ var _d = false;
34
+ var _s, _e;
35
+ try {
36
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
37
+ _arr.push(_s.value);
38
+ if (i && _arr.length === i) break;
39
+ }
40
+ } catch (err) {
41
+ _d = true;
42
+ _e = err;
43
+ } finally{
44
+ try {
45
+ if (!_n && _i["return"] != null) _i["return"]();
46
+ } finally{
47
+ if (_d) throw _e;
48
+ }
49
+ }
50
+ return _arr;
51
+ }
52
+ function _non_iterable_rest() {
53
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
54
+ }
55
+ function _non_iterable_spread() {
56
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
+ }
58
+ function _object_spread(target) {
59
+ for(var i = 1; i < arguments.length; i++){
60
+ var source = arguments[i] != null ? arguments[i] : {};
61
+ var ownKeys = Object.keys(source);
62
+ if (typeof Object.getOwnPropertySymbols === "function") {
63
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
+ }));
66
+ }
67
+ ownKeys.forEach(function(key) {
68
+ _define_property(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
73
+ function ownKeys(object, enumerableOnly) {
74
+ var keys = Object.keys(object);
75
+ if (Object.getOwnPropertySymbols) {
76
+ var symbols = Object.getOwnPropertySymbols(object);
77
+ if (enumerableOnly) {
78
+ symbols = symbols.filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
80
+ });
81
+ }
82
+ keys.push.apply(keys, symbols);
83
+ }
84
+ return keys;
85
+ }
86
+ function _object_spread_props(target, source) {
87
+ source = source != null ? source : {};
88
+ if (Object.getOwnPropertyDescriptors) {
89
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
90
+ } else {
91
+ ownKeys(Object(source)).forEach(function(key) {
92
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
93
+ });
94
+ }
95
+ return target;
96
+ }
97
+ function _sliced_to_array(arr, i) {
98
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
99
+ }
100
+ function _to_consumable_array(arr) {
101
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
102
+ }
103
+ function _unsupported_iterable_to_array(o, minLen) {
104
+ if (!o) return;
105
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
106
+ var n = Object.prototype.toString.call(o).slice(8, -1);
107
+ if (n === "Object" && o.constructor) n = o.constructor.name;
108
+ if (n === "Map" || n === "Set") return Array.from(n);
109
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
110
+ }
22
111
  import { Editor, Node, Path, Range, Transforms } from "slate";
23
112
  import { ReactEditor } from "slate-react";
24
- var inlineNode = /* @__PURE__ */ new Set(["break"]);
25
- var voidNode = /* @__PURE__ */ new Set(["hr", "break"]);
113
+ export var inlineNode = new Set([
114
+ 'break'
115
+ ]);
116
+ var voidNode = new Set([
117
+ 'hr',
118
+ 'break'
119
+ ]);
26
120
  function hasRange(editor, range) {
27
- const { anchor, focus } = range;
28
- return Editor.hasPath(editor, anchor.path) && Editor.hasPath(editor, focus.path);
121
+ var anchor = range.anchor, focus = range.focus;
122
+ return Editor.hasPath(editor, anchor.path) && Editor.hasPath(editor, focus.path);
29
123
  }
30
- var clearCardAreaText = (editor, path) => {
31
- try {
32
- const node = Node.get(editor, path);
33
- if (node) {
34
- try {
35
- const domNode = ReactEditor.toDOMNode(editor, node);
36
- if (domNode) {
37
- const zeroWidthNode = domNode == null ? void 0 : domNode.querySelector(
38
- "[data-slate-zero-width]"
39
- );
40
- if (zeroWidthNode) {
41
- zeroWidthNode.textContent = "\uFEFF";
42
- }
124
+ /**
125
+ * 清空卡片区域的文本内容 - 使用零宽字符替换
126
+ * @param editor - Slate编辑器实例
127
+ * @param path - 要清空的节点路径
128
+ */ var clearCardAreaText = function(editor, path) {
129
+ try {
130
+ var node = Node.get(editor, path);
131
+ if (node) {
132
+ // 尝试直接DOM操作,设置为零宽字符
133
+ try {
134
+ var domNode = ReactEditor.toDOMNode(editor, node);
135
+ if (domNode) {
136
+ var zeroWidthNode = domNode === null || domNode === void 0 ? void 0 : domNode.querySelector('[data-slate-zero-width]');
137
+ if (zeroWidthNode) {
138
+ zeroWidthNode.textContent = '\uFEFF';
139
+ }
140
+ }
141
+ } catch (domError) {
142
+ // DOM operation failed, falling back to Slate transforms
143
+ }
43
144
  }
44
- } catch (domError) {
45
- }
145
+ } catch (error) {
146
+ // 如果操作失败,忽略错误
46
147
  }
47
- } catch (error) {
48
- }
49
148
  };
50
- var isCardEmpty = (cardNode) => {
51
- if (!cardNode || cardNode.type !== "card" || !cardNode.children) {
52
- return false;
53
- }
54
- const contentNodes = cardNode.children.filter(
55
- (child) => child.type !== "card-before" && child.type !== "card-after"
56
- );
57
- if (contentNodes.length === 0) {
58
- return true;
59
- }
60
- return contentNodes.every((node) => {
61
- if (!node.children || node.children.length === 0) {
62
- return true;
149
+ /**
150
+ * 检查卡片是否为空
151
+ * @param cardNode - 卡片节点
152
+ * @returns 如果卡片为空则返回true
153
+ */ var isCardEmpty = function(cardNode) {
154
+ if (!cardNode || cardNode.type !== 'card' || !cardNode.children) {
155
+ return false;
63
156
  }
64
- return node.children.every((child) => {
65
- return child.text === "" || child.text && child.text.trim() === "";
157
+ // 查找实际内容节点(非card-before和card-after的节点)
158
+ var contentNodes = cardNode.children.filter(function(child) {
159
+ return child.type !== 'card-before' && child.type !== 'card-after';
66
160
  });
67
- });
68
- };
69
- var handleCardOperation = (editor, operation, apply) => {
70
- if (operation.type === "remove_node") {
71
- const { node } = operation;
72
- if (node.type === "card") {
73
- apply(operation);
74
- return true;
75
- }
76
- if (node.type === "card-after") {
77
- Transforms.removeNodes(editor, {
78
- at: Path.parent(operation.path)
79
- });
80
- return true;
81
- }
82
- if (node.type === "card-before") {
83
- return true;
161
+ // 如果没有内容节点,则为空
162
+ if (contentNodes.length === 0) {
163
+ return true;
84
164
  }
85
- if (operation.path && operation.path.length > 0) {
86
- try {
87
- const parentPath = Path.parent(operation.path);
88
- const parentNode = Node.get(editor, parentPath);
89
- if (parentNode && parentNode.type === "card" && isCardEmpty(parentNode)) {
90
- Transforms.removeNodes(editor, {
91
- at: parentPath
92
- });
93
- return true;
165
+ // 检查内容节点是否为空
166
+ return contentNodes.every(function(node) {
167
+ if (!node.children || node.children.length === 0) {
168
+ return true;
169
+ }
170
+ // 检查是否只包含空文本
171
+ return node.children.every(function(child) {
172
+ return child.text === '' || child.text && child.text.trim() === '';
173
+ });
174
+ });
175
+ };
176
+ /**
177
+ * 处理卡片相关节点的操作
178
+ *
179
+ * @param editor - Slate编辑器实例
180
+ * @param operation - 要处理的操作
181
+ * @param apply - 原始的apply函数
182
+ * @returns 如果操作被处理则返回true,否则返回false
183
+ *
184
+ * @description
185
+ * 处理以下卡片相关操作:
186
+ * - 删除卡片节点 (remove_node),包括card、card-before和card-after
187
+ * - 在卡片后插入文本 (insert_text)
188
+ * - 在卡片内插入节点 (insert_node)
189
+ * - 检查并删除空卡片
190
+ */ var handleCardOperation = function(editor, operation, apply) {
191
+ if (operation.type === 'remove_node') {
192
+ var node = operation.node;
193
+ // 删除card时,直接删除整个卡片
194
+ if (node.type === 'card') {
195
+ // 直接执行原始操作,避免递归
196
+ apply(operation);
197
+ return true;
198
+ }
199
+ // 删除card-after时,删除整个卡片
200
+ if (node.type === 'card-after') {
201
+ Transforms.removeNodes(editor, {
202
+ at: Path.parent(operation.path)
203
+ });
204
+ return true;
205
+ }
206
+ // 删除card-before时,阻止操作
207
+ if (node.type === 'card-before') {
208
+ return true;
209
+ }
210
+ // 检查操作后的父级是否为空卡片,如果是则删除
211
+ if (operation.path && operation.path.length > 0) {
212
+ try {
213
+ var parentPath = Path.parent(operation.path);
214
+ var parentNode = Node.get(editor, parentPath);
215
+ if (parentNode && parentNode.type === 'card' && isCardEmpty(parentNode)) {
216
+ Transforms.removeNodes(editor, {
217
+ at: parentPath
218
+ });
219
+ return true;
220
+ }
221
+ } catch (error) {
222
+ // 如果无法获取父节点,忽略错误
223
+ }
94
224
  }
95
- } catch (error) {
96
- }
97
225
  }
98
- }
99
- if (operation.type === "insert_text") {
100
- try {
101
- const parentNode = Node.get(editor, Path.parent(operation.path));
102
- if (parentNode.type === "card-before") {
103
- return true;
104
- }
105
- if (parentNode.type === "card-after") {
226
+ if (operation.type === 'insert_text') {
106
227
  try {
107
- const grandParentPath = Path.parent(Path.parent(operation.path));
108
- const grandParentNode = Node.get(editor, grandParentPath);
109
- if (grandParentNode.type === "card") {
110
- Editor.withoutNormalizing(editor, () => {
111
- Transforms.insertNodes(
112
- editor,
113
- {
114
- type: "paragraph",
115
- children: [{ text: operation.text }]
116
- },
117
- {
118
- at: Path.next(grandParentPath)
228
+ var parentNode1 = Node.get(editor, Path.parent(operation.path));
229
+ // card-before 不允许任何文本输入
230
+ if (parentNode1.type === 'card-before') {
231
+ return true; // 阻止输入
232
+ }
233
+ // card-after 的输入会插入到卡片后面的新段落中
234
+ if (parentNode1.type === 'card-after') {
235
+ try {
236
+ var grandParentPath = Path.parent(Path.parent(operation.path));
237
+ var grandParentNode = Node.get(editor, grandParentPath);
238
+ if (grandParentNode.type === 'card') {
239
+ // 使用 Editor.withoutNormalizing 确保操作的原子性
240
+ Editor.withoutNormalizing(editor, function() {
241
+ // 先创建新段落
242
+ Transforms.insertNodes(editor, {
243
+ type: 'paragraph',
244
+ children: [
245
+ {
246
+ text: operation.text
247
+ }
248
+ ]
249
+ }, {
250
+ at: Path.next(grandParentPath)
251
+ });
252
+ // 然后选中新创建的段落
253
+ var newParagraphPath = Path.next(grandParentPath);
254
+ var textPath = _to_consumable_array(newParagraphPath).concat([
255
+ 0
256
+ ]);
257
+ Transforms.select(editor, {
258
+ anchor: {
259
+ path: textPath,
260
+ offset: operation.text.length
261
+ },
262
+ focus: {
263
+ path: textPath,
264
+ offset: operation.text.length
265
+ }
266
+ });
267
+ clearCardAreaText(editor, operation.path);
268
+ });
269
+ return true;
270
+ }
271
+ } catch (error) {
272
+ // 如果获取父级节点失败,继续阻止输入
119
273
  }
120
- );
121
- const newParagraphPath = Path.next(grandParentPath);
122
- const textPath = [...newParagraphPath, 0];
123
- Transforms.select(editor, {
124
- anchor: { path: textPath, offset: operation.text.length },
125
- focus: { path: textPath, offset: operation.text.length }
126
- });
127
- clearCardAreaText(editor, operation.path);
128
- });
129
- return true;
130
- }
274
+ return true;
275
+ }
131
276
  } catch (error) {
277
+ // 如果无法获取父节点,允许操作继续
132
278
  }
133
- return true;
134
- }
135
- } catch (error) {
136
- }
137
- }
138
- if (operation.type === "insert_node") {
139
- const parentNode = Node.get(editor, Path.parent(operation.path));
140
- if (parentNode.type === "card-before") {
141
- return true;
142
279
  }
143
- if (parentNode.type === "card-after") {
144
- if (Node.get(editor, Path.parent(Path.parent(operation.path))).type === "card") {
145
- const cardPath = Path.parent(Path.parent(operation.path));
146
- Transforms.insertNodes(editor, operation.node, {
147
- at: Path.next(cardPath)
148
- });
149
- return true;
150
- }
151
- Transforms.insertNodes(editor, operation.node, {
152
- at: Path.parent(operation.path)
153
- });
154
- return true;
280
+ if (operation.type === 'insert_node') {
281
+ var parentNode2 = Node.get(editor, Path.parent(operation.path));
282
+ // card-before 不允许任何节点插入
283
+ if (parentNode2.type === 'card-before') {
284
+ return true; // 阻止插入
285
+ }
286
+ // card-after 的节点插入会放到卡片后面
287
+ if (parentNode2.type === 'card-after') {
288
+ if (Node.get(editor, Path.parent(Path.parent(operation.path))).type === 'card') {
289
+ var cardPath = Path.parent(Path.parent(operation.path));
290
+ Transforms.insertNodes(editor, operation.node, {
291
+ at: Path.next(cardPath)
292
+ });
293
+ return true;
294
+ }
295
+ Transforms.insertNodes(editor, operation.node, {
296
+ at: Path.parent(operation.path)
297
+ });
298
+ return true;
299
+ }
155
300
  }
156
- }
157
- return false;
301
+ // 对于删除文本操作,我们需要在操作执行后检查卡片是否变空
302
+ // 这将在 editor.apply 的最后处理
303
+ return false;
158
304
  };
159
- var handleLinkAndMediaOperation = (editor, operation) => {
160
- var _a, _b;
161
- if (operation.type === "split_node" && (((_a = operation.properties) == null ? void 0 : _a.type) === "link-card" || ((_b = operation.properties) == null ? void 0 : _b.type) === "media")) {
162
- const node = Node.get(editor, operation.path);
163
- if (["link-card", "media"].includes(node == null ? void 0 : node.type)) {
164
- Transforms.insertNodes(
165
- editor,
166
- [
167
- {
168
- type: "paragraph",
169
- children: [{ text: "", p: "true" }]
170
- }
171
- ],
172
- {
173
- at: Path.next([operation.path.at(0)]),
174
- select: true
305
+ /**
306
+ * 处理链接卡片和媒体相关节点的操作
307
+ *
308
+ * @param editor - Slate编辑器实例
309
+ * @param operation - 要处理的操作
310
+ * @param apply - 原始的apply函数
311
+ * @returns 如果操作被处理则返回true,否则返回false
312
+ *
313
+ * @description
314
+ * 处理以下链接和媒体相关操作:
315
+ * - 拆分链接卡片或媒体节点 (split_node)
316
+ * - 删除链接卡片内的节点 (remove_node)
317
+ */ var handleLinkAndMediaOperation = function(editor, operation) {
318
+ var _operation_properties, _operation_properties1;
319
+ if (operation.type === 'split_node' && (((_operation_properties = operation.properties) === null || _operation_properties === void 0 ? void 0 : _operation_properties.type) === 'link-card' || ((_operation_properties1 = operation.properties) === null || _operation_properties1 === void 0 ? void 0 : _operation_properties1.type) === 'media')) {
320
+ var node = Node.get(editor, operation.path);
321
+ if ([
322
+ 'link-card',
323
+ 'media'
324
+ ].includes(node === null || node === void 0 ? void 0 : node.type)) {
325
+ Transforms.insertNodes(editor, [
326
+ {
327
+ type: 'paragraph',
328
+ children: [
329
+ {
330
+ text: '',
331
+ p: 'true'
332
+ }
333
+ ]
334
+ }
335
+ ], {
336
+ at: Path.next([
337
+ operation.path.at(0)
338
+ ]),
339
+ select: true
340
+ });
175
341
  }
176
- );
177
- }
178
- return true;
179
- }
180
- if (operation.type === "remove_node") {
181
- const parentNode = Node.get(editor, Path.parent(operation.path));
182
- if ("link-card" === parentNode.type) {
183
- Transforms.removeNodes(editor, {
184
- at: Path.parent(operation.path)
185
- });
186
- return true;
342
+ return true;
187
343
  }
188
- }
189
- return false;
190
- };
191
- var handleSchemaOperation = (editor, operation) => {
192
- var _a;
193
- if (operation.type === "split_node" && ((_a = operation.properties) == null ? void 0 : _a.type) === "schema") {
194
- const node = Node.get(editor, operation.path);
195
- if ((node == null ? void 0 : node.type) === "schema") {
196
- Transforms.insertNodes(
197
- editor,
198
- [
199
- {
200
- type: "paragraph",
201
- children: [{ text: "", p: "true" }]
202
- }
203
- ],
204
- {
205
- at: Path.next(operation.path),
206
- select: true
344
+ if (operation.type === 'remove_node') {
345
+ var parentNode = Node.get(editor, Path.parent(operation.path));
346
+ if ('link-card' === parentNode.type) {
347
+ Transforms.removeNodes(editor, {
348
+ at: Path.parent(operation.path)
349
+ });
350
+ return true;
207
351
  }
208
- );
209
352
  }
210
- return true;
211
- }
212
- return false;
353
+ return false;
213
354
  };
214
- var handleCodeTagOperation = (editor, operation, apply) => {
215
- var _a, _b;
216
- if (operation.type === "remove_text") {
217
- const currentNode = Node.get(editor, operation.path);
218
- if (currentNode == null ? void 0 : currentNode.tag) {
219
- if (((_a = currentNode.text) == null ? void 0 : _a.trim()) === "") {
220
- Editor.withoutNormalizing(editor, () => {
221
- Transforms.setNodes(
222
- editor,
223
- { tag: false, code: false, text: " ", triggerText: void 0 },
224
- { at: operation.path }
225
- );
226
- });
227
- return true;
228
- }
229
- if (currentNode.text === operation.text) {
230
- Editor.withoutNormalizing(editor, () => {
231
- Transforms.removeNodes(editor, { at: operation.path });
232
- Transforms.insertNodes(
233
- editor,
234
- __spreadProps(__spreadValues({}, currentNode), { tag: true, code: true, text: " " }),
235
- { at: operation.path, select: true }
236
- );
237
- });
355
+ /**
356
+ * 处理schema相关节点的操作
357
+ *
358
+ * @param editor - Slate编辑器实例
359
+ * @param operation - 要处理的操作
360
+ * @param apply - 原始的apply函数
361
+ * @returns 如果操作被处理则返回true,否则返回false
362
+ *
363
+ * @description
364
+ * 处理以下schema相关操作:
365
+ * - 拆分schema节点 (split_node),在拆分点之后插入新的段落节点
366
+ */ var handleSchemaOperation = function(editor, operation) {
367
+ var _operation_properties;
368
+ if (operation.type === 'split_node' && ((_operation_properties = operation.properties) === null || _operation_properties === void 0 ? void 0 : _operation_properties.type) === 'schema') {
369
+ var node = Node.get(editor, operation.path);
370
+ if ((node === null || node === void 0 ? void 0 : node.type) === 'schema') {
371
+ Transforms.insertNodes(editor, [
372
+ {
373
+ type: 'paragraph',
374
+ children: [
375
+ {
376
+ text: '',
377
+ p: 'true'
378
+ }
379
+ ]
380
+ }
381
+ ], {
382
+ at: Path.next(operation.path),
383
+ select: true
384
+ });
385
+ }
238
386
  return true;
239
- }
240
- apply(operation);
241
- return true;
242
387
  }
243
- }
244
- if (operation.type === "insert_text") {
245
- const currentNode = Node.get(editor, operation.path);
246
- if ((currentNode == null ? void 0 : currentNode.tag) && operation.text === " " && ((_b = editor.selection) == null ? void 0 : _b.focus.offset) === currentNode.text.length) {
247
- const lastChar = currentNode.text.charAt(currentNode.text.length - 1);
248
- if (lastChar === " ") {
249
- Transforms.insertNodes(editor, [{ text: " " }]);
250
- return true;
251
- }
388
+ return false;
389
+ };
390
+ /**
391
+ * 处理代码和标签相关节点的操作
392
+ *
393
+ * @param editor - Slate编辑器实例
394
+ * @param operation - 要处理的操作
395
+ * @param apply - 原始的apply函数
396
+ * @returns 如果操作被处理则返回true,否则返回false
397
+ *
398
+ * @description
399
+ * 处理以下代码和标签相关操作:
400
+ * - 删除文本 (remove_text),处理特殊触发文本和空标签
401
+ * - 删除节点 (remove_node),处理代码块周围的空格
402
+ * - 插入文本 (insert_text),处理代码块中的空格插入
403
+ */ var handleCodeTagOperation = function(editor, operation, apply) {
404
+ if (operation.type === 'remove_text') {
405
+ var currentNode = Node.get(editor, operation.path);
406
+ if (currentNode === null || currentNode === void 0 ? void 0 : currentNode.tag) {
407
+ var _currentNode_text;
408
+ // 处理空标签的删除
409
+ if (((_currentNode_text = currentNode.text) === null || _currentNode_text === void 0 ? void 0 : _currentNode_text.trim()) === '') {
410
+ Editor.withoutNormalizing(editor, function() {
411
+ Transforms.setNodes(editor, {
412
+ tag: false,
413
+ code: false,
414
+ text: ' ',
415
+ triggerText: undefined
416
+ }, {
417
+ at: operation.path
418
+ });
419
+ });
420
+ return true;
421
+ }
422
+ if (currentNode.text === operation.text) {
423
+ Editor.withoutNormalizing(editor, function() {
424
+ Transforms.removeNodes(editor, {
425
+ at: operation.path
426
+ });
427
+ Transforms.insertNodes(editor, _object_spread_props(_object_spread({}, currentNode), {
428
+ tag: true,
429
+ code: true,
430
+ text: ' '
431
+ }), {
432
+ at: operation.path,
433
+ select: true
434
+ });
435
+ });
436
+ return true;
437
+ }
438
+ // 光标在 tag 内部,执行原始的删除操作
439
+ apply(operation);
440
+ return true;
441
+ }
252
442
  }
253
- if ((currentNode == null ? void 0 : currentNode.tag) && operation.text.trim().length > 0 && currentNode.text.trim().length === 0) {
254
- Editor.withoutNormalizing(editor, () => {
255
- Transforms.removeNodes(editor, { at: operation.path });
256
- Transforms.insertNodes(
257
- editor,
258
- __spreadProps(__spreadValues({}, currentNode), { tag: true, code: true, text: operation.text }),
259
- { at: operation.path, select: true }
260
- );
261
- });
262
- return true;
443
+ if (operation.type === 'insert_text') {
444
+ var _editor_selection;
445
+ var currentNode1 = Node.get(editor, operation.path);
446
+ if ((currentNode1 === null || currentNode1 === void 0 ? void 0 : currentNode1.tag) && operation.text === ' ' && ((_editor_selection = editor.selection) === null || _editor_selection === void 0 ? void 0 : _editor_selection.focus.offset) === currentNode1.text.length) {
447
+ // 检查前一个字符是否是空格
448
+ var lastChar = currentNode1.text.charAt(currentNode1.text.length - 1);
449
+ if (lastChar === ' ') {
450
+ // 如果前一个输入是空格,且当前输入也是空格,则插入一个空格到 tag 节点外
451
+ Transforms.insertNodes(editor, [
452
+ {
453
+ text: ' '
454
+ }
455
+ ]);
456
+ return true;
457
+ }
458
+ }
459
+ if ((currentNode1 === null || currentNode1 === void 0 ? void 0 : currentNode1.tag) && operation.text.trim().length > 0 && currentNode1.text.trim().length === 0) {
460
+ Editor.withoutNormalizing(editor, function() {
461
+ Transforms.removeNodes(editor, {
462
+ at: operation.path
463
+ });
464
+ Transforms.insertNodes(editor, _object_spread_props(_object_spread({}, currentNode1), {
465
+ tag: true,
466
+ code: true,
467
+ text: operation.text
468
+ }), {
469
+ at: operation.path,
470
+ select: true
471
+ });
472
+ });
473
+ return true;
474
+ }
263
475
  }
264
- }
265
- if (operation.type === "split_node") {
266
- const node = Node.get(editor, operation.path);
267
- if ((node == null ? void 0 : node.tag) || (node == null ? void 0 : node.code)) {
268
- return true;
476
+ if (operation.type === 'split_node') {
477
+ var node = Node.get(editor, operation.path);
478
+ if ((node === null || node === void 0 ? void 0 : node.tag) || (node === null || node === void 0 ? void 0 : node.code)) {
479
+ return true;
480
+ }
269
481
  }
270
- }
271
- return false;
482
+ return false;
272
483
  };
484
+ // 将所有处理函数放入数组
273
485
  var operationHandlers = [
274
- handleCardOperation,
275
- handleLinkAndMediaOperation,
276
- handleSchemaOperation,
277
- handleCodeTagOperation
486
+ handleCardOperation,
487
+ handleLinkAndMediaOperation,
488
+ handleSchemaOperation,
489
+ handleCodeTagOperation
278
490
  ];
279
- var withMarkdown = (editor) => {
280
- const {
281
- isInline,
282
- isVoid,
283
- apply,
284
- deleteBackward,
285
- insertText,
286
- insertFragment
287
- } = editor;
288
- editor.isInline = (element) => {
289
- return inlineNode.has(element.type) || isInline(element);
290
- };
291
- editor.isVoid = (element) => {
292
- return voidNode.has(element.type) || isVoid(element);
293
- };
294
- editor.apply = (operation) => {
295
- for (const handler of operationHandlers) {
296
- if (handler(editor, operation, apply)) {
297
- return;
298
- }
299
- }
300
- let cardPathsToCheck = [];
301
- if (operation.type === "remove_text" || operation.type === "insert_text") {
302
- if (operation.path && operation.path.length > 0) {
491
+ /**
492
+ * 为Slate编辑器添加Markdown支持的插件函数
493
+ *
494
+ * @param editor - 要扩展的Slate编辑器实例
495
+ * @returns 增强后的编辑器实例,具有Markdown处理能力
496
+ *
497
+ * @description
498
+ * 该插件通过扩展编辑器的基本功能,使其能够处理和渲染Markdown内容:
499
+ * - 扩展`isInline`方法,识别特定的行内元素
500
+ * - 扩展`isVoid`方法,识别特定的空元素
501
+ * - 重写`apply`方法,添加自定义操作处理逻辑
502
+ * - 重写`deleteBackward`方法,处理特殊节点的删除行为
503
+ *
504
+ * 自定义操作处理流程:
505
+ * 1. 按顺序尝试所有专用处理函数(表格、卡片、链接、Schema等)
506
+ * 2. 如果任一处理函数返回true,则操作被消费
507
+ * 3. 否则,调用原始的apply方法处理操作
508
+ */ export var withMarkdown = function(editor) {
509
+ var isInline = editor.isInline, isVoid = editor.isVoid, apply = editor.apply, deleteBackward = editor.deleteBackward, insertText = editor.insertText, insertFragment = editor.insertFragment;
510
+ editor.isInline = function(element) {
511
+ return inlineNode.has(element.type) || isInline(element);
512
+ };
513
+ editor.isVoid = function(element) {
514
+ return voidNode.has(element.type) || isVoid(element);
515
+ };
516
+ editor.apply = function(operation) {
517
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
303
518
  try {
304
- let currentPath = operation.path;
305
- while (currentPath.length > 0) {
306
- const node = Node.get(editor, currentPath);
307
- if (node && node.type === "card") {
308
- cardPathsToCheck.push(currentPath);
309
- break;
519
+ // 依次尝试每个处理函数
520
+ for(var _iterator = operationHandlers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
521
+ var handler = _step.value;
522
+ if (handler(editor, operation, apply)) {
523
+ return;
524
+ }
525
+ }
526
+ } catch (err) {
527
+ _didIteratorError = true;
528
+ _iteratorError = err;
529
+ } finally{
530
+ try {
531
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
532
+ _iterator.return();
533
+ }
534
+ } finally{
535
+ if (_didIteratorError) {
536
+ throw _iteratorError;
537
+ }
310
538
  }
311
- currentPath = Path.parent(currentPath);
312
- }
313
- } catch (error) {
314
- }
315
- }
316
- }
317
- apply(operation);
318
- for (const cardPath of cardPathsToCheck) {
319
- try {
320
- const cardNode = Node.get(editor, cardPath);
321
- if (cardNode && cardNode.type === "card" && isCardEmpty(cardNode)) {
322
- Transforms.removeNodes(editor, {
323
- at: cardPath
324
- });
325
- }
326
- } catch (error) {
327
- }
328
- }
329
- };
330
- editor.insertText = (text) => {
331
- const { selection } = editor;
332
- if (selection && Range.isCollapsed(selection)) {
333
- try {
334
- const node = Node.get(editor, Path.parent(selection.anchor.path));
335
- if (node.type === "card-before") {
336
- return;
337
539
  }
338
- if (node.type === "card-after") {
339
- const grandParentPath = Path.parent(
340
- Path.parent(selection.anchor.path)
341
- );
342
- const grandParent = Node.get(editor, grandParentPath);
343
- if (grandParent.type === "card") {
344
- Editor.withoutNormalizing(editor, () => {
345
- Transforms.insertNodes(
346
- editor,
347
- {
348
- type: "paragraph",
349
- children: [{ text }]
350
- },
351
- {
352
- at: Path.next(grandParentPath)
540
+ // 记录操作前可能涉及的卡片路径,用于操作后检查
541
+ var cardPathsToCheck = [];
542
+ if (operation.type === 'remove_text' || operation.type === 'insert_text') {
543
+ if (operation.path && operation.path.length > 0) {
544
+ try {
545
+ // 向上查找是否在卡片内
546
+ var currentPath = operation.path;
547
+ while(currentPath.length > 0){
548
+ var node = Node.get(editor, currentPath);
549
+ if (node && node.type === 'card') {
550
+ cardPathsToCheck.push(currentPath);
551
+ break;
552
+ }
553
+ currentPath = Path.parent(currentPath);
554
+ }
555
+ } catch (error) {
556
+ // 如果无法获取节点,忽略错误
353
557
  }
354
- );
355
- const newParagraphPath = Path.next(grandParentPath);
356
- const textPath = [...newParagraphPath, 0];
357
- Transforms.select(editor, {
358
- anchor: { path: textPath, offset: text.length },
359
- focus: { path: textPath, offset: text.length }
360
- });
361
- const cardAfterPath = [...grandParentPath, 2, 0];
362
- clearCardAreaText(editor, cardAfterPath);
363
- });
364
- return;
365
- }
558
+ }
366
559
  }
367
- } catch (error) {
368
- }
369
- }
370
- insertText(text);
371
- };
372
- editor.insertFragment = (fragment) => {
373
- const { selection } = editor;
374
- if (selection && Range.isCollapsed(selection)) {
375
- try {
376
- const node = Node.get(editor, Path.parent(selection.anchor.path));
377
- if (node.type === "card-before") {
378
- return;
560
+ // 执行原始操作
561
+ apply(operation);
562
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
563
+ try {
564
+ // 操作执行后,检查涉及的卡片是否变空
565
+ for(var _iterator1 = cardPathsToCheck[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
566
+ var cardPath = _step1.value;
567
+ try {
568
+ var cardNode = Node.get(editor, cardPath);
569
+ if (cardNode && cardNode.type === 'card' && isCardEmpty(cardNode)) {
570
+ Transforms.removeNodes(editor, {
571
+ at: cardPath
572
+ });
573
+ }
574
+ } catch (error) {
575
+ // 如果节点已被删除或不存在,忽略错误
576
+ }
577
+ }
578
+ } catch (err) {
579
+ _didIteratorError1 = true;
580
+ _iteratorError1 = err;
581
+ } finally{
582
+ try {
583
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
584
+ _iterator1.return();
585
+ }
586
+ } finally{
587
+ if (_didIteratorError1) {
588
+ throw _iteratorError1;
589
+ }
590
+ }
379
591
  }
380
- if (node.type === "card-after") {
381
- const grandParentPath = Path.parent(
382
- Path.parent(selection.anchor.path)
383
- );
384
- const grandParent = Node.get(editor, grandParentPath);
385
- if (grandParent.type === "card") {
386
- Transforms.insertNodes(editor, fragment, {
387
- at: Path.next(grandParentPath),
388
- select: true
389
- });
390
- return;
391
- }
592
+ };
593
+ editor.insertText = function(text) {
594
+ var selection = editor.selection;
595
+ if (selection && Range.isCollapsed(selection)) {
596
+ try {
597
+ var node = Node.get(editor, Path.parent(selection.anchor.path));
598
+ // card-before 不允许任何文本输入
599
+ if (node.type === 'card-before') {
600
+ return; // 阻止输入
601
+ }
602
+ // card-after 的输入会插入到卡片后面的新段落中
603
+ if (node.type === 'card-after') {
604
+ var grandParentPath = Path.parent(Path.parent(selection.anchor.path));
605
+ var grandParent = Node.get(editor, grandParentPath);
606
+ if (grandParent.type === 'card') {
607
+ Editor.withoutNormalizing(editor, function() {
608
+ Transforms.insertNodes(editor, {
609
+ type: 'paragraph',
610
+ children: [
611
+ {
612
+ text: text
613
+ }
614
+ ]
615
+ }, {
616
+ at: Path.next(grandParentPath)
617
+ });
618
+ // 选中新创建的段落
619
+ var newParagraphPath = Path.next(grandParentPath);
620
+ var textPath = _to_consumable_array(newParagraphPath).concat([
621
+ 0
622
+ ]);
623
+ Transforms.select(editor, {
624
+ anchor: {
625
+ path: textPath,
626
+ offset: text.length
627
+ },
628
+ focus: {
629
+ path: textPath,
630
+ offset: text.length
631
+ }
632
+ });
633
+ var cardAfterPath = _to_consumable_array(grandParentPath).concat([
634
+ 2,
635
+ 0
636
+ ]);
637
+ clearCardAreaText(editor, cardAfterPath);
638
+ });
639
+ return;
640
+ }
641
+ }
642
+ } catch (error) {
643
+ // 如果无法获取节点,继续原有逻辑
644
+ }
392
645
  }
393
- } catch (error) {
394
- }
395
- }
396
- insertFragment(fragment);
397
- };
398
- editor.deleteBackward = (unit) => {
399
- var _a, _b, _c, _d, _e, _f;
400
- const { selection } = editor;
401
- if (selection && hasRange(editor, selection) && Range.isCollapsed(selection)) {
402
- const node = Node.get(editor, Path.parent(selection.anchor.path));
403
- if (node.type === "card-before") {
404
- return;
405
- }
406
- if (node.type === "card-after") {
407
- Transforms.removeNodes(editor, {
408
- at: Path.parent(selection.anchor.path)
409
- });
410
- return;
411
- }
412
- const curNode = Node.get(editor, selection.anchor.path);
413
- try {
414
- const [previousNode, previousPath] = Editor.previous(editor, {
415
- at: selection.anchor.path
416
- }) || [];
417
- const isBeforeTag = selection && selection.anchor.offset <= 1;
418
- if ((previousNode == null ? void 0 : previousNode.tag) && previousPath && isBeforeTag) {
419
- if (((_a = curNode.text) == null ? void 0 : _a.trim()) && curNode.text.trimEnd().length === 1 && selection.anchor.offset > 0) {
420
- Transforms.insertText(editor, "", { at: selection.anchor.path });
421
- Transforms.insertNodes(
422
- editor,
423
- {
424
- type: "paragraph",
425
- children: [{ text: " " }]
426
- },
427
- {
428
- at: selection.anchor.path,
429
- select: true
430
- }
431
- );
432
- return;
433
- } else if (((_b = curNode.text) == null ? void 0 : _b.trim()) && selection.anchor.offset > 0) {
434
- deleteBackward(unit);
435
- return;
436
- }
437
- Editor.withoutNormalizing(editor, () => {
438
- const parent = Node.get(editor, Path.parent(previousPath));
439
- const index = previousPath[previousPath.length - 1];
440
- if (parent.children.length === 1) {
441
- Transforms.setNodes(
442
- editor,
443
- { tag: false, code: false, text: " ", triggerText: void 0 },
444
- { at: previousPath }
445
- );
446
- } else if (index === 0) {
447
- Transforms.removeNodes(editor, { at: previousPath });
448
- } else {
449
- Transforms.removeNodes(editor, { at: previousPath });
646
+ insertText(text);
647
+ };
648
+ editor.insertFragment = function(fragment) {
649
+ var selection = editor.selection;
650
+ if (selection && Range.isCollapsed(selection)) {
651
+ try {
652
+ var node = Node.get(editor, Path.parent(selection.anchor.path));
653
+ // card-before 不允许任何片段插入
654
+ if (node.type === 'card-before') {
655
+ return; // 阻止插入
656
+ }
657
+ // card-after 的片段插入会放到卡片后面
658
+ if (node.type === 'card-after') {
659
+ var grandParentPath = Path.parent(Path.parent(selection.anchor.path));
660
+ var grandParent = Node.get(editor, grandParentPath);
661
+ if (grandParent.type === 'card') {
662
+ // 将片段内容插入到卡片后面
663
+ Transforms.insertNodes(editor, fragment, {
664
+ at: Path.next(grandParentPath),
665
+ select: true
666
+ });
667
+ return;
668
+ }
669
+ }
670
+ } catch (error) {
671
+ // 如果无法获取节点,继续原有逻辑
450
672
  }
451
- });
452
- return;
453
673
  }
454
- } catch (error) {
455
- }
456
- try {
457
- const node2 = Node.get(editor, selection.anchor.path);
458
- if ((node2 == null ? void 0 : node2.tag) && ((_d = (_c = node2 == null ? void 0 : node2.text) == null ? void 0 : _c.trim()) == null ? void 0 : _d.length) < 1 && ((_e = selection == null ? void 0 : selection.anchor) == null ? void 0 : _e.offset) < 1) {
459
- const text = (_f = node2 == null ? void 0 : node2.text) == null ? void 0 : _f.replace(node2.triggerText || "", "");
460
- Transforms.setNodes(
461
- editor,
462
- {
463
- tag: false,
464
- code: false
465
- },
466
- { at: selection.anchor.path }
467
- );
468
- Transforms.insertText(editor, text, {
469
- at: selection.anchor.path
470
- });
471
- return;
674
+ insertFragment(fragment);
675
+ };
676
+ editor.deleteBackward = function(unit) {
677
+ var selection = editor.selection;
678
+ if (selection && hasRange(editor, selection) && Range.isCollapsed(selection)) {
679
+ var node = Node.get(editor, Path.parent(selection.anchor.path));
680
+ if (node.type === 'card-before') {
681
+ return;
682
+ }
683
+ if (node.type === 'card-after') {
684
+ Transforms.removeNodes(editor, {
685
+ at: Path.parent(selection.anchor.path)
686
+ });
687
+ return;
688
+ }
689
+ var curNode = Node.get(editor, selection.anchor.path);
690
+ // 检查前一个节点是否是 tag
691
+ try {
692
+ var _ref = _sliced_to_array(Editor.previous(editor, {
693
+ at: selection.anchor.path
694
+ }) || [], 2), previousNode = _ref[0], previousPath = _ref[1];
695
+ var isBeforeTag = selection && selection.anchor.offset <= 1;
696
+ if ((previousNode === null || previousNode === void 0 ? void 0 : previousNode.tag) && previousPath && isBeforeTag) {
697
+ var _curNode_text, _curNode_text1;
698
+ // 如果当前节点不为空,且只有一个文本
699
+ if (((_curNode_text = curNode.text) === null || _curNode_text === void 0 ? void 0 : _curNode_text.trim()) && curNode.text.trimEnd().length === 1 && selection.anchor.offset > 0) {
700
+ Transforms.insertText(editor, '', {
701
+ at: selection.anchor.path
702
+ });
703
+ Transforms.insertNodes(editor, {
704
+ type: 'paragraph',
705
+ children: [
706
+ {
707
+ text: ' '
708
+ }
709
+ ]
710
+ }, {
711
+ at: selection.anchor.path,
712
+ select: true
713
+ });
714
+ return;
715
+ } else if (((_curNode_text1 = curNode.text) === null || _curNode_text1 === void 0 ? void 0 : _curNode_text1.trim()) && selection.anchor.offset > 0) {
716
+ deleteBackward(unit);
717
+ return;
718
+ }
719
+ // 如果前一个节点是 tag,直接删除整个 tag
720
+ Editor.withoutNormalizing(editor, function() {
721
+ var parent = Node.get(editor, Path.parent(previousPath));
722
+ var index = previousPath[previousPath.length - 1];
723
+ if (parent.children.length === 1) {
724
+ // 如果是唯一的节点,转换为普通文本
725
+ Transforms.setNodes(editor, {
726
+ tag: false,
727
+ code: false,
728
+ text: ' ',
729
+ triggerText: undefined
730
+ }, {
731
+ at: previousPath
732
+ });
733
+ } else if (index === 0) {
734
+ // 如果是第一个节点,删除并合并下一个节点
735
+ Transforms.removeNodes(editor, {
736
+ at: previousPath
737
+ });
738
+ } else {
739
+ // 如果是中间或最后节点,先合并再删除
740
+ Transforms.removeNodes(editor, {
741
+ at: previousPath
742
+ });
743
+ }
744
+ });
745
+ return;
746
+ }
747
+ } catch (error) {
748
+ // 如果获取前一个节点失败,继续执行原始删除操作
749
+ }
750
+ try {
751
+ var _node_text_trim, _node_text, _selection_anchor;
752
+ var node1 = Node.get(editor, selection.anchor.path);
753
+ if ((node1 === null || node1 === void 0 ? void 0 : node1.tag) && (node1 === null || node1 === void 0 ? void 0 : (_node_text = node1.text) === null || _node_text === void 0 ? void 0 : (_node_text_trim = _node_text.trim()) === null || _node_text_trim === void 0 ? void 0 : _node_text_trim.length) < 1 && (selection === null || selection === void 0 ? void 0 : (_selection_anchor = selection.anchor) === null || _selection_anchor === void 0 ? void 0 : _selection_anchor.offset) < 1) {
754
+ var _node_text1;
755
+ var text = node1 === null || node1 === void 0 ? void 0 : (_node_text1 = node1.text) === null || _node_text1 === void 0 ? void 0 : _node_text1.replace(node1.triggerText || '', '');
756
+ Transforms.setNodes(editor, {
757
+ tag: false,
758
+ code: false
759
+ }, {
760
+ at: selection.anchor.path
761
+ });
762
+ Transforms.insertText(editor, text, {
763
+ at: selection.anchor.path
764
+ });
765
+ return;
766
+ }
767
+ } catch (e) {}
472
768
  }
473
- } catch (e) {
474
- }
475
- }
476
- deleteBackward(unit);
477
- };
478
- return editor;
479
- };
480
- export {
481
- inlineNode,
482
- withMarkdown
769
+ deleteBackward(unit);
770
+ };
771
+ return editor;
483
772
  };