editor-svg 1.0.2 → 1.0.3

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 (695) hide show
  1. package/dist/editor-svg.es.js +3 -0
  2. package/dist/editor-svg.es.js.map +1 -0
  3. package/dist/editor-svg.umd.js +3 -0
  4. package/dist/editor-svg.umd.js.map +1 -0
  5. package/dist/src/editor/core/actuator/Actuator.d.ts +7 -0
  6. package/dist/src/editor/core/actuator/handlers/positionContextChange.d.ts +3 -0
  7. package/dist/src/editor/core/command/Command.d.ts +147 -0
  8. package/dist/src/editor/core/command/CommandAdapt.d.ts +190 -0
  9. package/dist/src/editor/core/contextmenu/ContextMenu.d.ts +31 -0
  10. package/dist/src/editor/core/contextmenu/menus/controlMenus.d.ts +2 -0
  11. package/dist/src/editor/core/contextmenu/menus/globalMenus.d.ts +2 -0
  12. package/dist/src/editor/core/contextmenu/menus/hyperlinkMenus.d.ts +2 -0
  13. package/dist/src/editor/core/contextmenu/menus/imageMenus.d.ts +2 -0
  14. package/dist/src/editor/core/contextmenu/menus/tableMenus.d.ts +2 -0
  15. package/dist/src/editor/core/cursor/Cursor.d.ts +41 -0
  16. package/dist/src/editor/core/cursor/CursorAgent.d.ts +16 -0
  17. package/dist/src/editor/core/draw/Draw.d.ts +252 -0
  18. package/dist/src/editor/core/draw/control/Control.d.ts +73 -0
  19. package/dist/src/editor/core/draw/control/checkbox/CheckboxControl.d.ts +16 -0
  20. package/dist/src/editor/core/draw/control/date/DateControl.d.ts +24 -0
  21. package/dist/src/editor/core/draw/control/interactive/ControlSearch.d.ts +20 -0
  22. package/dist/src/editor/core/draw/control/number/Calculator.d.ts +16 -0
  23. package/dist/src/editor/core/draw/control/number/NumberControl.d.ts +13 -0
  24. package/dist/src/editor/core/draw/control/radio/RadioControl.d.ts +5 -0
  25. package/dist/src/editor/core/draw/control/richtext/Border.d.ts +10 -0
  26. package/dist/src/editor/core/draw/control/select/SelectControl.d.ts +28 -0
  27. package/dist/src/editor/core/draw/control/text/TextControl.d.ts +18 -0
  28. package/dist/src/editor/core/draw/frame/Background.d.ts +11 -0
  29. package/dist/src/editor/core/draw/frame/Badge.d.ts +14 -0
  30. package/dist/src/editor/core/draw/frame/Footer.d.ts +27 -0
  31. package/dist/src/editor/core/draw/frame/Header.d.ts +27 -0
  32. package/dist/src/editor/core/draw/frame/LineNumber.d.ts +7 -0
  33. package/dist/src/editor/core/draw/frame/Margin.d.ts +7 -0
  34. package/dist/src/editor/core/draw/frame/PageBorder.d.ts +9 -0
  35. package/dist/src/editor/core/draw/frame/PageNumber.d.ts +9 -0
  36. package/dist/src/editor/core/draw/frame/Placeholder.d.ts +20 -0
  37. package/dist/src/editor/core/draw/frame/Watermark.d.ts +10 -0
  38. package/dist/src/editor/core/draw/graffiti/Graffiti.d.ts +19 -0
  39. package/dist/src/editor/core/draw/interactive/Area.d.ts +27 -0
  40. package/dist/src/editor/core/draw/interactive/Group.d.ts +18 -0
  41. package/dist/src/editor/core/draw/interactive/Search.d.ts +30 -0
  42. package/dist/src/editor/core/draw/particle/CheckboxParticle.d.ts +18 -0
  43. package/dist/src/editor/core/draw/particle/HyperlinkParticle.d.ts +17 -0
  44. package/dist/src/editor/core/draw/particle/ImageParticle.d.ts +23 -0
  45. package/dist/src/editor/core/draw/particle/LabelParticle.d.ts +8 -0
  46. package/dist/src/editor/core/draw/particle/LineBreakParticle.d.ts +10 -0
  47. package/dist/src/editor/core/draw/particle/ListParticle.d.ts +20 -0
  48. package/dist/src/editor/core/draw/particle/PageBreakParticle.d.ts +9 -0
  49. package/dist/src/editor/core/draw/particle/RadioParticle.d.ts +18 -0
  50. package/dist/src/editor/core/draw/particle/SeparatorParticle.d.ts +7 -0
  51. package/dist/src/editor/core/draw/particle/SubscriptParticle.d.ts +5 -0
  52. package/dist/src/editor/core/draw/particle/SuperscriptParticle.d.ts +5 -0
  53. package/dist/src/editor/core/draw/particle/TextParticle.d.ts +29 -0
  54. package/dist/src/editor/core/draw/particle/WhiteSpaceParticle.d.ts +7 -0
  55. package/dist/src/editor/core/draw/particle/block/BlockParticle.d.ts +14 -0
  56. package/dist/src/editor/core/draw/particle/block/modules/BaseBlock.d.ts +33 -0
  57. package/dist/src/editor/core/draw/particle/block/modules/IFrameBlock.d.ts +9 -0
  58. package/dist/src/editor/core/draw/particle/block/modules/VideoBlock.d.ts +8 -0
  59. package/dist/src/editor/core/draw/particle/date/DateParticle.d.ts +13 -0
  60. package/dist/src/editor/core/draw/particle/date/DatePicker.d.ts +64 -0
  61. package/dist/src/editor/core/draw/particle/latex/LaTexParticle.d.ts +7 -0
  62. package/dist/src/editor/core/draw/particle/latex/utils/LaTexUtils.d.ts +47 -0
  63. package/dist/src/editor/core/draw/particle/latex/utils/hershey.d.ts +10 -0
  64. package/dist/src/editor/core/draw/particle/latex/utils/symbols.d.ts +8 -0
  65. package/dist/src/editor/core/draw/particle/previewer/Previewer.d.ts +47 -0
  66. package/dist/src/editor/core/draw/particle/table/TableOperate.d.ts +32 -0
  67. package/dist/src/editor/core/draw/particle/table/TableParticle.d.ts +24 -0
  68. package/dist/src/editor/core/draw/particle/table/TableTool.d.ts +31 -0
  69. package/dist/src/editor/core/draw/richtext/AbstractRichText.d.ts +11 -0
  70. package/dist/src/editor/core/draw/richtext/Highlight.d.ts +7 -0
  71. package/dist/src/editor/core/draw/richtext/Strikeout.d.ts +7 -0
  72. package/dist/src/editor/core/draw/richtext/Underline.d.ts +10 -0
  73. package/dist/src/editor/core/event/CanvasEvent.d.ts +52 -0
  74. package/dist/src/editor/core/event/GlobalEvent.d.ts +26 -0
  75. package/dist/src/editor/core/event/eventbus/EventBus.d.ts +9 -0
  76. package/dist/src/editor/core/event/handlers/click.d.ts +11 -0
  77. package/dist/src/editor/core/event/handlers/composition.d.ts +8 -0
  78. package/dist/src/editor/core/event/handlers/copy.d.ts +3 -0
  79. package/dist/src/editor/core/event/handlers/cut.d.ts +2 -0
  80. package/dist/src/editor/core/event/handlers/drag.d.ts +6 -0
  81. package/dist/src/editor/core/event/handlers/drop.d.ts +2 -0
  82. package/dist/src/editor/core/event/handlers/input.d.ts +3 -0
  83. package/dist/src/editor/core/event/handlers/keydown/backspace.d.ts +2 -0
  84. package/dist/src/editor/core/event/handlers/keydown/delete.d.ts +2 -0
  85. package/dist/src/editor/core/event/handlers/keydown/end.d.ts +2 -0
  86. package/dist/src/editor/core/event/handlers/keydown/enter.d.ts +2 -0
  87. package/dist/src/editor/core/event/handlers/keydown/home.d.ts +2 -0
  88. package/dist/src/editor/core/event/handlers/keydown/index.d.ts +2 -0
  89. package/dist/src/editor/core/event/handlers/keydown/left.d.ts +2 -0
  90. package/dist/src/editor/core/event/handlers/keydown/right.d.ts +2 -0
  91. package/dist/src/editor/core/event/handlers/keydown/tab.d.ts +2 -0
  92. package/dist/src/editor/core/event/handlers/keydown/updown.d.ts +2 -0
  93. package/dist/src/editor/core/event/handlers/mousedown.d.ts +7 -0
  94. package/dist/src/editor/core/event/handlers/mouseleave.d.ts +2 -0
  95. package/dist/src/editor/core/event/handlers/mousemove.d.ts +2 -0
  96. package/dist/src/editor/core/event/handlers/mouseup.d.ts +2 -0
  97. package/dist/src/editor/core/event/handlers/paste.d.ts +8 -0
  98. package/dist/src/editor/core/history/HistoryManager.d.ts +15 -0
  99. package/dist/src/editor/core/i18n/I18n.d.ts +12 -0
  100. package/dist/src/editor/core/listener/Listener.d.ts +15 -0
  101. package/dist/src/editor/core/observer/ImageObserver.d.ts +7 -0
  102. package/dist/src/editor/core/observer/MouseObserver.d.ts +13 -0
  103. package/dist/src/editor/core/observer/ScrollObserver.d.ts +20 -0
  104. package/dist/src/editor/core/observer/SelectionObserver.d.ts +22 -0
  105. package/dist/src/editor/core/override/Override.d.ts +9 -0
  106. package/dist/src/editor/core/plugin/Plugin.d.ts +7 -0
  107. package/dist/src/editor/core/position/Position.d.ts +37 -0
  108. package/dist/src/editor/core/range/RangeManager.d.ts +45 -0
  109. package/dist/src/editor/core/register/Register.d.ts +20 -0
  110. package/dist/src/editor/core/shortcut/Shortcut.d.ts +16 -0
  111. package/dist/src/editor/core/shortcut/keys/listKeys.d.ts +2 -0
  112. package/dist/src/editor/core/shortcut/keys/richtextKeys.d.ts +2 -0
  113. package/dist/src/editor/core/shortcut/keys/titleKeys.d.ts +2 -0
  114. package/dist/src/editor/core/worker/WorkerManager.d.ts +16 -0
  115. package/dist/src/editor/core/worker/works/catalog.d.ts +1 -0
  116. package/dist/src/editor/core/worker/works/group.d.ts +1 -0
  117. package/dist/src/editor/core/worker/works/value.d.ts +1 -0
  118. package/dist/src/editor/core/worker/works/wordCount.d.ts +1 -0
  119. package/dist/src/editor/core/zone/Zone.d.ts +21 -0
  120. package/dist/src/editor/core/zone/ZoneTip.d.ts +17 -0
  121. package/dist/src/editor/dataset/constant/Background.d.ts +2 -0
  122. package/dist/src/editor/dataset/constant/Badge.d.ts +2 -0
  123. package/dist/src/editor/dataset/constant/Checkbox.d.ts +2 -0
  124. package/dist/src/editor/dataset/constant/Common.d.ts +21 -0
  125. package/dist/src/editor/dataset/constant/ContextMenu.d.ts +60 -0
  126. package/dist/src/editor/dataset/constant/Control.d.ts +2 -0
  127. package/dist/src/editor/dataset/constant/Cursor.d.ts +3 -0
  128. package/dist/src/editor/dataset/constant/Editor.d.ts +6 -0
  129. package/dist/src/editor/dataset/constant/Element.d.ts +21 -0
  130. package/dist/src/editor/dataset/constant/Footer.d.ts +2 -0
  131. package/dist/src/editor/dataset/constant/Graffiti.d.ts +2 -0
  132. package/dist/src/editor/dataset/constant/Group.d.ts +2 -0
  133. package/dist/src/editor/dataset/constant/Header.d.ts +2 -0
  134. package/dist/src/editor/dataset/constant/ImgCaption.d.ts +2 -0
  135. package/dist/src/editor/dataset/constant/Label.d.ts +2 -0
  136. package/dist/src/editor/dataset/constant/LineBreak.d.ts +2 -0
  137. package/dist/src/editor/dataset/constant/LineNumber.d.ts +2 -0
  138. package/dist/src/editor/dataset/constant/List.d.ts +6 -0
  139. package/dist/src/editor/dataset/constant/PageBorder.d.ts +2 -0
  140. package/dist/src/editor/dataset/constant/PageBreak.d.ts +2 -0
  141. package/dist/src/editor/dataset/constant/PageNumber.d.ts +6 -0
  142. package/dist/src/editor/dataset/constant/Placeholder.d.ts +2 -0
  143. package/dist/src/editor/dataset/constant/Radio.d.ts +2 -0
  144. package/dist/src/editor/dataset/constant/Regular.d.ts +10 -0
  145. package/dist/src/editor/dataset/constant/Separator.d.ts +2 -0
  146. package/dist/src/editor/dataset/constant/Shortcut.d.ts +3 -0
  147. package/dist/src/editor/dataset/constant/Table.d.ts +2 -0
  148. package/dist/src/editor/dataset/constant/Title.d.ts +6 -0
  149. package/dist/src/editor/dataset/constant/Watermark.d.ts +2 -0
  150. package/dist/src/editor/dataset/constant/WhiteSpace.d.ts +2 -0
  151. package/dist/src/editor/dataset/constant/Zone.d.ts +2 -0
  152. package/dist/src/editor/dataset/enum/Area.d.ts +5 -0
  153. package/dist/src/editor/dataset/enum/Background.d.ts +10 -0
  154. package/dist/src/editor/dataset/enum/Block.d.ts +4 -0
  155. package/dist/src/editor/dataset/enum/Common.d.ts +26 -0
  156. package/dist/src/editor/dataset/enum/Control.d.ts +32 -0
  157. package/dist/src/editor/dataset/enum/Editor.d.ts +44 -0
  158. package/dist/src/editor/dataset/enum/Element.d.ts +21 -0
  159. package/dist/src/editor/dataset/enum/ElementStyle.d.ts +12 -0
  160. package/dist/src/editor/dataset/enum/Event.d.ts +5 -0
  161. package/dist/src/editor/dataset/enum/KeyMap.d.ts +85 -0
  162. package/dist/src/editor/dataset/enum/LineNumber.d.ts +4 -0
  163. package/dist/src/editor/dataset/enum/List.d.ts +20 -0
  164. package/dist/src/editor/dataset/enum/Observer.d.ts +6 -0
  165. package/dist/src/editor/dataset/enum/Row.d.ts +7 -0
  166. package/dist/src/editor/dataset/enum/Text.d.ts +12 -0
  167. package/dist/src/editor/dataset/enum/Title.d.ts +8 -0
  168. package/dist/src/editor/dataset/enum/VerticalAlign.d.ts +5 -0
  169. package/dist/src/editor/dataset/enum/Watermark.d.ts +4 -0
  170. package/dist/src/editor/dataset/enum/table/Table.d.ts +17 -0
  171. package/dist/src/editor/dataset/enum/table/TableTool.d.ts +4 -0
  172. package/dist/src/editor/index.d.ts +57 -0
  173. package/dist/src/editor/interface/Area.d.ts +57 -0
  174. package/dist/src/editor/interface/Background.d.ts +8 -0
  175. package/dist/src/editor/interface/Badge.d.ts +15 -0
  176. package/dist/src/editor/interface/Block.d.ts +15 -0
  177. package/dist/src/editor/interface/Catalog.d.ts +9 -0
  178. package/dist/src/editor/interface/Checkbox.d.ts +15 -0
  179. package/dist/src/editor/interface/Command.d.ts +3 -0
  180. package/dist/src/editor/interface/Common.d.ts +14 -0
  181. package/dist/src/editor/interface/Control.d.ts +198 -0
  182. package/dist/src/editor/interface/Cursor.d.ts +7 -0
  183. package/dist/src/editor/interface/Draw.d.ts +74 -0
  184. package/dist/src/editor/interface/Editor.d.ts +143 -0
  185. package/dist/src/editor/interface/Element.d.ts +218 -0
  186. package/dist/src/editor/interface/Event.d.ts +22 -0
  187. package/dist/src/editor/interface/EventBus.d.ts +26 -0
  188. package/dist/src/editor/interface/Footer.d.ts +8 -0
  189. package/dist/src/editor/interface/Graffiti.d.ts +13 -0
  190. package/dist/src/editor/interface/Group.d.ts +8 -0
  191. package/dist/src/editor/interface/Header.d.ts +8 -0
  192. package/dist/src/editor/interface/Label.d.ts +7 -0
  193. package/dist/src/editor/interface/LineBreak.d.ts +5 -0
  194. package/dist/src/editor/interface/LineNumber.d.ts +9 -0
  195. package/dist/src/editor/interface/Listener.d.ts +66 -0
  196. package/{src/editor/interface/Margin.ts → dist/src/editor/interface/Margin.d.ts} +1 -1
  197. package/dist/src/editor/interface/PageBorder.d.ts +7 -0
  198. package/dist/src/editor/interface/PageBreak.d.ts +5 -0
  199. package/dist/src/editor/interface/PageNumber.d.ts +15 -0
  200. package/dist/src/editor/interface/Placeholder.d.ts +7 -0
  201. package/dist/src/editor/interface/Plugin.d.ts +3 -0
  202. package/dist/src/editor/interface/Position.d.ts +103 -0
  203. package/dist/src/editor/interface/Previewer.d.ts +13 -0
  204. package/dist/src/editor/interface/Radio.d.ts +15 -0
  205. package/dist/src/editor/interface/Range.d.ts +44 -0
  206. package/dist/src/editor/interface/Row.d.ts +23 -0
  207. package/dist/src/editor/interface/Search.d.ts +30 -0
  208. package/dist/src/editor/interface/Separator.d.ts +4 -0
  209. package/dist/src/editor/interface/Text.d.ts +13 -0
  210. package/dist/src/editor/interface/Title.d.ts +26 -0
  211. package/dist/src/editor/interface/Watermark.d.ts +15 -0
  212. package/dist/src/editor/interface/WhiteSpace.d.ts +5 -0
  213. package/{src/editor/interface/Zone.ts → dist/src/editor/interface/Zone.d.ts} +3 -3
  214. package/dist/src/editor/interface/contextmenu/ContextMenu.d.ts +73 -0
  215. package/dist/src/editor/interface/i18n/I18n.d.ts +6 -0
  216. package/dist/src/editor/interface/shortcut/Shortcut.d.ts +13 -0
  217. package/dist/src/editor/interface/table/Colgroup.d.ts +4 -0
  218. package/dist/src/editor/interface/table/Table.d.ts +8 -0
  219. package/dist/src/editor/interface/table/Td.d.ts +35 -0
  220. package/dist/src/editor/interface/table/Tr.d.ts +10 -0
  221. package/dist/src/editor/utils/clipboard.d.ts +13 -0
  222. package/dist/src/editor/utils/element.d.ts +57 -0
  223. package/dist/src/editor/utils/hotkey.d.ts +1 -0
  224. package/dist/src/editor/utils/index.d.ts +34 -0
  225. package/dist/src/editor/utils/option.d.ts +3 -0
  226. package/dist/src/editor/utils/paragraph.d.ts +8 -0
  227. package/dist/src/editor/utils/print.d.ts +7 -0
  228. package/dist/src/editor/utils/ua.d.ts +4 -0
  229. package/package.json +8 -1
  230. package/.editorconfig +0 -9
  231. package/.eslintrc +0 -46
  232. package/.prettierrc +0 -8
  233. package/AGENTS.md +0 -186
  234. package/CLAUDE.md +0 -110
  235. package/cypress/e2e/control/checkbox.cy.ts +0 -46
  236. package/cypress/e2e/control/select.cy.ts +0 -56
  237. package/cypress/e2e/control/text.cy.ts +0 -43
  238. package/cypress/e2e/editor.cy.ts +0 -67
  239. package/cypress/e2e/menus/block.cy.ts +0 -38
  240. package/cypress/e2e/menus/checkbox.cy.ts +0 -33
  241. package/cypress/e2e/menus/codeblock.cy.ts +0 -34
  242. package/cypress/e2e/menus/date.cy.ts +0 -28
  243. package/cypress/e2e/menus/format.cy.ts +0 -40
  244. package/cypress/e2e/menus/hyperlink.cy.ts +0 -39
  245. package/cypress/e2e/menus/image.cy.ts +0 -25
  246. package/cypress/e2e/menus/latex.cy.ts +0 -34
  247. package/cypress/e2e/menus/pagebreak.cy.ts +0 -21
  248. package/cypress/e2e/menus/painter.cy.ts +0 -53
  249. package/cypress/e2e/menus/print.cy.ts +0 -25
  250. package/cypress/e2e/menus/row.cy.ts +0 -103
  251. package/cypress/e2e/menus/search.cy.ts +0 -112
  252. package/cypress/e2e/menus/separator.cy.ts +0 -32
  253. package/cypress/e2e/menus/table.cy.ts +0 -25
  254. package/cypress/e2e/menus/text.cy.ts +0 -304
  255. package/cypress/e2e/menus/title.cy.ts +0 -43
  256. package/cypress/e2e/menus/undoRedo.cy.ts +0 -49
  257. package/cypress/e2e/menus/watermark.cy.ts +0 -64
  258. package/cypress/fixtures/example.json +0 -3
  259. package/cypress/fixtures/test.png +0 -0
  260. package/cypress/global.d.ts +0 -13
  261. package/cypress/support/commands.ts +0 -5
  262. package/cypress/support/e2e.ts +0 -1
  263. package/cypress/tsconfig.json +0 -21
  264. package/cypress.config.ts +0 -10
  265. package/docs/.vitepress/config.ts +0 -191
  266. package/docs/.vitepress/theme/components/DeepWikiBadge.vue +0 -21
  267. package/docs/.vitepress/theme/components/ZreadBadge.vue +0 -21
  268. package/docs/.vitepress/theme/index.ts +0 -27
  269. package/docs/en/guide/api-common.md +0 -49
  270. package/docs/en/guide/api-instance.md +0 -34
  271. package/docs/en/guide/command-execute.md +0 -1167
  272. package/docs/en/guide/command-get.md +0 -355
  273. package/docs/en/guide/contextmenu-custom.md +0 -44
  274. package/docs/en/guide/contextmenu-internal.md +0 -61
  275. package/docs/en/guide/eventbus.md +0 -260
  276. package/docs/en/guide/i18n.md +0 -112
  277. package/docs/en/guide/listener.md +0 -126
  278. package/docs/en/guide/option.md +0 -214
  279. package/docs/en/guide/override.md +0 -57
  280. package/docs/en/guide/plugin-custom.md +0 -25
  281. package/docs/en/guide/plugin-internal.md +0 -125
  282. package/docs/en/guide/schema.md +0 -237
  283. package/docs/en/guide/shortcut-custom.md +0 -22
  284. package/docs/en/guide/shortcut-internal.md +0 -189
  285. package/docs/en/guide/start.md +0 -97
  286. package/docs/en/index.md +0 -43
  287. package/docs/guide/api-common.md +0 -49
  288. package/docs/guide/api-instance.md +0 -34
  289. package/docs/guide/command-execute.md +0 -1157
  290. package/docs/guide/command-get.md +0 -353
  291. package/docs/guide/contextmenu-custom.md +0 -44
  292. package/docs/guide/contextmenu-internal.md +0 -61
  293. package/docs/guide/eventbus.md +0 -260
  294. package/docs/guide/i18n.md +0 -111
  295. package/docs/guide/listener.md +0 -126
  296. package/docs/guide/option.md +0 -214
  297. package/docs/guide/override.md +0 -57
  298. package/docs/guide/plugin-custom.md +0 -25
  299. package/docs/guide/plugin-internal.md +0 -125
  300. package/docs/guide/schema.md +0 -237
  301. package/docs/guide/shortcut-custom.md +0 -22
  302. package/docs/guide/shortcut-internal.md +0 -189
  303. package/docs/guide/start.md +0 -97
  304. package/docs/index.md +0 -43
  305. package/docs/public/favicon.png +0 -0
  306. package/favicon.png +0 -0
  307. package/index.html +0 -435
  308. package/pnpm-lock.yaml +0 -4113
  309. package/scripts/release.js +0 -43
  310. package/scripts/verifyCommit.js +0 -19
  311. package/src/assets/images/alignment.svg +0 -1
  312. package/src/assets/images/arrow-left.svg +0 -1
  313. package/src/assets/images/arrow-right.svg +0 -1
  314. package/src/assets/images/block.svg +0 -1
  315. package/src/assets/images/bold.svg +0 -1
  316. package/src/assets/images/catalog.svg +0 -1
  317. package/src/assets/images/center.svg +0 -1
  318. package/src/assets/images/checkbox.svg +0 -1
  319. package/src/assets/images/close.svg +0 -1
  320. package/src/assets/images/codeblock.svg +0 -1
  321. package/src/assets/images/color.svg +0 -1
  322. package/src/assets/images/control.svg +0 -1
  323. package/src/assets/images/date.svg +0 -1
  324. package/src/assets/images/exit-fullscreen.svg +0 -1
  325. package/src/assets/images/format.svg +0 -1
  326. package/src/assets/images/highlight.svg +0 -1
  327. package/src/assets/images/hyperlink.svg +0 -1
  328. package/src/assets/images/image.svg +0 -1
  329. package/src/assets/images/italic.svg +0 -1
  330. package/src/assets/images/justify.svg +0 -7
  331. package/src/assets/images/latex.svg +0 -1
  332. package/src/assets/images/left.svg +0 -1
  333. package/src/assets/images/line-dash-dot-dot.svg +0 -1
  334. package/src/assets/images/line-dash-dot.svg +0 -1
  335. package/src/assets/images/line-dash-large-gap.svg +0 -1
  336. package/src/assets/images/line-dash-small-gap.svg +0 -1
  337. package/src/assets/images/line-dot.svg +0 -1
  338. package/src/assets/images/line-double.svg +0 -1
  339. package/src/assets/images/line-single.svg +0 -1
  340. package/src/assets/images/line-wavy.svg +0 -1
  341. package/src/assets/images/list.svg +0 -1
  342. package/src/assets/images/option.svg +0 -1
  343. package/src/assets/images/page-break.svg +0 -1
  344. package/src/assets/images/page-mode.svg +0 -1
  345. package/src/assets/images/page-scale-add.svg +0 -1
  346. package/src/assets/images/page-scale-minus.svg +0 -1
  347. package/src/assets/images/painter.svg +0 -1
  348. package/src/assets/images/paper-direction.svg +0 -1
  349. package/src/assets/images/paper-margin.svg +0 -1
  350. package/src/assets/images/paper-size.svg +0 -1
  351. package/src/assets/images/print.svg +0 -1
  352. package/src/assets/images/radio.svg +0 -4
  353. package/src/assets/images/redo.svg +0 -1
  354. package/src/assets/images/request-fullscreen.svg +0 -1
  355. package/src/assets/images/right.svg +0 -1
  356. package/src/assets/images/row-margin.svg +0 -1
  357. package/src/assets/images/search.svg +0 -1
  358. package/src/assets/images/separator.svg +0 -1
  359. package/src/assets/images/signature-undo.svg +0 -1
  360. package/src/assets/images/signature.svg +0 -1
  361. package/src/assets/images/size-add.svg +0 -1
  362. package/src/assets/images/size-minus.svg +0 -1
  363. package/src/assets/images/strikeout.svg +0 -1
  364. package/src/assets/images/subscript.svg +0 -1
  365. package/src/assets/images/superscript.svg +0 -1
  366. package/src/assets/images/table.svg +0 -1
  367. package/src/assets/images/title.svg +0 -1
  368. package/src/assets/images/trash.svg +0 -1
  369. package/src/assets/images/underline.svg +0 -1
  370. package/src/assets/images/undo.svg +0 -1
  371. package/src/assets/images/watermark.svg +0 -1
  372. package/src/assets/images/word-tool.svg +0 -1
  373. package/src/assets/snapshots/main_v0.2.1.png +0 -0
  374. package/src/assets/snapshots/main_v0.2.2.png +0 -0
  375. package/src/assets/snapshots/main_v0.3.0.png +0 -0
  376. package/src/assets/snapshots/main_v0.3.1.png +0 -0
  377. package/src/assets/snapshots/main_v0.5.0.png +0 -0
  378. package/src/assets/snapshots/main_v0.5.1.png +0 -0
  379. package/src/assets/snapshots/main_v0.6.0.png +0 -0
  380. package/src/assets/snapshots/main_v0.6.1.png +0 -0
  381. package/src/assets/snapshots/main_v0.7.0.png +0 -0
  382. package/src/assets/snapshots/main_v0.7.1.png +0 -0
  383. package/src/assets/snapshots/main_v0.7.2.png +0 -0
  384. package/src/assets/snapshots/main_v0.7.3.png +0 -0
  385. package/src/assets/snapshots/main_v0.7.4.png +0 -0
  386. package/src/assets/snapshots/main_v0.7.6.png +0 -0
  387. package/src/assets/snapshots/main_v0.7.7.png +0 -0
  388. package/src/assets/snapshots/main_v0.8.0.png +0 -0
  389. package/src/assets/snapshots/main_v0.8.5.png +0 -0
  390. package/src/assets/snapshots/main_v0.8.6.png +0 -0
  391. package/src/assets/snapshots/main_v0.8.7.png +0 -0
  392. package/src/assets/snapshots/main_v0.8.8.png +0 -0
  393. package/src/assets/snapshots/main_v0.9.0.png +0 -0
  394. package/src/assets/snapshots/main_v0.9.1.png +0 -0
  395. package/src/assets/snapshots/main_v0.9.2.png +0 -0
  396. package/src/assets/snapshots/main_v0.9.23.png +0 -0
  397. package/src/assets/snapshots/main_v0.9.28.png +0 -0
  398. package/src/assets/snapshots/main_v0.9.29.png +0 -0
  399. package/src/assets/snapshots/main_v0.9.3.png +0 -0
  400. package/src/assets/snapshots/main_v0.9.30.png +0 -0
  401. package/src/assets/snapshots/main_v0.9.32.png +0 -0
  402. package/src/assets/snapshots/main_v0.9.35.png +0 -0
  403. package/src/assets/snapshots/main_v0.9.4.png +0 -0
  404. package/src/assets/snapshots/main_v0.9.5.png +0 -0
  405. package/src/assets/snapshots/main_v0.9.6.png +0 -0
  406. package/src/assets/snapshots/main_v0.9.8.png +0 -0
  407. package/src/components/dialog/Dialog.ts +0 -171
  408. package/src/components/dialog/dialog.css +0 -131
  409. package/src/components/signature/Signature.ts +0 -340
  410. package/src/components/signature/signature.css +0 -132
  411. package/src/editor/assets/css/block/block.css +0 -21
  412. package/src/editor/assets/css/contextmenu/contextmenu.css +0 -196
  413. package/src/editor/assets/css/control/calculator.css +0 -85
  414. package/src/editor/assets/css/control/select.css +0 -44
  415. package/src/editor/assets/css/date/datePicker.css +0 -233
  416. package/src/editor/assets/css/hyperlink/hyperlink.css +0 -26
  417. package/src/editor/assets/css/index.css +0 -78
  418. package/src/editor/assets/css/previewer/previewer.css +0 -122
  419. package/src/editor/assets/css/resizer/resizer.css +0 -74
  420. package/src/editor/assets/css/table/table.css +0 -155
  421. package/src/editor/assets/css/zone/zone.css +0 -61
  422. package/src/editor/assets/images/close.svg +0 -1
  423. package/src/editor/assets/images/delete-col.svg +0 -1
  424. package/src/editor/assets/images/delete-row-col.svg +0 -1
  425. package/src/editor/assets/images/delete-row.svg +0 -1
  426. package/src/editor/assets/images/delete-table.svg +0 -1
  427. package/src/editor/assets/images/image-change.svg +0 -1
  428. package/src/editor/assets/images/image-download.svg +0 -1
  429. package/src/editor/assets/images/image-next.svg +0 -1
  430. package/src/editor/assets/images/image-pre.svg +0 -1
  431. package/src/editor/assets/images/image.svg +0 -1
  432. package/src/editor/assets/images/insert-bottom-row.svg +0 -1
  433. package/src/editor/assets/images/insert-left-col.svg +0 -1
  434. package/src/editor/assets/images/insert-right-col.svg +0 -1
  435. package/src/editor/assets/images/insert-row-col.svg +0 -1
  436. package/src/editor/assets/images/insert-top-row.svg +0 -1
  437. package/src/editor/assets/images/merge-cancel-cell.svg +0 -1
  438. package/src/editor/assets/images/merge-cell.svg +0 -1
  439. package/src/editor/assets/images/original-size.svg +0 -1
  440. package/src/editor/assets/images/print.svg +0 -1
  441. package/src/editor/assets/images/rotate.svg +0 -1
  442. package/src/editor/assets/images/submenu-dropdown.svg +0 -1
  443. package/src/editor/assets/images/table-border-all.svg +0 -1
  444. package/src/editor/assets/images/table-border-dash.svg +0 -1
  445. package/src/editor/assets/images/table-border-empty.svg +0 -1
  446. package/src/editor/assets/images/table-border-external.svg +0 -1
  447. package/src/editor/assets/images/table-border-internal.svg +0 -1
  448. package/src/editor/assets/images/table-border-td-back.svg +0 -1
  449. package/src/editor/assets/images/table-border-td-bottom.svg +0 -1
  450. package/src/editor/assets/images/table-border-td-forward.svg +0 -1
  451. package/src/editor/assets/images/table-border-td-left.svg +0 -1
  452. package/src/editor/assets/images/table-border-td-right.svg +0 -1
  453. package/src/editor/assets/images/table-border-td-top.svg +0 -1
  454. package/src/editor/assets/images/table-border-td.svg +0 -1
  455. package/src/editor/assets/images/vertical-align-bottom.svg +0 -1
  456. package/src/editor/assets/images/vertical-align-middle.svg +0 -1
  457. package/src/editor/assets/images/vertical-align-top.svg +0 -1
  458. package/src/editor/assets/images/vertical-align.svg +0 -1
  459. package/src/editor/assets/images/zoom-in.svg +0 -1
  460. package/src/editor/assets/images/zoom-out.svg +0 -1
  461. package/src/editor/core/actuator/Actuator.ts +0 -21
  462. package/src/editor/core/actuator/handlers/positionContextChange.ts +0 -13
  463. package/src/editor/core/command/Command.ts +0 -312
  464. package/src/editor/core/command/CommandAdapt.ts +0 -2733
  465. package/src/editor/core/contextmenu/ContextMenu.ts +0 -363
  466. package/src/editor/core/contextmenu/menus/controlMenus.ts +0 -25
  467. package/src/editor/core/contextmenu/menus/globalMenus.ts +0 -66
  468. package/src/editor/core/contextmenu/menus/hyperlinkMenus.ts +0 -58
  469. package/src/editor/core/contextmenu/menus/imageMenus.ts +0 -134
  470. package/src/editor/core/contextmenu/menus/tableMenus.ts +0 -331
  471. package/src/editor/core/cursor/Cursor.ts +0 -248
  472. package/src/editor/core/cursor/CursorAgent.ts +0 -75
  473. package/src/editor/core/draw/Draw.ts +0 -2934
  474. package/src/editor/core/draw/control/Control.ts +0 -1767
  475. package/src/editor/core/draw/control/checkbox/CheckboxControl.ts +0 -154
  476. package/src/editor/core/draw/control/date/DateControl.ts +0 -363
  477. package/src/editor/core/draw/control/interactive/ControlSearch.ts +0 -214
  478. package/src/editor/core/draw/control/number/Calculator.ts +0 -183
  479. package/src/editor/core/draw/control/number/NumberControl.ts +0 -183
  480. package/src/editor/core/draw/control/radio/RadioControl.ts +0 -68
  481. package/src/editor/core/draw/control/richtext/Border.ts +0 -52
  482. package/src/editor/core/draw/control/select/SelectControl.ts +0 -567
  483. package/src/editor/core/draw/control/text/TextControl.ts +0 -280
  484. package/src/editor/core/draw/frame/Background.ts +0 -117
  485. package/src/editor/core/draw/frame/Badge.ts +0 -88
  486. package/src/editor/core/draw/frame/Footer.ts +0 -155
  487. package/src/editor/core/draw/frame/Header.ts +0 -158
  488. package/src/editor/core/draw/frame/LineNumber.ts +0 -43
  489. package/src/editor/core/draw/frame/Margin.ts +0 -53
  490. package/src/editor/core/draw/frame/PageBorder.ts +0 -47
  491. package/src/editor/core/draw/frame/PageNumber.ts +0 -88
  492. package/src/editor/core/draw/frame/Placeholder.ts +0 -114
  493. package/src/editor/core/draw/frame/Watermark.ts +0 -188
  494. package/src/editor/core/draw/graffiti/Graffiti.ts +0 -125
  495. package/src/editor/core/draw/interactive/Area.ts +0 -312
  496. package/src/editor/core/draw/interactive/Group.ts +0 -198
  497. package/src/editor/core/draw/interactive/Search.ts +0 -527
  498. package/src/editor/core/draw/particle/CheckboxParticle.ts +0 -111
  499. package/src/editor/core/draw/particle/HyperlinkParticle.ts +0 -86
  500. package/src/editor/core/draw/particle/ImageParticle.ts +0 -280
  501. package/src/editor/core/draw/particle/LabelParticle.ts +0 -79
  502. package/src/editor/core/draw/particle/LineBreakParticle.ts +0 -55
  503. package/src/editor/core/draw/particle/ListParticle.ts +0 -255
  504. package/src/editor/core/draw/particle/PageBreakParticle.ts +0 -54
  505. package/src/editor/core/draw/particle/RadioParticle.ts +0 -99
  506. package/src/editor/core/draw/particle/SeparatorParticle.ts +0 -37
  507. package/src/editor/core/draw/particle/SubscriptParticle.ts +0 -23
  508. package/src/editor/core/draw/particle/SuperscriptParticle.ts +0 -23
  509. package/src/editor/core/draw/particle/TextParticle.ts +0 -174
  510. package/src/editor/core/draw/particle/WhiteSpaceParticle.ts +0 -32
  511. package/src/editor/core/draw/particle/block/BlockParticle.ts +0 -76
  512. package/src/editor/core/draw/particle/block/modules/BaseBlock.ts +0 -280
  513. package/src/editor/core/draw/particle/block/modules/IFrameBlock.ts +0 -47
  514. package/src/editor/core/draw/particle/block/modules/VideoBlock.ts +0 -61
  515. package/src/editor/core/draw/particle/date/DateParticle.ts +0 -111
  516. package/src/editor/core/draw/particle/date/DatePicker.ts +0 -577
  517. package/src/editor/core/draw/particle/latex/LaTexParticle.ts +0 -43
  518. package/src/editor/core/draw/particle/latex/utils/LaTexUtils.ts +0 -1196
  519. package/src/editor/core/draw/particle/latex/utils/hershey.ts +0 -1632
  520. package/src/editor/core/draw/particle/latex/utils/symbols.ts +0 -318
  521. package/src/editor/core/draw/particle/previewer/Previewer.ts +0 -582
  522. package/src/editor/core/draw/particle/table/TableOperate.ts +0 -988
  523. package/src/editor/core/draw/particle/table/TableParticle.ts +0 -558
  524. package/src/editor/core/draw/particle/table/TableTool.ts +0 -551
  525. package/src/editor/core/draw/richtext/AbstractRichText.ts +0 -59
  526. package/src/editor/core/draw/richtext/Highlight.ts +0 -24
  527. package/src/editor/core/draw/richtext/Strikeout.ts +0 -28
  528. package/src/editor/core/draw/richtext/Underline.ts +0 -106
  529. package/src/editor/core/event/CanvasEvent.ts +0 -215
  530. package/src/editor/core/event/GlobalEvent.ts +0 -173
  531. package/src/editor/core/event/eventbus/EventBus.ts +0 -50
  532. package/src/editor/core/event/handlers/click.ts +0 -234
  533. package/src/editor/core/event/handlers/composition.ts +0 -45
  534. package/src/editor/core/event/handlers/copy.ts +0 -72
  535. package/src/editor/core/event/handlers/cut.ts +0 -47
  536. package/src/editor/core/event/handlers/drag.ts +0 -66
  537. package/src/editor/core/event/handlers/drop.ts +0 -28
  538. package/src/editor/core/event/handlers/input.ts +0 -129
  539. package/src/editor/core/event/handlers/keydown/backspace.ts +0 -161
  540. package/src/editor/core/event/handlers/keydown/delete.ts +0 -119
  541. package/src/editor/core/event/handlers/keydown/end.ts +0 -69
  542. package/src/editor/core/event/handlers/keydown/enter.ts +0 -126
  543. package/src/editor/core/event/handlers/keydown/home.ts +0 -69
  544. package/src/editor/core/event/handlers/keydown/index.ts +0 -85
  545. package/src/editor/core/event/handlers/keydown/left.ts +0 -162
  546. package/src/editor/core/event/handlers/keydown/right.ts +0 -178
  547. package/src/editor/core/event/handlers/keydown/tab.ts +0 -41
  548. package/src/editor/core/event/handlers/keydown/updown.ts +0 -342
  549. package/src/editor/core/event/handlers/mousedown.ts +0 -262
  550. package/src/editor/core/event/handlers/mouseleave.ts +0 -14
  551. package/src/editor/core/event/handlers/mousemove.ts +0 -133
  552. package/src/editor/core/event/handlers/mouseup.ts +0 -341
  553. package/src/editor/core/event/handlers/paste.ts +0 -231
  554. package/src/editor/core/history/HistoryManager.ts +0 -61
  555. package/src/editor/core/i18n/I18n.ts +0 -51
  556. package/src/editor/core/i18n/lang/en.json +0 -92
  557. package/src/editor/core/i18n/lang/zh-CN.json +0 -92
  558. package/src/editor/core/listener/Listener.ts +0 -41
  559. package/src/editor/core/observer/ImageObserver.ts +0 -19
  560. package/src/editor/core/observer/MouseObserver.ts +0 -56
  561. package/src/editor/core/observer/ScrollObserver.ts +0 -88
  562. package/src/editor/core/observer/SelectionObserver.ts +0 -143
  563. package/src/editor/core/override/Override.ts +0 -14
  564. package/src/editor/core/plugin/Plugin.ts +0 -17
  565. package/src/editor/core/position/Position.ts +0 -870
  566. package/src/editor/core/range/RangeManager.ts +0 -723
  567. package/src/editor/core/register/Register.ts +0 -28
  568. package/src/editor/core/shortcut/Shortcut.ts +0 -80
  569. package/src/editor/core/shortcut/keys/listKeys.ts +0 -22
  570. package/src/editor/core/shortcut/keys/richtextKeys.ts +0 -102
  571. package/src/editor/core/shortcut/keys/titleKeys.ts +0 -62
  572. package/src/editor/core/worker/WorkerManager.ts +0 -96
  573. package/src/editor/core/worker/works/catalog.ts +0 -189
  574. package/src/editor/core/worker/works/group.ts +0 -34
  575. package/src/editor/core/worker/works/value.ts +0 -32
  576. package/src/editor/core/worker/works/wordCount.ts +0 -132
  577. package/src/editor/core/zone/Zone.ts +0 -183
  578. package/src/editor/core/zone/ZoneTip.ts +0 -108
  579. package/src/editor/dataset/constant/Background.ts +0 -10
  580. package/src/editor/dataset/constant/Badge.ts +0 -6
  581. package/src/editor/dataset/constant/Checkbox.ts +0 -12
  582. package/src/editor/dataset/constant/Common.ts +0 -44
  583. package/src/editor/dataset/constant/ContextMenu.ts +0 -61
  584. package/src/editor/dataset/constant/Control.ts +0 -14
  585. package/src/editor/dataset/constant/Cursor.ts +0 -11
  586. package/src/editor/dataset/constant/Editor.ts +0 -19
  587. package/src/editor/dataset/constant/Element.ts +0 -173
  588. package/src/editor/dataset/constant/Footer.ts +0 -10
  589. package/src/editor/dataset/constant/Graffiti.ts +0 -6
  590. package/src/editor/dataset/constant/Group.ts +0 -10
  591. package/src/editor/dataset/constant/Header.ts +0 -10
  592. package/src/editor/dataset/constant/ImgCaption.ts +0 -8
  593. package/src/editor/dataset/constant/Label.ts +0 -8
  594. package/src/editor/dataset/constant/LineBreak.ts +0 -7
  595. package/src/editor/dataset/constant/LineNumber.ts +0 -11
  596. package/src/editor/dataset/constant/List.ts +0 -26
  597. package/src/editor/dataset/constant/PageBorder.ts +0 -8
  598. package/src/editor/dataset/constant/PageBreak.ts +0 -7
  599. package/src/editor/dataset/constant/PageNumber.ts +0 -22
  600. package/src/editor/dataset/constant/Placeholder.ts +0 -9
  601. package/src/editor/dataset/constant/Radio.ts +0 -12
  602. package/src/editor/dataset/constant/Regular.ts +0 -23
  603. package/src/editor/dataset/constant/Separator.ts +0 -6
  604. package/src/editor/dataset/constant/Shortcut.ts +0 -3
  605. package/src/editor/dataset/constant/Table.ts +0 -9
  606. package/src/editor/dataset/constant/Title.ts +0 -38
  607. package/src/editor/dataset/constant/Watermark.ts +0 -17
  608. package/src/editor/dataset/constant/WhiteSpace.ts +0 -7
  609. package/src/editor/dataset/constant/Zone.ts +0 -5
  610. package/src/editor/dataset/enum/Area.ts +0 -5
  611. package/src/editor/dataset/enum/Background.ts +0 -11
  612. package/src/editor/dataset/enum/Block.ts +0 -4
  613. package/src/editor/dataset/enum/Common.ts +0 -30
  614. package/src/editor/dataset/enum/Control.ts +0 -39
  615. package/src/editor/dataset/enum/Editor.ts +0 -51
  616. package/src/editor/dataset/enum/Element.ts +0 -21
  617. package/src/editor/dataset/enum/ElementStyle.ts +0 -12
  618. package/src/editor/dataset/enum/Event.ts +0 -5
  619. package/src/editor/dataset/enum/KeyMap.ts +0 -85
  620. package/src/editor/dataset/enum/LineNumber.ts +0 -4
  621. package/src/editor/dataset/enum/List.ts +0 -23
  622. package/src/editor/dataset/enum/Observer.ts +0 -6
  623. package/src/editor/dataset/enum/Row.ts +0 -7
  624. package/src/editor/dataset/enum/Text.ts +0 -13
  625. package/src/editor/dataset/enum/Title.ts +0 -8
  626. package/src/editor/dataset/enum/VerticalAlign.ts +0 -5
  627. package/src/editor/dataset/enum/Watermark.ts +0 -4
  628. package/src/editor/dataset/enum/table/Table.ts +0 -19
  629. package/src/editor/dataset/enum/table/TableTool.ts +0 -4
  630. package/src/editor/index.ts +0 -241
  631. package/src/editor/interface/Area.ts +0 -68
  632. package/src/editor/interface/Background.ts +0 -9
  633. package/src/editor/interface/Badge.ts +0 -17
  634. package/src/editor/interface/Block.ts +0 -18
  635. package/src/editor/interface/Catalog.ts +0 -11
  636. package/src/editor/interface/Checkbox.ts +0 -17
  637. package/src/editor/interface/Command.ts +0 -3
  638. package/src/editor/interface/Common.ts +0 -43
  639. package/src/editor/interface/Control.ts +0 -250
  640. package/src/editor/interface/Cursor.ts +0 -7
  641. package/src/editor/interface/Draw.ts +0 -86
  642. package/src/editor/interface/Editor.ts +0 -172
  643. package/src/editor/interface/Element.ts +0 -273
  644. package/src/editor/interface/Event.ts +0 -27
  645. package/src/editor/interface/EventBus.ts +0 -46
  646. package/src/editor/interface/Footer.ts +0 -9
  647. package/src/editor/interface/Graffiti.ts +0 -15
  648. package/src/editor/interface/Group.ts +0 -8
  649. package/src/editor/interface/Header.ts +0 -9
  650. package/src/editor/interface/Label.ts +0 -8
  651. package/src/editor/interface/LineBreak.ts +0 -5
  652. package/src/editor/interface/LineNumber.ts +0 -10
  653. package/src/editor/interface/Listener.ts +0 -88
  654. package/src/editor/interface/PageBorder.ts +0 -8
  655. package/src/editor/interface/PageBreak.ts +0 -5
  656. package/src/editor/interface/PageNumber.ts +0 -16
  657. package/src/editor/interface/Placeholder.ts +0 -7
  658. package/src/editor/interface/Plugin.ts +0 -8
  659. package/src/editor/interface/Position.ts +0 -113
  660. package/src/editor/interface/Previewer.ts +0 -15
  661. package/src/editor/interface/Radio.ts +0 -17
  662. package/src/editor/interface/Range.ts +0 -61
  663. package/src/editor/interface/Row.ts +0 -25
  664. package/src/editor/interface/Search.ts +0 -36
  665. package/src/editor/interface/Separator.ts +0 -4
  666. package/src/editor/interface/Text.ts +0 -15
  667. package/src/editor/interface/Title.ts +0 -32
  668. package/src/editor/interface/Watermark.ts +0 -16
  669. package/src/editor/interface/WhiteSpace.ts +0 -5
  670. package/src/editor/interface/contextmenu/ContextMenu.ts +0 -76
  671. package/src/editor/interface/i18n/I18n.ts +0 -7
  672. package/src/editor/interface/shortcut/Shortcut.ts +0 -14
  673. package/src/editor/interface/table/Colgroup.ts +0 -4
  674. package/src/editor/interface/table/Table.ts +0 -9
  675. package/src/editor/interface/table/Td.ts +0 -36
  676. package/src/editor/interface/table/Tr.ts +0 -11
  677. package/src/editor/types/index.d.ts +0 -5
  678. package/src/editor/utils/clipboard.ts +0 -94
  679. package/src/editor/utils/element.ts +0 -1877
  680. package/src/editor/utils/hotkey.ts +0 -5
  681. package/src/editor/utils/index.ts +0 -445
  682. package/src/editor/utils/option.ts +0 -253
  683. package/src/editor/utils/paragraph.ts +0 -28
  684. package/src/editor/utils/print.ts +0 -99
  685. package/src/editor/utils/ua.ts +0 -13
  686. package/src/main.ts +0 -2053
  687. package/src/mock.ts +0 -611
  688. package/src/plugins/copy/index.ts +0 -30
  689. package/src/plugins/markdown/index.ts +0 -118
  690. package/src/style.css +0 -1079
  691. package/src/utils/index.ts +0 -45
  692. package/src/utils/prism.ts +0 -89
  693. package/src/vite-env.d.ts +0 -1
  694. package/tsconfig.json +0 -25
  695. package/vite.config.ts +0 -46
