@ant-design/agentic-ui 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/dist/AgentRunBar/Robot.js +105 -57
  2. package/dist/AgentRunBar/icons/PauseIcon.js +38 -38
  3. package/dist/AgentRunBar/icons/PlayIcon.js +38 -38
  4. package/dist/AgentRunBar/icons/SimplePauseIcon.js +38 -38
  5. package/dist/AgentRunBar/icons/SimplePlayIcon.js +38 -38
  6. package/dist/AgentRunBar/icons/SimpleStopIcon.js +38 -38
  7. package/dist/AgentRunBar/icons/StopIcon.js +41 -50
  8. package/dist/AgentRunBar/icons/index.js +0 -1
  9. package/dist/AgentRunBar/index.js +270 -237
  10. package/dist/AgentRunBar/style.js +273 -239
  11. package/dist/AgenticLayout/index.js +140 -85
  12. package/dist/AgenticLayout/style.js +126 -107
  13. package/dist/AnswerAlert/components/CloseIcon.js +12 -21
  14. package/dist/AnswerAlert/components/ErrorIcon.js +42 -38
  15. package/dist/AnswerAlert/components/InfoIcon.js +42 -38
  16. package/dist/AnswerAlert/components/LoaderIcon.js +12 -21
  17. package/dist/AnswerAlert/components/SuccessIcon.js +42 -38
  18. package/dist/AnswerAlert/components/WarningIcon.js +42 -38
  19. package/dist/AnswerAlert/index.js +155 -75
  20. package/dist/AnswerAlert/style.js +159 -147
  21. package/dist/BackTo/BackBottom.js +154 -70
  22. package/dist/BackTo/BackTop.js +148 -68
  23. package/dist/BackTo/ScrollVisibleButton.js +124 -98
  24. package/dist/BackTo/hooks/useScrollVisible.js +79 -33
  25. package/dist/BackTo/icons/BottomIcon.js +37 -37
  26. package/dist/BackTo/icons/TopIcon.js +37 -37
  27. package/dist/BackTo/index.js +22 -7
  28. package/dist/BackTo/style.js +93 -70
  29. package/dist/Bubble/AIBubble.js +469 -406
  30. package/dist/Bubble/Avatar/index.js +139 -85
  31. package/dist/Bubble/Avatar/isEmoji.js +2 -6
  32. package/dist/Bubble/Bubble.js +114 -38
  33. package/dist/Bubble/BubbleBeforeNode.js +104 -74
  34. package/dist/Bubble/BubbleConfigProvide.js +3 -7
  35. package/dist/Bubble/FileView.js +63 -69
  36. package/dist/Bubble/List/PureBubbleList.js +130 -131
  37. package/dist/Bubble/List/SkeletonList.js +33 -24
  38. package/dist/Bubble/List/index.js +187 -124
  39. package/dist/Bubble/List/style.js +76 -47
  40. package/dist/Bubble/MessagesContent/BubbleContext.js +6 -12
  41. package/dist/Bubble/MessagesContent/BubbleExtra.js +663 -355
  42. package/dist/Bubble/MessagesContent/CopyButton/index.js +326 -96
  43. package/dist/Bubble/MessagesContent/DocInfo.js +351 -386
  44. package/dist/Bubble/MessagesContent/EXCEPTION.js +42 -22
  45. package/dist/Bubble/MessagesContent/MarkdownPreview.js +206 -156
  46. package/dist/Bubble/MessagesContent/VoiceButton/index.js +213 -115
  47. package/dist/Bubble/MessagesContent/VoiceButton/style.js +129 -105
  48. package/dist/Bubble/MessagesContent/VoiceButton/types.js +9 -0
  49. package/dist/Bubble/MessagesContent/docInfoStyle.js +118 -88
  50. package/dist/Bubble/MessagesContent/icons.js +157 -57
  51. package/dist/Bubble/MessagesContent/index.js +609 -368
  52. package/dist/Bubble/PureBubble.js +439 -326
  53. package/dist/Bubble/Title.js +110 -87
  54. package/dist/Bubble/UserBubble.js +218 -279
  55. package/dist/Bubble/index.js +10 -16
  56. package/dist/Bubble/style.js +248 -227
  57. package/dist/Bubble/type.js +3 -0
  58. package/dist/Bubble/types/BubbleExtra.js +1 -0
  59. package/dist/Bubble/types/DocInfo.js +1 -0
  60. package/dist/ChatBootPage/ButtonTab.js +25 -45
  61. package/dist/ChatBootPage/ButtonTabGroup.js +74 -47
  62. package/dist/ChatBootPage/ButtonTabGroupStyle.js +73 -45
  63. package/dist/ChatBootPage/ButtonTabStyle.js +121 -98
  64. package/dist/ChatBootPage/CaseReply.js +119 -113
  65. package/dist/ChatBootPage/CaseReplyStyle.js +217 -189
  66. package/dist/ChatBootPage/Title.js +19 -23
  67. package/dist/ChatBootPage/index.js +9 -11
  68. package/dist/ChatBootPage/style.js +80 -50
  69. package/dist/ChatLayout/index.js +93 -57
  70. package/dist/ChatLayout/style.js +206 -176
  71. package/dist/ChatLayout/types.js +1 -0
  72. package/dist/Components/ActionIconBox/index.js +571 -197
  73. package/dist/Components/ActionIconBox/style.js +141 -111
  74. package/dist/Components/ActionItemBox/ActionItemBox.js +95 -149
  75. package/dist/Components/ActionItemBox/index.js +7 -7
  76. package/dist/Components/ActionItemBox/style.js +353 -361
  77. package/dist/Components/Button/IconButton/index.js +35 -43
  78. package/dist/Components/Button/IconButton/style.js +357 -331
  79. package/dist/Components/Button/SwitchButton/index.js +243 -87
  80. package/dist/Components/Button/SwitchButton/style.js +160 -146
  81. package/dist/Components/Button/ToggleButton/index.js +46 -57
  82. package/dist/Components/Button/ToggleButton/style.js +283 -258
  83. package/dist/Components/Button/index.js +6 -2
  84. package/dist/Components/GradientText/index.js +21 -27
  85. package/dist/Components/GradientText/style.js +88 -63
  86. package/dist/Components/ImageList.js +111 -133
  87. package/dist/Components/LayoutHeader/index.js +145 -81
  88. package/dist/Components/LayoutHeader/style.js +89 -64
  89. package/dist/Components/LayoutHeader/types.js +3 -0
  90. package/dist/Components/Loading/index.js +53 -22
  91. package/dist/Components/Robot/index.js +90 -56
  92. package/dist/Components/Robot/lotties/DazingLottie/index.js +78 -47
  93. package/dist/Components/Robot/lotties/ThinkingLottie/index.js +78 -47
  94. package/dist/Components/Robot/lotties/index.js +0 -1
  95. package/dist/Components/SuggestionList/index.js +354 -182
  96. package/dist/Components/SuggestionList/style.js +204 -186
  97. package/dist/Components/TextAnimate/index.js +494 -362
  98. package/dist/Components/TextAnimate/style.js +72 -48
  99. package/dist/Components/TypingAnimation/index.js +214 -169
  100. package/dist/Components/TypingAnimation/style.js +76 -52
  101. package/dist/Components/VisualList/index.js +267 -180
  102. package/dist/Components/VisualList/style.js +140 -124
  103. package/dist/Components/icons/LoadingSpinnerIcon.js +124 -73
  104. package/dist/Components/lotties/DazingLottie/index.js +78 -47
  105. package/dist/Components/lotties/LoadingLottie/index.js +82 -48
  106. package/dist/Components/lotties/TextLoading/index.js +73 -49
  107. package/dist/Components/lotties/TextLoading/style.js +95 -78
  108. package/dist/Components/lotties/ThinkingLottie/index.js +78 -47
  109. package/dist/Components/lotties/index.js +0 -1
  110. package/dist/Constants/colors.js +71 -97
  111. package/dist/History/components/HistoryActionsBox.js +407 -180
  112. package/dist/History/components/HistoryEmpty.js +38 -42
  113. package/dist/History/components/HistoryEmptyIcon.js +682 -964
  114. package/dist/History/components/HistoryItem.js +683 -471
  115. package/dist/History/components/HistoryList.js +170 -87
  116. package/dist/History/components/HistoryRunningIcon.js +160 -111
  117. package/dist/History/components/LoadMoreComponent.js +308 -103
  118. package/dist/History/components/NewChatComponent.js +261 -69
  119. package/dist/History/components/NewChatComponent.style.js +79 -53
  120. package/dist/History/components/SearchComponent.js +367 -156
  121. package/dist/History/components/index.js +11 -23
  122. package/dist/History/hooks/useHistory.js +404 -129
  123. package/dist/History/index.js +301 -186
  124. package/dist/History/menu.js +158 -212
  125. package/dist/History/style.js +282 -276
  126. package/dist/History/types/HistoryData.js +6 -10
  127. package/dist/History/types/HistoryList.js +3 -0
  128. package/dist/History/types/index.js +3 -0
  129. package/dist/History/utils/index.js +35 -32
  130. package/dist/Hooks/useAutoScroll.js +262 -84
  131. package/dist/Hooks/useClickAway.js +60 -21
  132. package/dist/Hooks/useCopied.js +72 -20
  133. package/dist/Hooks/useDebounceFn/index.js +213 -55
  134. package/dist/Hooks/useIntersectionOnce.js +163 -74
  135. package/dist/Hooks/useLanguage.js +67 -26
  136. package/dist/Hooks/useRefFunction/index.js +76 -11
  137. package/dist/Hooks/useSpeechSynthesis.js +143 -99
  138. package/dist/Hooks/useStyle/index.js +95 -60
  139. package/dist/Hooks/useThrottleFn/index.js +41 -41
  140. package/dist/I18n/index.js +246 -109
  141. package/dist/I18n/locales.js +718 -711
  142. package/dist/Icons/animated/VoicePlayLottie/index.js +75 -46
  143. package/dist/Icons/animated/VoicingLottie/index.js +78 -47
  144. package/dist/MarkdownEditor/BaseMarkdownEditor.js +421 -349
  145. package/dist/MarkdownEditor/editor/Editor.js +1160 -843
  146. package/dist/MarkdownEditor/editor/components/CommentList/index.js +407 -239
  147. package/dist/MarkdownEditor/editor/components/CommentList/style.js +119 -89
  148. package/dist/MarkdownEditor/editor/components/ContributorAvatar/index.js +61 -63
  149. package/dist/MarkdownEditor/editor/components/ContributorAvatar/style.js +82 -52
  150. package/dist/MarkdownEditor/editor/components/LazyElement/index.js +208 -106
  151. package/dist/MarkdownEditor/editor/components/LazyElement/style.js +69 -42
  152. package/dist/MarkdownEditor/editor/components/fntTag/index.js +7 -11
  153. package/dist/MarkdownEditor/editor/components/fntTag/style.js +66 -36
  154. package/dist/MarkdownEditor/editor/components/index.js +0 -1
  155. package/dist/MarkdownEditor/editor/elements/Blockquote.js +95 -37
  156. package/dist/MarkdownEditor/editor/elements/Break.js +56 -25
  157. package/dist/MarkdownEditor/editor/elements/Card/index.js +131 -52
  158. package/dist/MarkdownEditor/editor/elements/Code.js +89 -67
  159. package/dist/MarkdownEditor/editor/elements/Comment/index.js +79 -50
  160. package/dist/MarkdownEditor/editor/elements/ErrorBoundary.js +117 -21
  161. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition.js +83 -64
  162. package/dist/MarkdownEditor/editor/elements/FootnoteReference.js +115 -41
  163. package/dist/MarkdownEditor/editor/elements/Head.js +131 -67
  164. package/dist/MarkdownEditor/editor/elements/Hr.js +63 -38
  165. package/dist/MarkdownEditor/editor/elements/Image/index.js +636 -494
  166. package/dist/MarkdownEditor/editor/elements/InlineKatex.js +60 -44
  167. package/dist/MarkdownEditor/editor/elements/Katex.js +71 -55
  168. package/dist/MarkdownEditor/editor/elements/LinkCard/index.js +79 -175
  169. package/dist/MarkdownEditor/editor/elements/LinkCard/style.js +130 -100
  170. package/dist/MarkdownEditor/editor/elements/List/List.js +96 -69
  171. package/dist/MarkdownEditor/editor/elements/List/ListItem.js +422 -247
  172. package/dist/MarkdownEditor/editor/elements/List/index.js +1 -5
  173. package/dist/MarkdownEditor/editor/elements/List/style.js +131 -117
  174. package/dist/MarkdownEditor/editor/elements/Media.js +637 -519
  175. package/dist/MarkdownEditor/editor/elements/Mermaid.js +79 -54
  176. package/dist/MarkdownEditor/editor/elements/Paragraph.js +144 -83
  177. package/dist/MarkdownEditor/editor/elements/Schema.js +167 -128
  178. package/dist/MarkdownEditor/editor/elements/Table/ReadonlyTableComponent.js +211 -178
  179. package/dist/MarkdownEditor/editor/elements/Table/SimpleTable.js +73 -49
  180. package/dist/MarkdownEditor/editor/elements/Table/Table.js +285 -204
  181. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/index.js +397 -280
  182. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/style.js +126 -101
  183. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/index.js +381 -276
  184. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/style.js +120 -98
  185. package/dist/MarkdownEditor/editor/elements/Table/TableContext.js +64 -21
  186. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/index.js +52 -42
  187. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/style.js +69 -39
  188. package/dist/MarkdownEditor/editor/elements/Table/Td/index.js +126 -72
  189. package/dist/MarkdownEditor/editor/elements/Table/Td/style.js +85 -55
  190. package/dist/MarkdownEditor/editor/elements/Table/index.js +204 -105
  191. package/dist/MarkdownEditor/editor/elements/Table/style.js +244 -233
  192. package/dist/MarkdownEditor/editor/elements/Table/useScrollShadow.js +119 -62
  193. package/dist/MarkdownEditor/editor/elements/TagPopup/index.js +438 -276
  194. package/dist/MarkdownEditor/editor/elements/TagPopup/style.js +103 -77
  195. package/dist/MarkdownEditor/editor/elements/index.js +437 -424
  196. package/dist/MarkdownEditor/editor/parser/json-parse.js +38 -9
  197. package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +1753 -1168
  198. package/dist/MarkdownEditor/editor/parser/parserMdToSchema.js +16 -20
  199. package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +1021 -606
  200. package/dist/MarkdownEditor/editor/parser/remarkParse.js +158 -102
  201. package/dist/MarkdownEditor/editor/plugins/catchError.js +78 -17
  202. package/dist/MarkdownEditor/editor/plugins/elements.js +458 -342
  203. package/dist/MarkdownEditor/editor/plugins/handlePaste.js +752 -300
  204. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/arrow.js +215 -129
  205. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +325 -180
  206. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/enter.js +576 -418
  207. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +157 -47
  208. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +331 -209
  209. package/dist/MarkdownEditor/editor/plugins/index.js +0 -1
  210. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +1245 -507
  211. package/dist/MarkdownEditor/editor/plugins/parseMarkdownToNodesAndInsert.js +36 -24
  212. package/dist/MarkdownEditor/editor/plugins/useHighlight.js +267 -116
  213. package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +234 -160
  214. package/dist/MarkdownEditor/editor/plugins/useOnchange.js +253 -92
  215. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +728 -439
  216. package/dist/MarkdownEditor/editor/store.js +1819 -1389
  217. package/dist/MarkdownEditor/editor/style.js +551 -506
  218. package/dist/MarkdownEditor/editor/tagStyles.js +43 -43
  219. package/dist/MarkdownEditor/editor/tools/DragHandle.js +56 -54
  220. package/dist/MarkdownEditor/editor/tools/InsertAutocomplete.js +1049 -732
  221. package/dist/MarkdownEditor/editor/tools/InsertLink.js +232 -181
  222. package/dist/MarkdownEditor/editor/tools/Leading.js +566 -303
  223. package/dist/MarkdownEditor/editor/tools/ToolBar/BaseBar.js +415 -377
  224. package/dist/MarkdownEditor/editor/tools/ToolBar/FloatBar.js +162 -125
  225. package/dist/MarkdownEditor/editor/tools/ToolBar/ReadonlyBaseBar.js +480 -258
  226. package/dist/MarkdownEditor/editor/tools/ToolBar/ToolBar.js +44 -44
  227. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ClearFormatButton.js +20 -35
  228. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ColorPickerButton.js +69 -73
  229. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormatButton.js +13 -19
  230. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormattingTools.js +34 -41
  231. package/dist/MarkdownEditor/editor/tools/ToolBar/components/HeadingDropdown.js +53 -47
  232. package/dist/MarkdownEditor/editor/tools/ToolBar/components/LinkButton.js +11 -19
  233. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ToolBarItem.js +23 -43
  234. package/dist/MarkdownEditor/editor/tools/ToolBar/components/UndoRedoButtons.js +14 -25
  235. package/dist/MarkdownEditor/editor/tools/ToolBar/config/toolsConfig.js +139 -102
  236. package/dist/MarkdownEditor/editor/tools/ToolBar/floatBarStyle.js +95 -65
  237. package/dist/MarkdownEditor/editor/tools/ToolBar/hooks/useToolBarLogic.js +252 -161
  238. package/dist/MarkdownEditor/editor/tools/ToolBar/index.js +14 -24
  239. package/dist/MarkdownEditor/editor/tools/ToolBar/toolBarStyle.js +95 -65
  240. package/dist/MarkdownEditor/editor/tools/insertAutocompleteStyle.js +82 -52
  241. package/dist/MarkdownEditor/editor/types/Table.js +1 -0
  242. package/dist/MarkdownEditor/editor/utils/InlineChromiumBugfix.js +11 -16
  243. package/dist/MarkdownEditor/editor/utils/ace.js +136 -40
  244. package/dist/MarkdownEditor/editor/utils/docx/docxDeserializer.js +29 -32
  245. package/dist/MarkdownEditor/editor/utils/docx/index.js +0 -1
  246. package/dist/MarkdownEditor/editor/utils/docx/module.js +193 -164
  247. package/dist/MarkdownEditor/editor/utils/docx/utils.js +113 -98
  248. package/dist/MarkdownEditor/editor/utils/dom.js +119 -90
  249. package/dist/MarkdownEditor/editor/utils/editorUtils.js +1369 -906
  250. package/dist/MarkdownEditor/editor/utils/htmlToMarkdown.js +196 -184
  251. package/dist/MarkdownEditor/editor/utils/index.js +354 -215
  252. package/dist/MarkdownEditor/editor/utils/isMarkdown.js +56 -44
  253. package/dist/MarkdownEditor/editor/utils/keyboard.js +1229 -664
  254. package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +294 -76
  255. package/dist/MarkdownEditor/editor/utils/media.js +274 -99
  256. package/dist/MarkdownEditor/editor/utils/path.js +22 -16
  257. package/dist/MarkdownEditor/editor/utils/performanceMonitor.js +370 -168
  258. package/dist/MarkdownEditor/editor/utils/useLocalState.js +96 -37
  259. package/dist/MarkdownEditor/el.js +1 -0
  260. package/dist/MarkdownEditor/hooks/editor.js +123 -41
  261. package/dist/MarkdownEditor/hooks/subscribe.js +18 -15
  262. package/dist/MarkdownEditor/index.js +118 -30
  263. package/dist/MarkdownEditor/plugin.js +2 -5
  264. package/dist/MarkdownEditor/style.js +96 -66
  265. package/dist/MarkdownEditor/types.js +1 -0
  266. package/dist/MarkdownEditor/utils/exportHtml.js +42 -83
  267. package/dist/MarkdownEditor/utils/native-table/index.js +0 -1
  268. package/dist/MarkdownEditor/utils/native-table/native-table-editor.js +337 -222
  269. package/dist/MarkdownEditor/utils/native-table/native-table-keyboard.js +201 -113
  270. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.js +86 -79
  271. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileIcon.js +62 -33
  272. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.js +147 -125
  273. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/index.js +174 -129
  274. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/style.js +263 -237
  275. package/dist/MarkdownInputField/AttachmentButton/index.js +465 -205
  276. package/dist/MarkdownInputField/AttachmentButton/style.js +143 -114
  277. package/dist/MarkdownInputField/AttachmentButton/types.js +3 -0
  278. package/dist/MarkdownInputField/AttachmentButton/utils.js +64 -34
  279. package/dist/MarkdownInputField/BeforeToolContainer/BeforeToolContainer.js +438 -404
  280. package/dist/MarkdownInputField/Enlargement/index.js +7 -17
  281. package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +193 -216
  282. package/dist/MarkdownInputField/FileMapView/index.js +387 -174
  283. package/dist/MarkdownInputField/FileMapView/style.js +281 -259
  284. package/dist/MarkdownInputField/FilePaste/index.js +239 -65
  285. package/dist/MarkdownInputField/FileUploadManager/index.js +460 -170
  286. package/dist/MarkdownInputField/MarkdownInputField.js +819 -549
  287. package/dist/MarkdownInputField/QuickActions/index.js +304 -134
  288. package/dist/MarkdownInputField/RefinePromptButton/index.js +24 -33
  289. package/dist/MarkdownInputField/RefinePromptButton/style.js +99 -73
  290. package/dist/MarkdownInputField/SendActions/index.js +179 -197
  291. package/dist/MarkdownInputField/SendButton/index.js +150 -110
  292. package/dist/MarkdownInputField/SendButton/style.js +95 -64
  293. package/dist/MarkdownInputField/SkillModeBar/hooks/index.js +3 -5
  294. package/dist/MarkdownInputField/SkillModeBar/hooks/useSkillModeState.js +51 -26
  295. package/dist/MarkdownInputField/SkillModeBar/index.js +119 -106
  296. package/dist/MarkdownInputField/SkillModeBar/style.js +124 -98
  297. package/dist/MarkdownInputField/Suggestion/index.js +391 -154
  298. package/dist/MarkdownInputField/TopOperatingArea/index.js +37 -44
  299. package/dist/MarkdownInputField/TopOperatingArea/style.js +98 -81
  300. package/dist/MarkdownInputField/VoiceInput/index.js +210 -82
  301. package/dist/MarkdownInputField/VoiceInput/style.js +85 -59
  302. package/dist/MarkdownInputField/VoiceInputManager/index.js +321 -94
  303. package/dist/MarkdownInputField/style.js +296 -233
  304. package/dist/Plugins/chart/AreaChart/index.js +541 -393
  305. package/dist/Plugins/chart/AreaChart/style.js +114 -90
  306. package/dist/Plugins/chart/BarChart/index.d.ts +4 -0
  307. package/dist/Plugins/chart/BarChart/index.js +865 -697
  308. package/dist/Plugins/chart/BarChart/style.js +114 -90
  309. package/dist/Plugins/chart/ChartAttrToolBar/ChartAttrToolBarStyle.js +82 -52
  310. package/dist/Plugins/chart/ChartAttrToolBar/index.js +94 -65
  311. package/dist/Plugins/chart/ChartMark/Area.js +176 -150
  312. package/dist/Plugins/chart/ChartMark/Bar.js +181 -152
  313. package/dist/Plugins/chart/ChartMark/Column.js +181 -151
  314. package/dist/Plugins/chart/ChartMark/Container.js +116 -75
  315. package/dist/Plugins/chart/ChartMark/Line.js +179 -151
  316. package/dist/Plugins/chart/ChartMark/Pie.js +79 -63
  317. package/dist/Plugins/chart/ChartMark/index.js +6 -13
  318. package/dist/Plugins/chart/ChartMark/useChart.js +1 -0
  319. package/dist/Plugins/chart/ChartRender.js +981 -696
  320. package/dist/Plugins/chart/ChartStatistic/index.js +47 -62
  321. package/dist/Plugins/chart/ChartStatistic/style.js +142 -143
  322. package/dist/Plugins/chart/ChartStatistic/utils.js +37 -27
  323. package/dist/Plugins/chart/DonutChart/Legend.js +94 -124
  324. package/dist/Plugins/chart/DonutChart/constants.js +4 -11
  325. package/dist/Plugins/chart/DonutChart/hooks.js +183 -112
  326. package/dist/Plugins/chart/DonutChart/index.js +588 -516
  327. package/dist/Plugins/chart/DonutChart/plugins.js +47 -44
  328. package/dist/Plugins/chart/DonutChart/style.js +186 -175
  329. package/dist/Plugins/chart/DonutChart/types.js +1 -0
  330. package/dist/Plugins/chart/FunnelChart/index.js +844 -647
  331. package/dist/Plugins/chart/FunnelChart/style.js +97 -71
  332. package/dist/Plugins/chart/LineChart/index.js +516 -393
  333. package/dist/Plugins/chart/LineChart/style.js +114 -90
  334. package/dist/Plugins/chart/RadarChart/index.js +580 -582
  335. package/dist/Plugins/chart/RadarChart/style.js +122 -112
  336. package/dist/Plugins/chart/ScatterChart/index.js +633 -640
  337. package/dist/Plugins/chart/ScatterChart/style.js +108 -94
  338. package/dist/Plugins/chart/components/ChartContainer/ChartContainer.js +151 -80
  339. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.js +160 -41
  340. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundaryExample.js +80 -62
  341. package/dist/Plugins/chart/components/ChartContainer/index.js +2 -7
  342. package/dist/Plugins/chart/components/ChartContainer/style.js +121 -91
  343. package/dist/Plugins/chart/components/ChartFilter/ChartFilter.js +58 -90
  344. package/dist/Plugins/chart/components/ChartFilter/style.js +169 -154
  345. package/dist/Plugins/chart/components/ChartToolBar/ChartToolBar.js +54 -59
  346. package/dist/Plugins/chart/components/ChartToolBar/style.js +132 -117
  347. package/dist/Plugins/chart/components/icons/TimeIcon.js +20 -26
  348. package/dist/Plugins/chart/components/index.js +32 -34
  349. package/dist/Plugins/chart/const.js +34 -25
  350. package/dist/Plugins/chart/hooks/useChartStatistic.js +1 -0
  351. package/dist/Plugins/chart/index.js +436 -339
  352. package/dist/Plugins/chart/loadChartRuntime.js +209 -110
  353. package/dist/Plugins/chart/utils.js +311 -87
  354. package/dist/Plugins/code/CodeUI/Katex/Katex.js +112 -66
  355. package/dist/Plugins/code/components/AceEditor.js +334 -237
  356. package/dist/Plugins/code/components/AceEditorContainer.js +23 -32
  357. package/dist/Plugins/code/components/CodeContainer.js +41 -56
  358. package/dist/Plugins/code/components/CodeRenderer.js +202 -155
  359. package/dist/Plugins/code/components/CodeToolbar.js +137 -181
  360. package/dist/Plugins/code/components/HtmlPreview.js +19 -22
  361. package/dist/Plugins/code/components/LanguageSelector.js +162 -96
  362. package/dist/Plugins/code/components/LoadImage.js +145 -46
  363. package/dist/Plugins/code/components/ThinkBlock.js +38 -42
  364. package/dist/Plugins/code/components/index.js +13 -23
  365. package/dist/Plugins/code/hooks/index.js +7 -9
  366. package/dist/Plugins/code/hooks/useCodeEditorState.js +139 -62
  367. package/dist/Plugins/code/hooks/useRenderConditions.js +31 -23
  368. package/dist/Plugins/code/hooks/useToolbarConfig.js +44 -46
  369. package/dist/Plugins/code/index.js +141 -89
  370. package/dist/Plugins/code/langIconMap.js +400 -108
  371. package/dist/Plugins/code/langIcons/AbapIcon.js +90 -57
  372. package/dist/Plugins/code/langIcons/ActionscriptIcon.js +89 -56
  373. package/dist/Plugins/code/langIcons/AdaIcon.js +89 -52
  374. package/dist/Plugins/code/langIcons/ApacheIcon.js +205 -254
  375. package/dist/Plugins/code/langIcons/ApexIcon.js +108 -82
  376. package/dist/Plugins/code/langIcons/AplIcon.js +90 -54
  377. package/dist/Plugins/code/langIcons/ApplescriptIcon.js +89 -56
  378. package/dist/Plugins/code/langIcons/AstroIcon.js +91 -58
  379. package/dist/Plugins/code/langIcons/AwkIcon.js +98 -68
  380. package/dist/Plugins/code/langIcons/BallerinaIcon.js +92 -59
  381. package/dist/Plugins/code/langIcons/BatIcon.js +158 -229
  382. package/dist/Plugins/code/langIcons/BicepIcon.js +91 -58
  383. package/dist/Plugins/code/langIcons/BladeIcon.js +90 -58
  384. package/dist/Plugins/code/langIcons/CIcon.js +90 -55
  385. package/dist/Plugins/code/langIcons/CadenceIcon.js +89 -56
  386. package/dist/Plugins/code/langIcons/ClojureIcon.js +96 -75
  387. package/dist/Plugins/code/langIcons/CmakeIcon.js +93 -62
  388. package/dist/Plugins/code/langIcons/CobolIcon.js +99 -70
  389. package/dist/Plugins/code/langIcons/CodeqlIcon.js +96 -76
  390. package/dist/Plugins/code/langIcons/CoffeeIcon.js +89 -56
  391. package/dist/Plugins/code/langIcons/ConsoleIcon.js +89 -56
  392. package/dist/Plugins/code/langIcons/CppIcon.js +90 -55
  393. package/dist/Plugins/code/langIcons/CrystalIcon.js +90 -57
  394. package/dist/Plugins/code/langIcons/CsharpIcon.js +90 -59
  395. package/dist/Plugins/code/langIcons/CssIcon.js +89 -52
  396. package/dist/Plugins/code/langIcons/DIcon.js +90 -53
  397. package/dist/Plugins/code/langIcons/DartIcon.js +92 -71
  398. package/dist/Plugins/code/langIcons/DatabaseIcon.js +90 -57
  399. package/dist/Plugins/code/langIcons/DiffIcon.js +90 -57
  400. package/dist/Plugins/code/langIcons/DockerIcon.js +89 -56
  401. package/dist/Plugins/code/langIcons/DotenvIcon.js +94 -56
  402. package/dist/Plugins/code/langIcons/ElixirIcon.js +91 -58
  403. package/dist/Plugins/code/langIcons/ElmIcon.js +105 -58
  404. package/dist/Plugins/code/langIcons/ErbIcon.js +90 -54
  405. package/dist/Plugins/code/langIcons/ErlangIcon.js +89 -56
  406. package/dist/Plugins/code/langIcons/FsharpIcon.js +93 -62
  407. package/dist/Plugins/code/langIcons/GdscriptIcon.js +96 -88
  408. package/dist/Plugins/code/langIcons/GlslIcon.js +90 -58
  409. package/dist/Plugins/code/langIcons/GnuplotIcon.js +98 -77
  410. package/dist/Plugins/code/langIcons/GoIcon.js +114 -93
  411. package/dist/Plugins/code/langIcons/GraphqlIcon.js +106 -66
  412. package/dist/Plugins/code/langIcons/GroovyIcon.js +89 -56
  413. package/dist/Plugins/code/langIcons/HackIcon.js +97 -64
  414. package/dist/Plugins/code/langIcons/HamlIcon.js +89 -56
  415. package/dist/Plugins/code/langIcons/HandlebarsIcon.js +89 -56
  416. package/dist/Plugins/code/langIcons/HaskellIcon.js +93 -64
  417. package/dist/Plugins/code/langIcons/HclIcon.js +118 -93
  418. package/dist/Plugins/code/langIcons/HclLightIcon.js +118 -97
  419. package/dist/Plugins/code/langIcons/HjsonIcon.js +94 -62
  420. package/dist/Plugins/code/langIcons/HlslIcon.js +96 -76
  421. package/dist/Plugins/code/langIcons/HtmlIcon.js +89 -56
  422. package/dist/Plugins/code/langIcons/HttpIcon.js +89 -56
  423. package/dist/Plugins/code/langIcons/ImbaIcon.js +98 -65
  424. package/dist/Plugins/code/langIcons/IniIcon.js +90 -54
  425. package/dist/Plugins/code/langIcons/JavaIcon.js +89 -56
  426. package/dist/Plugins/code/langIcons/JavascriptIcon.js +89 -56
  427. package/dist/Plugins/code/langIcons/JinjaIcon.js +100 -68
  428. package/dist/Plugins/code/langIcons/Json5Icon.js +100 -82
  429. package/dist/Plugins/code/langIcons/JsonIcon.js +89 -56
  430. package/dist/Plugins/code/langIcons/JsonnetIcon.js +102 -86
  431. package/dist/Plugins/code/langIcons/JuliaIcon.js +105 -52
  432. package/dist/Plugins/code/langIcons/KotlinIcon.js +104 -74
  433. package/dist/Plugins/code/langIcons/KustoIcon.js +90 -57
  434. package/dist/Plugins/code/langIcons/LessIcon.js +90 -57
  435. package/dist/Plugins/code/langIcons/LiquidIcon.js +91 -58
  436. package/dist/Plugins/code/langIcons/LispIcon.js +89 -56
  437. package/dist/Plugins/code/langIcons/LuaIcon.js +93 -60
  438. package/dist/Plugins/code/langIcons/MakefileIcon.js +91 -58
  439. package/dist/Plugins/code/langIcons/MarkdownIcon.js +89 -56
  440. package/dist/Plugins/code/langIcons/MarkojsIcon.js +96 -73
  441. package/dist/Plugins/code/langIcons/MatlabIcon.js +93 -64
  442. package/dist/Plugins/code/langIcons/MdxIcon.js +90 -53
  443. package/dist/Plugins/code/langIcons/MermaidIcon.js +95 -64
  444. package/dist/Plugins/code/langIcons/MojoIcon.js +95 -62
  445. package/dist/Plugins/code/langIcons/NginxIcon.js +94 -61
  446. package/dist/Plugins/code/langIcons/NimIcon.js +91 -54
  447. package/dist/Plugins/code/langIcons/NixIcon.js +92 -56
  448. package/dist/Plugins/code/langIcons/ObjectiveCIcon.js +90 -59
  449. package/dist/Plugins/code/langIcons/ObjectiveCppIcon.js +90 -57
  450. package/dist/Plugins/code/langIcons/OcamlIcon.js +90 -61
  451. package/dist/Plugins/code/langIcons/PascalIcon.js +95 -55
  452. package/dist/Plugins/code/langIcons/Perl6Icon.js +299 -320
  453. package/dist/Plugins/code/langIcons/PerlIcon.js +89 -56
  454. package/dist/Plugins/code/langIcons/PhpIcon.js +89 -52
  455. package/dist/Plugins/code/langIcons/PostcssIcon.js +130 -113
  456. package/dist/Plugins/code/langIcons/PowershellIcon.js +91 -58
  457. package/dist/Plugins/code/langIcons/PrismaIcon.js +97 -68
  458. package/dist/Plugins/code/langIcons/PrologIcon.js +91 -58
  459. package/dist/Plugins/code/langIcons/ProtoIcon.js +94 -68
  460. package/dist/Plugins/code/langIcons/PugIcon.js +177 -145
  461. package/dist/Plugins/code/langIcons/PuppetIcon.js +96 -52
  462. package/dist/Plugins/code/langIcons/PurescriptIcon.js +93 -61
  463. package/dist/Plugins/code/langIcons/PythonIcon.js +90 -61
  464. package/dist/Plugins/code/langIcons/RIcon.js +89 -52
  465. package/dist/Plugins/code/langIcons/RazorIcon.js +90 -57
  466. package/dist/Plugins/code/langIcons/ReactIcon.js +89 -56
  467. package/dist/Plugins/code/langIcons/ReactTsIcon.js +90 -57
  468. package/dist/Plugins/code/langIcons/RubyIcon.js +91 -58
  469. package/dist/Plugins/code/langIcons/RustIcon.js +89 -56
  470. package/dist/Plugins/code/langIcons/SasIcon.js +89 -52
  471. package/dist/Plugins/code/langIcons/SassIcon.js +90 -57
  472. package/dist/Plugins/code/langIcons/ScalaIcon.js +96 -53
  473. package/dist/Plugins/code/langIcons/SchemeIcon.js +91 -58
  474. package/dist/Plugins/code/langIcons/ShaderlabIcon.js +89 -56
  475. package/dist/Plugins/code/langIcons/SolidityIcon.js +94 -52
  476. package/dist/Plugins/code/langIcons/SparqlIcon.js +94 -64
  477. package/dist/Plugins/code/langIcons/StataIcon.js +126 -108
  478. package/dist/Plugins/code/langIcons/StylusIcon.js +92 -59
  479. package/dist/Plugins/code/langIcons/SvelteIcon.js +91 -58
  480. package/dist/Plugins/code/langIcons/SwiftIcon.js +90 -57
  481. package/dist/Plugins/code/langIcons/SystemverilogIcon.js +115 -102
  482. package/dist/Plugins/code/langIcons/TclIcon.js +89 -52
  483. package/dist/Plugins/code/langIcons/TexIcon.js +99 -65
  484. package/dist/Plugins/code/langIcons/TomlIcon.js +94 -70
  485. package/dist/Plugins/code/langIcons/TwigIcon.js +89 -56
  486. package/dist/Plugins/code/langIcons/TypescriptIcon.js +93 -60
  487. package/dist/Plugins/code/langIcons/VerilogIcon.js +89 -56
  488. package/dist/Plugins/code/langIcons/VhdlIcon.js +94 -64
  489. package/dist/Plugins/code/langIcons/VimIcon.js +278 -420
  490. package/dist/Plugins/code/langIcons/VueIcon.js +92 -59
  491. package/dist/Plugins/code/langIcons/WebassemblyIcon.js +103 -76
  492. package/dist/Plugins/code/langIcons/WenyanIcon.js +104 -100
  493. package/dist/Plugins/code/langIcons/WgslIcon.js +93 -77
  494. package/dist/Plugins/code/langIcons/WolframlanguageIcon.js +100 -71
  495. package/dist/Plugins/code/langIcons/XmlIcon.js +89 -52
  496. package/dist/Plugins/code/langIcons/XslIcon.js +94 -66
  497. package/dist/Plugins/code/langIcons/YamlIcon.js +89 -56
  498. package/dist/Plugins/code/langIcons/ZigIcon.js +106 -81
  499. package/dist/Plugins/code/langIcons/index.js +128 -259
  500. package/dist/Plugins/code/utils/index.js +5 -5
  501. package/dist/Plugins/code/utils/langOptions.js +86 -11
  502. package/dist/Plugins/defaultPlugins.js +9 -13
  503. package/dist/Plugins/formatter/index.js +205 -105
  504. package/dist/Plugins/index.js +6 -2
  505. package/dist/Plugins/katex/InlineKatex.js +196 -107
  506. package/dist/Plugins/katex/Katex.js +139 -65
  507. package/dist/Plugins/katex/index.js +163 -103
  508. package/dist/Plugins/mermaid/Mermaid.js +472 -197
  509. package/dist/Plugins/mermaid/index.js +237 -142
  510. package/dist/Quote/index.js +112 -73
  511. package/dist/Quote/style.js +176 -160
  512. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +163 -119
  513. package/dist/Schema/SchemaEditor/index.js +385 -275
  514. package/dist/Schema/SchemaEditor/style.js +261 -269
  515. package/dist/Schema/SchemaForm/index.js +443 -268
  516. package/dist/Schema/SchemaForm/types.js +1 -0
  517. package/dist/Schema/SchemaRenderer/index.js +973 -588
  518. package/dist/Schema/SchemaRenderer/templateEngine.js +106 -26
  519. package/dist/Schema/index.js +7 -11
  520. package/dist/Schema/types.js +1 -0
  521. package/dist/Schema/validator.js +74 -36
  522. package/dist/TaskList/index.js +197 -142
  523. package/dist/TaskList/style.js +143 -122
  524. package/dist/ThoughtChainList/CostMillis.js +88 -54
  525. package/dist/ThoughtChainList/DeepThink.js +187 -152
  526. package/dist/ThoughtChainList/DotAni/index.js +29 -14
  527. package/dist/ThoughtChainList/DotAni/style.js +82 -50
  528. package/dist/ThoughtChainList/FlipText/index.js +74 -30
  529. package/dist/ThoughtChainList/MarkdownEditor.js +126 -72
  530. package/dist/ThoughtChainList/RagRetrievalInfo.js +113 -145
  531. package/dist/ThoughtChainList/TableSql.js +413 -459
  532. package/dist/ThoughtChainList/ThoughtChainListItem.js +388 -222
  533. package/dist/ThoughtChainList/TitleInfo.js +189 -185
  534. package/dist/ThoughtChainList/ToolCall.js +429 -463
  535. package/dist/ThoughtChainList/WebSearch.js +192 -162
  536. package/dist/ThoughtChainList/index.js +449 -410
  537. package/dist/ThoughtChainList/style.js +253 -232
  538. package/dist/ThoughtChainList/types.js +1 -0
  539. package/dist/ToolUseBar/ToolUseBarItem.js +183 -139
  540. package/dist/ToolUseBar/ToolUseBarItemComponents.js +345 -276
  541. package/dist/ToolUseBar/ToolUseBarThink.js +335 -396
  542. package/dist/ToolUseBar/index.js +226 -113
  543. package/dist/ToolUseBar/style.js +334 -308
  544. package/dist/ToolUseBar/thinkStyle.js +350 -328
  545. package/dist/Types/common.js +1 -0
  546. package/dist/Types/index.js +4 -2
  547. package/dist/Types/message.js +1 -0
  548. package/dist/Utils/easings.js +9 -12
  549. package/dist/Utils/formatTime.js +41 -17
  550. package/dist/Utils/getScroll.js +41 -41
  551. package/dist/Utils/language.js +355 -150
  552. package/dist/Utils/proxySandbox/ProxySandbox.js +1637 -1076
  553. package/dist/Utils/proxySandbox/SecurityContextManager.js +607 -343
  554. package/dist/Utils/proxySandbox/index.js +554 -267
  555. package/dist/Utils/proxySandbox/types.js +187 -52
  556. package/dist/Utils/scrollTo.js +48 -56
  557. package/dist/Utils/throttleByAnimationFrame.js +46 -20
  558. package/dist/WelcomeMessage/index.js +106 -58
  559. package/dist/WelcomeMessage/style.js +80 -55
  560. package/dist/Workspace/Browser/index.js +102 -40
  561. package/dist/Workspace/Browser/style.js +62 -33
  562. package/dist/Workspace/File/DataSourceStrategy.js +419 -217
  563. package/dist/Workspace/File/FileComponent.js +1004 -791
  564. package/dist/Workspace/File/FileTypeProcessor.js +337 -184
  565. package/dist/Workspace/File/PreviewComponent.js +472 -532
  566. package/dist/Workspace/File/index.js +3 -10
  567. package/dist/Workspace/File/style.js +397 -424
  568. package/dist/Workspace/File/utils.js +160 -106
  569. package/dist/Workspace/HtmlPreview/index.js +238 -137
  570. package/dist/Workspace/HtmlPreview/style.js +99 -77
  571. package/dist/Workspace/RealtimeFollow/index.js +411 -413
  572. package/dist/Workspace/RealtimeFollow/style.js +299 -303
  573. package/dist/Workspace/Task/index.js +53 -35
  574. package/dist/Workspace/Task/style.js +99 -73
  575. package/dist/Workspace/index.js +332 -254
  576. package/dist/Workspace/style.js +165 -146
  577. package/dist/Workspace/types.js +471 -252
  578. package/dist/Workspace/utils/codeLanguageUtils.js +148 -129
  579. package/dist/Workspace/utils.js +28 -20
  580. package/dist/index.js +27 -17
  581. package/package.json +3 -2
@@ -1,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
  };