@wangeditor-next/plugin-formula 6.4.2 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.js +12 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +12 -2
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +11 -12
  7. package/dist/basic-modules/src/constants/icon-svg.d.ts +0 -49
  8. package/dist/basic-modules/src/index.d.ts +0 -9
  9. package/dist/basic-modules/src/locale/en.d.ts +0 -107
  10. package/dist/basic-modules/src/locale/index.d.ts +0 -5
  11. package/dist/basic-modules/src/locale/zh-CN.d.ts +0 -107
  12. package/dist/basic-modules/src/modules/blockquote/custom-types.d.ts +0 -9
  13. package/dist/basic-modules/src/modules/blockquote/elem-to-html.d.ts +0 -11
  14. package/dist/basic-modules/src/modules/blockquote/index.d.ts +0 -7
  15. package/dist/basic-modules/src/modules/blockquote/menu/BlockquoteMenu.d.ts +0 -20
  16. package/dist/basic-modules/src/modules/blockquote/menu/index.d.ts +0 -9
  17. package/dist/basic-modules/src/modules/blockquote/parse-elem-html.d.ts +0 -14
  18. package/dist/basic-modules/src/modules/blockquote/plugin.d.ts +0 -7
  19. package/dist/basic-modules/src/modules/blockquote/render-elem.d.ts +0 -20
  20. package/dist/basic-modules/src/modules/code-block/custom-types.d.ts +0 -17
  21. package/dist/basic-modules/src/modules/code-block/elem-to-html.d.ts +0 -16
  22. package/dist/basic-modules/src/modules/code-block/index.d.ts +0 -7
  23. package/dist/basic-modules/src/modules/code-block/menu/CodeBlockMenu.d.ts +0 -23
  24. package/dist/basic-modules/src/modules/code-block/menu/index.d.ts +0 -12
  25. package/dist/basic-modules/src/modules/code-block/parse-elem-html.d.ts +0 -19
  26. package/dist/basic-modules/src/modules/code-block/plugin.d.ts +0 -7
  27. package/dist/basic-modules/src/modules/code-block/pre-parse-html.d.ts +0 -15
  28. package/dist/basic-modules/src/modules/code-block/render-elem.d.ts +0 -18
  29. package/dist/basic-modules/src/modules/color/custom-types.d.ts +0 -9
  30. package/dist/basic-modules/src/modules/color/index.d.ts +0 -7
  31. package/dist/basic-modules/src/modules/color/menu/BaseMenu.d.ts +0 -20
  32. package/dist/basic-modules/src/modules/color/menu/BgColorMenu.d.ts +0 -11
  33. package/dist/basic-modules/src/modules/color/menu/ColorMenu.d.ts +0 -11
  34. package/dist/basic-modules/src/modules/color/menu/config.d.ts +0 -6
  35. package/dist/basic-modules/src/modules/color/menu/index.d.ts +0 -20
  36. package/dist/basic-modules/src/modules/color/parse-style-html.d.ts +0 -8
  37. package/dist/basic-modules/src/modules/color/pre-parse-html.d.ts +0 -15
  38. package/dist/basic-modules/src/modules/color/render-style.d.ts +0 -15
  39. package/dist/basic-modules/src/modules/color/style-to-html.d.ts +0 -14
  40. package/dist/basic-modules/src/modules/common/index.d.ts +0 -7
  41. package/dist/basic-modules/src/modules/common/menu/EnterMenu.d.ts +0 -15
  42. package/dist/basic-modules/src/modules/common/menu/index.d.ts +0 -9
  43. package/dist/basic-modules/src/modules/divider/custom-types.d.ts +0 -12
  44. package/dist/basic-modules/src/modules/divider/elem-to-html.d.ts +0 -11
  45. package/dist/basic-modules/src/modules/divider/index.d.ts +0 -7
  46. package/dist/basic-modules/src/modules/divider/menu/InsertDividerMenu.d.ts +0 -15
  47. package/dist/basic-modules/src/modules/divider/menu/index.d.ts +0 -9
  48. package/dist/basic-modules/src/modules/divider/parse-elem-html.d.ts +0 -14
  49. package/dist/basic-modules/src/modules/divider/plugin.d.ts +0 -7
  50. package/dist/basic-modules/src/modules/divider/render-elem.d.ts +0 -13
  51. package/dist/basic-modules/src/modules/emotion/index.d.ts +0 -7
  52. package/dist/basic-modules/src/modules/emotion/menu/EmotionMenu.d.ts +0 -19
  53. package/dist/basic-modules/src/modules/emotion/menu/config.d.ts +0 -5
  54. package/dist/basic-modules/src/modules/emotion/menu/index.d.ts +0 -12
  55. package/dist/basic-modules/src/modules/font-size-family/custom-types.d.ts +0 -9
  56. package/dist/basic-modules/src/modules/font-size-family/index.d.ts +0 -7
  57. package/dist/basic-modules/src/modules/font-size-family/menu/BaseMenu.d.ts +0 -18
  58. package/dist/basic-modules/src/modules/font-size-family/menu/FontFamilyMenu.d.ts +0 -14
  59. package/dist/basic-modules/src/modules/font-size-family/menu/FontSizeMenu.d.ts +0 -13
  60. package/dist/basic-modules/src/modules/font-size-family/menu/config.d.ts +0 -12
  61. package/dist/basic-modules/src/modules/font-size-family/menu/index.d.ts +0 -26
  62. package/dist/basic-modules/src/modules/font-size-family/parse-style-html.d.ts +0 -8
  63. package/dist/basic-modules/src/modules/font-size-family/pre-parse-html.d.ts +0 -15
  64. package/dist/basic-modules/src/modules/font-size-family/render-style.d.ts +0 -15
  65. package/dist/basic-modules/src/modules/font-size-family/style-to-html.d.ts +0 -14
  66. package/dist/basic-modules/src/modules/format-painter/helper.d.ts +0 -3
  67. package/dist/basic-modules/src/modules/format-painter/index.d.ts +0 -7
  68. package/dist/basic-modules/src/modules/format-painter/menu/FormatPainter.d.ts +0 -37
  69. package/dist/basic-modules/src/modules/format-painter/menu/index.d.ts +0 -9
  70. package/dist/basic-modules/src/modules/format-painter/plugin.d.ts +0 -7
  71. package/dist/basic-modules/src/modules/full-screen/index.d.ts +0 -7
  72. package/dist/basic-modules/src/modules/full-screen/menu/FullScreen.d.ts +0 -18
  73. package/dist/basic-modules/src/modules/full-screen/menu/index.d.ts +0 -9
  74. package/dist/basic-modules/src/modules/header/custom-types.d.ts +0 -29
  75. package/dist/basic-modules/src/modules/header/elem-to-html.d.ts +0 -29
  76. package/dist/basic-modules/src/modules/header/helper.d.ts +0 -14
  77. package/dist/basic-modules/src/modules/header/index.d.ts +0 -7
  78. package/dist/basic-modules/src/modules/header/menu/Header1ButtonMenu.d.ts +0 -10
  79. package/dist/basic-modules/src/modules/header/menu/Header2ButtonMenu.d.ts +0 -10
  80. package/dist/basic-modules/src/modules/header/menu/Header3ButtonMenu.d.ts +0 -10
  81. package/dist/basic-modules/src/modules/header/menu/Header4ButtonMenu.d.ts +0 -10
  82. package/dist/basic-modules/src/modules/header/menu/Header5ButtonMenu.d.ts +0 -10
  83. package/dist/basic-modules/src/modules/header/menu/Header6ButtonMenu.d.ts +0 -10
  84. package/dist/basic-modules/src/modules/header/menu/HeaderButtonMenuBase.d.ts +0 -19
  85. package/dist/basic-modules/src/modules/header/menu/HeaderSelectMenu.d.ts +0 -26
  86. package/dist/basic-modules/src/modules/header/menu/index.d.ts +0 -39
  87. package/dist/basic-modules/src/modules/header/parse-elem-html.d.ts +0 -32
  88. package/dist/basic-modules/src/modules/header/plugin.d.ts +0 -7
  89. package/dist/basic-modules/src/modules/header/render-elem.d.ts +0 -32
  90. package/dist/basic-modules/src/modules/image/custom-types.d.ts +0 -22
  91. package/dist/basic-modules/src/modules/image/elem-to-html.d.ts +0 -12
  92. package/dist/basic-modules/src/modules/image/helper.d.ts +0 -13
  93. package/dist/basic-modules/src/modules/image/index.d.ts +0 -7
  94. package/dist/basic-modules/src/modules/image/menu/DeleteImage.d.ts +0 -15
  95. package/dist/basic-modules/src/modules/image/menu/EditImage.d.ts +0 -28
  96. package/dist/basic-modules/src/modules/image/menu/EditImageSizeMenu.d.ts +0 -25
  97. package/dist/basic-modules/src/modules/image/menu/InsertImage.d.ts +0 -27
  98. package/dist/basic-modules/src/modules/image/menu/PreviewImage.d.ts +0 -14
  99. package/dist/basic-modules/src/modules/image/menu/ViewImageLink.d.ts +0 -15
  100. package/dist/basic-modules/src/modules/image/menu/Width100.d.ts +0 -10
  101. package/dist/basic-modules/src/modules/image/menu/Width30.d.ts +0 -10
  102. package/dist/basic-modules/src/modules/image/menu/Width50.d.ts +0 -10
  103. package/dist/basic-modules/src/modules/image/menu/WidthBase.d.ts +0 -17
  104. package/dist/basic-modules/src/modules/image/menu/config.d.ts +0 -30
  105. package/dist/basic-modules/src/modules/image/menu/index.d.ts +0 -61
  106. package/dist/basic-modules/src/modules/image/parse-elem-html.d.ts +0 -14
  107. package/dist/basic-modules/src/modules/image/plugin.d.ts +0 -7
  108. package/dist/basic-modules/src/modules/image/render-elem.d.ts +0 -13
  109. package/dist/basic-modules/src/modules/image/resize.d.ts +0 -14
  110. package/dist/basic-modules/src/modules/indent/custom-types.d.ts +0 -10
  111. package/dist/basic-modules/src/modules/indent/index.d.ts +0 -7
  112. package/dist/basic-modules/src/modules/indent/is-indent-target.d.ts +0 -4
  113. package/dist/basic-modules/src/modules/indent/menu/BaseMenu.d.ts +0 -25
  114. package/dist/basic-modules/src/modules/indent/menu/DecreaseIndentMenu.d.ts +0 -13
  115. package/dist/basic-modules/src/modules/indent/menu/IncreaseIndentMenu.d.ts +0 -15
  116. package/dist/basic-modules/src/modules/indent/menu/index.d.ts +0 -14
  117. package/dist/basic-modules/src/modules/indent/parse-style-html.d.ts +0 -8
  118. package/dist/basic-modules/src/modules/indent/pre-parse-html.d.ts +0 -15
  119. package/dist/basic-modules/src/modules/indent/render-style.d.ts +0 -15
  120. package/dist/basic-modules/src/modules/indent/style-to-html.d.ts +0 -7
  121. package/dist/basic-modules/src/modules/justify/custom-types.d.ts +0 -10
  122. package/dist/basic-modules/src/modules/justify/index.d.ts +0 -7
  123. package/dist/basic-modules/src/modules/justify/menu/BaseMenu.d.ts +0 -15
  124. package/dist/basic-modules/src/modules/justify/menu/JustifyCenterMenu.d.ts +0 -12
  125. package/dist/basic-modules/src/modules/justify/menu/JustifyJustifyMenu.d.ts +0 -12
  126. package/dist/basic-modules/src/modules/justify/menu/JustifyLeftMenu.d.ts +0 -12
  127. package/dist/basic-modules/src/modules/justify/menu/JustifyRightMenu.d.ts +0 -12
  128. package/dist/basic-modules/src/modules/justify/menu/index.d.ts +0 -24
  129. package/dist/basic-modules/src/modules/justify/parse-style-html.d.ts +0 -8
  130. package/dist/basic-modules/src/modules/justify/render-style.d.ts +0 -15
  131. package/dist/basic-modules/src/modules/justify/style-to-html.d.ts +0 -7
  132. package/dist/basic-modules/src/modules/line-height/custom-types.d.ts +0 -10
  133. package/dist/basic-modules/src/modules/line-height/index.d.ts +0 -7
  134. package/dist/basic-modules/src/modules/line-height/menu/LineHeightMenu.d.ts +0 -26
  135. package/dist/basic-modules/src/modules/line-height/menu/config.d.ts +0 -5
  136. package/dist/basic-modules/src/modules/line-height/menu/index.d.ts +0 -12
  137. package/dist/basic-modules/src/modules/line-height/parse-style-html.d.ts +0 -8
  138. package/dist/basic-modules/src/modules/line-height/render-style.d.ts +0 -15
  139. package/dist/basic-modules/src/modules/line-height/style-to-html.d.ts +0 -7
  140. package/dist/basic-modules/src/modules/link/custom-types.d.ts +0 -11
  141. package/dist/basic-modules/src/modules/link/elem-to-html.d.ts +0 -11
  142. package/dist/basic-modules/src/modules/link/helper.d.ts +0 -20
  143. package/dist/basic-modules/src/modules/link/index.d.ts +0 -7
  144. package/dist/basic-modules/src/modules/link/menu/EditLink.d.ts +0 -30
  145. package/dist/basic-modules/src/modules/link/menu/InsertLink.d.ts +0 -25
  146. package/dist/basic-modules/src/modules/link/menu/UnLink.d.ts +0 -15
  147. package/dist/basic-modules/src/modules/link/menu/ViewLink.d.ts +0 -16
  148. package/dist/basic-modules/src/modules/link/menu/config.d.ts +0 -18
  149. package/dist/basic-modules/src/modules/link/menu/index.d.ts +0 -33
  150. package/dist/basic-modules/src/modules/link/parse-elem-html.d.ts +0 -15
  151. package/dist/basic-modules/src/modules/link/plugin.d.ts +0 -7
  152. package/dist/basic-modules/src/modules/link/render-elem.d.ts +0 -20
  153. package/dist/basic-modules/src/modules/link/url.d.ts +0 -10
  154. package/dist/basic-modules/src/modules/paragraph/custom-types.d.ts +0 -9
  155. package/dist/basic-modules/src/modules/paragraph/elem-to-html.d.ts +0 -11
  156. package/dist/basic-modules/src/modules/paragraph/index.d.ts +0 -7
  157. package/dist/basic-modules/src/modules/paragraph/parse-elem-html.d.ts +0 -14
  158. package/dist/basic-modules/src/modules/paragraph/plugin.d.ts +0 -7
  159. package/dist/basic-modules/src/modules/paragraph/render-elem.d.ts +0 -20
  160. package/dist/basic-modules/src/modules/text-style/custom-types.d.ts +0 -16
  161. package/dist/basic-modules/src/modules/text-style/helper.d.ts +0 -8
  162. package/dist/basic-modules/src/modules/text-style/index.d.ts +0 -7
  163. package/dist/basic-modules/src/modules/text-style/menu/BaseMenu.d.ts +0 -27
  164. package/dist/basic-modules/src/modules/text-style/menu/BoldMenu.d.ts +0 -12
  165. package/dist/basic-modules/src/modules/text-style/menu/ClearStyleMenu.d.ts +0 -20
  166. package/dist/basic-modules/src/modules/text-style/menu/CodeMenu.d.ts +0 -12
  167. package/dist/basic-modules/src/modules/text-style/menu/EmphasisDotMenu.d.ts +0 -11
  168. package/dist/basic-modules/src/modules/text-style/menu/ItalicMenu.d.ts +0 -12
  169. package/dist/basic-modules/src/modules/text-style/menu/SubMenu.d.ts +0 -13
  170. package/dist/basic-modules/src/modules/text-style/menu/SupMenu.d.ts +0 -13
  171. package/dist/basic-modules/src/modules/text-style/menu/ThroughMenu.d.ts +0 -12
  172. package/dist/basic-modules/src/modules/text-style/menu/UnderlineMenu.d.ts +0 -12
  173. package/dist/basic-modules/src/modules/text-style/menu/WavyUnderlineMenu.d.ts +0 -11
  174. package/dist/basic-modules/src/modules/text-style/menu/index.d.ts +0 -54
  175. package/dist/basic-modules/src/modules/text-style/parse-style-html.d.ts +0 -8
  176. package/dist/basic-modules/src/modules/text-style/render-style.d.ts +0 -14
  177. package/dist/basic-modules/src/modules/text-style/style-constants.d.ts +0 -35
  178. package/dist/basic-modules/src/modules/text-style/style-to-html.d.ts +0 -13
  179. package/dist/basic-modules/src/modules/todo/custom-types.d.ts +0 -10
  180. package/dist/basic-modules/src/modules/todo/elem-to-html.d.ts +0 -11
  181. package/dist/basic-modules/src/modules/todo/index.d.ts +0 -7
  182. package/dist/basic-modules/src/modules/todo/menu/Todo.d.ts +0 -15
  183. package/dist/basic-modules/src/modules/todo/menu/index.d.ts +0 -9
  184. package/dist/basic-modules/src/modules/todo/parse-elem-html.d.ts +0 -14
  185. package/dist/basic-modules/src/modules/todo/plugin.d.ts +0 -7
  186. package/dist/basic-modules/src/modules/todo/pre-parse-html.d.ts +0 -15
  187. package/dist/basic-modules/src/modules/todo/render-elem.d.ts +0 -20
  188. package/dist/basic-modules/src/modules/undo-redo/index.d.ts +0 -7
  189. package/dist/basic-modules/src/modules/undo-redo/menu/RedoMenu.d.ts +0 -15
  190. package/dist/basic-modules/src/modules/undo-redo/menu/UndoMenu.d.ts +0 -15
  191. package/dist/basic-modules/src/modules/undo-redo/menu/index.d.ts +0 -14
  192. package/dist/basic-modules/src/utils/dom.d.ts +0 -36
  193. package/dist/basic-modules/src/utils/style-class.d.ts +0 -14
  194. package/dist/basic-modules/src/utils/util.d.ts +0 -11
  195. package/dist/basic-modules/src/utils/vdom.d.ts +0 -25
  196. package/dist/code-highlight/src/constants/svg.d.ts +0 -10
  197. package/dist/code-highlight/src/custom-types.d.ts +0 -17
  198. package/dist/code-highlight/src/decorate/index.d.ts +0 -7
  199. package/dist/code-highlight/src/index.d.ts +0 -9
  200. package/dist/code-highlight/src/locale/en.d.ts +0 -10
  201. package/dist/code-highlight/src/locale/index.d.ts +0 -5
  202. package/dist/code-highlight/src/locale/zh-CN.d.ts +0 -10
  203. package/dist/code-highlight/src/module/elem-to-html.d.ts +0 -11
  204. package/dist/code-highlight/src/module/index.d.ts +0 -7
  205. package/dist/code-highlight/src/module/menu/SelectLangMenu.d.ts +0 -24
  206. package/dist/code-highlight/src/module/menu/config.d.ts +0 -8
  207. package/dist/code-highlight/src/module/menu/index.d.ts +0 -15
  208. package/dist/code-highlight/src/module/parse-style-html.d.ts +0 -8
  209. package/dist/code-highlight/src/module/render-style.d.ts +0 -13
  210. package/dist/code-highlight/src/utils/dom.d.ts +0 -15
  211. package/dist/code-highlight/src/utils/vdom.d.ts +0 -11
  212. package/dist/code-highlight/src/vendor/prism.d.ts +0 -37
  213. package/dist/core/src/config/index.d.ts +0 -13
  214. package/dist/core/src/config/interface.d.ts +0 -339
  215. package/dist/core/src/config/register.d.ts +0 -12
  216. package/dist/core/src/config/style-mode.d.ts +0 -8
  217. package/dist/core/src/constants/index.d.ts +0 -1
  218. package/dist/core/src/constants/svg.d.ts +0 -12
  219. package/dist/core/src/create/bind-node-relation.d.ts +0 -15
  220. package/dist/core/src/create/create-editor.d.ts +0 -10
  221. package/dist/core/src/create/create-toolbar.d.ts +0 -14
  222. package/dist/core/src/create/helper.d.ts +0 -37
  223. package/dist/core/src/create/index.d.ts +0 -8
  224. package/dist/core/src/editor/dom-editor.d.ts +0 -154
  225. package/dist/core/src/editor/interface.d.ts +0 -90
  226. package/dist/core/src/editor/plugins/with-config.d.ts +0 -7
  227. package/dist/core/src/editor/plugins/with-content.d.ts +0 -7
  228. package/dist/core/src/editor/plugins/with-dom.d.ts +0 -10
  229. package/dist/core/src/editor/plugins/with-emitter.d.ts +0 -7
  230. package/dist/core/src/editor/plugins/with-event-data.d.ts +0 -7
  231. package/dist/core/src/editor/plugins/with-history.d.ts +0 -7
  232. package/dist/core/src/editor/plugins/with-max-length.d.ts +0 -7
  233. package/dist/core/src/editor/plugins/with-selection.d.ts +0 -7
  234. package/dist/core/src/i18n/index.d.ts +0 -32
  235. package/dist/core/src/index.d.ts +0 -45
  236. package/dist/core/src/menus/bar/HoverBar.d.ts +0 -48
  237. package/dist/core/src/menus/bar/Toolbar.d.ts +0 -38
  238. package/dist/core/src/menus/bar-item/BaseButton.d.ts +0 -26
  239. package/dist/core/src/menus/bar-item/DropPanelButton.d.ts +0 -14
  240. package/dist/core/src/menus/bar-item/GroupButton.d.ts +0 -17
  241. package/dist/core/src/menus/bar-item/ModalButton.d.ts +0 -25
  242. package/dist/core/src/menus/bar-item/Select.d.ts +0 -22
  243. package/dist/core/src/menus/bar-item/SimpleButton.d.ts +0 -11
  244. package/dist/core/src/menus/bar-item/index.d.ts +0 -24
  245. package/dist/core/src/menus/bar-item/tooltip.d.ts +0 -6
  246. package/dist/core/src/menus/helpers/helpers.d.ts +0 -18
  247. package/dist/core/src/menus/helpers/position.d.ts +0 -36
  248. package/dist/core/src/menus/index.d.ts +0 -9
  249. package/dist/core/src/menus/interface.d.ts +0 -65
  250. package/dist/core/src/menus/panel-and-modal/BaseClass.d.ts +0 -26
  251. package/dist/core/src/menus/panel-and-modal/DropPanel.d.ts +0 -12
  252. package/dist/core/src/menus/panel-and-modal/Modal.d.ts +0 -44
  253. package/dist/core/src/menus/panel-and-modal/SelectList.d.ts +0 -20
  254. package/dist/core/src/menus/register.d.ts +0 -15
  255. package/dist/core/src/parse-html/helper.d.ts +0 -10
  256. package/dist/core/src/parse-html/index.d.ts +0 -35
  257. package/dist/core/src/parse-html/parse-common-elem-html.d.ts +0 -15
  258. package/dist/core/src/parse-html/parse-elem-html.d.ts +0 -15
  259. package/dist/core/src/parse-html/parse-text-elem-html.d.ts +0 -16
  260. package/dist/core/src/render/element/getRenderElem.d.ts +0 -11
  261. package/dist/core/src/render/element/renderElement.d.ts +0 -9
  262. package/dist/core/src/render/element/renderStyle.d.ts +0 -15
  263. package/dist/core/src/render/helper.d.ts +0 -6
  264. package/dist/core/src/render/index.d.ts +0 -27
  265. package/dist/core/src/render/node2Vnode.d.ts +0 -15
  266. package/dist/core/src/render/text/genVnode.d.ts +0 -9
  267. package/dist/core/src/render/text/renderStyle.d.ts +0 -15
  268. package/dist/core/src/render/text/renderText.d.ts +0 -9
  269. package/dist/core/src/text-area/TextArea.d.ts +0 -52
  270. package/dist/core/src/text-area/event-handlers/beforeInput.d.ts +0 -8
  271. package/dist/core/src/text-area/event-handlers/blur.d.ts +0 -8
  272. package/dist/core/src/text-area/event-handlers/click.d.ts +0 -8
  273. package/dist/core/src/text-area/event-handlers/composition.d.ts +0 -27
  274. package/dist/core/src/text-area/event-handlers/copy.d.ts +0 -8
  275. package/dist/core/src/text-area/event-handlers/cut.d.ts +0 -8
  276. package/dist/core/src/text-area/event-handlers/drag.d.ts +0 -9
  277. package/dist/core/src/text-area/event-handlers/drop.d.ts +0 -8
  278. package/dist/core/src/text-area/event-handlers/focus.d.ts +0 -8
  279. package/dist/core/src/text-area/event-handlers/index.d.ts +0 -35
  280. package/dist/core/src/text-area/event-handlers/keydown.d.ts +0 -8
  281. package/dist/core/src/text-area/event-handlers/keypress.d.ts +0 -8
  282. package/dist/core/src/text-area/event-handlers/paste.d.ts +0 -8
  283. package/dist/core/src/text-area/helpers.d.ts +0 -30
  284. package/dist/core/src/text-area/place-holder.d.ts +0 -18
  285. package/dist/core/src/text-area/syncSelection.d.ts +0 -19
  286. package/dist/core/src/text-area/update-view.d.ts +0 -13
  287. package/dist/core/src/to-html/elem2html.d.ts +0 -9
  288. package/dist/core/src/to-html/index.d.ts +0 -44
  289. package/dist/core/src/to-html/node2html.d.ts +0 -12
  290. package/dist/core/src/to-html/text2html.d.ts +0 -9
  291. package/dist/core/src/upload/createUploader.d.ts +0 -14
  292. package/dist/core/src/upload/createUppyUploader.d.ts +0 -7
  293. package/dist/core/src/upload/index.d.ts +0 -9
  294. package/dist/core/src/upload/interface.d.ts +0 -72
  295. package/dist/core/src/upload.d.ts +0 -5
  296. package/dist/core/src/utils/dom.d.ts +0 -103
  297. package/dist/core/src/utils/hotkeys.d.ts +0 -35
  298. package/dist/core/src/utils/key.d.ts +0 -11
  299. package/dist/core/src/utils/line.d.ts +0 -14
  300. package/dist/core/src/utils/sanitize-html.d.ts +0 -5
  301. package/dist/core/src/utils/ua.d.ts +0 -14
  302. package/dist/core/src/utils/util.d.ts +0 -28
  303. package/dist/core/src/utils/vdom.d.ts +0 -34
  304. package/dist/core/src/utils/weak-maps.d.ts +0 -60
  305. package/dist/editor/src/Boot.d.ts +0 -31
  306. package/dist/editor/src/constants/svg.d.ts +0 -14
  307. package/dist/editor/src/create.d.ts +0 -29
  308. package/dist/editor/src/index.d.ts +0 -27
  309. package/dist/editor/src/init-default-config/config/hoverbar.d.ts +0 -47
  310. package/dist/editor/src/init-default-config/config/index.d.ts +0 -67
  311. package/dist/editor/src/init-default-config/config/toolbar.d.ts +0 -16
  312. package/dist/editor/src/init-default-config/index.d.ts +0 -5
  313. package/dist/editor/src/locale/en.d.ts +0 -14
  314. package/dist/editor/src/locale/index.d.ts +0 -5
  315. package/dist/editor/src/locale/zh-CN.d.ts +0 -14
  316. package/dist/editor/src/register-builtin-modules/index.d.ts +0 -5
  317. package/dist/editor/src/register-builtin-modules/register.d.ts +0 -7
  318. package/dist/editor/src/utils/browser-polyfill.d.ts +0 -6
  319. package/dist/editor/src/utils/dom.d.ts +0 -6
  320. package/dist/editor/src/utils/node-polyfill.d.ts +0 -4
  321. package/dist/list-module/src/constants/svg.d.ts +0 -11
  322. package/dist/list-module/src/index.d.ts +0 -8
  323. package/dist/list-module/src/locale/en.d.ts +0 -15
  324. package/dist/list-module/src/locale/index.d.ts +0 -5
  325. package/dist/list-module/src/locale/zh-CN.d.ts +0 -15
  326. package/dist/list-module/src/module/custom-types.d.ts +0 -27
  327. package/dist/list-module/src/module/elem-to-html.d.ts +0 -16
  328. package/dist/list-module/src/module/helpers.d.ts +0 -26
  329. package/dist/list-module/src/module/html-transform.d.ts +0 -10
  330. package/dist/list-module/src/module/index.d.ts +0 -7
  331. package/dist/list-module/src/module/menu/BaseMenu.d.ts +0 -20
  332. package/dist/list-module/src/module/menu/BulletedListMenu.d.ts +0 -11
  333. package/dist/list-module/src/module/menu/LowerAlphaListMenu.d.ts +0 -13
  334. package/dist/list-module/src/module/menu/NumberedListMenu.d.ts +0 -11
  335. package/dist/list-module/src/module/menu/index.d.ts +0 -19
  336. package/dist/list-module/src/module/outline-actions.d.ts +0 -9
  337. package/dist/list-module/src/module/parse-elem-html.d.ts +0 -18
  338. package/dist/list-module/src/module/plugin.d.ts +0 -7
  339. package/dist/list-module/src/module/render-elem.d.ts +0 -13
  340. package/dist/list-module/src/module/style-class.d.ts +0 -6
  341. package/dist/list-module/src/utils/dom.d.ts +0 -19
  342. package/dist/list-module/src/utils/maps.d.ts +0 -7
  343. package/dist/list-module/src/utils/util.d.ts +0 -6
  344. package/dist/plugin-formula/src/constants/icon-svg.d.ts +0 -11
  345. package/dist/plugin-formula/src/index.d.ts +0 -7
  346. package/dist/plugin-formula/src/module/custom-types.d.ts +0 -13
  347. package/dist/plugin-formula/src/module/elem-to-html.d.ts +0 -11
  348. package/dist/plugin-formula/src/module/index.d.ts +0 -8
  349. package/dist/plugin-formula/src/module/local.d.ts +0 -5
  350. package/dist/plugin-formula/src/module/menu/EditFormula.d.ts +0 -30
  351. package/dist/plugin-formula/src/module/menu/InsertFormula.d.ts +0 -24
  352. package/dist/plugin-formula/src/module/menu/index.d.ts +0 -14
  353. package/dist/plugin-formula/src/module/parse-elem-html.d.ts +0 -12
  354. package/dist/plugin-formula/src/module/plugin.d.ts +0 -7
  355. package/dist/plugin-formula/src/module/render-elem.d.ts +0 -12
  356. package/dist/plugin-formula/src/register-custom-elem/index.d.ts +0 -5
  357. package/dist/plugin-formula/src/register-custom-elem/native-shim.d.ts +0 -0
  358. package/dist/plugin-formula/src/utils/dom.d.ts +0 -15
  359. package/dist/plugin-formula/src/utils/util.d.ts +0 -10
  360. package/dist/table-module/src/constants/svg.d.ts +0 -26
  361. package/dist/table-module/src/index.d.ts +0 -8
  362. package/dist/table-module/src/locale/en.d.ts +0 -56
  363. package/dist/table-module/src/locale/index.d.ts +0 -5
  364. package/dist/table-module/src/locale/zh-CN.d.ts +0 -56
  365. package/dist/table-module/src/module/cell-selection.d.ts +0 -11
  366. package/dist/table-module/src/module/column-resize.d.ts +0 -20
  367. package/dist/table-module/src/module/custom-types.d.ts +0 -48
  368. package/dist/table-module/src/module/elem-to-html.d.ts +0 -22
  369. package/dist/table-module/src/module/helpers.d.ts +0 -37
  370. package/dist/table-module/src/module/index.d.ts +0 -7
  371. package/dist/table-module/src/module/menu/CellProperty.d.ts +0 -14
  372. package/dist/table-module/src/module/menu/DeleteCol.d.ts +0 -15
  373. package/dist/table-module/src/module/menu/DeleteRow.d.ts +0 -15
  374. package/dist/table-module/src/module/menu/DeleteTable.d.ts +0 -15
  375. package/dist/table-module/src/module/menu/FullWidth.d.ts +0 -15
  376. package/dist/table-module/src/module/menu/InsertCol.d.ts +0 -15
  377. package/dist/table-module/src/module/menu/InsertRow.d.ts +0 -15
  378. package/dist/table-module/src/module/menu/InsertTable.d.ts +0 -24
  379. package/dist/table-module/src/module/menu/MergeCell.d.ts +0 -24
  380. package/dist/table-module/src/module/menu/SplitCell.d.ts +0 -24
  381. package/dist/table-module/src/module/menu/TableHeader.d.ts +0 -15
  382. package/dist/table-module/src/module/menu/TableProperty.d.ts +0 -49
  383. package/dist/table-module/src/module/menu/index.d.ts +0 -77
  384. package/dist/table-module/src/module/parse-elem-html.d.ts +0 -24
  385. package/dist/table-module/src/module/parse-style-html.d.ts +0 -8
  386. package/dist/table-module/src/module/plugin.d.ts +0 -7
  387. package/dist/table-module/src/module/pre-parse-html.d.ts +0 -15
  388. package/dist/table-module/src/module/render-elem/index.d.ts +0 -19
  389. package/dist/table-module/src/module/render-elem/render-cell.d.ts +0 -9
  390. package/dist/table-module/src/module/render-elem/render-row.d.ts +0 -9
  391. package/dist/table-module/src/module/render-elem/render-table.d.ts +0 -9
  392. package/dist/table-module/src/module/render-elem/selection-overlay.d.ts +0 -21
  393. package/dist/table-module/src/module/render-style.d.ts +0 -9
  394. package/dist/table-module/src/module/row-resize.d.ts +0 -15
  395. package/dist/table-module/src/module/style-to-html.d.ts +0 -6
  396. package/dist/table-module/src/module/table-cursor.d.ts +0 -20
  397. package/dist/table-module/src/module/weak-maps.d.ts +0 -6
  398. package/dist/table-module/src/module/with-selection.d.ts +0 -2
  399. package/dist/table-module/src/utils/dom.d.ts +0 -31
  400. package/dist/table-module/src/utils/has-common.d.ts +0 -7
  401. package/dist/table-module/src/utils/index.d.ts +0 -5
  402. package/dist/table-module/src/utils/is-of-type.d.ts +0 -6
  403. package/dist/table-module/src/utils/matrices.d.ts +0 -9
  404. package/dist/table-module/src/utils/options.d.ts +0 -16
  405. package/dist/table-module/src/utils/point.d.ts +0 -7
  406. package/dist/table-module/src/utils/types.d.ts +0 -19
  407. package/dist/table-module/src/utils/vdom.d.ts +0 -11
  408. package/dist/upload-image-module/src/constants/svg.d.ts +0 -10
  409. package/dist/upload-image-module/src/index.d.ts +0 -8
  410. package/dist/upload-image-module/src/locale/en.d.ts +0 -11
  411. package/dist/upload-image-module/src/locale/index.d.ts +0 -5
  412. package/dist/upload-image-module/src/locale/zh-CN.d.ts +0 -11
  413. package/dist/upload-image-module/src/module/index.d.ts +0 -7
  414. package/dist/upload-image-module/src/module/menu/UploadImageMenu.d.ts +0 -16
  415. package/dist/upload-image-module/src/module/menu/config.d.ts +0 -6
  416. package/dist/upload-image-module/src/module/menu/index.d.ts +0 -10
  417. package/dist/upload-image-module/src/module/plugin.d.ts +0 -7
  418. package/dist/upload-image-module/src/module/upload-images.d.ts +0 -11
  419. package/dist/upload-image-module/src/utils/dom.d.ts +0 -7
  420. package/dist/video-module/src/constants/svg.d.ts +0 -15
  421. package/dist/video-module/src/index.d.ts +0 -8
  422. package/dist/video-module/src/locale/en.d.ts +0 -24
  423. package/dist/video-module/src/locale/index.d.ts +0 -5
  424. package/dist/video-module/src/locale/zh-CN.d.ts +0 -24
  425. package/dist/video-module/src/module/alignment.d.ts +0 -10
  426. package/dist/video-module/src/module/custom-types.d.ts +0 -24
  427. package/dist/video-module/src/module/elem-to-html.d.ts +0 -12
  428. package/dist/video-module/src/module/helper/insert-video.d.ts +0 -12
  429. package/dist/video-module/src/module/helper/upload-videos.d.ts +0 -6
  430. package/dist/video-module/src/module/index.d.ts +0 -7
  431. package/dist/video-module/src/module/menu/EditVideoSizeMenu.d.ts +0 -25
  432. package/dist/video-module/src/module/menu/EditVideoSrcMenu.d.ts +0 -26
  433. package/dist/video-module/src/module/menu/InsertVideoMenu.d.ts +0 -25
  434. package/dist/video-module/src/module/menu/UploadVideoMenu.d.ts +0 -16
  435. package/dist/video-module/src/module/menu/VideoAlignMenu.d.ts +0 -18
  436. package/dist/video-module/src/module/menu/config.d.ts +0 -25
  437. package/dist/video-module/src/module/menu/index.d.ts +0 -43
  438. package/dist/video-module/src/module/parse-elem-html.d.ts +0 -14
  439. package/dist/video-module/src/module/plugin.d.ts +0 -7
  440. package/dist/video-module/src/module/pre-parse-html.d.ts +0 -15
  441. package/dist/video-module/src/module/render-elem.d.ts +0 -13
  442. package/dist/video-module/src/utils/dom.d.ts +0 -29
  443. package/dist/video-module/src/utils/util.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/register-custom-elem/native-shim.ts","../src/register-custom-elem/index.ts","../src/module/local.ts","../src/module/elem-to-html.ts","../../../node_modules/.pnpm/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js","../../../node_modules/.pnpm/dom7@4.0.6/node_modules/dom7/dom7.esm.js","../src/utils/dom.ts","../src/utils/util.ts","../../../node_modules/.pnpm/nanoid@5.1.6/node_modules/nanoid/index.browser.js","../../../node_modules/.pnpm/nanoid@5.1.6/node_modules/nanoid/url-alphabet/index.js","../src/module/menu/EditFormula.ts","../src/constants/icon-svg.ts","../src/module/menu/InsertFormula.ts","../src/module/render-elem.ts","../src/module/index.ts","../src/module/plugin.ts","../src/module/parse-elem-html.ts","../src/module/menu/index.ts"],"sourcesContent":["// @ts-nocheck\n\n// 参考 https://github.com/webcomponents/custom-elements/blob/master/src/native-shim.js\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * This shim allows elements written in, or compiled to, ES5 to work on native\n * implementations of Custom Elements v1. It sets new.target to the value of\n * this.constructor so that the native HTMLElement constructor can access the\n * current under-construction element's definition.\n */\n(function () {\n if (\n // No Reflect, no classes, no need for shim because native custom elements\n // require ES2015 classes or Reflect.\n window.Reflect === undefined\n || window.customElements === undefined\n // The webcomponentsjs custom elements polyfill doesn't require\n // ES2015-compatible construction (`super()` or `Reflect.construct`).\n || window.customElements.polyfillWrapFlushCallback\n ) {\n return\n }\n const BuiltInHTMLElement = HTMLElement\n /**\n * With jscompiler's RECOMMENDED_FLAGS the function name will be optimized away.\n * However, if we declare the function as a property on an object literal, and\n * use quotes for the property name, then closure will leave that much intact,\n * which is enough for the JS VM to correctly set Function.prototype.name.\n */\n const wrapperForTheName = {\n // eslint-disable-next-line func-names\n HTMLElement: /** @this {!Object} */ function HTMLElement() {\n return Reflect.construct(BuiltInHTMLElement, [], /** @type {!Function} */ this.constructor)\n },\n }\n\n window.HTMLElement = wrapperForTheName.HTMLElement\n HTMLElement.prototype = BuiltInHTMLElement.prototype\n HTMLElement.prototype.constructor = HTMLElement\n Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement)\n}())\n","/**\n * @description 注册自定义 elem\n * @author wangfupeng\n */\n\nimport './native-shim'\n\nimport katex from 'katex'\n\nclass WangEditorFormulaCard extends HTMLElement {\n private span: HTMLElement | null = null\n\n // 监听的 attr\n static get observedAttributes() {\n return ['data-value']\n }\n\n constructor() {\n super()\n }\n\n // connectedCallback() {\n // // 当 custom element首次被插入文档DOM时,被调用\n // console.log('connected')\n // }\n // disconnectedCallback() {\n // // 当 custom element从文档DOM中删除时,被调用\n // console.log('disconnected')\n // }\n // adoptedCallback() {\n // // 当 custom element被移动到新的文档时,被调用\n // console.log('adopted')\n // }\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (name === 'data-value') {\n if (oldValue === newValue) { return }\n this.render(newValue || '')\n }\n }\n\n private ensureSpan() {\n if (this.span) { return this.span }\n\n const document = this.ownerDocument || window.document\n const span = document.createElement('span')\n\n this.style.display = 'inline-block'\n this.style.maxWidth = '100%'\n span.style.display = 'inline-block'\n span.style.maxWidth = '100%'\n this.appendChild(span)\n this.span = span\n\n return span\n }\n\n private render(value: string) {\n const span = this.ensureSpan()\n\n katex.render(value, span, {\n throwOnError: false,\n output: 'htmlAndMathml',\n })\n\n const errorElem = span.querySelector<HTMLElement>('.katex-error')\n\n if (errorElem) {\n errorElem.style.whiteSpace = 'normal'\n errorElem.style.overflowWrap = 'anywhere'\n errorElem.style.wordBreak = 'break-word'\n }\n }\n}\n\nif (!window.customElements.get('w-e-formula-card')) {\n window.customElements.define('w-e-formula-card', WangEditorFormulaCard)\n}\n","/**\n * @description 多语言\n * @author wangfupeng\n */\n\nimport { i18nAddResources } from '@wangeditor-next/editor'\n\ni18nAddResources('en', {\n formula: {\n formula: 'Formula',\n placeholder: 'Use LateX syntax',\n insert: 'Insert formula',\n edit: 'Edit formula',\n ok: 'OK',\n },\n})\n\ni18nAddResources('zh-CN', {\n formula: {\n formula: '公式',\n placeholder: '使用 LateX 语法',\n insert: '插入公式',\n edit: '编辑公式',\n ok: '确定',\n },\n})\n","/**\n * @description elem to html\n * @author wangfupeng\n */\n\nimport { SlateElement } from '@wangeditor-next/editor'\n\nimport { FormulaElement } from './custom-types'\n\n// 生成 html 的函数\nfunction formulaToHtml(elem: SlateElement, _childrenHtml: string): string {\n const { value = '' } = elem as FormulaElement\n\n return `<span data-w-e-type=\"formula\" data-w-e-is-void data-w-e-is-inline data-value=\"${value}\"></span>`\n}\n\n// 配置\nconst conf = {\n type: 'formula', // 节点 type ,重要!!!\n elemToHtml: formulaToHtml,\n}\n\nexport default conf\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.6\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2023, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: February 2, 2023\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf('<li') === 0) toCreate = 'ul';\n if (html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';\n if (html.indexOf('<tbody') === 0) toCreate = 'table';\n if (html.indexOf('<option') === 0) toCreate = 'select';\n const tempParent = document.createElement(toCreate);\n tempParent.innerHTML = html;\n\n for (let i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n arr = qsa(selector.trim(), context || document);\n } // arr = qsa(selector, document);\n\n } else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n } else if (Array.isArray(selector)) {\n if (selector instanceof Dom7) return selector;\n arr = selector;\n }\n\n return new Dom7(arrayUnique(arr));\n}\n\n$.fn = Dom7.prototype;\n\n// eslint-disable-next-line\n\nfunction addClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionStart(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionstart', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionstart', fireCallBack);\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, transitionStart, trigger, val, value, width };\n","/**\n * @description DOM 操作\n * @author wangfupeng\n */\n\nimport $, {\n append, find, focus, html, is, on, parents, val,\n} from 'dom7'\n\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\n// weird things for Slate's types with the same name as globals. (2019/11/27)\n// https://github.com/microsoft/TypeScript/issues/35002\nimport DOMNode = globalThis.Node\nimport DOMComment = globalThis.Comment\nimport DOMElement = globalThis.Element\nimport DOMText = globalThis.Text\nimport DOMRange = globalThis.Range\nimport DOMSelection = globalThis.Selection\nimport DOMStaticRange = globalThis.StaticRange\n\nif (append) { $.fn.append = append }\nif (html) { $.fn.html = html }\nif (val) { $.fn.val = val }\nif (on) { $.fn.on = on }\nif (focus) { $.fn.focus = focus }\nif (is) { $.fn.is = is }\nif (parents) { $.fn.parents = parents }\nif (find) { $.fn.find = find }\n\nexport type { Dom7Array } from 'dom7'\nexport default $\nexport {\n DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText,\n}\n","/**\n * @description 工具函数\n * @author wangfupeng\n */\n\nimport { nanoid } from 'nanoid'\n\n/**\n * 获取随机数字符串\n * @param prefix 前缀\n * @returns 随机数字符串\n */\nexport function genRandomStr(prefix: string = 'r'): string {\n return `${prefix}-${nanoid()}`\n}\n\n// export function replaceSymbols(str: string) {\n// return str.replace(/</g, '&lt;').replace(/>/g, '&gt;')\n// }\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","export const urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","/**\n * @description edit formula menu\n * @author wangfupeng\n */\n\nimport {\n genModalButtonElems,\n genModalTextareaElems,\n IDomEditor,\n IModalMenu,\n SlateEditor,\n SlateElement,\n SlateNode,\n SlatePath,\n SlateRange,\n SlateTransforms,\n t,\n} from '@wangeditor-next/editor'\n\nimport { PENCIL_SVG } from '../../constants/icon-svg'\nimport $, { Dom7Array, DOMElement } from '../../utils/dom'\nimport { genRandomStr } from '../../utils/util'\nimport { FormulaElement } from '../custom-types'\n\n/**\n * 生成唯一的 DOM ID\n */\nfunction genDomID(): string {\n return genRandomStr('w-e-insert-formula')\n}\n\nclass EditFormulaMenu implements IModalMenu {\n readonly title = t('formula.edit')\n\n readonly iconSvg = PENCIL_SVG\n\n readonly tag = 'button'\n\n readonly showModal = true // 点击 button 时显示 modal\n\n readonly modalWidth = 300\n\n private $content: Dom7Array | null = null\n\n private readonly textareaId = genDomID()\n\n private readonly buttonId = genDomID()\n\n private getSelectedElem(editor: IDomEditor): FormulaElement | null {\n const entry = this.getSelectedFormulaEntry(editor)\n\n if (entry == null) { return null }\n return entry[0]\n }\n\n private getSelectedFormulaEntry(editor: IDomEditor): [FormulaElement, SlatePath] | null {\n const { selection } = editor\n\n if (selection == null) { return null }\n\n const entry = SlateEditor.above(editor, {\n at: selection,\n match: node => SlateElement.isElement(node) && node.type === 'formula',\n })\n\n if (entry == null) { return null }\n return entry as [FormulaElement, SlatePath]\n }\n\n /**\n * 获取公式 value\n * @param editor editor\n */\n getValue(editor: IDomEditor): string | boolean {\n const formulaElem = this.getSelectedElem(editor)\n\n if (formulaElem) {\n return formulaElem.value || ''\n }\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 无需 active\n return false\n }\n\n exec(_editor: IDomEditor, _value: string | boolean) {\n // 点击菜单时,弹出 modal 之前,不需要执行其他代码\n // 此处空着即可\n }\n\n isDisabled(editor: IDomEditor): boolean {\n const { selection } = editor\n\n if (selection == null) { return true }\n if (SlateRange.isExpanded(selection)) { return true } // 选区非折叠,禁用\n\n // 未匹配到 formula node 则禁用\n const formulaElem = this.getSelectedElem(editor)\n\n if (formulaElem == null) { return true }\n\n return false\n }\n\n // modal 定位\n getModalPositionNode(editor: IDomEditor): SlateNode | null {\n return this.getSelectedElem(editor)\n }\n\n getModalContentElem(editor: IDomEditor): DOMElement {\n const { textareaId, buttonId } = this\n\n const [textareaContainerElem, textareaElem] = genModalTextareaElems(\n t('formula.formula'),\n textareaId,\n t('formula.placeholder'),\n )\n const $textarea = $(textareaElem)\n const [buttonContainerElem] = genModalButtonElems(buttonId, t('formula.ok'))\n\n if (this.$content == null) {\n // 第一次渲染\n const $content = $('<div></div>')\n\n // 绑定事件(第一次渲染时绑定,不要重复绑定)\n $content.on('click', `#${buttonId}`, e => {\n e.preventDefault()\n const value = $content.find(`#${textareaId}`).val().trim()\n\n this.updateFormula(editor, value)\n editor.hidePanelOrModal() // 隐藏 modal\n })\n\n // 记录属性,重要\n this.$content = $content\n }\n\n const $content = this.$content\n\n $content.html('') // 先清空内容\n\n // append textarea and button\n $content.append(textareaContainerElem)\n $content.append(buttonContainerElem)\n\n // 设置 input val\n const value = this.getValue(editor)\n\n $textarea.val(value)\n\n // focus 一个 input(异步,此时 DOM 尚未渲染)\n setTimeout(() => {\n $textarea.focus()\n })\n\n return $content[0]\n }\n\n private updateFormula(editor: IDomEditor, value: string) {\n if (!value) { return }\n\n // 还原选区\n editor.restoreSelection()\n\n if (this.isDisabled(editor)) { return }\n\n const selectedEntry = this.getSelectedFormulaEntry(editor)\n\n if (selectedEntry == null) { return }\n\n const [, path] = selectedEntry\n const props: Partial<FormulaElement> = { value }\n\n SlateTransforms.setNodes(editor, props, { at: path })\n }\n}\n\nexport default EditFormulaMenu\n","/**\n * @description icon svg\n * @author wangfupeng\n */\n\n/**\n * 【注意】svg 字符串的长度 ,否则会导致代码体积过大\n * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293\n * 找不到再从 iconfont.com 搜索\n */\n\n// 公式\nexport const SIGMA_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M941.6 734.72L985.984 640H1024l-64 384H0v-74.24l331.552-391.2L0 227.008V0h980L1024 256h-34.368l-18.72-38.88C935.584 143.744 909.024 128 832 128H169.984l353.056 353.056L225.632 832H768c116 0 146.656-41.568 173.6-97.28z\"></path></svg>'\n\n// 编辑\nexport const PENCIL_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M864 0a160 160 0 0 1 128 256l-64 64-224-224 64-64c26.752-20.096 59.968-32 96-32zM64 736l-64 288 288-64 592-592-224-224L64 736z m651.584-372.416l-448 448-55.168-55.168 448-448 55.168 55.168z\"></path></svg>'\n","/**\n * @description insert formula menu\n * @author wangfupeng\n */\n\nimport {\n DomEditor,\n genModalButtonElems,\n genModalTextareaElems,\n IDomEditor,\n IModalMenu,\n SlateNode,\n SlateRange,\n t,\n} from '@wangeditor-next/editor'\n\nimport { SIGMA_SVG } from '../../constants/icon-svg'\nimport $, { Dom7Array, DOMElement } from '../../utils/dom'\nimport { genRandomStr } from '../../utils/util'\nimport { FormulaElement } from '../custom-types'\n\n/**\n * 生成唯一的 DOM ID\n */\nfunction genDomID(): string {\n return genRandomStr('w-e-insert-formula')\n}\n\nclass InsertFormulaMenu implements IModalMenu {\n readonly title = t('formula.insert')\n\n readonly iconSvg = SIGMA_SVG\n\n readonly tag = 'button'\n\n readonly showModal = true // 点击 button 时显示 modal\n\n readonly modalWidth = 300\n\n private $content: Dom7Array | null = null\n\n private readonly textareaId = genDomID()\n\n private readonly buttonId = genDomID()\n\n getValue(_editor: IDomEditor): string | boolean {\n // 插入菜单,不需要 value\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 任何时候,都不用激活 menu\n return false\n }\n\n exec(_editor: IDomEditor, _value: string | boolean) {\n // 点击菜单时,弹出 modal 之前,不需要执行其他代码\n // 此处空着即可\n }\n\n isDisabled(editor: IDomEditor): boolean {\n const { selection } = editor\n\n if (selection == null) { return true }\n if (SlateRange.isExpanded(selection)) { return true } // 选区非折叠,禁用\n\n const selectedElems = DomEditor.getSelectedElems(editor)\n\n const hasVoidElem = selectedElems.some(elem => editor.isVoid(elem))\n\n if (hasVoidElem) { return true } // 选中了 void 元素,禁用\n\n const hasPreElem = selectedElems.some(elem => DomEditor.getNodeType(elem) === 'pre')\n\n if (hasPreElem) { return true } // 选中了 pre 原则,禁用\n\n return false\n }\n\n getModalPositionNode(_editor: IDomEditor): SlateNode | null {\n return null // modal 依据选区定位\n }\n\n getModalContentElem(editor: IDomEditor): DOMElement {\n const { textareaId, buttonId } = this\n\n const [textareaContainerElem, textareaElem] = genModalTextareaElems(\n t('formula.formula'),\n textareaId,\n t('formula.placeholder'),\n )\n const $textarea = $(textareaElem)\n const [buttonContainerElem] = genModalButtonElems(buttonId, t('formula.ok'))\n\n if (this.$content == null) {\n // 第一次渲染\n const $content = $('<div></div>')\n\n // 绑定事件(第一次渲染时绑定,不要重复绑定)\n $content.on('click', `#${buttonId}`, e => {\n e.preventDefault()\n const value = $content.find(`#${textareaId}`).val().trim()\n\n this.insertFormula(editor, value)\n editor.hidePanelOrModal() // 隐藏 modal\n })\n\n // 记录属性,重要\n this.$content = $content\n }\n\n const $content = this.$content\n\n $content.html('') // 先清空内容\n\n // append textarea and button\n $content.append(textareaContainerElem)\n $content.append(buttonContainerElem)\n\n // 设置 input val\n $textarea.val('')\n\n // focus 一个 input(异步,此时 DOM 尚未渲染)\n setTimeout(() => {\n $textarea.focus()\n })\n\n return $content[0]\n }\n\n private insertFormula(editor: IDomEditor, value: string) {\n if (!value) { return }\n\n // 还原选区\n editor.restoreSelection()\n\n if (this.isDisabled(editor)) { return }\n\n const formulaElem: FormulaElement = {\n type: 'formula',\n value,\n children: [{ text: '' }], // void node 需要有一个空 text\n }\n\n editor.insertNode(formulaElem)\n }\n}\n\nexport default InsertFormulaMenu\n","/**\n * @description render elem\n * @author wangfupeng\n */\n\nimport { DomEditor, IDomEditor, SlateElement } from '@wangeditor-next/editor'\nimport { h, VNode } from 'snabbdom'\n\nimport { FormulaElement } from './custom-types'\n\nfunction renderFormula(elem: SlateElement, children: VNode[] | null, editor: IDomEditor): VNode {\n // 当前节点是否选中\n const selected = DomEditor.isNodeSelected(editor, elem)\n\n // 构建 formula vnode\n const { value = '' } = elem as FormulaElement\n const formulaVnode = h(\n 'w-e-formula-card',\n {\n dataset: { value },\n },\n null,\n )\n\n // 构建容器 vnode\n const containerVnode = h(\n 'div',\n {\n className: 'w-e-textarea-formula-container',\n props: {\n contentEditable: false, // 不可编辑\n },\n style: {\n display: 'inline-block', // inline\n maxWidth: '100%',\n overflowX: 'auto',\n marginLeft: '3px',\n marginRight: '3px',\n border: selected // 选中/不选中,样式不一样\n ? '2px solid var(--w-e-textarea-selected-border-color)'\n : '2px solid transparent',\n borderRadius: '3px',\n padding: '3px 3px',\n },\n },\n [formulaVnode],\n )\n\n return containerVnode\n}\n\nconst conf = {\n type: 'formula', // 节点 type ,重要!!!\n renderElem: renderFormula,\n}\n\nexport default conf\n","/**\n * @description formula module entry\n * @author wangfupeng\n */\n\nimport './local' // 多语言\n\nimport { IModuleConf } from '@wangeditor-next/editor'\n\nimport elemToHtmlConf from './elem-to-html'\nimport { editFormulaMenuConf, insertFormulaMenuConf } from './menu/index'\nimport parseHtmlConf from './parse-elem-html'\nimport withFormula from './plugin'\nimport renderElemConf from './render-elem'\n\nconst module: Partial<IModuleConf> = {\n editorPlugin: withFormula,\n renderElems: [renderElemConf],\n elemsToHtml: [elemToHtmlConf],\n parseElemsHtml: [parseHtmlConf],\n menus: [insertFormulaMenuConf, editFormulaMenuConf],\n}\n\nexport default module\n","/**\n * @description formula plugin\n * @author wangfupeng\n */\n\nimport { DomEditor, IDomEditor } from '@wangeditor-next/editor'\n\nfunction withFormula<T extends IDomEditor>(editor: T) {\n const { isInline, isVoid } = editor\n const newEditor = editor\n\n // 重写 isInline\n newEditor.isInline = elem => {\n const type = DomEditor.getNodeType(elem)\n\n if (type === 'formula') {\n return true\n }\n\n return isInline(elem)\n }\n\n // 重写 isVoid\n newEditor.isVoid = elem => {\n const type = DomEditor.getNodeType(elem)\n\n if (type === 'formula') {\n return true\n }\n\n return isVoid(elem)\n }\n\n return newEditor\n}\n\nexport default withFormula\n","/**\n * @description parse elem html\n * @author wangfupeng\n */\n\nimport { IDomEditor, SlateDescendant, SlateElement } from '@wangeditor-next/editor'\n\nimport { DOMElement } from '../utils/dom'\nimport { FormulaElement } from './custom-types'\n\nfunction parseHtml(\n elem: DOMElement,\n _children: SlateDescendant[],\n _editor: IDomEditor,\n): SlateElement {\n const value = elem.getAttribute('data-value') || ''\n\n return {\n type: 'formula',\n value,\n children: [{ text: '' }], // void node 必须有一个空白 text\n } as FormulaElement\n}\n\nconst parseHtmlConf = {\n selector: 'span[data-w-e-type=\"formula\"]',\n parseElemHtml: parseHtml,\n}\n\nexport default parseHtmlConf\n","/**\n * @description formula menu entry\n * @author wangfupeng\n */\n\nimport EditFormulaMenu from './EditFormula'\nimport InsertFormulaMenu from './InsertFormula'\n\nexport const insertFormulaMenuConf = {\n key: 'insertFormula', // menu key ,唯一。注册之后,可配置到工具栏\n factory() {\n return new InsertFormulaMenu()\n },\n}\n\nexport const editFormulaMenuConf = {\n key: 'editFormula', // menu key ,唯一。注册之后,可配置到工具栏\n factory() {\n return new EditFormulaMenu()\n },\n}\n"],"names":["undefined","window","Reflect","customElements","polyfillWrapFlushCallback","BuiltInHTMLElement","HTMLElement","wrapperForTheName","construct","this","constructor","prototype","Object","setPrototypeOf","WangEditorFormulaCard","_super","_this","span","__extends","defineProperty","get","attributeChangedCallback","name","oldValue","newValue","render","ensureSpan","ownerDocument","document","createElement","style","display","maxWidth","appendChild","value","katex","throwOnError","output","errorElem","querySelector","whiteSpace","overflowWrap","wordBreak","define","i18nAddResources","formula","placeholder","insert","edit","ok","conf","type","elemToHtml","elem","_childrenHtml","_a","concat","isObject","obj","extend","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelectorAll","getElementById","createEvent","initEvent","children","childNodes","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","Dom7","Array","items","super","proto","__proto__","set","makeReactive","$","selector","context","arr","html","trim","indexOf","toCreate","tempParent","innerHTML","i","push","a","res","qsa","nodeType","isArray","uniqueArray","arrayUnique","val","el","multiple","toLowerCase","values","selectedOptions","j","options","selected","on","args","eventType","targetSelector","listener","capture","handleLiveEvent","e","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","events","split","event","dom7LiveListeners","proxyListener","dom7Listeners","compareWith","matches","webkitMatchesSelector","msMatchesSelector","append","els","newChild","tempDiv","firstChild","parent","parentNode","find","foundElements","found","fn","noTrigger","focus","trigger","genRandomStr","prefix","size","bytes","crypto","getRandomValues","Uint8Array","nanoid","genDomID","EditFormulaMenu","title","t","iconSvg","tag","showModal","modalWidth","$content","textareaId","buttonId","getSelectedElem","editor","entry","getSelectedFormulaEntry","selection","SlateEditor","above","at","match","node","SlateElement","isElement","getValue","formulaElem","isActive","_editor","exec","_value","isDisabled","SlateRange","isExpanded","getModalPositionNode","getModalContentElem","_b","__read","genModalTextareaElems","textareaContainerElem","$textarea","buttonContainerElem","genModalButtonElems","$content_1","preventDefault","updateFormula","hidePanelOrModal","restoreSelection","selectedEntry","path","props","SlateTransforms","setNodes","InsertFormulaMenu","selectedElems","DomEditor","getSelectedElems","some","isVoid","getNodeType","insertFormula","text","insertNode","module","editorPlugin","isInline","newEditor","renderElems","renderElem","isNodeSelected","formulaVnode","h","dataset","className","contentEditable","overflowX","marginLeft","marginRight","border","borderRadius","padding","elemsToHtml","elemToHtmlConf","parseElemsHtml","parseElemHtml","_children","getAttribute","menus","factory"],"mappings":"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","x_google_ignoreList":[4,5,8,9]}
