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,870 +0,0 @@
1
- import { ElementType, ListStyle, RowFlex, VerticalAlign } from '../..'
2
- import { ZERO } from '../../dataset/constant/Common'
3
- import { ControlComponent } from '../../dataset/enum/Control'
4
- import {
5
- IComputePageRowPositionPayload,
6
- IComputePageRowPositionResult,
7
- IComputeRowPositionPayload,
8
- IFloatPosition,
9
- IGetFloatPositionByXYPayload,
10
- ISetSurroundPositionPayload
11
- } from '../../interface/Position'
12
- import { IEditorOption } from '../../interface/Editor'
13
- import { IElement, IElementPosition } from '../../interface/Element'
14
- import {
15
- ICurrentPosition,
16
- IGetPositionByXYPayload,
17
- IPositionContext
18
- } from '../../interface/Position'
19
- import { Draw } from '../draw/Draw'
20
- import { EditorMode, EditorZone } from '../../dataset/enum/Editor'
21
- import { deepClone, isRectIntersect } from '../../utils'
22
- import { ImageDisplay } from '../../dataset/enum/Common'
23
- import { DeepRequired } from '../../interface/Common'
24
- import { EventBus } from '../event/eventbus/EventBus'
25
- import { EventBusMap } from '../../interface/EventBus'
26
- import { getIsBlockElement } from '../../utils/element'
27
-
28
- export class Position {
29
- private cursorPosition: IElementPosition | null
30
- private positionContext: IPositionContext
31
- private positionList: IElementPosition[]
32
- private floatPositionList: IFloatPosition[]
33
-
34
- private draw: Draw
35
- private eventBus: EventBus<EventBusMap>
36
- private options: DeepRequired<IEditorOption>
37
-
38
- constructor(draw: Draw) {
39
- this.positionList = []
40
- this.floatPositionList = []
41
- this.cursorPosition = null
42
- this.positionContext = {
43
- isTable: false,
44
- isControl: false
45
- }
46
-
47
- this.draw = draw
48
- this.eventBus = draw.getEventBus()
49
- this.options = draw.getOptions()
50
- }
51
-
52
- public getFloatPositionList(): IFloatPosition[] {
53
- return this.floatPositionList
54
- }
55
-
56
- public getTablePositionList(
57
- sourceElementList: IElement[]
58
- ): IElementPosition[] {
59
- const { index, trIndex, tdIndex } = this.positionContext
60
- return (
61
- sourceElementList[index!].trList![trIndex!].tdList[tdIndex!]
62
- .positionList || []
63
- )
64
- }
65
-
66
- public getPositionList(): IElementPosition[] {
67
- return this.positionContext.isTable
68
- ? this.getTablePositionList(this.draw.getOriginalElementList())
69
- : this.getOriginalPositionList()
70
- }
71
-
72
- public getMainPositionList(): IElementPosition[] {
73
- return this.positionContext.isTable
74
- ? this.getTablePositionList(this.draw.getOriginalMainElementList())
75
- : this.positionList
76
- }
77
-
78
- public getOriginalPositionList(): IElementPosition[] {
79
- const zoneManager = this.draw.getZone()
80
- if (zoneManager.isHeaderActive()) {
81
- const header = this.draw.getHeader()
82
- return header.getPositionList()
83
- }
84
- if (zoneManager.isFooterActive()) {
85
- const footer = this.draw.getFooter()
86
- return footer.getPositionList()
87
- }
88
- return this.positionList
89
- }
90
-
91
- public getOriginalMainPositionList(): IElementPosition[] {
92
- return this.positionList
93
- }
94
-
95
- public getSelectionPositionList(): IElementPosition[] | null {
96
- const { startIndex, endIndex } = this.draw.getRange().getRange()
97
- if (startIndex === endIndex) return null
98
- const positionList = this.getPositionList()
99
- return positionList.slice(startIndex + 1, endIndex + 1)
100
- }
101
-
102
- public setPositionList(payload: IElementPosition[]) {
103
- this.positionList = payload
104
- }
105
-
106
- public setFloatPositionList(payload: IFloatPosition[]) {
107
- this.floatPositionList = payload
108
- }
109
-
110
- public computePageRowPosition(
111
- payload: IComputePageRowPositionPayload
112
- ): IComputePageRowPositionResult {
113
- const {
114
- positionList,
115
- rowList,
116
- pageNo,
117
- startX,
118
- startY,
119
- startRowIndex,
120
- startIndex,
121
- innerWidth,
122
- zone
123
- } = payload
124
- const {
125
- scale,
126
- table: { tdPadding }
127
- } = this.options
128
- let x = startX
129
- let y = startY
130
- let index = startIndex
131
- for (let i = 0; i < rowList.length; i++) {
132
- const curRow = rowList[i]
133
- // 行存在环绕的可能性均不设置行布局
134
- if (!curRow.isSurround) {
135
- // 计算行偏移量(行居中、居右)
136
- const curRowWidth = curRow.width + (curRow.offsetX || 0)
137
- if (curRow.rowFlex === RowFlex.CENTER) {
138
- x += (innerWidth - curRowWidth) / 2
139
- } else if (curRow.rowFlex === RowFlex.RIGHT) {
140
- x += innerWidth - curRowWidth
141
- }
142
- }
143
- // 当前行X/Y轴偏移量
144
- x += curRow.offsetX || 0
145
- y += curRow.offsetY || 0
146
- // 当前td所在位置
147
- const tablePreX = x
148
- const tablePreY = y
149
- for (let j = 0; j < curRow.elementList.length; j++) {
150
- const element = curRow.elementList[j]
151
- const metrics = element.metrics
152
- const offsetY =
153
- !element.hide &&
154
- ((element.imgDisplay !== ImageDisplay.INLINE &&
155
- element.type === ElementType.IMAGE) ||
156
- element.type === ElementType.LATEX)
157
- ? curRow.ascent - metrics.height
158
- : curRow.ascent
159
- // 偏移量(内部计算使用)
160
- if (element.left) {
161
- x += element.left
162
- }
163
- // 偏移量(外部传入)
164
- if (element.translateX) {
165
- x += element.translateX * scale
166
- }
167
- const positionItem: IElementPosition = {
168
- pageNo,
169
- index,
170
- value: element.value,
171
- rowIndex: startRowIndex + i,
172
- rowNo: i,
173
- metrics,
174
- left: element.left || 0,
175
- ascent: offsetY,
176
- lineHeight: curRow.height,
177
- isFirstLetter: j === 0,
178
- isLastLetter: j === curRow.elementList.length - 1,
179
- coordinate: {
180
- leftTop: [x, y],
181
- leftBottom: [x, y + curRow.height],
182
- rightTop: [x + metrics.width, y],
183
- rightBottom: [x + metrics.width, y + curRow.height]
184
- }
185
- }
186
- // 缓存浮动元素信息
187
- if (
188
- element.imgDisplay === ImageDisplay.SURROUND ||
189
- element.imgDisplay === ImageDisplay.FLOAT_TOP ||
190
- element.imgDisplay === ImageDisplay.FLOAT_BOTTOM
191
- ) {
192
- // 浮动元素使用上一位置信息
193
- const prePosition = positionList[positionList.length - 1]
194
- if (prePosition) {
195
- positionItem.metrics = prePosition.metrics
196
- positionItem.coordinate = prePosition.coordinate
197
- }
198
- // 兼容浮动元素初始坐标为空的情况-默认使用左上坐标
199
- if (!element.imgFloatPosition) {
200
- element.imgFloatPosition = {
201
- x,
202
- y,
203
- pageNo
204
- }
205
- }
206
- this.floatPositionList.push({
207
- pageNo,
208
- element,
209
- position: positionItem,
210
- isTable: payload.isTable,
211
- index: payload.index,
212
- tdIndex: payload.tdIndex,
213
- trIndex: payload.trIndex,
214
- tdValueIndex: index,
215
- zone
216
- })
217
- }
218
- positionList.push(positionItem)
219
- index++
220
- x += metrics.width
221
- // 计算表格内元素位置
222
- if (element.type === ElementType.TABLE && !element.hide) {
223
- const tdPaddingWidth = tdPadding[1] + tdPadding[3]
224
- const tdPaddingHeight = tdPadding[0] + tdPadding[2]
225
- for (let t = 0; t < element.trList!.length; t++) {
226
- const tr = element.trList![t]
227
- for (let d = 0; d < tr.tdList!.length; d++) {
228
- const td = tr.tdList[d]
229
- td.positionList = []
230
- const rowList = td.rowList!
231
- const drawRowResult = this.computePageRowPosition({
232
- positionList: td.positionList,
233
- rowList,
234
- pageNo,
235
- startRowIndex: 0,
236
- startIndex: 0,
237
- startX:
238
- (td.x! + tdPadding[3]) * scale +
239
- tablePreX +
240
- (element.translateX || 0) * scale,
241
- startY: (td.y! + tdPadding[0]) * scale + tablePreY,
242
- innerWidth: (td.width! - tdPaddingWidth) * scale,
243
- isTable: true,
244
- index: index - 1,
245
- tdIndex: d,
246
- trIndex: t,
247
- zone
248
- })
249
- // 垂直对齐方式
250
- if (
251
- td.verticalAlign === VerticalAlign.MIDDLE ||
252
- td.verticalAlign === VerticalAlign.BOTTOM
253
- ) {
254
- const rowsHeight = rowList.reduce(
255
- (pre, cur) => pre + cur.height,
256
- 0
257
- )
258
- const blankHeight =
259
- (td.height! - tdPaddingHeight) * scale - rowsHeight
260
- const offsetHeight =
261
- td.verticalAlign === VerticalAlign.MIDDLE
262
- ? blankHeight / 2
263
- : blankHeight
264
- if (Math.floor(offsetHeight) > 0) {
265
- td.positionList.forEach(tdPosition => {
266
- const {
267
- coordinate: { leftTop, leftBottom, rightBottom, rightTop }
268
- } = tdPosition
269
- leftTop[1] += offsetHeight
270
- leftBottom[1] += offsetHeight
271
- rightBottom[1] += offsetHeight
272
- rightTop[1] += offsetHeight
273
- })
274
- }
275
- }
276
- x = drawRowResult.x
277
- y = drawRowResult.y
278
- }
279
- }
280
- // 恢复初始x、y
281
- x = tablePreX
282
- y = tablePreY
283
- }
284
- }
285
- x = startX
286
- y += curRow.height
287
- }
288
- return { x, y, index }
289
- }
290
-
291
- public computePositionList() {
292
- // 置空原位置信息
293
- this.positionList = []
294
- // 按每页行计算
295
- const innerWidth = this.draw.getInnerWidth()
296
- const pageRowList = this.draw.getPageRowList()
297
- const margins = this.draw.getMargins()
298
- const startX = margins[3]
299
- // 起始位置受页眉影响
300
- const header = this.draw.getHeader()
301
- const extraHeight = header.getExtraHeight()
302
- const startY = margins[0] + extraHeight
303
- let startRowIndex = 0
304
- for (let i = 0; i < pageRowList.length; i++) {
305
- const rowList = pageRowList[i]
306
- if (!rowList?.length) continue
307
- const startIndex = rowList[0].startIndex
308
- this.computePageRowPosition({
309
- positionList: this.positionList,
310
- rowList,
311
- pageNo: i,
312
- startRowIndex,
313
- startIndex,
314
- startX,
315
- startY,
316
- innerWidth
317
- })
318
- startRowIndex += rowList.length
319
- }
320
- }
321
-
322
- public computeRowPosition(
323
- payload: IComputeRowPositionPayload
324
- ): IElementPosition[] {
325
- const { row, innerWidth } = payload
326
- const positionList: IElementPosition[] = []
327
- this.computePageRowPosition({
328
- positionList,
329
- innerWidth,
330
- rowList: [deepClone(row)],
331
- pageNo: 0,
332
- startX: 0,
333
- startY: 0,
334
- startIndex: 0,
335
- startRowIndex: 0
336
- })
337
- return positionList
338
- }
339
-
340
- public setCursorPosition(position: IElementPosition | null) {
341
- this.cursorPosition = position
342
- }
343
-
344
- public getCursorPosition(): IElementPosition | null {
345
- return this.cursorPosition
346
- }
347
-
348
- public getPositionContext(): IPositionContext {
349
- return this.positionContext
350
- }
351
-
352
- public setPositionContext(payload: IPositionContext) {
353
- this.eventBus.emit('positionContextChange', {
354
- value: payload,
355
- oldValue: this.positionContext
356
- })
357
- this.positionContext = payload
358
- }
359
-
360
- public getPositionByXY(payload: IGetPositionByXYPayload): ICurrentPosition {
361
- const { x, y, isTable } = payload
362
- let { elementList, positionList } = payload
363
- if (!elementList) {
364
- elementList = this.draw.getOriginalElementList()
365
- }
366
- if (!positionList) {
367
- positionList = this.getOriginalPositionList()
368
- }
369
- const zoneManager = this.draw.getZone()
370
- const curPageNo = payload.pageNo ?? this.draw.getPageNo()
371
- const isMainActive = zoneManager.isMainActive()
372
- const positionNo = isMainActive ? curPageNo : 0
373
- // 验证浮于文字上方元素
374
- if (!isTable) {
375
- const floatTopPosition = this.getFloatPositionByXY({
376
- ...payload,
377
- imgDisplays: [ImageDisplay.FLOAT_TOP, ImageDisplay.SURROUND]
378
- })
379
- if (floatTopPosition) return floatTopPosition
380
- }
381
- // 普通元素
382
- for (let j = 0; j < positionList.length; j++) {
383
- const {
384
- index,
385
- pageNo,
386
- left,
387
- isFirstLetter,
388
- coordinate: { leftTop, rightTop, leftBottom }
389
- } = positionList[j]
390
- if (positionNo !== pageNo) continue
391
- if (pageNo > positionNo) break
392
- // 命中元素
393
- if (
394
- leftTop[0] - left <= x &&
395
- rightTop[0] >= x &&
396
- leftTop[1] <= y &&
397
- leftBottom[1] >= y
398
- ) {
399
- let curPositionIndex = j
400
- const element = elementList[j]
401
- // 表格被命中
402
- if (element.type === ElementType.TABLE) {
403
- for (let t = 0; t < element.trList!.length; t++) {
404
- const tr = element.trList![t]
405
- for (let d = 0; d < tr.tdList.length; d++) {
406
- const td = tr.tdList[d]
407
- const tablePosition = this.getPositionByXY({
408
- x,
409
- y,
410
- td,
411
- pageNo: curPageNo,
412
- tablePosition: positionList[j],
413
- isTable: true,
414
- elementList: td.value,
415
- positionList: td.positionList
416
- })
417
- if (~tablePosition.index) {
418
- const { index: tdValueIndex, hitLineStartIndex } = tablePosition
419
- const tdValueElement = td.value[tdValueIndex]
420
- return {
421
- index,
422
- isCheckbox:
423
- tablePosition.isCheckbox ||
424
- tdValueElement.type === ElementType.CHECKBOX ||
425
- tdValueElement.controlComponent ===
426
- ControlComponent.CHECKBOX,
427
- isRadio:
428
- tdValueElement.type === ElementType.RADIO ||
429
- tdValueElement.controlComponent === ControlComponent.RADIO,
430
- isControl: !!tdValueElement.controlId,
431
- isImage: tablePosition.isImage,
432
- isDirectHit: tablePosition.isDirectHit,
433
- isTable: true,
434
- tdIndex: d,
435
- trIndex: t,
436
- tdValueIndex,
437
- tdId: td.id,
438
- trId: tr.id,
439
- tableId: element.id,
440
- hitLineStartIndex
441
- }
442
- }
443
- }
444
- }
445
- }
446
- // 图片区域均为命中
447
- if (
448
- element.type === ElementType.IMAGE ||
449
- element.type === ElementType.LATEX
450
- ) {
451
- return {
452
- index: curPositionIndex,
453
- isDirectHit: true,
454
- isImage: true
455
- }
456
- }
457
- if (
458
- element.type === ElementType.CHECKBOX ||
459
- element.controlComponent === ControlComponent.CHECKBOX
460
- ) {
461
- return {
462
- index: curPositionIndex,
463
- isDirectHit: true,
464
- isCheckbox: true
465
- }
466
- }
467
- // 标签元素检测
468
- if (element.type === ElementType.LABEL) {
469
- return {
470
- index: curPositionIndex,
471
- isDirectHit: true,
472
- isLabel: true
473
- }
474
- }
475
- if (
476
- element.type === ElementType.TAB &&
477
- element.listStyle === ListStyle.CHECKBOX
478
- ) {
479
- // 向前找checkbox元素
480
- let index = curPositionIndex - 1
481
- while (index > 0) {
482
- const element = elementList[index]
483
- if (
484
- element.value === ZERO &&
485
- element.listStyle === ListStyle.CHECKBOX
486
- ) {
487
- break
488
- }
489
- index--
490
- }
491
- return {
492
- index,
493
- isDirectHit: true,
494
- isCheckbox: true
495
- }
496
- }
497
- if (
498
- element.type === ElementType.RADIO ||
499
- element.controlComponent === ControlComponent.RADIO
500
- ) {
501
- return {
502
- index: curPositionIndex,
503
- isDirectHit: true,
504
- isRadio: true
505
- }
506
- }
507
- let hitLineStartIndex: number | undefined
508
- // 判断是否在文字中间前后
509
- if (elementList[index].value !== ZERO) {
510
- const valueWidth = rightTop[0] - leftTop[0]
511
- if (x < leftTop[0] + valueWidth / 2) {
512
- curPositionIndex = j - 1
513
- if (isFirstLetter) {
514
- hitLineStartIndex = j
515
- }
516
- }
517
- }
518
- return {
519
- isDirectHit: true,
520
- hitLineStartIndex,
521
- index: curPositionIndex,
522
- isControl: !!element.controlId
523
- }
524
- }
525
- }
526
- // 验证衬于文字下方元素
527
- if (!isTable) {
528
- const floatBottomPosition = this.getFloatPositionByXY({
529
- ...payload,
530
- imgDisplays: [ImageDisplay.FLOAT_BOTTOM]
531
- })
532
- if (floatBottomPosition) return floatBottomPosition
533
- }
534
- // 非命中区域
535
- let isLastArea = false
536
- let curPositionIndex = -1
537
- let hitLineStartIndex: number | undefined
538
- // 判断是否在表格内
539
- if (isTable) {
540
- const { scale } = this.options
541
- const { td, tablePosition } = payload
542
- if (td && tablePosition) {
543
- const { leftTop } = tablePosition.coordinate
544
- const tdX = td.x! * scale + leftTop[0]
545
- const tdY = td.y! * scale + leftTop[1]
546
- const tdWidth = td.width! * scale
547
- const tdHeight = td.height! * scale
548
- if (!(tdX < x && x < tdX + tdWidth && tdY < y && y < tdY + tdHeight)) {
549
- return {
550
- index: curPositionIndex
551
- }
552
- }
553
- }
554
- }
555
- // 判断所属行是否存在元素
556
- const lastLetterList = positionList.filter(
557
- p => p.isLastLetter && p.pageNo === positionNo
558
- )
559
- for (let j = 0; j < lastLetterList.length; j++) {
560
- const {
561
- index,
562
- rowNo,
563
- coordinate: { leftTop, leftBottom }
564
- } = lastLetterList[j]
565
- if (y > leftTop[1] && y <= leftBottom[1]) {
566
- const headIndex = positionList.findIndex(
567
- p => p.pageNo === positionNo && p.rowNo === rowNo
568
- )
569
- const headElement = elementList[headIndex]
570
- const headPosition = positionList[headIndex]
571
- // 是否在头部
572
- const headStartX =
573
- headElement.listStyle === ListStyle.CHECKBOX
574
- ? this.draw.getMargins()[3]
575
- : headPosition.coordinate.leftTop[0]
576
- if (x < headStartX) {
577
- // 头部元素为空元素时无需选中
578
- if (~headIndex) {
579
- if (headPosition.value === ZERO) {
580
- curPositionIndex = headIndex
581
- } else {
582
- curPositionIndex = headIndex - 1
583
- hitLineStartIndex = headIndex
584
- }
585
- } else {
586
- curPositionIndex = index
587
- }
588
- } else {
589
- // 是否是复选框列表
590
- if (headElement.listStyle === ListStyle.CHECKBOX && x < leftTop[0]) {
591
- return {
592
- index: headIndex,
593
- isDirectHit: true,
594
- isCheckbox: true
595
- }
596
- }
597
- curPositionIndex = index
598
- }
599
- isLastArea = true
600
- break
601
- }
602
- }
603
- if (!isLastArea) {
604
- // 页眉页脚正文切换
605
- if (this.draw.getIsPagingMode()) {
606
- // 页眉底部距离页面顶部距离
607
- const header = this.draw.getHeader()
608
- const headerHeight = header.getHeight()
609
- const headerBottomY = header.getHeaderTop() + headerHeight
610
- // 页脚上部距离页面顶部距离
611
- const footer = this.draw.getFooter()
612
- const pageHeight = this.draw.getHeight()
613
- const footerTopY =
614
- pageHeight - (footer.getFooterBottom() + footer.getHeight())
615
- // 判断所属位置是否属于页眉页脚区域
616
- if (isMainActive) {
617
- // 页眉:当前位置小于页眉底部位置
618
- if (y < headerBottomY) {
619
- return {
620
- index: -1,
621
- zone: EditorZone.HEADER
622
- }
623
- }
624
- // 页脚:当前位置大于页脚顶部位置
625
- if (y > footerTopY) {
626
- return {
627
- index: -1,
628
- zone: EditorZone.FOOTER
629
- }
630
- }
631
- } else {
632
- // main区域:当前位置小于页眉底部位置 && 大于页脚顶部位置
633
- if (y <= footerTopY && y >= headerBottomY) {
634
- return {
635
- index: -1,
636
- zone: EditorZone.MAIN
637
- }
638
- }
639
- }
640
- }
641
- // 正文上-循环首行
642
- const margins = this.draw.getMargins()
643
- if (y <= margins[0]) {
644
- for (let p = 0; p < positionList.length; p++) {
645
- const position = positionList[p]
646
- if (position.pageNo !== positionNo || position.rowNo !== 0) continue
647
- const { leftTop, rightTop } = position.coordinate
648
- // 小于左页边距 || 命中文字 || 首行最后元素
649
- if (
650
- x <= margins[3] ||
651
- (x >= leftTop[0] && x <= rightTop[0]) ||
652
- positionList[p + 1]?.rowNo !== 0
653
- ) {
654
- return {
655
- index: position.index
656
- }
657
- }
658
- }
659
- } else {
660
- // 正文下-循环尾行
661
- const lastLetter = lastLetterList[lastLetterList.length - 1]
662
- if (lastLetter) {
663
- const lastRowNo = lastLetter.rowNo
664
- for (let p = 0; p < positionList.length; p++) {
665
- const position = positionList[p]
666
- if (
667
- position.pageNo !== positionNo ||
668
- position.rowNo !== lastRowNo
669
- ) {
670
- continue
671
- }
672
- const { leftTop, rightTop } = position.coordinate
673
- // 小于左页边距 || 命中文字 || 尾行最后元素
674
- if (
675
- x <= margins[3] ||
676
- (x >= leftTop[0] && x <= rightTop[0]) ||
677
- positionList[p + 1]?.rowNo !== lastRowNo
678
- ) {
679
- return {
680
- index: position.index
681
- }
682
- }
683
- }
684
- }
685
- }
686
- // 当前页最后一行
687
- return {
688
- index:
689
- lastLetterList[lastLetterList.length - 1]?.index ||
690
- positionList.length - 1
691
- }
692
- }
693
- return {
694
- hitLineStartIndex,
695
- index: curPositionIndex,
696
- isControl: !!elementList[curPositionIndex]?.controlId
697
- }
698
- }
699
-
700
- public getFloatPositionByXY(
701
- payload: IGetFloatPositionByXYPayload
702
- ): ICurrentPosition | void {
703
- const { x, y } = payload
704
- const currentPageNo = payload.pageNo ?? this.draw.getPageNo()
705
- const currentZone = this.draw.getZone().getZone()
706
- const { scale } = this.options
707
- for (let f = 0; f < this.floatPositionList.length; f++) {
708
- const {
709
- position,
710
- element,
711
- isTable,
712
- index,
713
- trIndex,
714
- tdIndex,
715
- tdValueIndex,
716
- zone: floatElementZone,
717
- pageNo
718
- } = this.floatPositionList[f]
719
- if (
720
- currentPageNo === pageNo &&
721
- element.type === ElementType.IMAGE &&
722
- element.imgDisplay &&
723
- payload.imgDisplays.includes(element.imgDisplay) &&
724
- (!floatElementZone || floatElementZone === currentZone)
725
- ) {
726
- const imgFloatPosition = element.imgFloatPosition!
727
- const imgFloatPositionX = imgFloatPosition.x * scale
728
- const imgFloatPositionY = imgFloatPosition.y * scale
729
- const elementWidth = element.width! * scale
730
- const elementHeight = element.height! * scale
731
- if (
732
- x >= imgFloatPositionX &&
733
- x <= imgFloatPositionX + elementWidth &&
734
- y >= imgFloatPositionY &&
735
- y <= imgFloatPositionY + elementHeight
736
- ) {
737
- if (isTable) {
738
- return {
739
- index: index!,
740
- isDirectHit: true,
741
- isImage: true,
742
- isTable,
743
- trIndex,
744
- tdIndex,
745
- tdValueIndex,
746
- tdId: element.tdId,
747
- trId: element.trId,
748
- tableId: element.tableId
749
- }
750
- }
751
- return {
752
- index: position.index,
753
- isDirectHit: true,
754
- isImage: true
755
- }
756
- }
757
- }
758
- }
759
- }
760
-
761
- public adjustPositionContext(
762
- payload: IGetPositionByXYPayload
763
- ): ICurrentPosition | null {
764
- const positionResult = this.getPositionByXY(payload)
765
- if (!~positionResult.index) return null
766
- // 移动控件内光标
767
- if (
768
- positionResult.isControl &&
769
- this.draw.getMode() !== EditorMode.READONLY
770
- ) {
771
- const { index, isTable, trIndex, tdIndex, tdValueIndex } = positionResult
772
- const control = this.draw.getControl()
773
- const { newIndex } = control.moveCursor({
774
- index,
775
- isTable,
776
- trIndex,
777
- tdIndex,
778
- tdValueIndex
779
- })
780
- if (isTable) {
781
- positionResult.tdValueIndex = newIndex
782
- } else {
783
- positionResult.index = newIndex
784
- }
785
- }
786
- const {
787
- index,
788
- isCheckbox,
789
- isRadio,
790
- isControl,
791
- isImage,
792
- isLabel,
793
- isDirectHit,
794
- isTable,
795
- trIndex,
796
- tdIndex,
797
- tdId,
798
- trId,
799
- tableId
800
- } = positionResult
801
- // 设置位置上下文
802
- this.setPositionContext({
803
- isTable: isTable || false,
804
- isCheckbox: isCheckbox || false,
805
- isRadio: isRadio || false,
806
- isControl: isControl || false,
807
- isImage: isImage || false,
808
- isLabel: isLabel || false,
809
- isDirectHit: isDirectHit || false,
810
- index,
811
- trIndex,
812
- tdIndex,
813
- tdId,
814
- trId,
815
- tableId
816
- })
817
- return positionResult
818
- }
819
-
820
- public setSurroundPosition(payload: ISetSurroundPositionPayload) {
821
- const { scale } = this.options
822
- const {
823
- pageNo,
824
- row,
825
- rowElement,
826
- rowElementRect,
827
- surroundElementList,
828
- availableWidth
829
- } = payload
830
- let x = rowElementRect.x
831
- let rowIncreaseWidth = 0
832
- if (
833
- surroundElementList.length &&
834
- !getIsBlockElement(rowElement) &&
835
- !rowElement.control?.minWidth
836
- ) {
837
- for (let s = 0; s < surroundElementList.length; s++) {
838
- const surroundElement = surroundElementList[s]
839
- const floatPosition = surroundElement.imgFloatPosition!
840
- if (floatPosition.pageNo !== pageNo) continue
841
- const surroundRect = {
842
- ...floatPosition,
843
- x: floatPosition.x * scale,
844
- y: floatPosition.y * scale,
845
- width: surroundElement.width! * scale,
846
- height: surroundElement.height! * scale
847
- }
848
- if (isRectIntersect(rowElementRect, surroundRect)) {
849
- row.isSurround = true
850
- // 需向左移动距离:浮动元素宽度 + 浮动元素左上坐标 - 元素左上坐标
851
- const translateX =
852
- surroundRect.width + surroundRect.x - rowElementRect.x
853
- rowElement.left = translateX
854
- // 增加行宽
855
- row.width += translateX
856
- rowIncreaseWidth += translateX
857
- // 下个元素起始位置:浮动元素右坐标 - 元素宽度
858
- x = surroundRect.x + surroundRect.width
859
- // 检测宽度是否足够,不够则移动到下一行,并还原状态
860
- if (row.width + rowElement.metrics.width > availableWidth) {
861
- rowElement.left = 0
862
- row.width -= rowIncreaseWidth
863
- break
864
- }
865
- }
866
- }
867
- }
868
- return { x, rowIncreaseWidth }
869
- }
870
- }