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
@@ -0,0 +1,4 @@
1
+ export interface ISeparatorOption {
2
+ strokeStyle?: string;
3
+ lineWidth?: number;
4
+ }
@@ -0,0 +1,13 @@
1
+ import { TextDecorationStyle } from '../dataset/enum/Text';
2
+ export interface ITextMetrics {
3
+ width: number;
4
+ actualBoundingBoxAscent: number;
5
+ actualBoundingBoxDescent: number;
6
+ actualBoundingBoxLeft: number;
7
+ actualBoundingBoxRight: number;
8
+ fontBoundingBoxAscent: number;
9
+ fontBoundingBoxDescent: number;
10
+ }
11
+ export interface ITextDecoration {
12
+ style?: TextDecorationStyle;
13
+ }
@@ -0,0 +1,26 @@
1
+ import { EditorZone } from '../dataset/enum/Editor';
2
+ import { IElement } from './Element';
3
+ export interface ITitleSizeOption {
4
+ defaultFirstSize?: number;
5
+ defaultSecondSize?: number;
6
+ defaultThirdSize?: number;
7
+ defaultFourthSize?: number;
8
+ defaultFifthSize?: number;
9
+ defaultSixthSize?: number;
10
+ }
11
+ export type ITitleOption = ITitleSizeOption & {};
12
+ export interface ITitleRule {
13
+ deletable?: boolean;
14
+ disabled?: boolean;
15
+ }
16
+ export type ITitle = ITitleRule & {
17
+ conceptId?: string;
18
+ };
19
+ export interface IGetTitleValueOption {
20
+ conceptId: string;
21
+ }
22
+ export type IGetTitleValueResult = (ITitle & {
23
+ value: string | null;
24
+ elementList: IElement[];
25
+ zone: EditorZone;
26
+ })[];
@@ -0,0 +1,15 @@
1
+ import { NumberType } from '../dataset/enum/Common';
2
+ import { WatermarkType } from '../dataset/enum/Watermark';
3
+ export interface IWatermark {
4
+ data: string;
5
+ type?: WatermarkType;
6
+ width?: number;
7
+ height?: number;
8
+ color?: string;
9
+ opacity?: number;
10
+ size?: number;
11
+ font?: string;
12
+ repeat?: boolean;
13
+ numberType?: NumberType;
14
+ gap?: [horizontal: number, vertical: number];
15
+ }
@@ -0,0 +1,5 @@
1
+ export interface IWhiteSpaceOption {
2
+ disabled?: boolean;
3
+ color?: string;
4
+ radius?: number;
5
+ }
@@ -1,3 +1,3 @@
1
- export interface IZoneOption {
2
- tipDisabled?: boolean
3
- }
1
+ export interface IZoneOption {
2
+ tipDisabled?: boolean;
3
+ }
@@ -0,0 +1,73 @@
1
+ import { Command } from '../../core/command/Command';
2
+ import { EditorZone } from '../../dataset/enum/Editor';
3
+ import { DeepRequired } from '../Common';
4
+ import { IEditorOption } from '../Editor';
5
+ import { IElement } from '../Element';
6
+ export interface IContextMenuContext {
7
+ startElement: IElement | null;
8
+ endElement: IElement | null;
9
+ isReadonly: boolean;
10
+ editorHasSelection: boolean;
11
+ editorTextFocus: boolean;
12
+ isInTable: boolean;
13
+ isCrossRowCol: boolean;
14
+ zone: EditorZone;
15
+ trIndex: number | null;
16
+ tdIndex: number | null;
17
+ tableElement: IElement | null;
18
+ options: DeepRequired<IEditorOption>;
19
+ }
20
+ export interface IRegisterContextMenu {
21
+ key?: string;
22
+ i18nPath?: string;
23
+ isDivider?: boolean;
24
+ icon?: string;
25
+ name?: string;
26
+ shortCut?: string;
27
+ disable?: boolean;
28
+ when?: (payload: IContextMenuContext) => boolean;
29
+ callback?: (command: Command, context: IContextMenuContext) => void;
30
+ childMenus?: IRegisterContextMenu[];
31
+ }
32
+ export interface IContextmenuLang {
33
+ global: {
34
+ cut: string;
35
+ copy: string;
36
+ paste: string;
37
+ selectAll: string;
38
+ print: string;
39
+ };
40
+ control: {
41
+ delete: string;
42
+ };
43
+ hyperlink: {
44
+ delete: string;
45
+ cancel: string;
46
+ edit: string;
47
+ };
48
+ image: {
49
+ change: string;
50
+ saveAs: string;
51
+ textWrap: string;
52
+ textWrapType: {
53
+ embed: string;
54
+ upDown: string;
55
+ surround: string;
56
+ floatTop: string;
57
+ floatBottom: string;
58
+ };
59
+ };
60
+ table: {
61
+ insertRowCol: string;
62
+ insertTopRow: string;
63
+ insertBottomRow: string;
64
+ insertLeftCol: string;
65
+ insertRightCol: string;
66
+ deleteRowCol: string;
67
+ deleteRow: string;
68
+ deleteCol: string;
69
+ deleteTable: string;
70
+ mergeCell: string;
71
+ mergeCancelCell: string;
72
+ };
73
+ }
@@ -0,0 +1,6 @@
1
+ import { IDatePickerLang } from '../../core/draw/particle/date/DatePicker';
2
+ import { IContextmenuLang } from '../contextmenu/ContextMenu';
3
+ export interface ILang {
4
+ contextmenu: IContextmenuLang;
5
+ datePicker: IDatePickerLang;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { Command } from '../../core/command/Command';
2
+ import { KeyMap } from '../../dataset/enum/KeyMap';
3
+ export interface IRegisterShortcut {
4
+ key: KeyMap;
5
+ ctrl?: boolean;
6
+ meta?: boolean;
7
+ mod?: boolean;
8
+ shift?: boolean;
9
+ alt?: boolean;
10
+ isGlobal?: boolean;
11
+ callback?: (command: Command) => void;
12
+ disable?: boolean;
13
+ }
@@ -0,0 +1,4 @@
1
+ export interface IColgroup {
2
+ id?: string;
3
+ width: number;
4
+ }
@@ -0,0 +1,8 @@
1
+ import { IPadding } from '../Common';
2
+ export interface ITableOption {
3
+ tdPadding?: IPadding;
4
+ defaultTrMinHeight?: number;
5
+ defaultColMinWidth?: number;
6
+ defaultBorderColor?: string;
7
+ overflow?: boolean;
8
+ }
@@ -0,0 +1,35 @@
1
+ import { VerticalAlign } from '../../dataset/enum/VerticalAlign';
2
+ import { TdBorder, TdSlash } from '../../dataset/enum/table/Table';
3
+ import { IElement, IElementPosition } from '../Element';
4
+ import { IRow } from '../Row';
5
+ export interface ITd {
6
+ conceptId?: string;
7
+ id?: string;
8
+ extension?: unknown;
9
+ externalId?: string;
10
+ x?: number;
11
+ y?: number;
12
+ width?: number;
13
+ height?: number;
14
+ colspan: number;
15
+ rowspan: number;
16
+ value: IElement[];
17
+ trIndex?: number;
18
+ tdIndex?: number;
19
+ isLastRowTd?: boolean;
20
+ isLastColTd?: boolean;
21
+ isLastTd?: boolean;
22
+ rowIndex?: number;
23
+ colIndex?: number;
24
+ rowList?: IRow[];
25
+ positionList?: IElementPosition[];
26
+ verticalAlign?: VerticalAlign;
27
+ backgroundColor?: string;
28
+ borderTypes?: TdBorder[];
29
+ slashTypes?: TdSlash[];
30
+ mainHeight?: number;
31
+ realHeight?: number;
32
+ realMinHeight?: number;
33
+ disabled?: boolean;
34
+ deletable?: boolean;
35
+ }
@@ -0,0 +1,10 @@
1
+ import { ITd } from './Td';
2
+ export interface ITr {
3
+ id?: string;
4
+ extension?: unknown;
5
+ externalId?: string;
6
+ height: number;
7
+ tdList: ITd[];
8
+ minHeight?: number;
9
+ pagingRepeat?: boolean;
10
+ }
@@ -0,0 +1,13 @@
1
+ import { DeepRequired } from '../interface/Common';
2
+ import { IEditorOption } from '../interface/Editor';
3
+ import { IElement } from '../interface/Element';
4
+ export interface IClipboardData {
5
+ text: string;
6
+ elementList: IElement[];
7
+ }
8
+ export declare function setClipboardData(data: IClipboardData): void;
9
+ export declare function getClipboardData(): IClipboardData | null;
10
+ export declare function removeClipboardData(): void;
11
+ export declare function writeClipboardItem(text: string, html: string, elementList: IElement[]): Promise<void>;
12
+ export declare function writeElementList(elementList: IElement[], options: DeepRequired<IEditorOption>): Promise<void>;
13
+ export declare function getIsClipboardContainFile(clipboardData: DataTransfer): boolean;
@@ -0,0 +1,57 @@
1
+ import { LocationPosition } from '../dataset/enum/Common';
2
+ import { RowFlex } from '../dataset/enum/Row';
3
+ import { DeepRequired } from '../interface/Common';
4
+ import { IEditorOption } from '../interface/Editor';
5
+ import { IElement } from '../interface/Element';
6
+ export declare function unzipElementList(elementList: IElement[]): IElement[];
7
+ interface IFormatElementListOption {
8
+ isHandleFirstElement?: boolean;
9
+ isForceCompensation?: boolean;
10
+ editorOptions: DeepRequired<IEditorOption>;
11
+ }
12
+ export declare function formatElementList(elementList: IElement[], options: IFormatElementListOption): void;
13
+ export declare function isSameElementExceptValue(source: IElement, target: IElement): boolean;
14
+ interface IPickElementOption {
15
+ extraPickAttrs?: Array<keyof IElement>;
16
+ }
17
+ export declare function pickElementAttr(payload: IElement, option?: IPickElementOption): IElement;
18
+ interface IZipElementListOption {
19
+ extraPickAttrs?: Array<keyof IElement>;
20
+ isClassifyArea?: boolean;
21
+ isClone?: boolean;
22
+ }
23
+ export declare function zipElementList(payload: IElement[], options?: IZipElementListOption): IElement[];
24
+ export declare function convertTextAlignToRowFlex(node: HTMLElement): RowFlex;
25
+ export declare function convertRowFlexToTextAlign(rowFlex: RowFlex): RowFlex.LEFT | RowFlex.CENTER | RowFlex.RIGHT | RowFlex.JUSTIFY | "justify";
26
+ export declare function convertRowFlexToJustifyContent(rowFlex: RowFlex): "center" | "flex-start" | "flex-end" | "space-between";
27
+ export declare function isTextLikeElement(element: IElement): boolean;
28
+ export declare function isTextElement(element: IElement): boolean;
29
+ export declare function getElementListText(elementList: IElement[]): string;
30
+ export declare function getAnchorElement(elementList: IElement[], anchorIndex: number): IElement | null;
31
+ export interface IFormatElementContextOption {
32
+ isBreakWhenWrap?: boolean;
33
+ ignoreContextKeys?: Array<keyof IElement>;
34
+ editorOptions?: DeepRequired<IEditorOption>;
35
+ }
36
+ export declare function formatElementContext(sourceElementList: IElement[], formatElementList: IElement[], anchorIndex: number, options?: IFormatElementContextOption): void;
37
+ export declare function convertElementToDom(element: IElement, options: DeepRequired<IEditorOption>): HTMLElement;
38
+ export declare function splitListElement(elementList: IElement[]): Map<number, IElement[]>;
39
+ export interface IElementListGroupRowFlex {
40
+ rowFlex: RowFlex | null;
41
+ data: IElement[];
42
+ }
43
+ export declare function groupElementListByRowFlex(elementList: IElement[]): IElementListGroupRowFlex[];
44
+ export declare function createDomFromElementList(elementList: IElement[], options?: IEditorOption): HTMLDivElement;
45
+ export declare function convertTextNodeToElement(textNode: Element | Node): IElement | null;
46
+ export interface IGetElementListByHTMLOption {
47
+ innerWidth: number;
48
+ }
49
+ export declare function getElementListByHTML(htmlText: string, options: IGetElementListByHTMLOption): IElement[];
50
+ export declare function getTextFromElementList(elementList: IElement[]): string;
51
+ export declare function getSlimCloneElementList(elementList: IElement[]): IElement[];
52
+ export declare function getIsBlockElement(element?: IElement): boolean;
53
+ export declare function replaceHTMLElementTag(oldDom: HTMLElement, tagName: keyof HTMLElementTagNameMap): HTMLElement;
54
+ export declare function pickSurroundElementList(elementList: IElement[]): IElement[];
55
+ export declare function deleteSurroundElementList(elementList: IElement[], pageNo: number): void;
56
+ export declare function getNonHideElementIndex(elementList: IElement[], index: number, position?: LocationPosition): number;
57
+ export {};
@@ -0,0 +1 @@
1
+ export declare function isMod(evt: KeyboardEvent | MouseEvent): boolean;
@@ -0,0 +1,34 @@
1
+ import { IElementFillRect } from '../interface/Element';
2
+ export declare function debounce<T extends unknown[]>(func: (...arg: T) => unknown, delay: number): (this: unknown, ...args: T) => void;
3
+ export declare function throttle<T extends unknown[]>(func: (...arg: T) => unknown, delay: number): (this: unknown, ...args: T) => void;
4
+ export declare function deepCloneOmitKeys<T, K>(obj: T, omitKeys: (keyof K)[]): T;
5
+ export declare function deepClone<T>(obj: T): T;
6
+ export declare function isBody(node: Element): boolean;
7
+ export declare function findParent(node: Element, filterFn: Function, includeSelf: boolean): Element | null;
8
+ export declare function getUUID(): string;
9
+ export declare function splitText(text: string): string[];
10
+ export declare function downloadFile(href: string, fileName: string): void;
11
+ export declare function threeClick(dom: HTMLElement, fn: (evt: MouseEvent) => void): void;
12
+ export declare function isObject(type: unknown): type is Record<string, unknown>;
13
+ export declare function isArray(type: unknown): type is Array<unknown>;
14
+ export declare function isNumber(type: unknown): type is number;
15
+ export declare function isString(type: unknown): type is string;
16
+ export declare function mergeObject<T>(source: T, target: T): T;
17
+ export declare function nextTick(fn: Function): void;
18
+ export declare function convertNumberToChinese(num: number): string;
19
+ export declare function cloneProperty<T>(properties: (keyof T)[], sourceElement: T, targetElement: T): void;
20
+ export declare function deleteProperty<T>(sourceKeys: T[], deleteKeys: T[]): void;
21
+ export declare function pickObject<T>(object: T, pickKeys: (keyof T)[]): T;
22
+ export declare function omitObject<T>(object: T, omitKeys: (keyof T)[]): T;
23
+ export declare function convertStringToBase64(input: string): string;
24
+ export declare function findScrollContainer(element: HTMLElement): HTMLElement;
25
+ export declare function isArrayEqual(arr1: unknown[], arr2: unknown[]): boolean;
26
+ export declare function isObjectEqual(obj1: unknown, obj2: unknown): boolean;
27
+ export declare function isRectIntersect(rect1: IElementFillRect, rect2: IElementFillRect): boolean;
28
+ export declare function isNonValue(value: unknown): boolean;
29
+ export declare function normalizeLineBreak(text: string): string;
30
+ export declare function indexOf(source: string, search: string | RegExp, fromIndex?: number): {
31
+ index: number;
32
+ length: number;
33
+ };
34
+ export declare function scrollIntoView(container: HTMLElement, selected: HTMLElement): void;
@@ -0,0 +1,3 @@
1
+ import { DeepRequired } from '../interface/Common';
2
+ import { IEditorOption } from '../interface/Editor';
3
+ export declare function mergeOption(options?: IEditorOption): DeepRequired<IEditorOption>;
@@ -0,0 +1,8 @@
1
+ import { IElement } from '../interface/Element';
2
+ /**
3
+ * 获取段落索引
4
+ * @param elementList - 元素列表
5
+ * @param index - 目标索引
6
+ * @returns 段落索引
7
+ */
8
+ export declare function getParagraphNo(elementList: IElement[], index: number): number;
@@ -0,0 +1,7 @@
1
+ import { PaperDirection } from '../dataset/enum/Editor';
2
+ export interface IPrintImageBase64Option {
3
+ width: number;
4
+ height: number;
5
+ direction?: PaperDirection;
6
+ }
7
+ export declare function printImageBase64(base64List: string[], options: IPrintImageBase64Option): void;
@@ -0,0 +1,4 @@
1
+ export declare const isApple: boolean;
2
+ export declare const isIOS: boolean;
3
+ export declare const isMobile: boolean;
4
+ export declare const isFirefox: boolean;
package/package.json CHANGED
@@ -1,11 +1,18 @@
1
1
  {
2
2
  "name": "editor-svg",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "type": "module",
5
5
  "description": "基于canvas-editor的二次开发",
6
6
  "keywords": [
7
7
  "editor-svg"
8
8
  ],
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "CHANGELOG.md",
13
+ "LICENSE",
14
+ "package.json"
15
+ ],
9
16
  "author": "coderyang",
10
17
  "license": "MIT",
11
18
  "publishConfig": {
package/.editorconfig DELETED
@@ -1,9 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- charset = utf-8
5
- indent_style = space
6
- indent_size = 2
7
- end_of_line = lf
8
- trim_trailing_whitespace = true
9
- insert_final_newline = false
package/.eslintrc DELETED
@@ -1,46 +0,0 @@
1
- {
2
- "parser": "@typescript-eslint/parser",
3
- "plugins": ["@typescript-eslint"],
4
- "parserOptions": {
5
- "ecmaVersion": 6,
6
- "sourceType": "module"
7
- },
8
- "extends": [
9
- "eslint:recommended",
10
- "plugin:@typescript-eslint/eslint-recommended",
11
- "plugin:@typescript-eslint/recommended"
12
- ],
13
- "env": {
14
- "browser": true
15
- },
16
- "globals": {
17
- "process": true
18
- },
19
- "rules": {
20
- "linebreak-style": 0,
21
- "no-console": 0,
22
- "no-debugger": 0,
23
- "no-useless-escape": "off",
24
- "@typescript-eslint/no-explicit-any": 0,
25
- "@typescript-eslint/no-empty-interface": 0,
26
- "@typescript-eslint/no-this-alias": 0,
27
- "@typescript-eslint/ban-ts-comment": 0,
28
- "@typescript-eslint/explicit-module-boundary-types": 0,
29
- "@typescript-eslint/no-non-null-assertion": 0,
30
- "@typescript-eslint/ban-types": [1, {
31
- "types": {
32
- "Function": false,
33
- "{}": false
34
- },
35
- "extendDefaults": true
36
- }],
37
- "no-constant-condition": ["error", {
38
- "checkLoops": false
39
- }],
40
- "semi": [1, "never"],
41
- "quotes": [1, "single", {
42
- "allowTemplateLiterals": true
43
- }]
44
- },
45
- "ignorePatterns": ["node_modules", "dist", "index.html"]
46
- }
package/.prettierrc DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "semi": false,
3
- "singleQuote": true,
4
- "printWidth": 80,
5
- "trailingComma": "none",
6
- "arrowParens": "avoid",
7
- "endOfLine": "lf"
8
- }
package/AGENTS.md DELETED
@@ -1,186 +0,0 @@
1
- # Canvas Editor - Agent Development Guide
2
-
3
- This guide provides essential information for agentic coding agents working on the canvas-editor repository.
4
-
5
- ## Project Overview
6
-
7
- Canvas Editor is a TypeScript-based rich text editor library that renders content using HTML5 Canvas/SVG. It's built as an ES module with comprehensive TypeScript support and follows modern development practices.
8
-
9
- ## Development Commands
10
-
11
- ### Essential Commands
12
- ```bash
13
- # Development
14
- npm run dev # Start Vite dev server
15
- npm run serve # Preview production build
16
-
17
- # Building (includes lint + type check)
18
- npm run lib # Build library for distribution
19
- npm run build # Build application
20
-
21
- # Code Quality
22
- npm run lint # Run ESLint
23
- npm run type:check # TypeScript type checking
24
-
25
- # Testing
26
- npm run cypress:open # Open Cypress test runner interactively
27
- npm run cypress:run # Run Cypress tests headless
28
- ```
29
-
30
- ### Pre-commit Hooks
31
- - Automatically runs `npm run lint && npm run type:check` before commits
32
- - Commit messages must follow conventional commit format (feat:, fix:, docs:, etc.)
33
-
34
- ## Code Style Guidelines
35
-
36
- ### Formatting Rules
37
- - **No semicolons** - `semi: [1, "never"]`
38
- - **Single quotes** - `quotes: [1, "single"]`
39
- - **2-space indentation** - No tabs
40
- - **80 character line limit** - `printWidth: 80`
41
- - **No trailing commas** - `trailingComma: "none"`
42
- - **Arrow function parentheses avoided** - `arrowParens: "avoid"`
43
- - **LF line endings** - `endOfLine: "lf"`
44
-
45
- ### TypeScript Configuration
46
- - **Strict mode enabled** - All type checking enforced
47
- - **Target**: ESNext with modern features
48
- - **Module system**: ESNext modules
49
- - **Source maps**: Enabled for debugging
50
- - **Unused locals/parameters**: Checked and reported
51
-
52
- ### ESLint Rules
53
- - `any` type allowed (`@typescript-eslint/no-explicit-any: 0`)
54
- - Console statements permitted
55
- - Debugger statements allowed
56
- - No explicit function return type required when inferred
57
-
58
- ## Project Structure
59
-
60
- ### Main Directories
61
- ```
62
- src/
63
- ├── editor/ # Core editor library
64
- │ ├── index.ts # Main entry point - exports Editor class
65
- │ ├── core/ # Core functionality
66
- │ │ ├── draw/ # Canvas rendering engine
67
- │ │ ├── command/ # Command pattern implementation
68
- │ │ ├── listener/ # Event handling system
69
- │ │ └── ...
70
- │ ├── interface/ # TypeScript type definitions
71
- │ ├── dataset/ # Constants and enums
72
- │ │ ├── constant/ # Magic numbers and strings
73
- │ │ └── enum/ # TypeScript enums
74
- │ ├── utils/ # Editor-specific utilities
75
- │ └── assets/ # CSS-in-JS and images
76
- ├── plugins/ # Optional editor plugins
77
- ├── components/ # Reusable UI components
78
- ├── utils/ # Shared utility functions
79
- └── assets/ # Static assets
80
- ```
81
-
82
- ### Key Files
83
- - **Main entry**: `src/editor/index.ts` - Exports Editor class and utilities
84
- - **Package exports**: ES module and UMD builds with TypeScript definitions
85
- - **Node requirement**: `>=16.9.1`
86
-
87
- ## Import Conventions
88
-
89
- ### Module Imports
90
- - Use ES module imports: `import { Editor } from './editor'`
91
- - TypeScript interfaces: `import type { EditorInterface } from './interface'`
92
- - Relative imports with explicit extensions for non-TypeScript files
93
-
94
- ### Import Organization
95
- 1. External libraries (Node.js built-ins, npm packages)
96
- 2. Internal modules (absolute imports from src/)
97
- 3. Relative imports (sibling/parent directory imports)
98
- 4. Type-only imports (use `import type` when possible)
99
-
100
- ## Naming Conventions
101
-
102
- ### Files and Directories
103
- - **PascalCase** for components and classes: `EditorManager.ts`
104
- - **camelCase** for utilities and functions: `formatText.ts`
105
- - **kebab-case** for directories when containing multiple words: `rich-text/`
106
-
107
- ### Code Elements
108
- - **PascalCase** for classes and interfaces: `class Editor`, `interface EditorConfig`
109
- - **camelCase** for functions and variables: `formatText`, `currentSelection`
110
- - **UPPER_SNAKE_CASE** for constants: `MAX_CANVAS_WIDTH`, `DEFAULT_FONT_SIZE`
111
- - **PascalCase** for enums: `enum TextAlignment`
112
-
113
- ## Error Handling
114
-
115
- ### TypeScript Errors
116
- - Use strict TypeScript checking - prefer explicit types over `any`
117
- - Handle nullable types with optional chaining and nullish coalescing
118
- - Use union types for variant error states
119
-
120
- ### Runtime Errors
121
- - Throw descriptive Error objects with context
122
- - Use try-catch blocks for external API calls
123
- - Validate user input in public API methods
124
-
125
- ## Testing Guidelines
126
-
127
- ### Cypress E2E Tests
128
- - Tests located in `cypress/` directory
129
- - Use `npm run cypress:open` for interactive test development
130
- - Use `npm run cypress:run` for CI/CD automated testing
131
- - Viewport set to 1366x720 for consistency
132
-
133
- ### Test Organization
134
- - Group related tests in describe blocks
135
- - Use beforeEach for common setup
136
- - Write descriptive test names that explain the behavior
137
- - Test both happy path and error conditions
138
-
139
- ## Build Process
140
-
141
- ### Library Build
142
- - TypeScript compilation with strict checking
143
- - Vite bundling for ES module and UMD outputs
144
- - Automatic CSS-in-JS injection via plugin
145
- - Source maps generated for debugging
146
-
147
- ### Quality Gates
148
- - Linting must pass before build completion
149
- - Type checking must pass before build completion
150
- - Pre-commit hooks enforce quality standards
151
-
152
- ## API Design
153
-
154
- ### Public API
155
- - Main Editor class exported from `src/editor/index.ts`
156
- - Fluent method chaining where appropriate
157
- - Consistent parameter ordering (required, then optional)
158
- - Comprehensive TypeScript definitions
159
-
160
- ### Plugin System
161
- - Plugins in `src/plugins/` directory
162
- - Extend Editor functionality without modifying core
163
- - Follow established plugin patterns in codebase
164
-
165
- ## Development Workflow
166
-
167
- 1. **Start development**: `npm run dev`
168
- 2. **Make changes**: Follow code style guidelines
169
- 3. **Test changes**: Use Cypress for E2E testing
170
- 4. **Quality check**: `npm run lint && npm run type:check`
171
- 5. **Commit**: Pre-commit hooks will validate automatically
172
- 6. **Build**: `npm run lib` for distribution build
173
-
174
- ## Performance Considerations
175
-
176
- - Canvas rendering optimized for frequent updates
177
- - Minimal DOM manipulation - primarily Canvas-based
178
- - Efficient event handling with delegation patterns
179
- - Memory-conscious object pooling where appropriate
180
-
181
- ## Security Notes
182
-
183
- - No external network requests in core library
184
- - Sanitize all user input before rendering
185
- - Avoid eval() and Function constructor usage
186
- - Validate configuration options in public API