@wangeditor-next/plugin-float-image 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (418) hide show
  1. package/dist/basic-modules/src/constants/icon-svg.d.ts +47 -0
  2. package/dist/basic-modules/src/index.d.ts +9 -0
  3. package/dist/basic-modules/src/locale/en.d.ts +101 -0
  4. package/dist/basic-modules/src/locale/index.d.ts +5 -0
  5. package/dist/basic-modules/src/locale/zh-CN.d.ts +101 -0
  6. package/dist/basic-modules/src/modules/blockquote/custom-types.d.ts +9 -0
  7. package/dist/basic-modules/src/modules/blockquote/elem-to-html.d.ts +11 -0
  8. package/dist/basic-modules/src/modules/blockquote/index.d.ts +7 -0
  9. package/dist/basic-modules/src/modules/blockquote/menu/BlockquoteMenu.d.ts +20 -0
  10. package/dist/basic-modules/src/modules/blockquote/menu/index.d.ts +9 -0
  11. package/dist/basic-modules/src/modules/blockquote/parse-elem-html.d.ts +14 -0
  12. package/dist/basic-modules/src/modules/blockquote/plugin.d.ts +7 -0
  13. package/dist/basic-modules/src/modules/blockquote/render-elem.d.ts +20 -0
  14. package/dist/basic-modules/src/modules/code-block/custom-types.d.ts +17 -0
  15. package/dist/basic-modules/src/modules/code-block/elem-to-html.d.ts +16 -0
  16. package/dist/basic-modules/src/modules/code-block/index.d.ts +7 -0
  17. package/dist/basic-modules/src/modules/code-block/menu/CodeBlockMenu.d.ts +22 -0
  18. package/dist/basic-modules/src/modules/code-block/menu/index.d.ts +9 -0
  19. package/dist/basic-modules/src/modules/code-block/parse-elem-html.d.ts +19 -0
  20. package/dist/basic-modules/src/modules/code-block/plugin.d.ts +7 -0
  21. package/dist/basic-modules/src/modules/code-block/pre-parse-html.d.ts +15 -0
  22. package/dist/basic-modules/src/modules/code-block/render-elem.d.ts +18 -0
  23. package/dist/basic-modules/src/modules/color/custom-types.d.ts +9 -0
  24. package/dist/basic-modules/src/modules/color/index.d.ts +7 -0
  25. package/dist/basic-modules/src/modules/color/menu/BaseMenu.d.ts +20 -0
  26. package/dist/basic-modules/src/modules/color/menu/BgColorMenu.d.ts +11 -0
  27. package/dist/basic-modules/src/modules/color/menu/ColorMenu.d.ts +11 -0
  28. package/dist/basic-modules/src/modules/color/menu/config.d.ts +6 -0
  29. package/dist/basic-modules/src/modules/color/menu/index.d.ts +20 -0
  30. package/dist/basic-modules/src/modules/color/parse-style-html.d.ts +8 -0
  31. package/dist/basic-modules/src/modules/color/pre-parse-html.d.ts +15 -0
  32. package/dist/basic-modules/src/modules/color/render-style.d.ts +13 -0
  33. package/dist/basic-modules/src/modules/color/style-to-html.d.ts +12 -0
  34. package/dist/basic-modules/src/modules/common/index.d.ts +7 -0
  35. package/dist/basic-modules/src/modules/common/menu/EnterMenu.d.ts +15 -0
  36. package/dist/basic-modules/src/modules/common/menu/index.d.ts +9 -0
  37. package/dist/basic-modules/src/modules/divider/custom-types.d.ts +12 -0
  38. package/dist/basic-modules/src/modules/divider/elem-to-html.d.ts +11 -0
  39. package/dist/basic-modules/src/modules/divider/index.d.ts +7 -0
  40. package/dist/basic-modules/src/modules/divider/menu/InsertDividerMenu.d.ts +15 -0
  41. package/dist/basic-modules/src/modules/divider/menu/index.d.ts +9 -0
  42. package/dist/basic-modules/src/modules/divider/parse-elem-html.d.ts +14 -0
  43. package/dist/basic-modules/src/modules/divider/plugin.d.ts +7 -0
  44. package/dist/basic-modules/src/modules/divider/render-elem.d.ts +13 -0
  45. package/dist/basic-modules/src/modules/emotion/index.d.ts +7 -0
  46. package/dist/basic-modules/src/modules/emotion/menu/EmotionMenu.d.ts +19 -0
  47. package/dist/basic-modules/src/modules/emotion/menu/config.d.ts +5 -0
  48. package/dist/basic-modules/src/modules/emotion/menu/index.d.ts +12 -0
  49. package/dist/basic-modules/src/modules/font-size-family/custom-types.d.ts +9 -0
  50. package/dist/basic-modules/src/modules/font-size-family/index.d.ts +7 -0
  51. package/dist/basic-modules/src/modules/font-size-family/menu/BaseMenu.d.ts +18 -0
  52. package/dist/basic-modules/src/modules/font-size-family/menu/FontFamilyMenu.d.ts +14 -0
  53. package/dist/basic-modules/src/modules/font-size-family/menu/FontSizeMenu.d.ts +13 -0
  54. package/dist/basic-modules/src/modules/font-size-family/menu/config.d.ts +12 -0
  55. package/dist/basic-modules/src/modules/font-size-family/menu/index.d.ts +26 -0
  56. package/dist/basic-modules/src/modules/font-size-family/parse-style-html.d.ts +8 -0
  57. package/dist/basic-modules/src/modules/font-size-family/pre-parse-html.d.ts +15 -0
  58. package/dist/basic-modules/src/modules/font-size-family/render-style.d.ts +13 -0
  59. package/dist/basic-modules/src/modules/font-size-family/style-to-html.d.ts +12 -0
  60. package/dist/basic-modules/src/modules/format-painter/helper.d.ts +3 -0
  61. package/dist/basic-modules/src/modules/format-painter/index.d.ts +7 -0
  62. package/dist/basic-modules/src/modules/format-painter/menu/FormatPainter.d.ts +22 -0
  63. package/dist/basic-modules/src/modules/format-painter/menu/index.d.ts +9 -0
  64. package/dist/basic-modules/src/modules/format-painter/plugin.d.ts +7 -0
  65. package/dist/basic-modules/src/modules/full-screen/index.d.ts +7 -0
  66. package/dist/basic-modules/src/modules/full-screen/menu/FullScreen.d.ts +18 -0
  67. package/dist/basic-modules/src/modules/full-screen/menu/index.d.ts +9 -0
  68. package/dist/basic-modules/src/modules/header/custom-types.d.ts +29 -0
  69. package/dist/basic-modules/src/modules/header/elem-to-html.d.ts +29 -0
  70. package/dist/basic-modules/src/modules/header/helper.d.ts +14 -0
  71. package/dist/basic-modules/src/modules/header/index.d.ts +7 -0
  72. package/dist/basic-modules/src/modules/header/menu/Header1ButtonMenu.d.ts +10 -0
  73. package/dist/basic-modules/src/modules/header/menu/Header2ButtonMenu.d.ts +10 -0
  74. package/dist/basic-modules/src/modules/header/menu/Header3ButtonMenu.d.ts +10 -0
  75. package/dist/basic-modules/src/modules/header/menu/Header4ButtonMenu.d.ts +10 -0
  76. package/dist/basic-modules/src/modules/header/menu/Header5ButtonMenu.d.ts +10 -0
  77. package/dist/basic-modules/src/modules/header/menu/Header6ButtonMenu.d.ts +10 -0
  78. package/dist/basic-modules/src/modules/header/menu/HeaderButtonMenuBase.d.ts +19 -0
  79. package/dist/basic-modules/src/modules/header/menu/HeaderSelectMenu.d.ts +26 -0
  80. package/dist/basic-modules/src/modules/header/menu/index.d.ts +39 -0
  81. package/dist/basic-modules/src/modules/header/parse-elem-html.d.ts +32 -0
  82. package/dist/basic-modules/src/modules/header/plugin.d.ts +7 -0
  83. package/dist/basic-modules/src/modules/header/render-elem.d.ts +32 -0
  84. package/dist/basic-modules/src/modules/image/custom-types.d.ts +22 -0
  85. package/dist/basic-modules/src/modules/image/elem-to-html.d.ts +11 -0
  86. package/dist/basic-modules/src/modules/image/helper.d.ts +13 -0
  87. package/dist/basic-modules/src/modules/image/index.d.ts +7 -0
  88. package/dist/basic-modules/src/modules/image/menu/DeleteImage.d.ts +15 -0
  89. package/dist/basic-modules/src/modules/image/menu/EditImage.d.ts +28 -0
  90. package/dist/basic-modules/src/modules/image/menu/EditImageSizeMenu.d.ts +25 -0
  91. package/dist/basic-modules/src/modules/image/menu/InsertImage.d.ts +27 -0
  92. package/dist/basic-modules/src/modules/image/menu/ViewImageLink.d.ts +15 -0
  93. package/dist/basic-modules/src/modules/image/menu/Width100.d.ts +10 -0
  94. package/dist/basic-modules/src/modules/image/menu/Width30.d.ts +10 -0
  95. package/dist/basic-modules/src/modules/image/menu/Width50.d.ts +10 -0
  96. package/dist/basic-modules/src/modules/image/menu/WidthBase.d.ts +16 -0
  97. package/dist/basic-modules/src/modules/image/menu/config.d.ts +30 -0
  98. package/dist/basic-modules/src/modules/image/menu/index.d.ts +56 -0
  99. package/dist/basic-modules/src/modules/image/parse-elem-html.d.ts +14 -0
  100. package/dist/basic-modules/src/modules/image/plugin.d.ts +7 -0
  101. package/dist/basic-modules/src/modules/image/render-elem.d.ts +13 -0
  102. package/dist/basic-modules/src/modules/indent/custom-types.d.ts +10 -0
  103. package/dist/basic-modules/src/modules/indent/index.d.ts +7 -0
  104. package/dist/basic-modules/src/modules/indent/menu/BaseMenu.d.ts +25 -0
  105. package/dist/basic-modules/src/modules/indent/menu/DecreaseIndentMenu.d.ts +13 -0
  106. package/dist/basic-modules/src/modules/indent/menu/IncreaseIndentMenu.d.ts +15 -0
  107. package/dist/basic-modules/src/modules/indent/menu/index.d.ts +14 -0
  108. package/dist/basic-modules/src/modules/indent/parse-style-html.d.ts +8 -0
  109. package/dist/basic-modules/src/modules/indent/pre-parse-html.d.ts +15 -0
  110. package/dist/basic-modules/src/modules/indent/render-style.d.ts +13 -0
  111. package/dist/basic-modules/src/modules/indent/style-to-html.d.ts +6 -0
  112. package/dist/basic-modules/src/modules/justify/custom-types.d.ts +10 -0
  113. package/dist/basic-modules/src/modules/justify/index.d.ts +7 -0
  114. package/dist/basic-modules/src/modules/justify/menu/BaseMenu.d.ts +15 -0
  115. package/dist/basic-modules/src/modules/justify/menu/JustifyCenterMenu.d.ts +12 -0
  116. package/dist/basic-modules/src/modules/justify/menu/JustifyJustifyMenu.d.ts +12 -0
  117. package/dist/basic-modules/src/modules/justify/menu/JustifyLeftMenu.d.ts +12 -0
  118. package/dist/basic-modules/src/modules/justify/menu/JustifyRightMenu.d.ts +12 -0
  119. package/dist/basic-modules/src/modules/justify/menu/index.d.ts +24 -0
  120. package/dist/basic-modules/src/modules/justify/parse-style-html.d.ts +8 -0
  121. package/dist/basic-modules/src/modules/justify/render-style.d.ts +13 -0
  122. package/dist/basic-modules/src/modules/justify/style-to-html.d.ts +6 -0
  123. package/dist/basic-modules/src/modules/line-height/custom-types.d.ts +10 -0
  124. package/dist/basic-modules/src/modules/line-height/index.d.ts +7 -0
  125. package/dist/basic-modules/src/modules/line-height/menu/LineHeightMenu.d.ts +26 -0
  126. package/dist/basic-modules/src/modules/line-height/menu/config.d.ts +5 -0
  127. package/dist/basic-modules/src/modules/line-height/menu/index.d.ts +12 -0
  128. package/dist/basic-modules/src/modules/line-height/parse-style-html.d.ts +8 -0
  129. package/dist/basic-modules/src/modules/line-height/render-style.d.ts +13 -0
  130. package/dist/basic-modules/src/modules/line-height/style-to-html.d.ts +6 -0
  131. package/dist/basic-modules/src/modules/link/custom-types.d.ts +11 -0
  132. package/dist/basic-modules/src/modules/link/elem-to-html.d.ts +11 -0
  133. package/dist/basic-modules/src/modules/link/helper.d.ts +20 -0
  134. package/dist/basic-modules/src/modules/link/index.d.ts +7 -0
  135. package/dist/basic-modules/src/modules/link/menu/EditLink.d.ts +29 -0
  136. package/dist/basic-modules/src/modules/link/menu/InsertLink.d.ts +25 -0
  137. package/dist/basic-modules/src/modules/link/menu/UnLink.d.ts +15 -0
  138. package/dist/basic-modules/src/modules/link/menu/ViewLink.d.ts +16 -0
  139. package/dist/basic-modules/src/modules/link/menu/config.d.ts +18 -0
  140. package/dist/basic-modules/src/modules/link/menu/index.d.ts +33 -0
  141. package/dist/basic-modules/src/modules/link/parse-elem-html.d.ts +14 -0
  142. package/dist/basic-modules/src/modules/link/plugin.d.ts +7 -0
  143. package/dist/basic-modules/src/modules/link/render-elem.d.ts +20 -0
  144. package/dist/basic-modules/src/modules/paragraph/custom-types.d.ts +9 -0
  145. package/dist/basic-modules/src/modules/paragraph/elem-to-html.d.ts +11 -0
  146. package/dist/basic-modules/src/modules/paragraph/index.d.ts +7 -0
  147. package/dist/basic-modules/src/modules/paragraph/parse-elem-html.d.ts +14 -0
  148. package/dist/basic-modules/src/modules/paragraph/plugin.d.ts +7 -0
  149. package/dist/basic-modules/src/modules/paragraph/render-elem.d.ts +20 -0
  150. package/dist/basic-modules/src/modules/text-style/custom-types.d.ts +14 -0
  151. package/dist/basic-modules/src/modules/text-style/helper.d.ts +8 -0
  152. package/dist/basic-modules/src/modules/text-style/index.d.ts +7 -0
  153. package/dist/basic-modules/src/modules/text-style/menu/BaseMenu.d.ts +27 -0
  154. package/dist/basic-modules/src/modules/text-style/menu/BoldMenu.d.ts +12 -0
  155. package/dist/basic-modules/src/modules/text-style/menu/ClearStyleMenu.d.ts +20 -0
  156. package/dist/basic-modules/src/modules/text-style/menu/CodeMenu.d.ts +12 -0
  157. package/dist/basic-modules/src/modules/text-style/menu/ItalicMenu.d.ts +12 -0
  158. package/dist/basic-modules/src/modules/text-style/menu/SubMenu.d.ts +13 -0
  159. package/dist/basic-modules/src/modules/text-style/menu/SupMenu.d.ts +13 -0
  160. package/dist/basic-modules/src/modules/text-style/menu/ThroughMenu.d.ts +12 -0
  161. package/dist/basic-modules/src/modules/text-style/menu/UnderlineMenu.d.ts +12 -0
  162. package/dist/basic-modules/src/modules/text-style/menu/index.d.ts +44 -0
  163. package/dist/basic-modules/src/modules/text-style/parse-style-html.d.ts +8 -0
  164. package/dist/basic-modules/src/modules/text-style/render-style.d.ts +13 -0
  165. package/dist/basic-modules/src/modules/text-style/style-to-html.d.ts +12 -0
  166. package/dist/basic-modules/src/modules/todo/custom-types.d.ts +10 -0
  167. package/dist/basic-modules/src/modules/todo/elem-to-html.d.ts +11 -0
  168. package/dist/basic-modules/src/modules/todo/index.d.ts +7 -0
  169. package/dist/basic-modules/src/modules/todo/menu/Todo.d.ts +15 -0
  170. package/dist/basic-modules/src/modules/todo/menu/index.d.ts +9 -0
  171. package/dist/basic-modules/src/modules/todo/parse-elem-html.d.ts +14 -0
  172. package/dist/basic-modules/src/modules/todo/plugin.d.ts +7 -0
  173. package/dist/basic-modules/src/modules/todo/pre-parse-html.d.ts +15 -0
  174. package/dist/basic-modules/src/modules/todo/render-elem.d.ts +20 -0
  175. package/dist/basic-modules/src/modules/undo-redo/index.d.ts +7 -0
  176. package/dist/basic-modules/src/modules/undo-redo/menu/RedoMenu.d.ts +15 -0
  177. package/dist/basic-modules/src/modules/undo-redo/menu/UndoMenu.d.ts +15 -0
  178. package/dist/basic-modules/src/modules/undo-redo/menu/index.d.ts +14 -0
  179. package/dist/basic-modules/src/utils/dom.d.ts +36 -0
  180. package/dist/basic-modules/src/utils/util.d.ts +11 -0
  181. package/dist/basic-modules/src/utils/vdom.d.ts +11 -0
  182. package/dist/code-highlight/src/constants/svg.d.ts +10 -0
  183. package/dist/code-highlight/src/custom-types.d.ts +17 -0
  184. package/dist/code-highlight/src/decorate/index.d.ts +7 -0
  185. package/dist/code-highlight/src/index.d.ts +9 -0
  186. package/dist/code-highlight/src/locale/en.d.ts +10 -0
  187. package/dist/code-highlight/src/locale/index.d.ts +5 -0
  188. package/dist/code-highlight/src/locale/zh-CN.d.ts +10 -0
  189. package/dist/code-highlight/src/module/elem-to-html.d.ts +11 -0
  190. package/dist/code-highlight/src/module/index.d.ts +7 -0
  191. package/dist/code-highlight/src/module/menu/SelectLangMenu.d.ts +24 -0
  192. package/dist/code-highlight/src/module/menu/config.d.ts +8 -0
  193. package/dist/code-highlight/src/module/menu/index.d.ts +15 -0
  194. package/dist/code-highlight/src/module/parse-style-html.d.ts +8 -0
  195. package/dist/code-highlight/src/module/render-style.d.ts +13 -0
  196. package/dist/code-highlight/src/utils/dom.d.ts +15 -0
  197. package/dist/code-highlight/src/utils/vdom.d.ts +11 -0
  198. package/dist/code-highlight/src/vendor/prism.d.ts +37 -0
  199. package/dist/core/src/config/index.d.ts +13 -0
  200. package/dist/core/src/config/interface.d.ts +219 -0
  201. package/dist/core/src/config/register.d.ts +12 -0
  202. package/dist/core/src/constants/index.d.ts +1 -0
  203. package/dist/core/src/constants/svg.d.ts +12 -0
  204. package/dist/core/src/create/bind-node-relation.d.ts +15 -0
  205. package/dist/core/src/create/create-editor.d.ts +10 -0
  206. package/dist/core/src/create/create-toolbar.d.ts +14 -0
  207. package/dist/core/src/create/helper.d.ts +37 -0
  208. package/dist/core/src/create/index.d.ts +7 -0
  209. package/dist/core/src/editor/dom-editor.d.ts +143 -0
  210. package/dist/core/src/editor/interface.d.ts +68 -0
  211. package/dist/core/src/editor/plugins/with-config.d.ts +7 -0
  212. package/dist/core/src/editor/plugins/with-content.d.ts +7 -0
  213. package/dist/core/src/editor/plugins/with-dom.d.ts +10 -0
  214. package/dist/core/src/editor/plugins/with-emitter.d.ts +7 -0
  215. package/dist/core/src/editor/plugins/with-event-data.d.ts +7 -0
  216. package/dist/core/src/editor/plugins/with-max-length.d.ts +7 -0
  217. package/dist/core/src/editor/plugins/with-selection.d.ts +7 -0
  218. package/dist/core/src/i18n/index.d.ts +32 -0
  219. package/dist/core/src/index.d.ts +32 -0
  220. package/dist/core/src/menus/bar/HoverBar.d.ts +48 -0
  221. package/dist/core/src/menus/bar/Toolbar.d.ts +35 -0
  222. package/dist/core/src/menus/bar-item/BaseButton.d.ts +26 -0
  223. package/dist/core/src/menus/bar-item/DropPanelButton.d.ts +14 -0
  224. package/dist/core/src/menus/bar-item/GroupButton.d.ts +17 -0
  225. package/dist/core/src/menus/bar-item/ModalButton.d.ts +25 -0
  226. package/dist/core/src/menus/bar-item/Select.d.ts +22 -0
  227. package/dist/core/src/menus/bar-item/SimpleButton.d.ts +11 -0
  228. package/dist/core/src/menus/bar-item/index.d.ts +24 -0
  229. package/dist/core/src/menus/bar-item/tooltip.d.ts +6 -0
  230. package/dist/core/src/menus/helpers/helpers.d.ts +18 -0
  231. package/dist/core/src/menus/helpers/position.d.ts +36 -0
  232. package/dist/core/src/menus/index.d.ts +9 -0
  233. package/dist/core/src/menus/interface.d.ts +65 -0
  234. package/dist/core/src/menus/panel-and-modal/BaseClass.d.ts +26 -0
  235. package/dist/core/src/menus/panel-and-modal/DropPanel.d.ts +14 -0
  236. package/dist/core/src/menus/panel-and-modal/Modal.d.ts +44 -0
  237. package/dist/core/src/menus/panel-and-modal/SelectList.d.ts +20 -0
  238. package/dist/core/src/menus/register.d.ts +15 -0
  239. package/dist/core/src/parse-html/helper.d.ts +10 -0
  240. package/dist/core/src/parse-html/index.d.ts +35 -0
  241. package/dist/core/src/parse-html/parse-common-elem-html.d.ts +15 -0
  242. package/dist/core/src/parse-html/parse-elem-html.d.ts +15 -0
  243. package/dist/core/src/parse-html/parse-text-elem-html.d.ts +15 -0
  244. package/dist/core/src/render/element/getRenderElem.d.ts +11 -0
  245. package/dist/core/src/render/element/renderElement.d.ts +9 -0
  246. package/dist/core/src/render/element/renderStyle.d.ts +13 -0
  247. package/dist/core/src/render/helper.d.ts +6 -0
  248. package/dist/core/src/render/index.d.ts +27 -0
  249. package/dist/core/src/render/node2Vnode.d.ts +15 -0
  250. package/dist/core/src/render/text/genVnode.d.ts +9 -0
  251. package/dist/core/src/render/text/renderStyle.d.ts +13 -0
  252. package/dist/core/src/render/text/renderText.d.ts +9 -0
  253. package/dist/core/src/text-area/TextArea.d.ts +47 -0
  254. package/dist/core/src/text-area/event-handlers/beforeInput.d.ts +8 -0
  255. package/dist/core/src/text-area/event-handlers/blur.d.ts +8 -0
  256. package/dist/core/src/text-area/event-handlers/click.d.ts +8 -0
  257. package/dist/core/src/text-area/event-handlers/composition.d.ts +27 -0
  258. package/dist/core/src/text-area/event-handlers/copy.d.ts +8 -0
  259. package/dist/core/src/text-area/event-handlers/cut.d.ts +8 -0
  260. package/dist/core/src/text-area/event-handlers/drag.d.ts +9 -0
  261. package/dist/core/src/text-area/event-handlers/drop.d.ts +8 -0
  262. package/dist/core/src/text-area/event-handlers/focus.d.ts +8 -0
  263. package/dist/core/src/text-area/event-handlers/index.d.ts +35 -0
  264. package/dist/core/src/text-area/event-handlers/keydown.d.ts +8 -0
  265. package/dist/core/src/text-area/event-handlers/keypress.d.ts +8 -0
  266. package/dist/core/src/text-area/event-handlers/paste.d.ts +8 -0
  267. package/dist/core/src/text-area/helpers.d.ts +26 -0
  268. package/dist/core/src/text-area/place-holder.d.ts +18 -0
  269. package/dist/core/src/text-area/syncSelection.d.ts +19 -0
  270. package/dist/core/src/text-area/update-view.d.ts +13 -0
  271. package/dist/core/src/to-html/elem2html.d.ts +8 -0
  272. package/dist/core/src/to-html/index.d.ts +32 -0
  273. package/dist/core/src/to-html/node2html.d.ts +8 -0
  274. package/dist/core/src/to-html/text2html.d.ts +8 -0
  275. package/dist/core/src/upload/createUploader.d.ts +8 -0
  276. package/dist/core/src/upload/index.d.ts +7 -0
  277. package/dist/core/src/upload/interface.d.ts +33 -0
  278. package/dist/core/src/utils/dom.d.ts +102 -0
  279. package/dist/core/src/utils/hotkeys.d.ts +35 -0
  280. package/dist/core/src/utils/key.d.ts +11 -0
  281. package/dist/core/src/utils/line.d.ts +14 -0
  282. package/dist/core/src/utils/ua.d.ts +14 -0
  283. package/dist/core/src/utils/util.d.ts +28 -0
  284. package/dist/core/src/utils/vdom.d.ts +34 -0
  285. package/dist/core/src/utils/weak-maps.d.ts +56 -0
  286. package/dist/css/style.css +29 -0
  287. package/dist/editor/src/Boot.d.ts +30 -0
  288. package/dist/editor/src/constants/svg.d.ts +14 -0
  289. package/dist/editor/src/create.d.ts +28 -0
  290. package/dist/editor/src/index.d.ts +18 -0
  291. package/dist/editor/src/init-default-config/config/hoverbar.d.ts +47 -0
  292. package/dist/editor/src/init-default-config/config/index.d.ts +67 -0
  293. package/dist/editor/src/init-default-config/config/toolbar.d.ts +16 -0
  294. package/dist/editor/src/init-default-config/index.d.ts +5 -0
  295. package/dist/editor/src/locale/en.d.ts +14 -0
  296. package/dist/editor/src/locale/index.d.ts +5 -0
  297. package/dist/editor/src/locale/zh-CN.d.ts +14 -0
  298. package/dist/editor/src/register-builtin-modules/index.d.ts +10 -0
  299. package/dist/editor/src/register-builtin-modules/register.d.ts +7 -0
  300. package/dist/editor/src/utils/browser-polyfill.d.ts +6 -0
  301. package/dist/editor/src/utils/dom.d.ts +6 -0
  302. package/dist/editor/src/utils/node-polyfill.d.ts +4 -0
  303. package/dist/index.js +1006 -0
  304. package/dist/index.mjs +1002 -0
  305. package/dist/list-module/src/constants/svg.d.ts +11 -0
  306. package/dist/list-module/src/index.d.ts +8 -0
  307. package/dist/list-module/src/locale/en.d.ts +11 -0
  308. package/dist/list-module/src/locale/index.d.ts +5 -0
  309. package/dist/list-module/src/locale/zh-CN.d.ts +11 -0
  310. package/dist/list-module/src/module/custom-types.d.ts +11 -0
  311. package/dist/list-module/src/module/elem-to-html.d.ts +15 -0
  312. package/dist/list-module/src/module/helpers.d.ts +13 -0
  313. package/dist/list-module/src/module/index.d.ts +7 -0
  314. package/dist/list-module/src/module/menu/BaseMenu.d.ts +18 -0
  315. package/dist/list-module/src/module/menu/BulletedListMenu.d.ts +11 -0
  316. package/dist/list-module/src/module/menu/NumberedListMenu.d.ts +11 -0
  317. package/dist/list-module/src/module/menu/index.d.ts +14 -0
  318. package/dist/list-module/src/module/parse-elem-html.d.ts +19 -0
  319. package/dist/list-module/src/module/plugin.d.ts +7 -0
  320. package/dist/list-module/src/module/render-elem.d.ts +13 -0
  321. package/dist/list-module/src/utils/dom.d.ts +19 -0
  322. package/dist/list-module/src/utils/maps.d.ts +6 -0
  323. package/dist/list-module/src/utils/util.d.ts +6 -0
  324. package/dist/plugin-float-image/src/constants/icon-svg.d.ts +12 -0
  325. package/dist/plugin-float-image/src/index.d.ts +8 -0
  326. package/dist/plugin-float-image/src/module/custom-types.d.ts +21 -0
  327. package/dist/plugin-float-image/src/module/elem-to-html.d.ts +11 -0
  328. package/dist/plugin-float-image/src/module/index.d.ts +8 -0
  329. package/dist/plugin-float-image/src/module/local.d.ts +5 -0
  330. package/dist/plugin-float-image/src/module/menu/FloatBase.d.ts +17 -0
  331. package/dist/plugin-float-image/src/module/menu/FloatLeft.d.ts +11 -0
  332. package/dist/plugin-float-image/src/module/menu/FloatNone.d.ts +11 -0
  333. package/dist/plugin-float-image/src/module/menu/FloatRight.d.ts +11 -0
  334. package/dist/plugin-float-image/src/module/menu/index.d.ts +19 -0
  335. package/dist/plugin-float-image/src/module/parse-elem-html.d.ts +13 -0
  336. package/dist/plugin-float-image/src/module/plugin.d.ts +7 -0
  337. package/dist/plugin-float-image/src/module/render-elem.d.ts +12 -0
  338. package/dist/plugin-float-image/src/utils/dom.d.ts +15 -0
  339. package/dist/table-module/src/constants/svg.d.ts +26 -0
  340. package/dist/table-module/src/index.d.ts +8 -0
  341. package/dist/table-module/src/locale/en.d.ts +43 -0
  342. package/dist/table-module/src/locale/index.d.ts +5 -0
  343. package/dist/table-module/src/locale/zh-CN.d.ts +43 -0
  344. package/dist/table-module/src/module/column-resize.d.ts +20 -0
  345. package/dist/table-module/src/module/custom-types.d.ts +39 -0
  346. package/dist/table-module/src/module/elem-to-html.d.ts +21 -0
  347. package/dist/table-module/src/module/helpers.d.ts +22 -0
  348. package/dist/table-module/src/module/index.d.ts +7 -0
  349. package/dist/table-module/src/module/menu/CellProperty.d.ts +11 -0
  350. package/dist/table-module/src/module/menu/DeleteCol.d.ts +15 -0
  351. package/dist/table-module/src/module/menu/DeleteRow.d.ts +15 -0
  352. package/dist/table-module/src/module/menu/DeleteTable.d.ts +15 -0
  353. package/dist/table-module/src/module/menu/FullWidth.d.ts +15 -0
  354. package/dist/table-module/src/module/menu/InsertCol.d.ts +15 -0
  355. package/dist/table-module/src/module/menu/InsertRow.d.ts +15 -0
  356. package/dist/table-module/src/module/menu/InsertTable.d.ts +24 -0
  357. package/dist/table-module/src/module/menu/MergeCell.d.ts +24 -0
  358. package/dist/table-module/src/module/menu/SplitCell.d.ts +24 -0
  359. package/dist/table-module/src/module/menu/TableHeader.d.ts +15 -0
  360. package/dist/table-module/src/module/menu/TableProperty.d.ts +34 -0
  361. package/dist/table-module/src/module/menu/index.d.ts +66 -0
  362. package/dist/table-module/src/module/parse-elem-html.d.ts +24 -0
  363. package/dist/table-module/src/module/parse-style-html.d.ts +8 -0
  364. package/dist/table-module/src/module/plugin.d.ts +7 -0
  365. package/dist/table-module/src/module/pre-parse-html.d.ts +15 -0
  366. package/dist/table-module/src/module/render-elem/index.d.ts +19 -0
  367. package/dist/table-module/src/module/render-elem/render-cell.d.ts +9 -0
  368. package/dist/table-module/src/module/render-elem/render-row.d.ts +9 -0
  369. package/dist/table-module/src/module/render-elem/render-table.d.ts +9 -0
  370. package/dist/table-module/src/module/render-style.d.ts +9 -0
  371. package/dist/table-module/src/module/style-to-html.d.ts +5 -0
  372. package/dist/table-module/src/module/table-cursor.d.ts +19 -0
  373. package/dist/table-module/src/module/weak-maps.d.ts +5 -0
  374. package/dist/table-module/src/module/with-selection.d.ts +2 -0
  375. package/dist/table-module/src/utils/dom.d.ts +31 -0
  376. package/dist/table-module/src/utils/has-common.d.ts +7 -0
  377. package/dist/table-module/src/utils/index.d.ts +5 -0
  378. package/dist/table-module/src/utils/is-of-type.d.ts +6 -0
  379. package/dist/table-module/src/utils/matrices.d.ts +9 -0
  380. package/dist/table-module/src/utils/options.d.ts +25 -0
  381. package/dist/table-module/src/utils/point.d.ts +7 -0
  382. package/dist/table-module/src/utils/types.d.ts +19 -0
  383. package/dist/table-module/src/utils/vdom.d.ts +11 -0
  384. package/dist/upload-image-module/src/constants/svg.d.ts +10 -0
  385. package/dist/upload-image-module/src/index.d.ts +8 -0
  386. package/dist/upload-image-module/src/locale/en.d.ts +11 -0
  387. package/dist/upload-image-module/src/locale/index.d.ts +5 -0
  388. package/dist/upload-image-module/src/locale/zh-CN.d.ts +11 -0
  389. package/dist/upload-image-module/src/module/index.d.ts +7 -0
  390. package/dist/upload-image-module/src/module/menu/UploadImageMenu.d.ts +16 -0
  391. package/dist/upload-image-module/src/module/menu/config.d.ts +6 -0
  392. package/dist/upload-image-module/src/module/menu/index.d.ts +10 -0
  393. package/dist/upload-image-module/src/module/plugin.d.ts +7 -0
  394. package/dist/upload-image-module/src/module/upload-images.d.ts +11 -0
  395. package/dist/upload-image-module/src/utils/dom.d.ts +7 -0
  396. package/dist/video-module/src/constants/svg.d.ts +12 -0
  397. package/dist/video-module/src/index.d.ts +8 -0
  398. package/dist/video-module/src/locale/en.d.ts +21 -0
  399. package/dist/video-module/src/locale/index.d.ts +5 -0
  400. package/dist/video-module/src/locale/zh-CN.d.ts +21 -0
  401. package/dist/video-module/src/module/custom-types.d.ts +23 -0
  402. package/dist/video-module/src/module/elem-to-html.d.ts +11 -0
  403. package/dist/video-module/src/module/helper/insert-video.d.ts +12 -0
  404. package/dist/video-module/src/module/helper/upload-videos.d.ts +6 -0
  405. package/dist/video-module/src/module/index.d.ts +7 -0
  406. package/dist/video-module/src/module/menu/EditVideoSizeMenu.d.ts +25 -0
  407. package/dist/video-module/src/module/menu/EditVideoSrcMenu.d.ts +26 -0
  408. package/dist/video-module/src/module/menu/InsertVideoMenu.d.ts +25 -0
  409. package/dist/video-module/src/module/menu/UploadVideoMenu.d.ts +16 -0
  410. package/dist/video-module/src/module/menu/config.d.ts +25 -0
  411. package/dist/video-module/src/module/menu/index.d.ts +30 -0
  412. package/dist/video-module/src/module/parse-elem-html.d.ts +14 -0
  413. package/dist/video-module/src/module/plugin.d.ts +7 -0
  414. package/dist/video-module/src/module/pre-parse-html.d.ts +15 -0
  415. package/dist/video-module/src/module/render-elem.d.ts +13 -0
  416. package/dist/video-module/src/utils/dom.d.ts +29 -0
  417. package/dist/video-module/src/utils/util.d.ts +12 -0
  418. package/package.json +49 -0
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @description DOM 操作
3
+ * @author wangfupeng
4
+ */
5
+ import $ from 'dom7';
6
+ import DOMNode = globalThis.Node;
7
+ import DOMComment = globalThis.Comment;
8
+ import DOMElement = globalThis.Element;
9
+ import DOMText = globalThis.Text;
10
+ import DOMRange = globalThis.Range;
11
+ import DOMSelection = globalThis.Selection;
12
+ import DOMStaticRange = globalThis.StaticRange;
13
+ export { Dom7Array } from 'dom7';
14
+ export default $;
15
+ export { DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText, };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @description vdom utils fn
3
+ * @author wangfupeng
4
+ */
5
+ import { VNode } from 'snabbdom';
6
+ /**
7
+ * 给 vnode 添加 className
8
+ * @param vnode vnode
9
+ * @param className css class
10
+ */
11
+ export declare function addVnodeClassName(vnode: VNode, className: string): void;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @description prismjs
3
+ * @author wangfupeng
4
+ */
5
+ import { Text } from 'slate';
6
+ import Prism from 'prismjs';
7
+ import 'prismjs/components/prism-jsx';
8
+ import 'prismjs/components/prism-typescript';
9
+ import 'prismjs/components/prism-markup';
10
+ import 'prismjs/components/prism-go';
11
+ import 'prismjs/components/prism-php';
12
+ import 'prismjs/components/prism-c';
13
+ import 'prismjs/components/prism-python';
14
+ import 'prismjs/components/prism-java';
15
+ import 'prismjs/components/prism-cpp';
16
+ import 'prismjs/components/prism-csharp';
17
+ import 'prismjs/components/prism-visual-basic';
18
+ import 'prismjs/components/prism-sql';
19
+ import 'prismjs/components/prism-ruby';
20
+ import 'prismjs/components/prism-swift';
21
+ import 'prismjs/components/prism-bash';
22
+ import 'prismjs/components/prism-markdown';
23
+ import 'prismjs/components/prism-lua';
24
+ import 'prismjs/components/prism-groovy';
25
+ import 'prismjs/components/prism-abap';
26
+ export declare const prismTokenTypes: string[];
27
+ /**
28
+ * 获取 prism token 的字符串长度
29
+ * @param token prism token
30
+ */
31
+ export declare function getPrismTokenLength(token: any): any;
32
+ /**
33
+ * 获取 prism 解析的 token 列表
34
+ * @param textNode text node
35
+ * @param language 代码语言
36
+ */
37
+ export declare function getPrismTokens(textNode: Text, language: string): (string | Prism.Token)[];
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description editor config
3
+ * @author wangfupeng
4
+ */
5
+ import { IEditorConfig, IToolbarConfig } from './interface';
6
+ /**
7
+ * 生成编辑器默认配置
8
+ */
9
+ export declare function genEditorConfig(userConfig?: Partial<IEditorConfig>): IEditorConfig;
10
+ /**
11
+ * 生成 toolbar 默认配置
12
+ */
13
+ export declare function genToolbarConfig(userConfig?: Partial<IToolbarConfig>): IToolbarConfig;
@@ -0,0 +1,219 @@
1
+ /**
2
+ * @description config interface
3
+ * @author wangfupeng
4
+ */
5
+ import { ImageElement } from 'packages/basic-modules/src/modules/image/custom-types';
6
+ import { VideoElement } from 'packages/video-module/src/module/custom-types';
7
+ import { Descendant, Node, NodeEntry, Range } from 'slate';
8
+ import { IDomEditor } from '../editor/interface';
9
+ import { IMenuGroup } from '../menus/interface';
10
+ import { IUploadConfig } from '../upload';
11
+ import { DOMElement } from '../utils/dom';
12
+ interface IHoverbarConf {
13
+ [key: string]: {
14
+ match?: (editor: IDomEditor, n: Node) => boolean;
15
+ menuKeys: string[];
16
+ };
17
+ }
18
+ export type AlertType = 'success' | 'info' | 'warning' | 'error';
19
+ /**
20
+ * EditorEvents 包含所有编辑器的生命周期事件。
21
+ *
22
+ * @property {string} CREATED - 编辑器创建后触发,用于初始化操作。
23
+ * @property {string} DESTROYED - 编辑器销毁时触发,用于清理操作。
24
+ * @property {string} CHANGE - 编辑器内容发生变化时触发,通常用于监听输入或变动。
25
+ * @property {string} SCROLL - 编辑器滚动时触发,用于同步滚动状态或执行相关操作。
26
+ * @property {string} FULLSCREEN - 编辑器进入全屏时触发,通常用于调整布局或容器尺寸。
27
+ * @property {string} UNFULLSCREEN - 编辑器退出全屏时触发,恢复原始布局状态。
28
+ */
29
+ export declare const EditorEvents: {
30
+ readonly CREATED: "created";
31
+ readonly DESTROYED: "destroyed";
32
+ readonly CHANGE: "change";
33
+ readonly SCROLL: "scroll";
34
+ readonly FULLSCREEN: "fullscreen";
35
+ readonly UNFULLSCREEN: "unFullScreen";
36
+ };
37
+ export type EditorEventType = typeof EditorEvents[keyof typeof EditorEvents];
38
+ export interface ISingleMenuConfig {
39
+ [key: string]: any;
40
+ iconSvg?: string;
41
+ }
42
+ interface IColorConfig {
43
+ colors: string[];
44
+ }
45
+ interface IFontSizeItem {
46
+ name: string;
47
+ value: string;
48
+ }
49
+ interface IFontSizeConfig {
50
+ fontSizeList: (string | IFontSizeItem)[];
51
+ }
52
+ interface IFontFamilyItem {
53
+ name: string;
54
+ value: string;
55
+ }
56
+ interface IFontFamilyConfig {
57
+ fontFamilyList: (string | IFontFamilyItem)[];
58
+ }
59
+ interface ILineHeightConfig {
60
+ lineHeightList: string[];
61
+ }
62
+ interface IImageMenuBaseConfig {
63
+ checkImage?: (src: string, alt: string, url: string) => boolean | undefined | string;
64
+ parseImageSrc?: (src: string) => string;
65
+ }
66
+ interface IInsertImageConfig extends IImageMenuBaseConfig {
67
+ onInsertedImage?: (imageNode: ImageElement | null) => void;
68
+ }
69
+ interface IEditImageConfig extends IImageMenuBaseConfig {
70
+ onUpdatedImage?: (imageNode: ImageElement | null) => void;
71
+ }
72
+ interface IEmotionConfig {
73
+ emotions: string[];
74
+ }
75
+ interface IInsertTableConfig {
76
+ minWidth: number;
77
+ tableHeader: {
78
+ selected: boolean;
79
+ };
80
+ tableFullWidth: {
81
+ selected: boolean;
82
+ };
83
+ }
84
+ interface ILinkConfig {
85
+ checkLink: (text: string, url: string) => string | boolean | undefined;
86
+ parseLinkUrl: (url: string) => string;
87
+ }
88
+ interface IInsertVideoConfig {
89
+ onInsertedVideo: (videoNode: VideoElement) => NodeEntry | Range;
90
+ checkVideo: (src: string, poster: string) => string | boolean | undefined;
91
+ parseVideoSrc: (url: string) => string;
92
+ }
93
+ export interface IUploadVideoConfig extends IUploadConfig {
94
+ }
95
+ export interface IUploadImageConfig extends IUploadConfig {
96
+ base64LimitSize: number;
97
+ }
98
+ interface ICodeLangConfig {
99
+ codeLangs: {
100
+ text: string;
101
+ value: string;
102
+ }[];
103
+ }
104
+ export interface IMenuConfig {
105
+ bold: ISingleMenuConfig;
106
+ underline: ISingleMenuConfig;
107
+ italic: ISingleMenuConfig;
108
+ through: ISingleMenuConfig;
109
+ code: ISingleMenuConfig;
110
+ sub: ISingleMenuConfig;
111
+ sup: ISingleMenuConfig;
112
+ clearStyle: ISingleMenuConfig;
113
+ color: IColorConfig;
114
+ bgColor: IColorConfig;
115
+ fontSize: IFontSizeConfig;
116
+ fontFamily: IFontFamilyConfig;
117
+ indent: ISingleMenuConfig;
118
+ delIndent: ISingleMenuConfig;
119
+ justifyLeft: ISingleMenuConfig;
120
+ justifyRight: ISingleMenuConfig;
121
+ justifyCenter: ISingleMenuConfig;
122
+ justifyJustify: ISingleMenuConfig;
123
+ lineHeight: ILineHeightConfig;
124
+ insertImage: IInsertImageConfig;
125
+ deleteImage: ISingleMenuConfig;
126
+ editImage: IEditImageConfig;
127
+ viewImageLink: ISingleMenuConfig;
128
+ imageWidth30: ISingleMenuConfig;
129
+ imageWidth50: ISingleMenuConfig;
130
+ imageWidth100: ISingleMenuConfig;
131
+ editorImageSizeMenu: ISingleMenuConfig;
132
+ divider: ISingleMenuConfig;
133
+ emotion: IEmotionConfig;
134
+ insertLink: ILinkConfig;
135
+ editLink: ILinkConfig;
136
+ unLink: ISingleMenuConfig;
137
+ viewLink: ISingleMenuConfig;
138
+ codeBlock: ISingleMenuConfig;
139
+ blockquote: ISingleMenuConfig;
140
+ headerSelect: ISingleMenuConfig;
141
+ header1: ISingleMenuConfig;
142
+ header2: ISingleMenuConfig;
143
+ header3: ISingleMenuConfig;
144
+ header4: ISingleMenuConfig;
145
+ header5: ISingleMenuConfig;
146
+ header6: ISingleMenuConfig;
147
+ todo: ISingleMenuConfig;
148
+ formatPainter: ISingleMenuConfig;
149
+ redo: ISingleMenuConfig;
150
+ undo: ISingleMenuConfig;
151
+ fullScreen: ISingleMenuConfig;
152
+ enter: ISingleMenuConfig;
153
+ bulletedList: ISingleMenuConfig;
154
+ numberedList: ISingleMenuConfig;
155
+ insertTable: ISingleMenuConfig;
156
+ deleteTable: ISingleMenuConfig;
157
+ insertTableRow: IInsertTableConfig;
158
+ deleteTableRow: ISingleMenuConfig;
159
+ insertTableCol: ISingleMenuConfig;
160
+ deleteTableCol: ISingleMenuConfig;
161
+ tableHeader: ISingleMenuConfig;
162
+ tableFullWidth: ISingleMenuConfig;
163
+ mergeTableCell: ISingleMenuConfig;
164
+ splitTableCell: ISingleMenuConfig;
165
+ setTableProperty: ISingleMenuConfig;
166
+ setTableCellProperty: ISingleMenuConfig;
167
+ insertVideo: IInsertVideoConfig;
168
+ uploadVideo: IUploadVideoConfig;
169
+ editVideoSize: ISingleMenuConfig;
170
+ editVideoSrc: ISingleMenuConfig;
171
+ uploadImage: IUploadImageConfig;
172
+ codeSelectLang: ICodeLangConfig;
173
+ }
174
+ /**
175
+ * editor config
176
+ */
177
+ export interface IEditorConfig {
178
+ customAlert: (info: string, type: AlertType) => void;
179
+ onCreated?: (editor: IDomEditor) => void;
180
+ onChange?: (editor: IDomEditor) => void;
181
+ onDestroyed?: (editor: IDomEditor) => void;
182
+ onMaxLength?: (editor: IDomEditor) => void;
183
+ onFocus?: (editor: IDomEditor) => void;
184
+ onBlur?: (editor: IDomEditor) => void;
185
+ /**
186
+ * 自定义粘贴。返回 true 则继续粘贴,返回 false 则自行实现粘贴,阻止默认粘贴
187
+ */
188
+ customPaste?: (editor: IDomEditor, e: ClipboardEvent) => boolean;
189
+ scroll: boolean;
190
+ placeholder?: string;
191
+ readOnly: boolean;
192
+ autoFocus: boolean;
193
+ decorate?: (nodeEntry: NodeEntry) => Range[];
194
+ maxLength?: number;
195
+ MENU_CONF?: Partial<IMenuConfig>;
196
+ hoverbarKeys?: IHoverbarConf;
197
+ EXTEND_CONF?: any;
198
+ }
199
+ /**
200
+ * toolbar config
201
+ */
202
+ export interface IToolbarConfig {
203
+ toolbarKeys: Array<string | IMenuGroup>;
204
+ insertKeys: {
205
+ index: number;
206
+ keys: string | Array<string | IMenuGroup>;
207
+ };
208
+ excludeKeys: Array<string>;
209
+ modalAppendToBody: boolean;
210
+ }
211
+ type PluginFnType = <T extends IDomEditor>(editor: T) => T;
212
+ export interface ICreateOption {
213
+ selector: string | DOMElement;
214
+ config: Partial<IEditorConfig>;
215
+ content?: Descendant[];
216
+ html?: string;
217
+ plugins: PluginFnType[];
218
+ }
219
+ export {};
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @description config register
3
+ * @author wangfupeng
4
+ */
5
+ import { IMenuConfig, ISingleMenuConfig } from '../config/interface';
6
+ export declare const GLOBAL_MENU_CONF: Partial<IMenuConfig>;
7
+ /**
8
+ * 注册全局菜单配置
9
+ * @param key menu key
10
+ * @param config config
11
+ */
12
+ export declare function registerGlobalMenuConf(key: string, config?: ISingleMenuConfig): void;
@@ -0,0 +1 @@
1
+ export declare const IGNORE_TAGS: Set<string>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @description svg tag
3
+ * @author wangfupeng
4
+ */
5
+ /**
6
+ * 【注意】svg 字符串的长度 ,否则会导致代码体积过大
7
+ * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293
8
+ * 找不到再从 iconfont.com 搜索
9
+ */
10
+ export declare const SVG_CHECK_MARK = "<svg viewBox=\"0 0 1446 1024\"><path d=\"M574.116299 786.736392 1238.811249 48.517862C1272.390222 11.224635 1329.414799 7.827718 1366.75664 41.450462 1403.840015 74.840484 1406.731043 132.084741 1373.10189 169.433699L655.118888 966.834607C653.072421 969.716875 650.835807 972.514337 648.407938 975.210759 615.017957 1012.29409 558.292155 1015.652019 521.195664 982.250188L72.778218 578.493306C35.910826 545.297758 32.859041 488.584019 66.481825 451.242134 99.871807 414.158803 156.597563 410.800834 193.694055 444.202665L574.116299 786.736392Z\"></path></svg>";
11
+ export declare const SVG_DOWN_ARROW = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M498.7 655.8l-197.6-268c-8.1-10.9-0.3-26.4 13.3-26.4h395.2c13.6 0 21.4 15.4 13.3 26.4l-197.6 268c-6.6 9-20 9-26.6 0z\"></path></svg>";
12
+ export declare const SVG_CLOSE = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M1024 896.1024l-128 128L512 640 128 1024 0 896 384 512 0 128 128 0 512 384 896.1024 0l128 128L640 512z\"></path></svg>";
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @description 绑定 node 的关系
3
+ * @author wangfupeng
4
+ */
5
+ import { Node, Ancestor } from 'slate';
6
+ import { IDomEditor } from '../editor/interface';
7
+ /**
8
+ * createEditor 未传递 selector 时,绑定 node 的关系( NODE_TO_PARENT, NODE_TO_INDEX 等 )
9
+ * @param node node
10
+ * @param index index
11
+ * @param parent parent node
12
+ * @param editor editor
13
+ */
14
+ declare function bindNodeRelation(node: Node, index: number, parent: Ancestor, editor: IDomEditor): void;
15
+ export default bindNodeRelation;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @description create editor
3
+ * @author wangfupeng
4
+ */
5
+ import { ICreateOption } from '../config/interface';
6
+ import { IDomEditor } from '../editor/interface';
7
+ /**
8
+ * 创建编辑器
9
+ */
10
+ export default function (option: Partial<ICreateOption>): IDomEditor;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @description create toolbar
3
+ * @author wangfupeng
4
+ */
5
+ import { IDomEditor } from '../editor/interface';
6
+ import Toolbar from '../menus/bar/Toolbar';
7
+ import { IToolbarConfig } from '../config/interface';
8
+ import { DOMElement } from '../utils/dom';
9
+ interface ICreateOption {
10
+ selector: string | DOMElement;
11
+ config?: Partial<IToolbarConfig>;
12
+ }
13
+ export default function (editor: IDomEditor | null, option: ICreateOption): Toolbar;
14
+ export {};
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @description create helper
3
+ * @author wangfupeng
4
+ */
5
+ import { Descendant } from 'slate';
6
+ import { IDomEditor } from '../editor/interface';
7
+ import { DOMElement } from '../utils/dom';
8
+ /**
9
+ * 检查是否重复创建 textarea
10
+ */
11
+ export declare function isRepeatedCreateTextarea(editor: IDomEditor, selector: string | DOMElement): boolean;
12
+ /**
13
+ * 检查是否重复创建 toolbar
14
+ */
15
+ export declare function isRepeatedCreateToolbar(editor: IDomEditor, selector: string | DOMElement): boolean;
16
+ /**
17
+ * 生成默认 content
18
+ */
19
+ export declare function genDefaultContent(): {
20
+ type: string;
21
+ children: {
22
+ text: string;
23
+ }[];
24
+ }[];
25
+ /**
26
+ * html 字符串 -> content
27
+ * @param editor editor
28
+ * @param html html 字符串
29
+ */
30
+ export declare function htmlToContent(editor: IDomEditor, html?: string): Descendant[];
31
+ /**
32
+ * 初始化内容(要在 config 和 plugins 后面)
33
+ */
34
+ export declare function initializeContent(editor: IDomEditor, options: {
35
+ html?: string;
36
+ content?: Descendant[];
37
+ }): Descendant[];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description create entry
3
+ * @author wangfupeng
4
+ */
5
+ import coreCreateEditor from './create-editor';
6
+ import coreCreateToolbar from './create-toolbar';
7
+ export { coreCreateEditor, coreCreateToolbar };
@@ -0,0 +1,143 @@
1
+ /**
2
+ * @description 扩展 slate Editor(参考 slate-react react-editor.ts )
3
+ * @author wangfupeng
4
+ */
5
+ import { Ancestor, Element, Node, Path, Point, Range } from 'slate';
6
+ import HoverBar from '../menus/bar/HoverBar';
7
+ import Toolbar from '../menus/bar/Toolbar';
8
+ import TextArea from '../text-area/TextArea';
9
+ import { DOMNode, DOMPoint, DOMRange, DOMSelection, DOMStaticRange } from '../utils/dom';
10
+ import { Key } from '../utils/key';
11
+ import type { IDomEditor } from './interface';
12
+ /**
13
+ * 自定义全局 command
14
+ */
15
+ export declare const DomEditor: {
16
+ /**
17
+ * Return the host window of the current editor.
18
+ */
19
+ getWindow(editor: IDomEditor): Window;
20
+ /**
21
+ * Find a key for a Slate node.
22
+ * key 即一个累加不重复的 id ,每一个 slate node 都对对应一个 key ,意思相当于 node.id
23
+ */
24
+ findKey(editor: IDomEditor | null, node: Node): Key;
25
+ setNewKey(node: Node): void;
26
+ /**
27
+ * Find the path of Slate node.
28
+ * path 是一个数组,代表 slate node 的位置 https://docs.slatejs.org/concepts/03-locations#path
29
+ */
30
+ findPath(editor: IDomEditor | null, node: Node): Path;
31
+ /**
32
+ * Find the DOM node that implements DocumentOrShadowRoot for the editor.
33
+ */
34
+ findDocumentOrShadowRoot(editor: IDomEditor): Document | ShadowRoot;
35
+ /**
36
+ * 获取父节点
37
+ * @param editor editor
38
+ * @param node cur node
39
+ */
40
+ getParentNode(editor: IDomEditor | null, node: Node): Ancestor | null;
41
+ /**
42
+ * 获取当前节点的所有父节点
43
+ * @param editor editor
44
+ * @param node cur node
45
+ */
46
+ getParentsNodes(editor: IDomEditor, node: Node): Ancestor[];
47
+ /**
48
+ * 获取当前节点对应的顶级节点
49
+ * @param editor editor
50
+ * @param curNode cur node
51
+ */
52
+ getTopNode(editor: IDomEditor, curNode: Node): Node;
53
+ /**
54
+ * Find the native DOM element from a Slate node or editor.
55
+ */
56
+ toDOMNode(editor: IDomEditor, node: Node): HTMLElement;
57
+ /**
58
+ * Check if a DOM node is within the editor.
59
+ */
60
+ hasDOMNode(editor: IDomEditor, target: DOMNode, options?: {
61
+ editable?: boolean;
62
+ }): boolean;
63
+ /**
64
+ * Find a native DOM range from a Slate `range`.
65
+ *
66
+ * Notice: the returned range will always be ordinal regardless of the direction of Slate `range` due to DOM API limit.
67
+ *
68
+ * there is no way to create a reverse DOM Range using Range.setStart/setEnd
69
+ * according to https://dom.spec.whatwg.org/#concept-range-bp-set.
70
+ */
71
+ toDOMRange(editor: IDomEditor, range: Range): DOMRange;
72
+ /**
73
+ * Find a native DOM selection point from a Slate point.
74
+ */
75
+ toDOMPoint(editor: IDomEditor, point: Point): DOMPoint;
76
+ /**
77
+ * Find a Slate node from a native DOM `element`.
78
+ */
79
+ toSlateNode(editor: IDomEditor | null, domNode: DOMNode): Node;
80
+ /**
81
+ * Get the target range from a DOM `event`.
82
+ */
83
+ findEventRange(editor: IDomEditor, event: any): Range;
84
+ /**
85
+ * Find a Slate range from a DOM range or selection.
86
+ */
87
+ toSlateRange<T extends boolean>(editor: IDomEditor, domRange: DOMRange | DOMStaticRange | DOMSelection, options: {
88
+ exactMatch: T;
89
+ suppressThrow: T;
90
+ }): T extends true ? Range | null : Range;
91
+ /**
92
+ * Find a Slate point from a DOM selection's `domNode` and `domOffset`.
93
+ */
94
+ toSlatePoint<T extends boolean>(editor: IDomEditor, domPoint: DOMPoint, options: {
95
+ exactMatch: T;
96
+ suppressThrow: T;
97
+ }): T extends true ? Point | null : Point;
98
+ hasRange(editor: IDomEditor, range: Range): boolean;
99
+ getNodeType(node: Node): string;
100
+ checkNodeType(node: Node, type: string): boolean;
101
+ getNodesStr(nodes: Node[]): string;
102
+ getSelectedElems(editor: IDomEditor): Element[];
103
+ getSelectedNodeByType(editor: IDomEditor, type: string): Node | null;
104
+ getSelectedTextNode(editor: IDomEditor): Node | null;
105
+ isNodeSelected(editor: IDomEditor, node: Node): boolean;
106
+ isSelectionAtLineEnd(editor: IDomEditor, path: Path): boolean;
107
+ getTextarea(editor: IDomEditor): TextArea;
108
+ getToolbar(editor: IDomEditor): Toolbar | null;
109
+ getHoverbar(editor: IDomEditor): HoverBar | null;
110
+ normalizeContent(editor: IDomEditor): void;
111
+ /**
112
+ * 获取:距离触发 maxLength,还可以插入多少字符
113
+ * @param editor editor
114
+ */
115
+ getLeftLengthOfMaxLength(editor: IDomEditor): number;
116
+ cleanExposedTexNodeInSelectionBlock(editor: IDomEditor): void;
117
+ /**
118
+ * 是否是编辑器里最后一个元素
119
+ * @param editor editor
120
+ * @param node node
121
+ */
122
+ isLastNode(editor: IDomEditor, node: Node): boolean;
123
+ /**
124
+ * 生成空白 paragraph
125
+ */
126
+ genEmptyParagraph(): Element;
127
+ /**
128
+ * 是否选中了 void node
129
+ * @param editor editor
130
+ */
131
+ isSelectedVoidNode(editor: IDomEditor): boolean;
132
+ /**
133
+ * 选区是否在一个空行
134
+ * @param editor editor
135
+ */
136
+ isSelectedEmptyParagraph(editor: IDomEditor): boolean | undefined;
137
+ /**
138
+ * 当前 path 指向的 node ,是否是空的(无内容)
139
+ * @param editor editor
140
+ * @param path path
141
+ */
142
+ isEmptyPath(editor: IDomEditor, path: Path): boolean;
143
+ };
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @description editor interface
3
+ * @author wangfupeng
4
+ */
5
+ import ee from 'event-emitter';
6
+ import { Ancestor, Editor, Element, Location, Node } from 'slate';
7
+ import { AlertType, IEditorConfig, IMenuConfig, ISingleMenuConfig } from '../config/interface';
8
+ import { IPositionStyle } from '../menus/interface';
9
+ import { DOMElement } from '../utils/dom';
10
+ export type ElementWithId = Element & {
11
+ id: string;
12
+ };
13
+ export type getMenuConfigReturnType<K> = K extends keyof IMenuConfig ? IMenuConfig[K] : ISingleMenuConfig;
14
+ /**
15
+ * 扩展 slate Editor 接口
16
+ */
17
+ export interface IDomEditor extends Editor {
18
+ insertData: (data: DataTransfer) => void;
19
+ setFragmentData: (data: Pick<DataTransfer, 'getData' | 'setData'>) => void;
20
+ getConfig: () => IEditorConfig;
21
+ getMenuConfig: <K extends string>(menuKey: K) => getMenuConfigReturnType<K>;
22
+ getAllMenuKeys: () => string[];
23
+ alert: (info: string, type: AlertType) => void;
24
+ handleTab: () => void;
25
+ getHtml: () => string;
26
+ getText: () => string;
27
+ getSelectionText: () => string;
28
+ getElemsByTypePrefix: (typePrefix: string) => ElementWithId[];
29
+ getElemsByType: (type: string, isPrefix?: boolean) => ElementWithId[];
30
+ getParentNode: (node: Node) => Ancestor | null;
31
+ isEmpty: () => boolean;
32
+ clear: () => void;
33
+ dangerouslyInsertHtml: (html: string, isRecursive?: boolean) => void;
34
+ setHtml: (html: string) => void;
35
+ id: string;
36
+ isDestroyed: boolean;
37
+ isFullScreen: boolean;
38
+ focus: (isEnd?: boolean) => void;
39
+ isFocused: () => boolean;
40
+ blur: () => void;
41
+ updateView: () => void;
42
+ destroy: () => void;
43
+ scrollToElem: (id: string) => void;
44
+ showProgressBar: (progress: number) => void;
45
+ hidePanelOrModal: () => void;
46
+ enable: () => void;
47
+ disable: () => void;
48
+ isDisabled: () => boolean;
49
+ toDOMNode: (node: Node) => HTMLElement;
50
+ fullScreen: () => void;
51
+ unFullScreen: () => void;
52
+ getEditableContainer: () => DOMElement;
53
+ select: (at: Location) => void;
54
+ deselect: () => void;
55
+ move: (distance: number, reverse?: boolean) => void;
56
+ moveReverse: (distance: number) => void;
57
+ restoreSelection: () => void;
58
+ getSelectionPosition: () => Partial<IPositionStyle>;
59
+ getNodePosition: (node: Node) => Partial<IPositionStyle>;
60
+ isSelectedAll: () => boolean;
61
+ selectAll: () => void;
62
+ on: (type: string, listener: ee.EventListener) => void;
63
+ off: (type: string, listener: ee.EventListener) => void;
64
+ once: (type: string, listener: ee.EventListener) => void;
65
+ emit: (type: string, ...args: any[]) => void;
66
+ undo?: () => void;
67
+ redo?: () => void;
68
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description slate 插件 - config 相关
3
+ * @author wangfupeng
4
+ */
5
+ import { Editor } from 'slate';
6
+ import { IDomEditor } from '../..';
7
+ export declare const withConfig: <T extends Editor>(editor: T) => T & IDomEditor;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description slate 插件 - content
3
+ * @author wangfupeng
4
+ */
5
+ import { Editor } from 'slate';
6
+ import { IDomEditor } from '../..';
7
+ export declare const withContent: <T extends Editor>(editor: T) => T & IDomEditor;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @description slate 插件 - dom 相关
3
+ * @author wangfupeng
4
+ */
5
+ import { Editor } from 'slate';
6
+ import { IDomEditor } from '../..';
7
+ /**
8
+ * `withDOM` adds DOM specific behaviors to the editor.
9
+ */
10
+ export declare const withDOM: <T extends Editor>(editor: T) => T & IDomEditor;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description 自定义事件 插件
3
+ * @author wangfupeng
4
+ */
5
+ import { Editor } from 'slate';
6
+ import { IDomEditor } from '../interface';
7
+ export declare const withEmitter: <T extends Editor>(editor: T) => T & IDomEditor;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description slate 插件 - event data 相关
3
+ * @author wangfupeng
4
+ */
5
+ import { Editor } from 'slate';
6
+ import { IDomEditor } from '../..';
7
+ export declare const withEventData: <T extends Editor>(editor: T) => T & IDomEditor;