@@ -1,133 +0,0 @@
1
- import { ImageDisplay } from '../../../dataset/enum/Common'
2
- import { ControlComponent } from '../../../dataset/enum/Control'
3
- import { ElementType } from '../../../dataset/enum/Element'
4
- import { CanvasEvent } from '../CanvasEvent'
5
-
6
- export function mousemove(evt: MouseEvent, host: CanvasEvent) {
7
- const draw = host.getDraw()
8
- // 是否是拖拽文字
9
- if (host.isAllowDrag) {
10
- // 是否允许拖拽到选区
11
- const x = evt.offsetX
12
- const y = evt.offsetY
13
- const { startIndex, endIndex } = host.cacheRange!
14
- const positionList = host.cachePositionList!
15
- for (let p = startIndex + 1; p <= endIndex; p++) {
16
- const {
17
- coordinate: { leftTop, rightBottom }
18
- } = positionList[p]
19
- if (
20
- x >= leftTop[0] &&
21
- x <= rightBottom[0] &&
22
- y >= leftTop[1] &&
23
- y <= rightBottom[1]
24
- ) {
25
- return
26
- }
27
- }
28
- const cacheStartIndex = host.cacheRange?.startIndex
29
- if (cacheStartIndex) {
30
- // 浮动元素拖拽调整位置
31
- const dragElement = host.cacheElementList![cacheStartIndex]
32
- if (
33
- dragElement?.type === ElementType.IMAGE &&
34
- (dragElement.imgDisplay === ImageDisplay.SURROUND ||
35
- dragElement.imgDisplay === ImageDisplay.FLOAT_TOP ||
36
- dragElement.imgDisplay === ImageDisplay.FLOAT_BOTTOM)
37
- ) {
38
- draw.getPreviewer().clearResizer()
39
- draw.getImageParticle().dragFloatImage(evt.movementX, evt.movementY)
40
- }
41
- }
42
- host.dragover(evt)
43
- host.isAllowDrop = true
44
- return
45
- }
46
- if (!host.isAllowSelection || !host.mouseDownStartPosition) return
47
- const target = evt.target as HTMLDivElement
48
- const pageIndex = target.dataset.index
49
- // 设置pageNo
50
- if (pageIndex) {
51
- draw.setPageNo(Number(pageIndex))
52
- }
53
- // 结束位置
54
- const position = draw.getPosition()
55
- const positionResult = position.getPositionByXY({
56
- x: evt.offsetX,
57
- y: evt.offsetY
58
- })
59
- if (!~positionResult.index) return
60
- const {
61
- index,
62
- isTable,
63
- tdValueIndex,
64
- tdIndex,
65
- trIndex,
66
- tableId,
67
- trId,
68
- tdId
69
- } = positionResult
70
- const {
71
- index: startIndex,
72
- isTable: startIsTable,
73
- tdIndex: startTdIndex,
74
- trIndex: startTrIndex,
75
- tableId: startTableId
76
- } = host.mouseDownStartPosition
77
- const endIndex = isTable ? tdValueIndex! : index
78
- // 判断是否是表格跨行/列
79
- const rangeManager = draw.getRange()
80
- if (
81
- isTable &&
82
- startIsTable &&
83
- (tdIndex !== startTdIndex || trIndex !== startTrIndex)
84
- ) {
85
- rangeManager.setRange(
86
- endIndex,
87
- endIndex,
88
- tableId,
89
- startTdIndex,
90
- tdIndex,
91
- startTrIndex,
92
- trIndex
93
- )
94
- position.setPositionContext({
95
- isTable,
96
- index,
97
- trIndex,
98
- tdIndex,
99
- tdId,
100
- trId,
101
- tableId
102
- })
103
- } else {
104
- let end = ~endIndex ? endIndex : 0
105
- // 开始或结束位置存在表格,但是非相同表格则忽略选区设置
106
- if ((startIsTable || isTable) && startTableId !== tableId) return
107
- // 开始位置
108
- let start = startIndex
109
- if (start > end) {
110
- // prettier-ignore
111
- [start, end] = [end, start]
112
- }
113
- if (start === end) return
114
- // 背景文本禁止选区
115
- const elementList = draw.getElementList()
116
- const startElement = elementList[start + 1]
117
- const endElement = elementList[end]
118
- if (
119
- startElement?.controlComponent === ControlComponent.PLACEHOLDER &&
120
- endElement?.controlComponent === ControlComponent.PLACEHOLDER &&
121
- startElement.controlId === endElement.controlId
122
- ) {
123
- return
124
- }
125
- rangeManager.setRange(start, end)
126
- }
127
- // 绘制
128
- draw.render({
129
- isSubmitHistory: false,
130
- isSetCursor: false,
131
- isCompute: false
132
- })
133
- }
@@ -1,341 +0,0 @@
1
- import {
2
- CONTROL_CONTEXT_ATTR,
3
- EDITOR_ELEMENT_STYLE_ATTR
4
- } from '../../../dataset/constant/Element'
5
- import { ImageDisplay } from '../../../dataset/enum/Common'
6
- import { ControlComponent, ControlType } from '../../../dataset/enum/Control'
7
- import { ElementType } from '../../../dataset/enum/Element'
8
- import { IElement } from '../../../interface/Element'
9
- import { deepClone, getUUID, omitObject } from '../../../utils'
10
- import { formatElementContext, formatElementList } from '../../../utils/element'
11
- import { CanvasEvent } from '../CanvasEvent'
12
-
13
- type IDragElement = IElement & { dragId: string }
14
-
15
- function createDragId(element: IElement): string {
16
- const dragId = getUUID()
17
- Reflect.set(element, 'dragId', dragId)
18
- return dragId
19
- }
20
-
21
- function getElementIndexByDragId(dragId: string, elementList: IElement[]) {
22
- return (<IDragElement[]>elementList).findIndex(el => el.dragId === dragId)
23
- }
24
-
25
- // 移动悬浮图片位置
26
- function moveImgPosition(
27
- element: IElement,
28
- evt: MouseEvent,
29
- host: CanvasEvent
30
- ) {
31
- const draw = host.getDraw()
32
- if (
33
- element.imgDisplay === ImageDisplay.SURROUND ||
34
- element.imgDisplay === ImageDisplay.FLOAT_TOP ||
35
- element.imgDisplay === ImageDisplay.FLOAT_BOTTOM
36
- ) {
37
- const moveX = evt.offsetX - host.mouseDownStartPosition!.x!
38
- const moveY = evt.offsetY - host.mouseDownStartPosition!.y!
39
- const imgFloatPosition = element.imgFloatPosition!
40
- element.imgFloatPosition = {
41
- x: imgFloatPosition.x + moveX,
42
- y: imgFloatPosition.y + moveY,
43
- pageNo: draw.getPageNo()
44
- }
45
- }
46
- draw.getImageParticle().destroyFloatImage()
47
- }
48
-
49
- export function mouseup(evt: MouseEvent, host: CanvasEvent) {
50
- // 判断是否允许拖放
51
- if (host.isAllowDrop) {
52
- const draw = host.getDraw()
53
- if (draw.isReadonly() || draw.isDisabled()) {
54
- host.mousedown(evt)
55
- return
56
- }
57
- const position = draw.getPosition()
58
- const positionList = position.getPositionList()
59
- const positionContext = position.getPositionContext()
60
- const rangeManager = draw.getRange()
61
- const cacheRange = host.cacheRange!
62
- const cacheElementList = host.cacheElementList!
63
- const cachePositionList = host.cachePositionList!
64
- const cachePositionContext = host.cachePositionContext
65
- const range = rangeManager.getRange()
66
- // 缓存选区的信息
67
- const isCacheRangeCollapsed = cacheRange.startIndex === cacheRange.endIndex
68
- // 选区闭合时,起始位置向前移动一位进行扩选
69
- const cacheStartIndex = isCacheRangeCollapsed
70
- ? cacheRange.startIndex - 1
71
- : cacheRange.startIndex
72
- const cacheEndIndex = cacheRange.endIndex
73
- // 是否需要拖拽-位置发生改变
74
- if (
75
- range.startIndex >= cacheStartIndex &&
76
- range.endIndex <= cacheEndIndex &&
77
- host.cachePositionContext?.tdId === positionContext.tdId
78
- ) {
79
- // 清除渲染副作用
80
- draw.clearSideEffect()
81
- // 浮动元素拖拽需要提交历史
82
- let isSubmitHistory = false
83
- let isCompute = false
84
- if (isCacheRangeCollapsed) {
85
- // 图片移动
86
- const dragElement = cacheElementList[cacheEndIndex]
87
- if (
88
- dragElement.type === ElementType.IMAGE ||
89
- dragElement.type === ElementType.LATEX
90
- ) {
91
- moveImgPosition(dragElement, evt, host)
92
- if (
93
- dragElement.imgDisplay === ImageDisplay.SURROUND ||
94
- dragElement.imgDisplay === ImageDisplay.FLOAT_TOP ||
95
- dragElement.imgDisplay === ImageDisplay.FLOAT_BOTTOM
96
- ) {
97
- draw.getPreviewer().drawResizer(dragElement)
98
- isSubmitHistory = true
99
- } else {
100
- const cachePosition = cachePositionList[cacheEndIndex]
101
- draw.getPreviewer().drawResizer(dragElement, cachePosition)
102
- }
103
- // 四周环绕型元素需计算
104
- isCompute = dragElement.imgDisplay === ImageDisplay.SURROUND
105
- }
106
- }
107
- rangeManager.replaceRange({
108
- ...cacheRange
109
- })
110
- draw.render({
111
- isCompute,
112
- isSubmitHistory,
113
- isSetCursor: false
114
- })
115
- return
116
- }
117
- // 是否是不可拖拽的控件结构元素
118
- const dragElementList = cacheElementList.slice(
119
- cacheStartIndex + 1,
120
- cacheEndIndex + 1
121
- )
122
- const isContainControl = dragElementList.find(element => element.controlId)
123
- if (isContainControl) {
124
- // 仅允许 (最前/后元素不是控件 || 在控件前后 || 文本控件且是值) 拖拽
125
- const cacheStartElement = cacheElementList[cacheStartIndex + 1]
126
- const cacheEndElement = cacheElementList[cacheEndIndex]
127
- const isAllowDragControl =
128
- ((!cacheStartElement.controlId ||
129
- cacheStartElement.controlComponent === ControlComponent.PREFIX) &&
130
- (!cacheEndElement.controlId ||
131
- cacheEndElement.controlComponent === ControlComponent.POSTFIX)) ||
132
- (cacheStartElement.controlId === cacheEndElement.controlId &&
133
- cacheStartElement.controlComponent === ControlComponent.PREFIX &&
134
- cacheEndElement.controlComponent === ControlComponent.POSTFIX) ||
135
- (cacheStartElement.control?.type === ControlType.TEXT &&
136
- cacheStartElement.controlComponent === ControlComponent.VALUE &&
137
- cacheEndElement.control?.type === ControlType.TEXT &&
138
- cacheEndElement.controlComponent === ControlComponent.VALUE)
139
- if (!isAllowDragControl) {
140
- draw.render({
141
- curIndex: range.startIndex,
142
- isCompute: false,
143
- isSubmitHistory: false
144
- })
145
- return
146
- }
147
- }
148
- // 格式化元素
149
- const control = draw.getControl()
150
- const elementList = draw.getElementList()
151
- // 是否排除控件属性(1.不包含控件 2.新位置在控件内 3.选区不包含完整控件)
152
- const isOmitControlAttr =
153
- !isContainControl ||
154
- !!elementList[range.startIndex].controlId ||
155
- !control.getIsElementListContainFullControl(dragElementList)
156
- const editorOptions = draw.getOptions()
157
- // 元素属性复制(1.文本提取样式及相关上下文 2.非文本排除相关上下文)
158
- const replaceElementList = dragElementList.map(el => {
159
- if (!el.type || el.type === ElementType.TEXT) {
160
- const newElement: IElement = {
161
- value: el.value
162
- }
163
- const copyAttr = EDITOR_ELEMENT_STYLE_ATTR
164
- if (!isOmitControlAttr) {
165
- copyAttr.push(...CONTROL_CONTEXT_ATTR)
166
- }
167
- copyAttr.forEach(attr => {
168
- const value = el[attr] as never
169
- if (value !== undefined) {
170
- newElement[attr] = value
171
- }
172
- })
173
- return newElement
174
- } else {
175
- let newElement = deepClone(el)
176
- if (isOmitControlAttr) {
177
- newElement = omitObject(newElement, CONTROL_CONTEXT_ATTR)
178
- }
179
- formatElementList([newElement], {
180
- isHandleFirstElement: false,
181
- editorOptions
182
- })
183
- return newElement
184
- }
185
- })
186
- formatElementContext(elementList, replaceElementList, range.startIndex, {
187
- editorOptions: draw.getOptions()
188
- })
189
- // 缓存拖拽选区开始元素、位置、开始结束id
190
- const cacheStartElement = cacheElementList[cacheStartIndex]
191
- const cacheStartPosition = cachePositionList[cacheStartIndex]
192
- const cacheRangeStartId = createDragId(cacheElementList[cacheStartIndex])
193
- const cacheRangeEndId = createDragId(cacheElementList[cacheEndIndex])
194
- // 设置拖拽值
195
- const replaceLength = replaceElementList.length
196
- let rangeStart = range.startIndex
197
- let rangeEnd = rangeStart + replaceLength
198
- const activeControl = control.getActiveControl()
199
- if (
200
- activeControl &&
201
- cacheElementList[rangeStart].controlComponent !== ControlComponent.POSTFIX
202
- ) {
203
- rangeEnd = activeControl.setValue(replaceElementList)
204
- rangeStart = rangeEnd - replaceLength
205
- } else {
206
- draw.spliceElementList(elementList, rangeStart + 1, 0, replaceElementList)
207
- }
208
- if (!~rangeEnd) {
209
- draw.render({
210
- isSetCursor: false
211
- })
212
- return
213
- }
214
- // 缓存当前开始结束id
215
- const rangeStartId = createDragId(elementList[rangeStart])
216
- const rangeEndId = createDragId(elementList[rangeEnd])
217
- // 删除原有拖拽元素
218
- const cacheRangeStartIndex = getElementIndexByDragId(
219
- cacheRangeStartId,
220
- cacheElementList
221
- )
222
- const cacheRangeEndIndex = getElementIndexByDragId(
223
- cacheRangeEndId,
224
- cacheElementList
225
- )
226
- const cacheEndElement = cacheElementList[cacheRangeEndIndex]
227
- if (
228
- cacheEndElement.controlId &&
229
- cacheEndElement.controlComponent !== ControlComponent.POSTFIX
230
- ) {
231
- rangeManager.replaceRange({
232
- ...cacheRange,
233
- startIndex: cacheRangeStartIndex,
234
- endIndex: cacheRangeEndIndex
235
- })
236
- control.getActiveControl()?.cut()
237
- } else {
238
- // td不可删除判断
239
- let isTdElementDeletable = true
240
- if (cachePositionContext?.isTable) {
241
- const { tableId, trIndex, tdIndex } = cachePositionContext
242
- const originElementList = draw.getOriginalElementList()
243
- isTdElementDeletable = !originElementList.some(
244
- el =>
245
- el.id === tableId &&
246
- el?.trList?.[trIndex!]?.tdList?.[tdIndex!]?.deletable === false
247
- )
248
- }
249
- if (isTdElementDeletable) {
250
- draw.spliceElementList(
251
- cacheElementList,
252
- cacheRangeStartIndex + 1,
253
- cacheRangeEndIndex - cacheRangeStartIndex
254
- )
255
- }
256
- }
257
- // 重设上下文
258
- const startElement = elementList[range.startIndex]
259
- const startPosition = positionList[range.startIndex]
260
- let positionContextIndex = positionContext.index
261
- if (positionContextIndex) {
262
- if (startElement.tableId && !cacheStartElement.tableId) {
263
- // 表格外移动到表格内&&表格之前
264
- if (cacheStartPosition.index < positionContextIndex) {
265
- positionContextIndex -= replaceLength
266
- }
267
- } else if (!startElement.tableId && cacheStartElement.tableId) {
268
- // 表格内移到表格外&&表格之前
269
- if (startPosition.index < positionContextIndex) {
270
- positionContextIndex += replaceLength
271
- }
272
- }
273
- position.setPositionContext({
274
- ...positionContext,
275
- index: positionContextIndex
276
- })
277
- }
278
- // 重设选区
279
- const rangeStartIndex = getElementIndexByDragId(rangeStartId, elementList)
280
- const rangeEndIndex = getElementIndexByDragId(rangeEndId, elementList)
281
- rangeManager.setRange(
282
- isCacheRangeCollapsed ? rangeEndIndex : rangeStartIndex,
283
- rangeEndIndex,
284
- range.tableId,
285
- range.startTdIndex,
286
- range.endTdIndex,
287
- range.startTrIndex,
288
- range.endTrIndex
289
- )
290
- // 清除渲染副作用
291
- draw.clearSideEffect()
292
- // 移动图片
293
- let imgElement: IElement | null = null
294
- if (isCacheRangeCollapsed) {
295
- const elementList = draw.getElementList()
296
- const dragElement = elementList[rangeEndIndex]
297
- if (
298
- dragElement.type === ElementType.IMAGE ||
299
- dragElement.type === ElementType.LATEX
300
- ) {
301
- moveImgPosition(dragElement, evt, host)
302
- imgElement = dragElement
303
- }
304
- }
305
- // 重新渲染
306
- draw.render({
307
- isSetCursor: false
308
- })
309
- // 控件值变更回调
310
- if (activeControl) {
311
- control.emitControlContentChange()
312
- } else if (cacheStartElement.controlId) {
313
- control.emitControlContentChange({
314
- context: {
315
- range: cacheRange,
316
- elementList: cacheElementList
317
- },
318
- controlElement: cacheStartElement
319
- })
320
- }
321
- // 拖拽后渲染图片工具
322
- if (imgElement) {
323
- if (
324
- imgElement.imgDisplay === ImageDisplay.SURROUND ||
325
- imgElement.imgDisplay === ImageDisplay.FLOAT_TOP ||
326
- imgElement.imgDisplay === ImageDisplay.FLOAT_BOTTOM
327
- ) {
328
- draw.getPreviewer().drawResizer(imgElement)
329
- } else {
330
- const dragPositionList = position.getPositionList()
331
- const dragPosition = dragPositionList[rangeEndIndex]
332
- draw.getPreviewer().drawResizer(imgElement, dragPosition)
333
- }
334
- }
335
- } else if (host.isAllowDrag) {
336
- // 如果是允许拖拽不允许拖放(点击选区时光标闭合)则光标重置
337
- if (host.cacheRange?.startIndex !== host.cacheRange?.endIndex) {
338
- host.mousedown(evt)
339
- }
340
- }
341
- }
@@ -1,231 +0,0 @@
1
- import { ZERO } from '../../../dataset/constant/Common'
2
- import { VIRTUAL_ELEMENT_TYPE } from '../../../dataset/constant/Element'
3
- import { ElementType } from '../../../dataset/enum/Element'
4
- import { IElement } from '../../../interface/Element'
5
- import { IPasteOption } from '../../../interface/Event'
6
- import {
7
- getClipboardData,
8
- getIsClipboardContainFile,
9
- removeClipboardData
10
- } from '../../../utils/clipboard'
11
- import {
12
- formatElementContext,
13
- getElementListByHTML
14
- } from '../../../utils/element'
15
- import { CanvasEvent } from '../CanvasEvent'
16
- import { IOverrideResult } from '../../override/Override'
17
- import { normalizeLineBreak } from '../../../utils'
18
-
19
- export function pasteElement(host: CanvasEvent, elementList: IElement[]) {
20
- const draw = host.getDraw()
21
- if (
22
- draw.isReadonly() ||
23
- draw.isDisabled() ||
24
- draw.getControl().getIsDisabledPasteControl()
25
- ) {
26
- return
27
- }
28
- const rangeManager = draw.getRange()
29
- const { startIndex } = rangeManager.getRange()
30
- const originalElementList = draw.getElementList()
31
- // 全选粘贴无需格式化上下文
32
- if (~startIndex && !rangeManager.getIsSelectAll()) {
33
- // 如果是复制到虚拟元素里,则粘贴列表的虚拟元素需扁平化处理,避免产生新的虚拟元素
34
- const anchorElement = originalElementList[startIndex]
35
- if (anchorElement?.titleId || anchorElement?.listId) {
36
- let start = 0
37
- while (start < elementList.length) {
38
- const pasteElement = elementList[start]
39
- if (anchorElement.titleId && /^\n/.test(pasteElement.value)) {
40
- break
41
- }
42
- if (VIRTUAL_ELEMENT_TYPE.includes(pasteElement.type!)) {
43
- elementList.splice(start, 1)
44
- if (pasteElement.valueList) {
45
- for (let v = 0; v < pasteElement.valueList.length; v++) {
46
- const element = pasteElement.valueList[v]
47
- if (element.value === ZERO || element.value === '\n') {
48
- continue
49
- }
50
- elementList.splice(start, 0, element)
51
- start++
52
- }
53
- }
54
- start--
55
- }
56
- start++
57
- }
58
- }
59
- formatElementContext(originalElementList, elementList, startIndex, {
60
- isBreakWhenWrap: true,
61
- editorOptions: draw.getOptions()
62
- })
63
- }
64
- draw.insertElementList(elementList)
65
- }
66
-
67
- export function pasteHTML(host: CanvasEvent, htmlText: string) {
68
- const draw = host.getDraw()
69
- if (draw.isReadonly() || draw.isDisabled()) return
70
- const elementList = getElementListByHTML(htmlText, {
71
- innerWidth: draw.getOriginalInnerWidth()
72
- })
73
- pasteElement(host, elementList)
74
- }
75
-
76
- export function pasteImage(host: CanvasEvent, file: File | Blob) {
77
- const draw = host.getDraw()
78
- if (draw.isReadonly() || draw.isDisabled()) return
79
- // 自定义粘贴图片事件
80
- const { pasteImage: overridePasteImage } = draw.getOverride()
81
- if (overridePasteImage) {
82
- const overrideResult = overridePasteImage(file)
83
- if ((<IOverrideResult>overrideResult)?.preventDefault !== false) return
84
- }
85
- const rangeManager = draw.getRange()
86
- const { startIndex } = rangeManager.getRange()
87
- const elementList = draw.getElementList()
88
- // 创建文件读取器
89
- const fileReader = new FileReader()
90
- fileReader.readAsDataURL(file)
91
- fileReader.onload = () => {
92
- // 计算宽高
93
- const image = new Image()
94
- const value = fileReader.result as string
95
- image.src = value
96
- image.onload = () => {
97
- const imageElement: IElement = {
98
- value,
99
- type: ElementType.IMAGE,
100
- width: image.width,
101
- height: image.height
102
- }
103
- if (~startIndex) {
104
- formatElementContext(elementList, [imageElement], startIndex, {
105
- editorOptions: draw.getOptions()
106
- })
107
- }
108
- draw.insertElementList([imageElement])
109
- }
110
- }
111
- }
112
-
113
- export function pasteByEvent(host: CanvasEvent, evt: ClipboardEvent) {
114
- const draw = host.getDraw()
115
- if (draw.isReadonly() || draw.isDisabled()) return
116
- const clipboardData = evt.clipboardData
117
- if (!clipboardData) return
118
- // 自定义粘贴事件
119
- const { paste } = draw.getOverride()
120
- if (paste) {
121
- const overrideResult = paste(evt)
122
- // 默认阻止默认事件
123
- if ((<IOverrideResult>overrideResult)?.preventDefault !== false) return
124
- }
125
- // 优先读取编辑器内部粘贴板数据(粘贴板不包含文件时)
126
- if (!getIsClipboardContainFile(clipboardData)) {
127
- const clipboardText = clipboardData.getData('text')
128
- const editorClipboardData = getClipboardData()
129
- // 不同系统间默认换行符不同 windows:\r\n mac:\n
130
- if (
131
- editorClipboardData &&
132
- normalizeLineBreak(clipboardText) ===
133
- normalizeLineBreak(editorClipboardData.text)
134
- ) {
135
- pasteElement(host, editorClipboardData.elementList)
136
- return
137
- }
138
- }
139
- removeClipboardData()
140
- // 从粘贴板提取数据
141
- let isHTML = false
142
- for (let i = 0; i < clipboardData.items.length; i++) {
143
- const item = clipboardData.items[i]
144
- if (item.type === 'text/html') {
145
- isHTML = true
146
- break
147
- }
148
- }
149
- for (let i = 0; i < clipboardData.items.length; i++) {
150
- const item = clipboardData.items[i]
151
- if (item.kind === 'string') {
152
- if (item.type === 'text/plain' && !isHTML) {
153
- item.getAsString(plainText => {
154
- host.input(plainText)
155
- })
156
- break
157
- }
158
- if (item.type === 'text/html' && isHTML) {
159
- item.getAsString(htmlText => {
160
- pasteHTML(host, htmlText)
161
- })
162
- break
163
- }
164
- } else if (item.kind === 'file') {
165
- if (item.type.includes('image')) {
166
- const file = item.getAsFile()
167
- if (file) {
168
- pasteImage(host, file)
169
- }
170
- }
171
- }
172
- }
173
- }
174
-
175
- export async function pasteByApi(host: CanvasEvent, options?: IPasteOption) {
176
- const draw = host.getDraw()
177
- if (draw.isReadonly() || draw.isDisabled()) return
178
- // 自定义粘贴事件
179
- const { paste } = draw.getOverride()
180
- if (paste) {
181
- const overrideResult = paste()
182
- // 默认阻止默认事件
183
- if ((<IOverrideResult>overrideResult)?.preventDefault !== false) return
184
- }
185
- // 优先读取编辑器内部粘贴板数据
186
- const clipboardText = await navigator.clipboard.readText()
187
- const editorClipboardData = getClipboardData()
188
- if (
189
- editorClipboardData &&
190
- normalizeLineBreak(clipboardText) ===
191
- normalizeLineBreak(editorClipboardData.text)
192
- ) {
193
- pasteElement(host, editorClipboardData.elementList)
194
- return
195
- }
196
- removeClipboardData()
197
- // 从内存粘贴板获取数据
198
- if (options?.isPlainText) {
199
- if (clipboardText) {
200
- host.input(clipboardText)
201
- }
202
- } else {
203
- const clipboardData = await navigator.clipboard.read()
204
- let isHTML = false
205
- for (const item of clipboardData) {
206
- if (item.types.includes('text/html')) {
207
- isHTML = true
208
- break
209
- }
210
- }
211
- for (const item of clipboardData) {
212
- if (item.types.includes('text/plain') && !isHTML) {
213
- const textBlob = await item.getType('text/plain')
214
- const text = await textBlob.text()
215
- if (text) {
216
- host.input(text)
217
- }
218
- } else if (item.types.includes('text/html') && isHTML) {
219
- const htmlTextBlob = await item.getType('text/html')
220
- const htmlText = await htmlTextBlob.text()
221
- if (htmlText) {
222
- pasteHTML(host, htmlText)
223
- }
224
- } else if (item.types.some(type => type.startsWith('image/'))) {
225
- const type = item.types.find(type => type.startsWith('image/'))!
226
- const imageBlob = await item.getType(type)
227
- pasteImage(host, imageBlob)
228
- }
229
- }
230
- }
231
- }