1
+ {"version":3,"file":"index.mjs","names":["window","Reflect","undefined","customElements","polyfillWrapFlushCallback","BuiltInHTMLElement","HTMLElement","wrapperForTheName","construct","constructor","prototype","Object","setPrototypeOf","katex","WangEditorFormulaCard","HTMLElement","span","observedAttributes","constructor","attributeChangedCallback","name","oldValue","newValue","render","ensureSpan","document","ownerDocument","window","createElement","style","display","maxWidth","appendChild","value","throwOnError","output","errorElem","querySelector","whiteSpace","overflowWrap","wordBreak","customElements","get","define","i18nAddResources","formula","placeholder","insert","edit","ok","formulaToHtml","elem","_childrenHtml","value","conf","type","elemToHtml","SIGMA_SVG","PENCIL_SVG","window","document","html","parents","$","append","find","focus","html","is","on","parents","val","DOMNode","globalThis","Node","DOMComment","Comment","DOMElement","Element","DOMText","Text","DOMRange","Range","DOMSelection","Selection","DOMStaticRange","StaticRange","fn","scopedUrlAlphabet","nanoid","genRandomStr","prefix","genModalButtonElems","genModalTextareaElems","SlateEditor","SlateElement","SlateRange","SlateTransforms","t","PENCIL_SVG","$","genRandomStr","genDomID","EditFormulaMenu","title","iconSvg","tag","showModal","modalWidth","$content","textareaId","buttonId","getSelectedElem","editor","entry","getSelectedFormulaEntry","selection","above","at","match","node","isElement","type","getValue","formulaElem","value","isActive","_editor","exec","_value","isDisabled","isExpanded","getModalPositionNode","getModalContentElem","textareaContainerElem","textareaElem","$textarea","buttonContainerElem","on","e","preventDefault","find","val","trim","updateFormula","hidePanelOrModal","html","append","setTimeout","focus","restoreSelection","selectedEntry","path","props","setNodes","DomEditor","genModalButtonElems","genModalTextareaElems","SlateRange","t","SIGMA_SVG","$","genRandomStr","genDomID","InsertFormulaMenu","title","iconSvg","tag","showModal","modalWidth","$content","textareaId","buttonId","getValue","_editor","isActive","exec","_value","isDisabled","editor","selection","isExpanded","selectedElems","getSelectedElems","hasVoidElem","some","elem","isVoid","hasPreElem","getNodeType","getModalPositionNode","getModalContentElem","textareaContainerElem","textareaElem","$textarea","buttonContainerElem","on","e","preventDefault","value","find","val","trim","insertFormula","hidePanelOrModal","html","append","setTimeout","focus","restoreSelection","formulaElem","type","children","text","insertNode","EditFormulaMenu","InsertFormulaMenu","insertFormulaMenuConf","key","factory","editFormulaMenuConf","parseHtml","elem","_children","_editor","value","getAttribute","type","children","text","parseHtmlConf","selector","parseElemHtml","DomEditor","withFormula","editor","isInline","isVoid","newEditor","elem","type","getNodeType","DomEditor","h","renderFormula","elem","children","editor","selected","isNodeSelected","value","formulaVnode","dataset","containerVnode","className","props","contentEditable","style","display","maxWidth","overflowX","marginLeft","marginRight","border","borderRadius","padding","conf","type","renderElem","elemToHtmlConf","editFormulaMenuConf","insertFormulaMenuConf","parseHtmlConf","withFormula","renderElemConf","module","editorPlugin","renderElems","elemsToHtml","parseElemsHtml","menus","module"],"sources":["../src/register-custom-elem/native-shim.ts","../src/register-custom-elem/index.ts","../src/module/local.ts","../src/module/elem-to-html.ts","../src/constants/icon-svg.ts","../../../node_modules/.pnpm/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js","../../../node_modules/.pnpm/dom7@4.0.6/node_modules/dom7/dom7.esm.js","../src/utils/dom.ts","../../../node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/url-alphabet/index.js","../../../node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/index.browser.js","../src/utils/util.ts","../src/module/menu/EditFormula.ts","../src/module/menu/InsertFormula.ts","../src/module/menu/index.ts","../src/module/parse-elem-html.ts","../src/module/plugin.ts","../src/module/render-elem.ts","../src/module/index.ts","../src/index.ts"],"sourcesContent":["// @ts-nocheck\n\n// 参考 https://github.com/webcomponents/custom-elements/blob/master/src/native-shim.js\n\n/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * This shim allows elements written in, or compiled to, ES5 to work on native\n * implementations of Custom Elements v1. It sets new.target to the value of\n * this.constructor so that the native HTMLElement constructor can access the\n * current under-construction element's definition.\n */\n(function () {\n if (\n // No Reflect, no classes, no need for shim because native custom elements\n // require ES2015 classes or Reflect.\n window.Reflect === undefined\n || window.customElements === undefined\n // The webcomponentsjs custom elements polyfill doesn't require\n // ES2015-compatible construction (`super()` or `Reflect.construct`).\n || window.customElements.polyfillWrapFlushCallback\n ) {\n return\n }\n const BuiltInHTMLElement = HTMLElement\n /**\n * With jscompiler's RECOMMENDED_FLAGS the function name will be optimized away.\n * However, if we declare the function as a property on an object literal, and\n * use quotes for the property name, then closure will leave that much intact,\n * which is enough for the JS VM to correctly set Function.prototype.name.\n */\n const wrapperForTheName = {\n // eslint-disable-next-line func-names\n HTMLElement: /** @this {!Object} */ function HTMLElement() {\n return Reflect.construct(BuiltInHTMLElement, [], /** @type {!Function} */ this.constructor)\n },\n }\n\n window.HTMLElement = wrapperForTheName.HTMLElement\n HTMLElement.prototype = BuiltInHTMLElement.prototype\n HTMLElement.prototype.constructor = HTMLElement\n Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement)\n}())\n","/**\n * @description 注册自定义 elem\n * @author wangfupeng\n */\n\nimport './native-shim'\n\nimport katex from 'katex'\n\nclass WangEditorFormulaCard extends HTMLElement {\n private span: HTMLElement | null = null\n\n // 监听的 attr\n static get observedAttributes() {\n return ['data-value']\n }\n\n constructor() {\n super()\n }\n\n // connectedCallback() {\n // // 当 custom element首次被插入文档DOM时,被调用\n // console.log('connected')\n // }\n // disconnectedCallback() {\n // // 当 custom element从文档DOM中删除时,被调用\n // console.log('disconnected')\n // }\n // adoptedCallback() {\n // // 当 custom element被移动到新的文档时,被调用\n // console.log('adopted')\n // }\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (name === 'data-value') {\n if (oldValue === newValue) { return }\n this.render(newValue || '')\n }\n }\n\n private ensureSpan() {\n if (this.span) { return this.span }\n\n const document = this.ownerDocument || window.document\n const span = document.createElement('span')\n\n this.style.display = 'inline-block'\n this.style.maxWidth = '100%'\n span.style.display = 'inline-block'\n span.style.maxWidth = '100%'\n this.appendChild(span)\n this.span = span\n\n return span\n }\n\n private render(value: string) {\n const span = this.ensureSpan()\n\n katex.render(value, span, {\n throwOnError: false,\n output: 'htmlAndMathml',\n })\n\n const errorElem = span.querySelector<HTMLElement>('.katex-error')\n\n if (errorElem) {\n errorElem.style.whiteSpace = 'normal'\n errorElem.style.overflowWrap = 'anywhere'\n errorElem.style.wordBreak = 'break-word'\n }\n }\n}\n\nif (!window.customElements.get('w-e-formula-card')) {\n window.customElements.define('w-e-formula-card', WangEditorFormulaCard)\n}\n","/**\n * @description 多语言\n * @author wangfupeng\n */\n\nimport { i18nAddResources } from '@wangeditor-next/editor'\n\ni18nAddResources('en', {\n formula: {\n formula: 'Formula',\n placeholder: 'Use LateX syntax',\n insert: 'Insert formula',\n edit: 'Edit formula',\n ok: 'OK',\n },\n})\n\ni18nAddResources('zh-CN', {\n formula: {\n formula: '公式',\n placeholder: '使用 LateX 语法',\n insert: '插入公式',\n edit: '编辑公式',\n ok: '确定',\n },\n})\n","/**\n * @description elem to html\n * @author wangfupeng\n */\n\nimport { SlateElement } from '@wangeditor-next/editor'\n\nimport { FormulaElement } from './custom-types'\n\n// 生成 html 的函数\nfunction formulaToHtml(elem: SlateElement, _childrenHtml: string): string {\n const { value = '' } = elem as FormulaElement\n\n return `<span data-w-e-type=\"formula\" data-w-e-is-void data-w-e-is-inline data-value=\"${value}\"></span>`\n}\n\n// 配置\nconst conf = {\n type: 'formula', // 节点 type ,重要!!!\n elemToHtml: formulaToHtml,\n}\n\nexport default conf\n","/**\n * @description icon svg\n * @author wangfupeng\n */\n\n/**\n * 【注意】svg 字符串的长度 ,否则会导致代码体积过大\n * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293\n * 找不到再从 iconfont.com 搜索\n */\n\n// 公式\nexport const SIGMA_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M941.6 734.72L985.984 640H1024l-64 384H0v-74.24l331.552-391.2L0 227.008V0h980L1024 256h-34.368l-18.72-38.88C935.584 143.744 909.024 128 832 128H169.984l353.056 353.056L225.632 832H768c116 0 146.656-41.568 173.6-97.28z\"></path></svg>'\n\n// 编辑\nexport const PENCIL_SVG = '<svg viewBox=\"0 0 1024 1024\"><path d=\"M864 0a160 160 0 0 1 128 256l-64 64-224-224 64-64c26.752-20.096 59.968-32 96-32zM64 736l-64 288 288-64 592-592-224-224L64 736z m651.584-372.416l-448 448-55.168-55.168 448-448 55.168 55.168z\"></path></svg>'\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.6\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2023, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: February 2, 2023\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf('<li') === 0) toCreate = 'ul';\n if (html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';\n if (html.indexOf('<tbody') === 0) toCreate = 'table';\n if (html.indexOf('<option') === 0) toCreate = 'select';\n const tempParent = document.createElement(toCreate);\n tempParent.innerHTML = html;\n\n for (let i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n arr = qsa(selector.trim(), context || document);\n } // arr = qsa(selector, document);\n\n } else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n } else if (Array.isArray(selector)) {\n if (selector instanceof Dom7) return selector;\n arr = selector;\n }\n\n return new Dom7(arrayUnique(arr));\n}\n\n$.fn = Dom7.prototype;\n\n// eslint-disable-next-line\n\nfunction addClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionStart(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionstart', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionstart', fireCallBack);\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, transitionStart, trigger, val, value, width };\n","/**\n * @description DOM 操作\n * @author wangfupeng\n */\n\nimport $, {\n append, find, focus, html, is, on, parents, val,\n} from 'dom7'\n\n// COMPAT: This is required to prevent TypeScript aliases from doing some very\n// weird things for Slate's types with the same name as globals. (2019/11/27)\n// https://github.com/microsoft/TypeScript/issues/35002\nimport DOMNode = globalThis.Node\nimport DOMComment = globalThis.Comment\nimport DOMElement = globalThis.Element\nimport DOMText = globalThis.Text\nimport DOMRange = globalThis.Range\nimport DOMSelection = globalThis.Selection\nimport DOMStaticRange = globalThis.StaticRange\n\nif (append) { $.fn.append = append }\nif (html) { $.fn.html = html }\nif (val) { $.fn.val = val }\nif (on) { $.fn.on = on }\nif (focus) { $.fn.focus = focus }\nif (is) { $.fn.is = is }\nif (parents) { $.fn.parents = parents }\nif (find) { $.fn.find = find }\n\nexport type { Dom7Array } from 'dom7'\nexport default $\nexport {\n DOMComment, DOMElement, DOMNode, DOMRange, DOMSelection, DOMStaticRange, DOMText,\n}\n","export let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","\n\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\n\nexport { urlAlphabet } from './url-alphabet/index.js'\n\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\n\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let safeByteCutoff = 256 - (256 % alphabet.length)\n\n if (safeByteCutoff === 256) {\n let mask = alphabet.length - 1\n\n return (size = defaultSize) => {\n if (!size) return ''\n let id = ''\n while (true) {\n let bytes = getRandom(size)\n let j = size\n while (j--) {\n id += alphabet[bytes[j] & mask]\n if (id.length >= size) return id\n }\n }\n }\n }\n\n let step = Math.ceil((1.6 * 256 * defaultSize) / safeByteCutoff)\n\n return (size = defaultSize) => {\n if (!size) return ''\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n if (bytes[j] < safeByteCutoff) {\n id += alphabet[bytes[j] % alphabet.length]\n if (id.length >= size) return id\n }\n }\n }\n }\n}\n\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\n\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","/**\n * @description 工具函数\n * @author wangfupeng\n */\n\nimport { nanoid } from 'nanoid'\n\n/**\n * 获取随机数字符串\n * @param prefix 前缀\n * @returns 随机数字符串\n */\nexport function genRandomStr(prefix: string = 'r'): string {\n return `${prefix}-${nanoid()}`\n}\n\n// export function replaceSymbols(str: string) {\n// return str.replace(/</g, '&lt;').replace(/>/g, '&gt;')\n// }\n","/**\n * @description edit formula menu\n * @author wangfupeng\n */\n\nimport {\n genModalButtonElems,\n genModalTextareaElems,\n IDomEditor,\n IModalMenu,\n SlateEditor,\n SlateElement,\n SlateNode,\n SlatePath,\n SlateRange,\n SlateTransforms,\n t,\n} from '@wangeditor-next/editor'\n\nimport { PENCIL_SVG } from '../../constants/icon-svg'\nimport $, { Dom7Array, DOMElement } from '../../utils/dom'\nimport { genRandomStr } from '../../utils/util'\nimport { FormulaElement } from '../custom-types'\n\n/**\n * 生成唯一的 DOM ID\n */\nfunction genDomID(): string {\n return genRandomStr('w-e-insert-formula')\n}\n\nclass EditFormulaMenu implements IModalMenu {\n readonly title = t('formula.edit')\n\n readonly iconSvg = PENCIL_SVG\n\n readonly tag = 'button'\n\n readonly showModal = true // 点击 button 时显示 modal\n\n readonly modalWidth = 300\n\n private $content: Dom7Array | null = null\n\n private readonly textareaId = genDomID()\n\n private readonly buttonId = genDomID()\n\n private getSelectedElem(editor: IDomEditor): FormulaElement | null {\n const entry = this.getSelectedFormulaEntry(editor)\n\n if (entry == null) { return null }\n return entry[0]\n }\n\n private getSelectedFormulaEntry(editor: IDomEditor): [FormulaElement, SlatePath] | null {\n const { selection } = editor\n\n if (selection == null) { return null }\n\n const entry = SlateEditor.above(editor, {\n at: selection,\n match: node => SlateElement.isElement(node) && node.type === 'formula',\n })\n\n if (entry == null) { return null }\n return entry as [FormulaElement, SlatePath]\n }\n\n /**\n * 获取公式 value\n * @param editor editor\n */\n getValue(editor: IDomEditor): string | boolean {\n const formulaElem = this.getSelectedElem(editor)\n\n if (formulaElem) {\n return formulaElem.value || ''\n }\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 无需 active\n return false\n }\n\n exec(_editor: IDomEditor, _value: string | boolean) {\n // 点击菜单时,弹出 modal 之前,不需要执行其他代码\n // 此处空着即可\n }\n\n isDisabled(editor: IDomEditor): boolean {\n const { selection } = editor\n\n if (selection == null) { return true }\n if (SlateRange.isExpanded(selection)) { return true } // 选区非折叠,禁用\n\n // 未匹配到 formula node 则禁用\n const formulaElem = this.getSelectedElem(editor)\n\n if (formulaElem == null) { return true }\n\n return false\n }\n\n // modal 定位\n getModalPositionNode(editor: IDomEditor): SlateNode | null {\n return this.getSelectedElem(editor)\n }\n\n getModalContentElem(editor: IDomEditor): DOMElement {\n const { textareaId, buttonId } = this\n\n const [textareaContainerElem, textareaElem] = genModalTextareaElems(\n t('formula.formula'),\n textareaId,\n t('formula.placeholder'),\n )\n const $textarea = $(textareaElem)\n const [buttonContainerElem] = genModalButtonElems(buttonId, t('formula.ok'))\n\n if (this.$content == null) {\n // 第一次渲染\n const $content = $('<div></div>')\n\n // 绑定事件(第一次渲染时绑定,不要重复绑定)\n $content.on('click', `#${buttonId}`, e => {\n e.preventDefault()\n const value = $content.find(`#${textareaId}`).val().trim()\n\n this.updateFormula(editor, value)\n editor.hidePanelOrModal() // 隐藏 modal\n })\n\n // 记录属性,重要\n this.$content = $content\n }\n\n const $content = this.$content\n\n $content.html('') // 先清空内容\n\n // append textarea and button\n $content.append(textareaContainerElem)\n $content.append(buttonContainerElem)\n\n // 设置 input val\n const value = this.getValue(editor)\n\n $textarea.val(value)\n\n // focus 一个 input(异步,此时 DOM 尚未渲染)\n setTimeout(() => {\n $textarea.focus()\n })\n\n return $content[0]\n }\n\n private updateFormula(editor: IDomEditor, value: string) {\n if (!value) { return }\n\n // 还原选区\n editor.restoreSelection()\n\n if (this.isDisabled(editor)) { return }\n\n const selectedEntry = this.getSelectedFormulaEntry(editor)\n\n if (selectedEntry == null) { return }\n\n const [, path] = selectedEntry\n const props: Partial<FormulaElement> = { value }\n\n SlateTransforms.setNodes(editor, props, { at: path })\n }\n}\n\nexport default EditFormulaMenu\n","/**\n * @description insert formula menu\n * @author wangfupeng\n */\n\nimport {\n DomEditor,\n genModalButtonElems,\n genModalTextareaElems,\n IDomEditor,\n IModalMenu,\n SlateNode,\n SlateRange,\n t,\n} from '@wangeditor-next/editor'\n\nimport { SIGMA_SVG } from '../../constants/icon-svg'\nimport $, { Dom7Array, DOMElement } from '../../utils/dom'\nimport { genRandomStr } from '../../utils/util'\nimport { FormulaElement } from '../custom-types'\n\n/**\n * 生成唯一的 DOM ID\n */\nfunction genDomID(): string {\n return genRandomStr('w-e-insert-formula')\n}\n\nclass InsertFormulaMenu implements IModalMenu {\n readonly title = t('formula.insert')\n\n readonly iconSvg = SIGMA_SVG\n\n readonly tag = 'button'\n\n readonly showModal = true // 点击 button 时显示 modal\n\n readonly modalWidth = 300\n\n private $content: Dom7Array | null = null\n\n private readonly textareaId = genDomID()\n\n private readonly buttonId = genDomID()\n\n getValue(_editor: IDomEditor): string | boolean {\n // 插入菜单,不需要 value\n return ''\n }\n\n isActive(_editor: IDomEditor): boolean {\n // 任何时候,都不用激活 menu\n return false\n }\n\n exec(_editor: IDomEditor, _value: string | boolean) {\n // 点击菜单时,弹出 modal 之前,不需要执行其他代码\n // 此处空着即可\n }\n\n isDisabled(editor: IDomEditor): boolean {\n const { selection } = editor\n\n if (selection == null) { return true }\n if (SlateRange.isExpanded(selection)) { return true } // 选区非折叠,禁用\n\n const selectedElems = DomEditor.getSelectedElems(editor)\n\n const hasVoidElem = selectedElems.some(elem => editor.isVoid(elem))\n\n if (hasVoidElem) { return true } // 选中了 void 元素,禁用\n\n const hasPreElem = selectedElems.some(elem => DomEditor.getNodeType(elem) === 'pre')\n\n if (hasPreElem) { return true } // 选中了 pre 原则,禁用\n\n return false\n }\n\n getModalPositionNode(_editor: IDomEditor): SlateNode | null {\n return null // modal 依据选区定位\n }\n\n getModalContentElem(editor: IDomEditor): DOMElement {\n const { textareaId, buttonId } = this\n\n const [textareaContainerElem, textareaElem] = genModalTextareaElems(\n t('formula.formula'),\n textareaId,\n t('formula.placeholder'),\n )\n const $textarea = $(textareaElem)\n const [buttonContainerElem] = genModalButtonElems(buttonId, t('formula.ok'))\n\n if (this.$content == null) {\n // 第一次渲染\n const $content = $('<div></div>')\n\n // 绑定事件(第一次渲染时绑定,不要重复绑定)\n $content.on('click', `#${buttonId}`, e => {\n e.preventDefault()\n const value = $content.find(`#${textareaId}`).val().trim()\n\n this.insertFormula(editor, value)\n editor.hidePanelOrModal() // 隐藏 modal\n })\n\n // 记录属性,重要\n this.$content = $content\n }\n\n const $content = this.$content\n\n $content.html('') // 先清空内容\n\n // append textarea and button\n $content.append(textareaContainerElem)\n $content.append(buttonContainerElem)\n\n // 设置 input val\n $textarea.val('')\n\n // focus 一个 input(异步,此时 DOM 尚未渲染)\n setTimeout(() => {\n $textarea.focus()\n })\n\n return $content[0]\n }\n\n private insertFormula(editor: IDomEditor, value: string) {\n if (!value) { return }\n\n // 还原选区\n editor.restoreSelection()\n\n if (this.isDisabled(editor)) { return }\n\n const formulaElem: FormulaElement = {\n type: 'formula',\n value,\n children: [{ text: '' }], // void node 需要有一个空 text\n }\n\n editor.insertNode(formulaElem)\n }\n}\n\nexport default InsertFormulaMenu\n","/**\n * @description formula menu entry\n * @author wangfupeng\n */\n\nimport EditFormulaMenu from './EditFormula'\nimport InsertFormulaMenu from './InsertFormula'\n\nexport const insertFormulaMenuConf = {\n key: 'insertFormula', // menu key ,唯一。注册之后,可配置到工具栏\n factory() {\n return new InsertFormulaMenu()\n },\n}\n\nexport const editFormulaMenuConf = {\n key: 'editFormula', // menu key ,唯一。注册之后,可配置到工具栏\n factory() {\n return new EditFormulaMenu()\n },\n}\n","/**\n * @description parse elem html\n * @author wangfupeng\n */\n\nimport { IDomEditor, SlateDescendant, SlateElement } from '@wangeditor-next/editor'\n\nimport { DOMElement } from '../utils/dom'\nimport { FormulaElement } from './custom-types'\n\nfunction parseHtml(\n elem: DOMElement,\n _children: SlateDescendant[],\n _editor: IDomEditor,\n): SlateElement {\n const value = elem.getAttribute('data-value') || ''\n\n return {\n type: 'formula',\n value,\n children: [{ text: '' }], // void node 必须有一个空白 text\n } as FormulaElement\n}\n\nconst parseHtmlConf = {\n selector: 'span[data-w-e-type=\"formula\"]',\n parseElemHtml: parseHtml,\n}\n\nexport default parseHtmlConf\n","/**\n * @description formula plugin\n * @author wangfupeng\n */\n\nimport { DomEditor, IDomEditor } from '@wangeditor-next/editor'\n\nfunction withFormula<T extends IDomEditor>(editor: T) {\n const { isInline, isVoid } = editor\n const newEditor = editor\n\n // 重写 isInline\n newEditor.isInline = elem => {\n const type = DomEditor.getNodeType(elem)\n\n if (type === 'formula') {\n return true\n }\n\n return isInline(elem)\n }\n\n // 重写 isVoid\n newEditor.isVoid = elem => {\n const type = DomEditor.getNodeType(elem)\n\n if (type === 'formula') {\n return true\n }\n\n return isVoid(elem)\n }\n\n return newEditor\n}\n\nexport default withFormula\n","/**\n * @description render elem\n * @author wangfupeng\n */\n\nimport { DomEditor, IDomEditor, SlateElement } from '@wangeditor-next/editor'\nimport { h, VNode } from 'snabbdom'\n\nimport { FormulaElement } from './custom-types'\n\nfunction renderFormula(elem: SlateElement, children: VNode[] | null, editor: IDomEditor): VNode {\n // 当前节点是否选中\n const selected = DomEditor.isNodeSelected(editor, elem)\n\n // 构建 formula vnode\n const { value = '' } = elem as FormulaElement\n const formulaVnode = h(\n 'w-e-formula-card',\n {\n dataset: { value },\n },\n null,\n )\n\n // 构建容器 vnode\n const containerVnode = h(\n 'div',\n {\n className: 'w-e-textarea-formula-container',\n props: {\n contentEditable: false, // 不可编辑\n },\n style: {\n display: 'inline-block', // inline\n maxWidth: '100%',\n overflowX: 'auto',\n marginLeft: '3px',\n marginRight: '3px',\n border: selected // 选中/不选中,样式不一样\n ? '2px solid var(--w-e-textarea-selected-border-color)'\n : '2px solid transparent',\n borderRadius: '3px',\n padding: '3px 3px',\n },\n },\n [formulaVnode],\n )\n\n return containerVnode\n}\n\nconst conf = {\n type: 'formula', // 节点 type ,重要!!!\n renderElem: renderFormula,\n}\n\nexport default conf\n","/**\n * @description formula module entry\n * @author wangfupeng\n */\n\nimport './local' // 多语言\n\nimport { IModuleConf } from '@wangeditor-next/editor'\n\nimport elemToHtmlConf from './elem-to-html'\nimport { editFormulaMenuConf, insertFormulaMenuConf } from './menu/index'\nimport parseHtmlConf from './parse-elem-html'\nimport withFormula from './plugin'\nimport renderElemConf from './render-elem'\n\nconst module: Partial<IModuleConf> = {\n editorPlugin: withFormula,\n renderElems: [renderElemConf],\n elemsToHtml: [elemToHtmlConf],\n parseElemsHtml: [parseHtmlConf],\n menus: [insertFormulaMenuConf, editFormulaMenuConf],\n}\n\nexport default module\n","/**\n * @description src entry\n * @author wangfupeng\n */\n\n// 全局注册自定义组件,用于渲染公式\nimport './register-custom-elem'\n\nimport module from './module/index'\n\nexport default module\n"],"x_google_ignoreList":[5,6,8,9],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@wangeditor-next/plugin-formula",
3
- "version": "6.4.2",
3
+ "version": "6.5.0",
4
4
  "description": "wangEditor next formula 公式",
5
5
  "author": "cycleccc <2991205548@qq.com>",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/wangeditor-next/wangEditor-next#readme",
8
8
  "license": "MIT",
9
- "types": "dist/plugin-formula/src/index.d.ts",
9
+ "types": "dist/index.d.ts",
10
10
  "main": "dist/index.js",
11
11
  "module": "dist/index.mjs",
12
12
  "exports": {
13
13
  ".": {
14
- "types": "./dist/plugin-formula/src/index.d.ts",
14
+ "types": "./dist/index.d.ts",
15
15
  "import": "./dist/index.mjs",
16
16
  "require": "./dist/index.js"
17
17
  }
@@ -33,23 +33,22 @@
33
33
  "url": "https://github.com/wangeditor-next/wangEditor-next/issues"
34
34
  },
35
35
  "devDependencies": {
36
- "katex": "^0.16.0",
37
- "@wangeditor-next-shared/rollup-config": "^0.0.2"
36
+ "katex": "^0.16.0"
38
37
  },
39
38
  "peerDependencies": {
40
39
  "katex": "^0.16.0",
41
40
  "snabbdom": "^3.6.0",
42
- "@wangeditor-next/editor": "^6.4.2"
41
+ "@wangeditor-next/editor": "^6.5.0"
43
42
  },
44
43
  "dependencies": {
45
44
  "dom7": "^4.0.0",
46
- "nanoid": "^5.0.0"
45
+ "nanoid": "^5.1.16"
47
46
  },
48
47
  "scripts": {
49
- "dev": "cross-env NODE_ENV=development rollup -c rollup.config.js",
50
- "dev-watch": "cross-env NODE_ENV=development rollup -c rollup.config.js -w",
51
- "build": "cross-env NODE_ENV=production rollup -c rollup.config.js",
52
- "dev-size-stats": "cross-env NODE_ENV=development:size_stats rollup -c rollup.config.js",
53
- "size-stats": "cross-env NODE_ENV=production:size_stats rollup -c rollup.config.js"
48
+ "dev": "cross-env NODE_ENV=development tsdown -c tsdown.config.js",
49
+ "dev-watch": "cross-env NODE_ENV=development tsdown -c tsdown.config.js -w",
50
+ "build": "cross-env NODE_ENV=production tsdown -c tsdown.config.js",
51
+ "dev-size-stats": "cross-env NODE_ENV=development:size_stats tsdown -c tsdown.config.js --report",
52
+ "size-stats": "cross-env NODE_ENV=production:size_stats tsdown -c tsdown.config.js --report"
54
53
  }
55
54
  }
