@ant-design/agentic-ui 2.7.1 → 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 (583) 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 -268
  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.d.ts +2 -0
  320. package/dist/Plugins/chart/ChartRender.js +981 -705
  321. package/dist/Plugins/chart/ChartStatistic/index.js +47 -62
  322. package/dist/Plugins/chart/ChartStatistic/style.js +142 -143
  323. package/dist/Plugins/chart/ChartStatistic/utils.js +37 -27
  324. package/dist/Plugins/chart/DonutChart/Legend.js +94 -124
  325. package/dist/Plugins/chart/DonutChart/constants.js +4 -11
  326. package/dist/Plugins/chart/DonutChart/hooks.js +183 -112
  327. package/dist/Plugins/chart/DonutChart/index.js +588 -516
  328. package/dist/Plugins/chart/DonutChart/plugins.js +47 -44
  329. package/dist/Plugins/chart/DonutChart/style.js +186 -175
  330. package/dist/Plugins/chart/DonutChart/types.js +1 -0
  331. package/dist/Plugins/chart/FunnelChart/index.js +844 -647
  332. package/dist/Plugins/chart/FunnelChart/style.js +97 -71
  333. package/dist/Plugins/chart/LineChart/index.js +516 -393
  334. package/dist/Plugins/chart/LineChart/style.js +114 -90
  335. package/dist/Plugins/chart/RadarChart/index.js +580 -582
  336. package/dist/Plugins/chart/RadarChart/style.js +122 -112
  337. package/dist/Plugins/chart/ScatterChart/index.js +633 -640
  338. package/dist/Plugins/chart/ScatterChart/style.js +108 -94
  339. package/dist/Plugins/chart/components/ChartContainer/ChartContainer.js +151 -80
  340. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.js +160 -41
  341. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundaryExample.js +80 -62
  342. package/dist/Plugins/chart/components/ChartContainer/index.js +2 -7
  343. package/dist/Plugins/chart/components/ChartContainer/style.js +121 -91
  344. package/dist/Plugins/chart/components/ChartFilter/ChartFilter.js +58 -90
  345. package/dist/Plugins/chart/components/ChartFilter/style.js +169 -154
  346. package/dist/Plugins/chart/components/ChartToolBar/ChartToolBar.js +54 -59
  347. package/dist/Plugins/chart/components/ChartToolBar/style.js +132 -117
  348. package/dist/Plugins/chart/components/icons/TimeIcon.js +20 -26
  349. package/dist/Plugins/chart/components/index.js +32 -34
  350. package/dist/Plugins/chart/const.js +34 -25
  351. package/dist/Plugins/chart/hooks/useChartStatistic.js +1 -0
  352. package/dist/Plugins/chart/index.js +436 -339
  353. package/dist/Plugins/chart/loadChartRuntime.js +209 -87
  354. package/dist/Plugins/chart/utils.js +311 -87
  355. package/dist/Plugins/code/CodeUI/Katex/Katex.js +112 -66
  356. package/dist/Plugins/code/components/AceEditor.js +334 -237
  357. package/dist/Plugins/code/components/AceEditorContainer.js +23 -32
  358. package/dist/Plugins/code/components/CodeContainer.js +41 -56
  359. package/dist/Plugins/code/components/CodeRenderer.js +202 -155
  360. package/dist/Plugins/code/components/CodeToolbar.js +137 -181
  361. package/dist/Plugins/code/components/HtmlPreview.js +19 -22
  362. package/dist/Plugins/code/components/LanguageSelector.js +162 -96
  363. package/dist/Plugins/code/components/LoadImage.js +145 -46
  364. package/dist/Plugins/code/components/ThinkBlock.js +38 -42
  365. package/dist/Plugins/code/components/index.js +13 -23
  366. package/dist/Plugins/code/hooks/index.js +7 -9
  367. package/dist/Plugins/code/hooks/useCodeEditorState.js +139 -62
  368. package/dist/Plugins/code/hooks/useRenderConditions.js +31 -23
  369. package/dist/Plugins/code/hooks/useToolbarConfig.js +44 -46
  370. package/dist/Plugins/code/index.js +141 -89
  371. package/dist/Plugins/code/langIconMap.js +400 -108
  372. package/dist/Plugins/code/langIcons/AbapIcon.js +90 -57
  373. package/dist/Plugins/code/langIcons/ActionscriptIcon.js +89 -56
  374. package/dist/Plugins/code/langIcons/AdaIcon.js +89 -52
  375. package/dist/Plugins/code/langIcons/ApacheIcon.js +205 -254
  376. package/dist/Plugins/code/langIcons/ApexIcon.js +108 -82
  377. package/dist/Plugins/code/langIcons/AplIcon.js +90 -54
  378. package/dist/Plugins/code/langIcons/ApplescriptIcon.js +89 -56
  379. package/dist/Plugins/code/langIcons/AstroIcon.js +91 -58
  380. package/dist/Plugins/code/langIcons/AwkIcon.js +98 -68
  381. package/dist/Plugins/code/langIcons/BallerinaIcon.js +92 -59
  382. package/dist/Plugins/code/langIcons/BatIcon.js +158 -229
  383. package/dist/Plugins/code/langIcons/BicepIcon.js +91 -58
  384. package/dist/Plugins/code/langIcons/BladeIcon.js +90 -58
  385. package/dist/Plugins/code/langIcons/CIcon.js +90 -55
  386. package/dist/Plugins/code/langIcons/CadenceIcon.js +89 -56
  387. package/dist/Plugins/code/langIcons/ClojureIcon.js +96 -75
  388. package/dist/Plugins/code/langIcons/CmakeIcon.js +93 -62
  389. package/dist/Plugins/code/langIcons/CobolIcon.js +99 -70
  390. package/dist/Plugins/code/langIcons/CodeqlIcon.js +96 -76
  391. package/dist/Plugins/code/langIcons/CoffeeIcon.js +89 -56
  392. package/dist/Plugins/code/langIcons/ConsoleIcon.js +89 -56
  393. package/dist/Plugins/code/langIcons/CppIcon.js +90 -55
  394. package/dist/Plugins/code/langIcons/CrystalIcon.js +90 -57
  395. package/dist/Plugins/code/langIcons/CsharpIcon.js +90 -59
  396. package/dist/Plugins/code/langIcons/CssIcon.js +89 -52
  397. package/dist/Plugins/code/langIcons/DIcon.js +90 -53
  398. package/dist/Plugins/code/langIcons/DartIcon.js +92 -71
  399. package/dist/Plugins/code/langIcons/DatabaseIcon.js +90 -57
  400. package/dist/Plugins/code/langIcons/DiffIcon.js +90 -57
  401. package/dist/Plugins/code/langIcons/DockerIcon.js +89 -56
  402. package/dist/Plugins/code/langIcons/DotenvIcon.js +94 -56
  403. package/dist/Plugins/code/langIcons/ElixirIcon.js +91 -58
  404. package/dist/Plugins/code/langIcons/ElmIcon.js +105 -58
  405. package/dist/Plugins/code/langIcons/ErbIcon.js +90 -54
  406. package/dist/Plugins/code/langIcons/ErlangIcon.js +89 -56
  407. package/dist/Plugins/code/langIcons/FsharpIcon.js +93 -62
  408. package/dist/Plugins/code/langIcons/GdscriptIcon.js +96 -88
  409. package/dist/Plugins/code/langIcons/GlslIcon.js +90 -58
  410. package/dist/Plugins/code/langIcons/GnuplotIcon.js +98 -77
  411. package/dist/Plugins/code/langIcons/GoIcon.js +114 -93
  412. package/dist/Plugins/code/langIcons/GraphqlIcon.js +106 -66
  413. package/dist/Plugins/code/langIcons/GroovyIcon.js +89 -56
  414. package/dist/Plugins/code/langIcons/HackIcon.js +97 -64
  415. package/dist/Plugins/code/langIcons/HamlIcon.js +89 -56
  416. package/dist/Plugins/code/langIcons/HandlebarsIcon.js +89 -56
  417. package/dist/Plugins/code/langIcons/HaskellIcon.js +93 -64
  418. package/dist/Plugins/code/langIcons/HclIcon.js +118 -93
  419. package/dist/Plugins/code/langIcons/HclLightIcon.js +118 -97
  420. package/dist/Plugins/code/langIcons/HjsonIcon.js +94 -62
  421. package/dist/Plugins/code/langIcons/HlslIcon.js +96 -76
  422. package/dist/Plugins/code/langIcons/HtmlIcon.js +89 -56
  423. package/dist/Plugins/code/langIcons/HttpIcon.js +89 -56
  424. package/dist/Plugins/code/langIcons/ImbaIcon.js +98 -65
  425. package/dist/Plugins/code/langIcons/IniIcon.js +90 -54
  426. package/dist/Plugins/code/langIcons/JavaIcon.js +89 -56
  427. package/dist/Plugins/code/langIcons/JavascriptIcon.js +89 -56
  428. package/dist/Plugins/code/langIcons/JinjaIcon.js +100 -68
  429. package/dist/Plugins/code/langIcons/Json5Icon.js +100 -82
  430. package/dist/Plugins/code/langIcons/JsonIcon.js +89 -56
  431. package/dist/Plugins/code/langIcons/JsonnetIcon.js +102 -86
  432. package/dist/Plugins/code/langIcons/JuliaIcon.js +105 -52
  433. package/dist/Plugins/code/langIcons/KotlinIcon.js +104 -74
  434. package/dist/Plugins/code/langIcons/KustoIcon.js +90 -57
  435. package/dist/Plugins/code/langIcons/LessIcon.js +90 -57
  436. package/dist/Plugins/code/langIcons/LiquidIcon.js +91 -58
  437. package/dist/Plugins/code/langIcons/LispIcon.js +89 -56
  438. package/dist/Plugins/code/langIcons/LuaIcon.js +93 -60
  439. package/dist/Plugins/code/langIcons/MakefileIcon.js +91 -58
  440. package/dist/Plugins/code/langIcons/MarkdownIcon.js +89 -56
  441. package/dist/Plugins/code/langIcons/MarkojsIcon.js +96 -73
  442. package/dist/Plugins/code/langIcons/MatlabIcon.js +93 -64
  443. package/dist/Plugins/code/langIcons/MdxIcon.js +90 -53
  444. package/dist/Plugins/code/langIcons/MermaidIcon.js +95 -64
  445. package/dist/Plugins/code/langIcons/MojoIcon.js +95 -62
  446. package/dist/Plugins/code/langIcons/NginxIcon.js +94 -61
  447. package/dist/Plugins/code/langIcons/NimIcon.js +91 -54
  448. package/dist/Plugins/code/langIcons/NixIcon.js +92 -56
  449. package/dist/Plugins/code/langIcons/ObjectiveCIcon.js +90 -59
  450. package/dist/Plugins/code/langIcons/ObjectiveCppIcon.js +90 -57
  451. package/dist/Plugins/code/langIcons/OcamlIcon.js +90 -61
  452. package/dist/Plugins/code/langIcons/PascalIcon.js +95 -55
  453. package/dist/Plugins/code/langIcons/Perl6Icon.js +299 -320
  454. package/dist/Plugins/code/langIcons/PerlIcon.js +89 -56
  455. package/dist/Plugins/code/langIcons/PhpIcon.js +89 -52
  456. package/dist/Plugins/code/langIcons/PostcssIcon.js +130 -113
  457. package/dist/Plugins/code/langIcons/PowershellIcon.js +91 -58
  458. package/dist/Plugins/code/langIcons/PrismaIcon.js +97 -68
  459. package/dist/Plugins/code/langIcons/PrologIcon.js +91 -58
  460. package/dist/Plugins/code/langIcons/ProtoIcon.js +94 -68
  461. package/dist/Plugins/code/langIcons/PugIcon.js +177 -145
  462. package/dist/Plugins/code/langIcons/PuppetIcon.js +96 -52
  463. package/dist/Plugins/code/langIcons/PurescriptIcon.js +93 -61
  464. package/dist/Plugins/code/langIcons/PythonIcon.js +90 -61
  465. package/dist/Plugins/code/langIcons/RIcon.js +89 -52
  466. package/dist/Plugins/code/langIcons/RazorIcon.js +90 -57
  467. package/dist/Plugins/code/langIcons/ReactIcon.js +89 -56
  468. package/dist/Plugins/code/langIcons/ReactTsIcon.js +90 -57
  469. package/dist/Plugins/code/langIcons/RubyIcon.js +91 -58
  470. package/dist/Plugins/code/langIcons/RustIcon.js +89 -56
  471. package/dist/Plugins/code/langIcons/SasIcon.js +89 -52
  472. package/dist/Plugins/code/langIcons/SassIcon.js +90 -57
  473. package/dist/Plugins/code/langIcons/ScalaIcon.js +96 -53
  474. package/dist/Plugins/code/langIcons/SchemeIcon.js +91 -58
  475. package/dist/Plugins/code/langIcons/ShaderlabIcon.js +89 -56
  476. package/dist/Plugins/code/langIcons/SolidityIcon.js +94 -52
  477. package/dist/Plugins/code/langIcons/SparqlIcon.js +94 -64
  478. package/dist/Plugins/code/langIcons/StataIcon.js +126 -108
  479. package/dist/Plugins/code/langIcons/StylusIcon.js +92 -59
  480. package/dist/Plugins/code/langIcons/SvelteIcon.js +91 -58
  481. package/dist/Plugins/code/langIcons/SwiftIcon.js +90 -57
  482. package/dist/Plugins/code/langIcons/SystemverilogIcon.js +115 -102
  483. package/dist/Plugins/code/langIcons/TclIcon.js +89 -52
  484. package/dist/Plugins/code/langIcons/TexIcon.js +99 -65
  485. package/dist/Plugins/code/langIcons/TomlIcon.js +94 -70
  486. package/dist/Plugins/code/langIcons/TwigIcon.js +89 -56
  487. package/dist/Plugins/code/langIcons/TypescriptIcon.js +93 -60
  488. package/dist/Plugins/code/langIcons/VerilogIcon.js +89 -56
  489. package/dist/Plugins/code/langIcons/VhdlIcon.js +94 -64
  490. package/dist/Plugins/code/langIcons/VimIcon.js +278 -420
  491. package/dist/Plugins/code/langIcons/VueIcon.js +92 -59
  492. package/dist/Plugins/code/langIcons/WebassemblyIcon.js +103 -76
  493. package/dist/Plugins/code/langIcons/WenyanIcon.js +104 -100
  494. package/dist/Plugins/code/langIcons/WgslIcon.js +93 -77
  495. package/dist/Plugins/code/langIcons/WolframlanguageIcon.js +100 -71
  496. package/dist/Plugins/code/langIcons/XmlIcon.js +89 -52
  497. package/dist/Plugins/code/langIcons/XslIcon.js +94 -66
  498. package/dist/Plugins/code/langIcons/YamlIcon.js +89 -56
  499. package/dist/Plugins/code/langIcons/ZigIcon.js +106 -81
  500. package/dist/Plugins/code/langIcons/index.js +128 -259
  501. package/dist/Plugins/code/utils/index.js +5 -5
  502. package/dist/Plugins/code/utils/langOptions.js +86 -11
  503. package/dist/Plugins/defaultPlugins.js +9 -13
  504. package/dist/Plugins/formatter/index.js +205 -105
  505. package/dist/Plugins/index.js +6 -2
  506. package/dist/Plugins/katex/InlineKatex.js +196 -107
  507. package/dist/Plugins/katex/Katex.js +139 -65
  508. package/dist/Plugins/katex/index.js +163 -103
  509. package/dist/Plugins/mermaid/Mermaid.d.ts +9 -4
  510. package/dist/Plugins/mermaid/Mermaid.js +475 -178
  511. package/dist/Plugins/mermaid/index.js +237 -142
  512. package/dist/Quote/index.js +112 -73
  513. package/dist/Quote/style.js +176 -160
  514. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +163 -119
  515. package/dist/Schema/SchemaEditor/index.js +385 -275
  516. package/dist/Schema/SchemaEditor/style.js +261 -269
  517. package/dist/Schema/SchemaForm/index.js +443 -268
  518. package/dist/Schema/SchemaForm/types.js +1 -0
  519. package/dist/Schema/SchemaRenderer/index.js +973 -588
  520. package/dist/Schema/SchemaRenderer/templateEngine.js +106 -26
  521. package/dist/Schema/index.js +7 -11
  522. package/dist/Schema/types.js +1 -0
  523. package/dist/Schema/validator.js +74 -36
  524. package/dist/TaskList/index.js +197 -142
  525. package/dist/TaskList/style.js +143 -122
  526. package/dist/ThoughtChainList/CostMillis.js +88 -54
  527. package/dist/ThoughtChainList/DeepThink.js +187 -152
  528. package/dist/ThoughtChainList/DotAni/index.js +29 -14
  529. package/dist/ThoughtChainList/DotAni/style.js +82 -50
  530. package/dist/ThoughtChainList/FlipText/index.js +74 -30
  531. package/dist/ThoughtChainList/MarkdownEditor.js +126 -72
  532. package/dist/ThoughtChainList/RagRetrievalInfo.js +113 -145
  533. package/dist/ThoughtChainList/TableSql.js +413 -459
  534. package/dist/ThoughtChainList/ThoughtChainListItem.js +388 -222
  535. package/dist/ThoughtChainList/TitleInfo.js +189 -185
  536. package/dist/ThoughtChainList/ToolCall.js +429 -463
  537. package/dist/ThoughtChainList/WebSearch.js +192 -162
  538. package/dist/ThoughtChainList/index.js +449 -410
  539. package/dist/ThoughtChainList/style.js +253 -232
  540. package/dist/ThoughtChainList/types.js +1 -0
  541. package/dist/ToolUseBar/ToolUseBarItem.js +183 -139
  542. package/dist/ToolUseBar/ToolUseBarItemComponents.js +345 -276
  543. package/dist/ToolUseBar/ToolUseBarThink.js +335 -396
  544. package/dist/ToolUseBar/index.js +226 -113
  545. package/dist/ToolUseBar/style.js +334 -308
  546. package/dist/ToolUseBar/thinkStyle.js +350 -328
  547. package/dist/Types/common.js +1 -0
  548. package/dist/Types/index.js +4 -2
  549. package/dist/Types/message.js +1 -0
  550. package/dist/Utils/easings.js +9 -12
  551. package/dist/Utils/formatTime.js +41 -17
  552. package/dist/Utils/getScroll.js +41 -41
  553. package/dist/Utils/language.js +355 -150
  554. package/dist/Utils/proxySandbox/ProxySandbox.js +1637 -1076
  555. package/dist/Utils/proxySandbox/SecurityContextManager.js +607 -343
  556. package/dist/Utils/proxySandbox/index.js +554 -267
  557. package/dist/Utils/proxySandbox/types.js +187 -52
  558. package/dist/Utils/scrollTo.js +48 -56
  559. package/dist/Utils/throttleByAnimationFrame.js +46 -20
  560. package/dist/WelcomeMessage/index.js +106 -58
  561. package/dist/WelcomeMessage/style.js +80 -55
  562. package/dist/Workspace/Browser/index.js +102 -40
  563. package/dist/Workspace/Browser/style.js +62 -33
  564. package/dist/Workspace/File/DataSourceStrategy.js +419 -217
  565. package/dist/Workspace/File/FileComponent.js +1004 -791
  566. package/dist/Workspace/File/FileTypeProcessor.js +337 -184
  567. package/dist/Workspace/File/PreviewComponent.js +472 -532
  568. package/dist/Workspace/File/index.js +3 -10
  569. package/dist/Workspace/File/style.js +397 -424
  570. package/dist/Workspace/File/utils.js +160 -106
  571. package/dist/Workspace/HtmlPreview/index.js +238 -137
  572. package/dist/Workspace/HtmlPreview/style.js +99 -77
  573. package/dist/Workspace/RealtimeFollow/index.js +411 -413
  574. package/dist/Workspace/RealtimeFollow/style.js +299 -303
  575. package/dist/Workspace/Task/index.js +53 -35
  576. package/dist/Workspace/Task/style.js +99 -73
  577. package/dist/Workspace/index.js +332 -254
  578. package/dist/Workspace/style.js +165 -146
  579. package/dist/Workspace/types.js +471 -252
  580. package/dist/Workspace/utils/codeLanguageUtils.js +148 -129
  581. package/dist/Workspace/utils.js +28 -20
  582. package/dist/index.js +27 -17
  583. 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
  };