@@ -1,49 +0,0 @@
1
- /**
2
- * @description icon svg
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 BOLD_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M707.872 484.64A254.88 254.88 0 0 0 768 320c0-141.152-114.848-256-256-256H192v896h384c141.152 0 256-114.848 256-256a256.096 256.096 0 0 0-124.128-219.36zM384 192h101.504c55.968 0 101.504 57.408 101.504 128s-45.536 128-101.504 128H384V192z m159.008 640H384v-256h159.008c58.464 0 106.016 57.408 106.016 128s-47.552 128-106.016 128z\"></path></svg>";
11
- export declare const UNDER_LINE_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M704 64l128 0 0 416c0 159.072-143.264 288-320 288s-320-128.928-320-288l0-416 128 0 0 416c0 40.16 18.24 78.688 51.36 108.512 36.896 33.216 86.848 51.488 140.64 51.488s103.744-18.304 140.64-51.488c33.12-29.792 51.36-68.352 51.36-108.512l0-416zM192 832l640 0 0 128-640 0z\"></path></svg>";
12
- export declare const WAVY_UNDERLINE_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M64 704c64-96 128-96 192 0s128 96 192 0 128-96 192 0 128 96 192 0 128-96 192 0v128c-64 96-128 96-192 0s-128-96-192 0-128 96-192 0-128-96-192 0-128 96-192 0V704z\"></path></svg>";
13
- export declare const EMPHASIS_DOT_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M256 128h128v512H256zM448 128h128v512H448zM640 128h128v512H640z\"></path><path d=\"M320 832m-64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0zM512 832m-64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0zM704 832m-64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z\"></path></svg>";
14
- export declare const ITALIC_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M896 64v64h-128L448 896h128v64H128v-64h128L576 128h-128V64z\"></path></svg>";
15
- export declare const THROUGH_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M1024 512v64h-234.496c27.52 38.496 42.496 82.688 42.496 128 0 70.88-36.672 139.04-100.576 186.976C672.064 935.488 594.144 960 512 960s-160.064-24.512-219.424-69.024C228.64 843.04 192 774.88 192 704h128c0 69.376 87.936 128 192 128s192-58.624 192-128-87.936-128-192-128H0v-64h299.52a385.984 385.984 0 0 1-6.944-5.024C228.64 459.04 192 390.88 192 320s36.672-139.04 100.576-186.976C351.936 88.512 429.856 64 512 64s160.064 24.512 219.424 69.024C795.328 180.96 832 249.12 832 320h-128c0-69.376-87.936-128-192-128s-192 58.624-192 128 87.936 128 192 128c78.976 0 154.048 22.688 212.48 64H1024z\"></path></svg>";
16
- export declare const CODE_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M576 736l96 96 320-320L672 192l-96 96 224 224zM448 288l-96-96L32 512l320 320 96-96-224-224z\"></path></svg>";
17
- export declare const ERASER_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M969.382408 288.738615l-319.401123-270.852152a67.074236 67.074236 0 0 0-96.459139 5.74922l-505.931379 574.922021a68.35184 68.35184 0 0 0-17.886463 47.910169 74.101061 74.101061 0 0 0 24.274486 47.910168l156.50655 132.232065h373.060512L975.131628 383.281347a67.074236 67.074236 0 0 0-5.74922-96.459139z m-440.134747 433.746725H264.144729l-90.071117-78.572676c-5.74922-5.74922-12.137243-12.137243-12.137243-17.886463a36.411728 36.411728 0 0 1 5.749221-24.274485l210.804741-240.828447 265.102932 228.691204z m-439.495945 180.781036h843.218964a60.047411 60.047411 0 1 1 0 120.733624H89.751716a60.047411 60.047411 0 1 1 0-120.733624z m0 0\"></path></svg>";
18
- export declare const LINK_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M440.224 635.776a51.84 51.84 0 0 1-36.768-15.232c-95.136-95.136-95.136-249.92 0-345.056l192-192C641.536 37.408 702.816 12.032 768 12.032s126.432 25.376 172.544 71.456c95.136 95.136 95.136 249.92 0 345.056l-87.776 87.776a51.968 51.968 0 1 1-73.536-73.536l87.776-87.776a140.16 140.16 0 0 0 0-197.984c-26.432-26.432-61.6-40.992-99.008-40.992s-72.544 14.56-99.008 40.992l-192 192a140.16 140.16 0 0 0 0 197.984 51.968 51.968 0 0 1-36.768 88.768z\"></path><path d=\"M256 1012a242.4 242.4 0 0 1-172.544-71.456c-95.136-95.136-95.136-249.92 0-345.056l87.776-87.776a51.968 51.968 0 1 1 73.536 73.536l-87.776 87.776a140.16 140.16 0 0 0 0 197.984c26.432 26.432 61.6 40.992 99.008 40.992s72.544-14.56 99.008-40.992l192-192a140.16 140.16 0 0 0 0-197.984 51.968 51.968 0 1 1 73.536-73.536c95.136 95.136 95.136 249.92 0 345.056l-192 192A242.4 242.4 0 0 1 256 1012z\"></path></svg>";
19
- export declare const UN_LINK_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M608.16328 811.815036c9.371954 9.371954 9.371954 24.56788 0 33.941834l-89.347563 89.347564c-118.525421 118.523421-311.38448 118.531421-429.919901 0-118.527421-118.529421-118.527421-311.39048 0-429.917901l89.349564-89.349563c9.371954-9.371954 24.56788-9.371954 33.941834 0l79.195613 79.195613c9.371954 9.371954 9.371954 24.56788 0 33.941834l-89.349563 89.347564c-56.143726 56.145726-56.143726 147.49928 0 203.645005 56.143726 56.143726 147.49928 56.145726 203.647005 0l89.347564-89.347563c9.371954-9.371954 24.56788-9.371954 33.941834 0l79.193613 79.195613z m-113.135447-520.429459c9.371954 9.371954 24.56788 9.371954 33.941834 0l89.347564-89.347564c56.143726-56.149726 147.49928-56.145726 203.647006 0 56.143726 56.145726 56.143726 147.49928 0 203.645006l-89.349564 89.347564c-9.371954 9.371954-9.371954 24.56788 0 33.941834l79.195613 79.195613c9.371954 9.371954 24.56788 9.371954 33.941834 0l89.349564-89.349563c118.529421-118.529421 118.529421-311.38848 0-429.917901-118.531421-118.527421-311.38848-118.527421-429.919901 0l-89.347563 89.347564c-9.371954 9.371954-9.371954 24.56788 0 33.941834l79.193613 79.195613z m469.653707 718.556492l45.253779-45.253779c18.745908-18.745908 18.745908-49.13776 0-67.881669L127.195629 14.062931c-18.745908-18.745908-49.13776-18.745908-67.881669 0L14.058181 59.31871c-18.745908 18.745908-18.745908 49.13776 0 67.881669l882.74169 882.74169c18.745908 18.743908 49.13776 18.743908 67.881669 0z\"></path></svg>";
20
- export declare const PENCIL_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M864 0a160 160 0 0 1 128 256l-64 64-224-224 64-64c26.752-20.096 59.968-32 96-32zM64 736l-64 288 288-64 592-592-224-224L64 736z m651.584-372.416l-448 448-55.168-55.168 448-448 55.168 55.168z\"></path></svg>";
21
- export declare const EXTERNAL_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M924.402464 1023.068211H0.679665V99.345412h461.861399v98.909208H99.596867v725.896389h725.896389V561.206811h98.909208z\" p-id=\"10909\"></path><path d=\"M930.805104 22.977336l69.965436 69.965436-453.492405 453.492404-69.965435-69.901489z\" p-id=\"10910\"></path><path d=\"M1022.464381 304.030081h-98.917201V99.345412H709.230573V0.428211h313.233808z\"></path></svg>";
22
- export declare const HEADER_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M960 960c-51.2 0-102.4-3.2-153.6-3.2-51.2 0-99.2 3.2-150.4 3.2-19.2 0-28.8-22.4-28.8-38.4 0-51.2 57.6-28.8 86.4-48 19.2-12.8 19.2-60.8 19.2-80v-224-19.2c-9.6-3.2-19.2-3.2-28.8-3.2H320c-9.6 0-19.2 0-28.8 3.2V780.8c0 22.4 0 80 22.4 92.8 28.8 19.2 96-6.4 96 44.8 0 16-9.6 41.6-28.8 41.6-54.4 0-105.6-3.2-160-3.2-48 0-96 3.2-147.2 3.2-19.2 0-28.8-22.4-28.8-38.4 0-51.2 51.2-28.8 80-48 19.2-12.8 19.2-60.8 19.2-83.2V294.4c0-28.8 3.2-115.2-22.4-131.2-25.6-16-86.4 9.6-86.4-41.6 0-16 6.4-41.6 28.8-41.6 51.2 0 105.6 3.2 156.8 3.2 48 0 96-3.2 144-3.2 19.2 0 28.8 22.4 28.8 41.6 0 48-57.6 25.6-83.2 41.6-19.2 12.8-19.2 73.6-19.2 92.8v201.6c6.4 3.2 16 3.2 22.4 3.2h400c6.4 0 12.8 0 22.4-3.2V256c0-22.4 0-80-19.2-92.8-28.8-16-86.4 6.4-86.4-41.6 0-16 9.6-41.6 28.8-41.6 51.2 0 99.2 3.2 150.4 3.2 48 0 99.2-3.2 147.2-3.2 19.2 0 28.8 22.4 28.8 41.6 0 51.2-57.6 25.6-86.4 41.6-19.2 12.8-19.2 70.4-19.2 92.8v537.6c0 19.2 0 67.2 19.2 80 28.8 19.2 89.6-6.4 89.6 44.8 0 19.2-6.4 41.6-28.8 41.6z\"></path></svg>";
23
- export declare const FONT_COLOR_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M64 864h896v96H64zM360.58 576h302.85l81.53 224h102.16L579.24 64H444.77L176.89 800h102.16l81.53-224zM512 159.96L628.49 480H395.52L512 159.96z\"></path></svg>";
24
- export declare const BG_COLOR_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M510.030769 315.076923l84.676923 196.923077h-177.230769l76.8-196.923077h15.753846zM945.230769 157.538462v708.923076c0 43.323077-35.446154 78.769231-78.769231 78.769231H157.538462c-43.323077 0-78.769231-35.446154-78.769231-78.769231V157.538462c0-43.323077 35.446154-78.769231 78.769231-78.769231h708.923076c43.323077 0 78.769231 35.446154 78.769231 78.769231z m-108.307692 643.938461L600.615385 216.615385c-5.907692-11.815385-15.753846-19.692308-29.538462-19.692308h-139.815385c-11.815385 0-23.630769 7.876923-27.56923 19.692308l-216.615385 584.861538c-3.938462 11.815385 3.938462 25.6 17.723077 25.6h80.738462c11.815385 0 23.630769-9.846154 27.56923-21.661538l63.015385-175.261539h263.876923l68.923077 175.261539c3.938462 11.815385 15.753846 21.661538 27.569231 21.661538h80.738461c13.784615 0 23.630769-13.784615 19.692308-25.6z\"></path></svg>";
25
- export declare const CLEAN_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M236.8 128L896 787.2V128H236.8z m614.4 704L192 172.8V832h659.2zM192 64h704c38.4 0 64 25.6 64 64v704c0 38.4-25.6 64-64 64H192c-38.4 0-64-25.6-64-64V128c0-38.4 25.6-64 64-64z\"></path></svg>";
26
- export declare const IMAGE_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M959.877 128l0.123 0.123v767.775l-0.123 0.122H64.102l-0.122-0.122V128.123l0.122-0.123h895.775zM960 64H64C28.795 64 0 92.795 0 128v768c0 35.205 28.795 64 64 64h896c35.205 0 64-28.795 64-64V128c0-35.205-28.795-64-64-64zM832 288.01c0 53.023-42.988 96.01-96.01 96.01s-96.01-42.987-96.01-96.01S682.967 192 735.99 192 832 234.988 832 288.01zM896 832H128V704l224.01-384 256 320h64l224.01-192z\"></path></svg>";
27
- export declare const TRASH_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M826.8032 356.5312c-19.328 0-36.3776 15.6928-36.3776 35.0464v524.2624c0 19.328-16 34.56-35.328 34.56H264.9344c-19.328 0-35.5072-15.3088-35.5072-34.56V390.0416c0-19.328-14.1568-35.0464-33.5104-35.0464s-33.5104 15.6928-33.5104 35.0464V915.712c0 57.9328 44.6208 108.288 102.528 108.288H755.2c57.9328 0 108.0832-50.4576 108.0832-108.288V391.4752c-0.1024-19.2512-17.1264-34.944-36.48-34.944z\" p-id=\"9577\"></path><path d=\"M437.1712 775.7568V390.6048c0-19.328-14.1568-35.0464-33.5104-35.0464s-33.5104 15.616-33.5104 35.0464v385.152c0 19.328 14.1568 35.0464 33.5104 35.0464s33.5104-15.7184 33.5104-35.0464zM649.7024 775.7568V390.6048c0-19.328-17.0496-35.0464-36.3776-35.0464s-36.3776 15.616-36.3776 35.0464v385.152c0 19.328 17.0496 35.0464 36.3776 35.0464s36.3776-15.7184 36.3776-35.0464zM965.0432 217.0368h-174.6176V145.5104c0-57.9328-47.2064-101.76-104.6528-101.76h-350.976c-57.8304 0-105.3952 43.8528-105.3952 101.76v71.5264H54.784c-19.4304 0-35.0464 14.1568-35.0464 33.5104 0 19.328 15.616 33.5104 35.0464 33.5104h910.3616c19.328 0 35.0464-14.1568 35.0464-33.5104 0-19.3536-15.6928-33.5104-35.1488-33.5104z m-247.3728 0H297.3952V145.5104c0-19.328 18.2016-34.7648 37.4272-34.7648h350.976c19.1488 0 31.872 15.1296 31.872 34.7648v71.5264z\"></path></svg>";
28
- export declare const QUOTE_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M894.6 907.1H605.4c-32.6 0-59-26.4-59-59V608.2l-4-14.9c0-315.9 125.5-485.1 376.5-507.5v59.8C752.7 180.4 711.3 315.8 711.3 442.4v41.2l31.5 12.3h151.8c32.6 0 59 26.4 59 59v293.2c0 32.5-26.4 59-59 59z m-472 0H133.4c-32.6 0-59-26.4-59-59V608.2l-4-14.9c0-315.9 125.5-485.1 376.5-507.5v59.8C280.7 180.4 239.3 315.8 239.3 442.4v41.2l31.5 12.3h151.8c32.6 0 59 26.4 59 59v293.2c0 32.5-26.4 59-59 59z\"></path></svg>";
29
- export declare const EMOTION_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M512 1024C230.4 1024 0 793.6 0 512S230.4 0 512 0s512 230.4 512 512-230.4 512-512 512z m0-102.4c226.742857 0 409.6-182.857143 409.6-409.6S738.742857 102.4 512 102.4 102.4 285.257143 102.4 512s182.857143 409.6 409.6 409.6z m-204.8-358.4h409.6c0 113.371429-91.428571 204.8-204.8 204.8s-204.8-91.428571-204.8-204.8z m0-102.4c-43.885714 0-76.8-32.914286-76.8-76.8s32.914286-76.8 76.8-76.8 76.8 32.914286 76.8 76.8-32.914286 76.8-76.8 76.8z m409.6 0c-43.885714 0-76.8-32.914286-76.8-76.8s32.914286-76.8 76.8-76.8c43.885714 0 76.8 32.914286 76.8 76.8s-32.914286 76.8-76.8 76.8z\"></path></svg>";
30
- export declare const FONT_SIZE_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M64 512h384v128h-128V1024h-128V640h-128z m896-256H708.2496v768h-136.4992V256H320V128h640z\"></path></svg>";
31
- export declare const FONT_FAMILY_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M956.788364 152.110545h-24.110546l23.924364 9.029819 0.186182 121.018181h-65.070546l-86.574545-130.048H566.551273v650.14691l130.048 64.977454v65.163636h-390.050909v-65.163636l129.954909-64.977454V152.110545H198.283636L111.429818 282.065455H46.545455V69.259636C46.545455 33.792 82.664727 22.062545 98.955636 22.062545h812.683637c23.738182 0 45.056 15.173818 45.056 41.053091V169.425455v-17.221819z\"></path></svg>";
32
- export declare const INDENT_LEFT_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M0 64h1024v128H0z m384 192h640v128H384z m0 192h640v128H384z m0 192h640v128H384zM0 832h1024v128H0z m256-512v384l-256-192z\"></path></svg>";
33
- export declare const INDENT_RIGHT_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M0 64h1024v128H0z m384 192h640v128H384z m0 192h640v128H384z m0 192h640v128H384zM0 832h1024v128H0z m0-128V320l256 192z\"></path></svg>";
34
- export declare const JUSTIFY_LEFT_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M768 793.6v102.4H51.2v-102.4h716.8z m204.8-230.4v102.4H51.2v-102.4h921.6z m-204.8-230.4v102.4H51.2v-102.4h716.8zM972.8 102.4v102.4H51.2V102.4h921.6z\"></path></svg>";
35
- export declare const JUSTIFY_RIGHT_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M972.8 793.6v102.4H256v-102.4h716.8z m0-230.4v102.4H51.2v-102.4h921.6z m0-230.4v102.4H256v-102.4h716.8zM972.8 102.4v102.4H51.2V102.4h921.6z\"></path></svg>";
36
- export declare const JUSTIFY_CENTER_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M870.4 793.6v102.4H153.6v-102.4h716.8z m102.4-230.4v102.4H51.2v-102.4h921.6z m-102.4-230.4v102.4H153.6v-102.4h716.8zM972.8 102.4v102.4H51.2V102.4h921.6z\"></path></svg>";
37
- export declare const JUSTIFY_JUSTIFY_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M0 64h1024v128H0z m0 192h1024v128H0z m0 192h1024v128H0z m0 192h1024v128H0z m0 192h1024v128H0z\"></path></svg>";
38
- export declare const LINE_HEIGHT_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M964 788a8 8 0 0 1 8 8v98a8 8 0 0 1-8 8H438a8 8 0 0 1-8-8v-98a8 8 0 0 1 8-8h526zM198.93 144.306c6.668-5.798 16.774-5.094 22.573 1.574l122.26 140.582a16 16 0 0 1 3.927 10.5c0 8.836-7.164 16-16 16h-61.8a8 8 0 0 0-8 8v390.077h69.819a16 16 0 0 1 10.502 3.928c6.666 5.8 7.37 15.906 1.57 22.573L221.476 878.123a16 16 0 0 1-1.57 1.57c-6.668 5.8-16.774 5.097-22.574-1.57L75.051 737.538a16 16 0 0 1-3.928-10.5c0-8.837 7.163-16 16-16h69.822V312.96H87.127a16 16 0 0 1-10.502-3.928c-6.666-5.8-7.37-15.906-1.57-22.573l122.303-140.582a16 16 0 0 1 1.572-1.572zM964 465a8 8 0 0 1 8 8v98a8 8 0 0 1-8 8H438a8 8 0 0 1-8-8v-98a8 8 0 0 1 8-8h526z m0-323a8 8 0 0 1 8 8v98a8 8 0 0 1-8 8H438a8 8 0 0 1-8-8v-98a8 8 0 0 1 8-8h526z\"></path></svg>";
39
- export declare const UNDO_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M512 64A510.272 510.272 0 0 0 149.984 213.984L0.032 64v384h384L240.512 304.48A382.784 382.784 0 0 1 512.032 192c212.064 0 384 171.936 384 384 0 114.688-50.304 217.632-130.016 288l84.672 96a510.72 510.72 0 0 0 173.344-384c0-282.784-229.216-512-512-512z\"></path></svg>";
40
- export declare const REDO_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M0.00032 576a510.72 510.72 0 0 0 173.344 384l84.672-96A383.136 383.136 0 0 1 128.00032 576C128.00032 363.936 299.93632 192 512.00032 192c106.048 0 202.048 42.976 271.52 112.48L640.00032 448h384V64l-149.984 149.984A510.272 510.272 0 0 0 512.00032 64C229.21632 64 0.00032 293.216 0.00032 576z\"></path></svg>";
41
- export declare const DIVIDER_SVG = "<svg viewBox=\"0 0 1092 1024\"><path d=\"M0 51.2m51.2 0l989.866667 0q51.2 0 51.2 51.2l0 0q0 51.2-51.2 51.2l-989.866667 0q-51.2 0-51.2-51.2l0 0q0-51.2 51.2-51.2Z\"></path><path d=\"M0 460.8m51.2 0l170.666667 0q51.2 0 51.2 51.2l0 0q0 51.2-51.2 51.2l-170.666667 0q-51.2 0-51.2-51.2l0 0q0-51.2 51.2-51.2Z\"></path><path d=\"M819.2 460.8m51.2 0l170.666667 0q51.2 0 51.2 51.2l0 0q0 51.2-51.2 51.2l-170.666667 0q-51.2 0-51.2-51.2l0 0q0-51.2 51.2-51.2Z\"></path><path d=\"M409.6 460.8m51.2 0l170.666667 0q51.2 0 51.2 51.2l0 0q0 51.2-51.2 51.2l-170.666667 0q-51.2 0-51.2-51.2l0 0q0-51.2 51.2-51.2Z\"></path><path d=\"M0 870.4m51.2 0l989.866667 0q51.2 0 51.2 51.2l0 0q0 51.2-51.2 51.2l-989.866667 0q-51.2 0-51.2-51.2l0 0q0-51.2 51.2-51.2Z\"></path></svg>";
42
- export declare const CODE_BLOCK_SVG = "<svg viewBox=\"0 0 1280 1024\"><path d=\"M832 736l96 96 320-320L928 192l-96 96 224 224zM448 288l-96-96L32 512l320 320 96-96-224-224zM701.312 150.528l69.472 18.944-192 704.032-69.472-18.944 192-704.032z\"></path></svg>";
43
- export declare const FULL_SCREEN_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M133.705143 335.433143V133.851429h201.581714a29.622857 29.622857 0 0 0 29.622857-29.549715V68.754286a29.622857 29.622857 0 0 0-29.622857-29.622857H61.732571A22.893714 22.893714 0 0 0 38.765714 62.025143V335.725714c0 16.310857 13.238857 29.622857 29.622857 29.622857h35.547429a29.842286 29.842286 0 0 0 29.696-29.842285zM690.980571 133.851429h201.581715v201.654857c0 16.310857 13.238857 29.549714 29.622857 29.549714h35.547428a29.622857 29.622857 0 0 0 29.549715-29.549714V61.952a22.893714 22.893714 0 0 0-22.820572-22.893714h-273.554285a29.622857 29.622857 0 0 0-29.549715 29.622857v35.547428c0 16.310857 13.238857 29.696 29.622857 29.696zM335.286857 892.781714H133.705143V691.2a29.622857 29.622857 0 0 0-29.622857-29.622857H68.534857a29.622857 29.622857 0 0 0-29.549714 29.622857v273.554286c0 12.653714 10.24 22.893714 22.820571 22.893714h273.554286a29.622857 29.622857 0 0 0 29.696-29.622857v-35.547429a29.769143 29.769143 0 0 0-29.769143-29.696z m557.348572-201.581714v201.581714H690.907429a29.622857 29.622857 0 0 0-29.622858 29.622857v35.547429c0 16.310857 13.238857 29.622857 29.622858 29.622857h273.554285c12.580571 0 22.893714-10.313143 22.893715-22.893714V691.2a29.622857 29.622857 0 0 0-29.622858-29.622857h-35.547428a29.622857 29.622857 0 0 0-29.696 29.622857z\"></path></svg>";
44
- export declare const CANCEL_FULL_SCREEN_SVG = "<svg t=\"1723361745825\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"8705\" width=\"200\" height=\"200\"><path d=\"M703.926857 362.642286a42.642286 42.642286 0 0 1-42.642286-42.642286V128a42.642286 42.642286 0 1 1 85.357715 0v149.357714h149.357714c21.211429 0 38.765714 15.433143 42.057143 35.693715l0.585143 6.948571a42.642286 42.642286 0 0 1-42.642286 42.642286H703.926857zM703.926857 938.642286a42.642286 42.642286 0 0 1-42.642286-42.642286V704c0-23.552 19.090286-42.642286 42.642286-42.642286h192.073143a42.642286 42.642286 0 1 1 0 85.284572l-149.357714 0.073143v149.284571c0 21.211429-15.506286 38.765714-35.84 42.130286l-6.875429 0.512zM319.853714 938.642286a42.642286 42.642286 0 0 1-42.642285-42.642286v-149.284571H127.853714a42.642286 42.642286 0 0 1-42.130285-35.84l-0.585143-6.875429c0-23.552 19.163429-42.642286 42.715428-42.642286h192c23.552 0 42.715429 19.017143 42.715429 42.642286v192a42.642286 42.642286 0 0 1-42.715429 42.642286zM127.853714 362.642286a42.642286 42.642286 0 1 1 0-85.284572H277.211429V128c0-21.211429 15.433143-38.765714 35.766857-42.130286l6.875428-0.512c23.552 0 42.715429 19.017143 42.715429 42.642286v192a42.642286 42.642286 0 0 1-42.715429 42.642286H127.853714z\" fill=\"#333333\" p-id=\"8706\"></path></svg>";
45
- export declare const SUP_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M768 206.016v50.016h128v64h-192V174.016l128-60V64h-128V0h192v146.016zM676 256h-136L352 444 164 256H28l256 256-256 256h136L352 580 540 768h136l-256-256z\"></path></svg>";
46
- export declare const SUB_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M768 910.016v50.016h128v64h-192v-146.016l128-60V768h-128v-64h192v146.016zM676 256h-136L352 444 164 256H28l256 256-256 256h136L352 580 540 768h136l-256-256z\"></path></svg>";
47
- export declare const CHECK_BOX_SVG = "<svg viewBox=\"0 0 1024 1024\"><path d=\"M278.755556 403.911111l-79.644445 79.644445L455.111111 739.555556l568.888889-568.888889-79.644444-79.644445L455.111111 580.266667l-176.355555-176.355556zM910.222222 910.222222H113.777778V113.777778h568.888889V0H113.777778C51.2 0 0 51.2 0 113.777778v796.444444c0 62.577778 51.2 113.777778 113.777778 113.777778h796.444444c62.577778 0 113.777778-51.2 113.777778-113.777778V455.111111h-113.777778v455.111111z\"></path></svg>";
48
- export declare const ENTER_SVG = "<svg viewBox=\"0 0 1255 1024\"><path d=\"M1095.111111 731.477333h-625.777778V1024L0 658.318222 469.333333 292.408889v292.636444h625.777778V0h156.444445v731.477333z\"></path></svg>";
49
- export declare const FORMAT_PAINTER = "<svg viewBox=\"0 0 24 24\"><path d=\"M8 19.997v-5h2v5h9v-7H5v7zm-4-9h16v-3h-6v-4h-4v4H4zm-1 10v-8H2v-6a1 1 0 0 1 1-1h5v-3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3h5a1 1 0 0 1 1 1v6h-1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1\"/></svg>";
@@ -1,9 +0,0 @@
1
- /**
2
- * @description basic index
3
- * @author wangfupeng
4
- */
5
- import './assets/index.less';
6
- import './locale/index';
7
- declare const _default: Partial<import("@wangeditor-next/core").IModuleConf>[];
8
- export default _default;
9
- export * from './modules/image/helper';