suneditor 3.0.0-alpha.9 → 3.0.0-beta.2

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 (315) hide show
  1. package/CONTRIBUTING.md +170 -22
  2. package/{LICENSE.txt → LICENSE} +9 -9
  3. package/README.md +168 -30
  4. package/dist/suneditor.min.css +1 -1
  5. package/dist/suneditor.min.js +1 -1
  6. package/package.json +47 -21
  7. package/src/assets/design/color.css +121 -0
  8. package/src/assets/design/index.css +3 -0
  9. package/src/assets/design/size.css +35 -0
  10. package/src/assets/design/typography.css +37 -0
  11. package/src/assets/icons/defaultIcons.js +232 -0
  12. package/src/assets/suneditor-contents.css +181 -46
  13. package/src/assets/suneditor.css +1403 -650
  14. package/src/core/base/eventHandlers/handler_toolbar.js +35 -14
  15. package/src/core/base/eventHandlers/handler_ww_clipboard.js +23 -4
  16. package/src/core/base/eventHandlers/handler_ww_dragDrop.js +49 -10
  17. package/src/core/base/eventHandlers/handler_ww_key_input.js +422 -224
  18. package/src/core/base/eventHandlers/handler_ww_mouse.js +83 -36
  19. package/src/core/base/eventManager.js +520 -179
  20. package/src/core/base/history.js +95 -41
  21. package/src/core/class/char.js +26 -11
  22. package/src/core/class/component.js +345 -137
  23. package/src/core/class/format.js +683 -519
  24. package/src/core/class/html.js +485 -305
  25. package/src/core/class/menu.js +133 -47
  26. package/src/core/class/nodeTransform.js +90 -71
  27. package/src/core/class/offset.js +408 -92
  28. package/src/core/class/selection.js +216 -106
  29. package/src/core/class/shortcuts.js +68 -8
  30. package/src/core/class/toolbar.js +106 -116
  31. package/src/core/class/ui.js +422 -0
  32. package/src/core/class/viewer.js +178 -74
  33. package/src/core/editor.js +496 -389
  34. package/src/core/section/actives.js +123 -27
  35. package/src/core/section/constructor.js +615 -206
  36. package/src/core/section/context.js +28 -23
  37. package/src/core/section/documentType.js +561 -0
  38. package/src/editorInjector/_classes.js +19 -5
  39. package/src/editorInjector/_core.js +71 -7
  40. package/src/editorInjector/index.js +63 -1
  41. package/src/events.js +622 -0
  42. package/src/helper/clipboard.js +59 -0
  43. package/src/helper/converter.js +202 -26
  44. package/src/helper/dom/domCheck.js +304 -0
  45. package/src/helper/dom/domQuery.js +669 -0
  46. package/src/helper/dom/domUtils.js +557 -0
  47. package/src/helper/dom/index.js +12 -0
  48. package/src/helper/env.js +46 -56
  49. package/src/helper/index.js +10 -4
  50. package/src/helper/keyCodeMap.js +183 -0
  51. package/src/helper/numbers.js +12 -8
  52. package/src/helper/unicode.js +9 -5
  53. package/src/langs/ckb.js +74 -4
  54. package/src/langs/cs.js +72 -2
  55. package/src/langs/da.js +73 -3
  56. package/src/langs/de.js +73 -4
  57. package/src/langs/en.js +23 -3
  58. package/src/langs/es.js +73 -4
  59. package/src/langs/fa.js +75 -3
  60. package/src/langs/fr.js +73 -3
  61. package/src/langs/he.js +73 -4
  62. package/src/langs/hu.js +230 -0
  63. package/src/langs/index.js +7 -3
  64. package/src/langs/it.js +70 -1
  65. package/src/langs/ja.js +72 -4
  66. package/src/langs/km.js +230 -0
  67. package/src/langs/ko.js +22 -2
  68. package/src/langs/lv.js +74 -5
  69. package/src/langs/nl.js +73 -4
  70. package/src/langs/pl.js +73 -4
  71. package/src/langs/pt_br.js +70 -1
  72. package/src/langs/ro.js +74 -5
  73. package/src/langs/ru.js +73 -4
  74. package/src/langs/se.js +73 -4
  75. package/src/langs/tr.js +73 -1
  76. package/src/langs/{ua.js → uk.js} +75 -6
  77. package/src/langs/ur.js +77 -8
  78. package/src/langs/zh_cn.js +74 -5
  79. package/src/modules/ApiManager.js +77 -54
  80. package/src/modules/Browser.js +667 -0
  81. package/src/modules/ColorPicker.js +162 -102
  82. package/src/modules/Controller.js +273 -142
  83. package/src/modules/Figure.js +925 -484
  84. package/src/modules/FileManager.js +121 -69
  85. package/src/modules/HueSlider.js +113 -61
  86. package/src/modules/Modal.js +291 -122
  87. package/src/modules/ModalAnchorEditor.js +383 -234
  88. package/src/modules/SelectMenu.js +270 -168
  89. package/src/modules/_DragHandle.js +2 -1
  90. package/src/modules/index.js +3 -3
  91. package/src/plugins/browser/audioGallery.js +83 -0
  92. package/src/plugins/browser/fileBrowser.js +103 -0
  93. package/src/plugins/browser/fileGallery.js +83 -0
  94. package/src/plugins/browser/imageGallery.js +81 -0
  95. package/src/plugins/browser/videoGallery.js +103 -0
  96. package/src/plugins/command/blockquote.js +40 -27
  97. package/src/plugins/command/exportPDF.js +134 -0
  98. package/src/plugins/command/fileUpload.js +229 -162
  99. package/src/plugins/command/list_bulleted.js +83 -47
  100. package/src/plugins/command/list_numbered.js +83 -47
  101. package/src/plugins/dropdown/align.js +66 -54
  102. package/src/plugins/dropdown/backgroundColor.js +63 -49
  103. package/src/plugins/dropdown/font.js +71 -47
  104. package/src/plugins/dropdown/fontColor.js +63 -48
  105. package/src/plugins/dropdown/formatBlock.js +70 -33
  106. package/src/plugins/dropdown/hr.js +92 -51
  107. package/src/plugins/dropdown/layout.js +37 -26
  108. package/src/plugins/dropdown/lineHeight.js +54 -38
  109. package/src/plugins/dropdown/list.js +60 -45
  110. package/src/plugins/dropdown/paragraphStyle.js +51 -30
  111. package/src/plugins/dropdown/table.js +2003 -813
  112. package/src/plugins/dropdown/template.js +38 -26
  113. package/src/plugins/dropdown/textStyle.js +43 -31
  114. package/src/plugins/field/mention.js +147 -86
  115. package/src/plugins/index.js +32 -6
  116. package/src/plugins/input/fontSize.js +161 -108
  117. package/src/plugins/input/pageNavigator.js +70 -0
  118. package/src/plugins/modal/audio.js +358 -173
  119. package/src/plugins/modal/drawing.js +531 -0
  120. package/src/plugins/modal/embed.js +886 -0
  121. package/src/plugins/modal/image.js +674 -362
  122. package/src/plugins/modal/link.js +100 -71
  123. package/src/plugins/modal/math.js +367 -167
  124. package/src/plugins/modal/video.js +691 -335
  125. package/src/plugins/popup/anchor.js +222 -0
  126. package/src/suneditor.js +50 -13
  127. package/src/themes/dark.css +122 -0
  128. package/src/typedef.js +130 -0
  129. package/types/assets/icons/defaultIcons.d.ts +153 -0
  130. package/types/core/base/eventHandlers/handler_toolbar.d.ts +41 -0
  131. package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +40 -0
  132. package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +35 -0
  133. package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +45 -0
  134. package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +39 -0
  135. package/types/core/base/eventManager.d.ts +385 -0
  136. package/types/core/base/history.d.ts +81 -0
  137. package/types/core/class/char.d.ts +60 -0
  138. package/types/core/class/component.d.ts +212 -0
  139. package/types/core/class/format.d.ts +616 -0
  140. package/types/core/class/html.d.ts +422 -0
  141. package/types/core/class/menu.d.ts +126 -0
  142. package/types/core/class/nodeTransform.d.ts +93 -0
  143. package/types/core/class/offset.d.ts +522 -0
  144. package/types/core/class/selection.d.ts +188 -0
  145. package/types/core/class/shortcuts.d.ts +142 -0
  146. package/types/core/class/toolbar.d.ts +189 -0
  147. package/types/core/class/ui.d.ts +164 -0
  148. package/types/core/class/viewer.d.ts +140 -0
  149. package/types/core/editor.d.ts +610 -0
  150. package/types/core/section/actives.d.ts +46 -0
  151. package/types/core/section/constructor.d.ts +777 -0
  152. package/types/core/section/context.d.ts +45 -0
  153. package/types/core/section/documentType.d.ts +178 -0
  154. package/types/editorInjector/_classes.d.ts +41 -0
  155. package/types/editorInjector/_core.d.ts +92 -0
  156. package/types/editorInjector/index.d.ts +71 -0
  157. package/types/events.d.ts +273 -0
  158. package/types/helper/clipboard.d.ts +12 -0
  159. package/types/helper/converter.d.ts +197 -0
  160. package/types/helper/dom/domCheck.d.ts +189 -0
  161. package/types/helper/dom/domQuery.d.ts +223 -0
  162. package/types/helper/dom/domUtils.d.ts +226 -0
  163. package/types/helper/dom/index.d.ts +9 -0
  164. package/types/helper/env.d.ts +132 -0
  165. package/types/helper/index.d.ts +174 -0
  166. package/types/helper/keyCodeMap.d.ts +110 -0
  167. package/types/helper/numbers.d.ts +46 -0
  168. package/types/helper/unicode.d.ts +28 -0
  169. package/types/index.d.ts +120 -0
  170. package/{typings/Lang.d.ts → types/langs/_Lang.d.ts} +173 -103
  171. package/types/langs/ckb.d.ts +3 -0
  172. package/types/langs/cs.d.ts +3 -0
  173. package/types/langs/da.d.ts +3 -0
  174. package/types/langs/de.d.ts +3 -0
  175. package/types/langs/en.d.ts +3 -0
  176. package/types/langs/es.d.ts +3 -0
  177. package/types/langs/fa.d.ts +3 -0
  178. package/types/langs/fr.d.ts +3 -0
  179. package/types/langs/he.d.ts +3 -0
  180. package/types/langs/hu.d.ts +3 -0
  181. package/types/langs/index.d.ts +54 -0
  182. package/types/langs/it.d.ts +3 -0
  183. package/types/langs/ja.d.ts +3 -0
  184. package/types/langs/km.d.ts +3 -0
  185. package/types/langs/ko.d.ts +3 -0
  186. package/types/langs/lv.d.ts +3 -0
  187. package/types/langs/nl.d.ts +3 -0
  188. package/types/langs/pl.d.ts +3 -0
  189. package/types/langs/pt_br.d.ts +3 -0
  190. package/types/langs/ro.d.ts +3 -0
  191. package/types/langs/ru.d.ts +3 -0
  192. package/types/langs/se.d.ts +3 -0
  193. package/types/langs/tr.d.ts +3 -0
  194. package/types/langs/uk.d.ts +3 -0
  195. package/types/langs/ur.d.ts +3 -0
  196. package/types/langs/zh_cn.d.ts +3 -0
  197. package/types/modules/ApiManager.d.ts +125 -0
  198. package/types/modules/Browser.d.ts +326 -0
  199. package/types/modules/ColorPicker.d.ts +131 -0
  200. package/types/modules/Controller.d.ts +251 -0
  201. package/types/modules/Figure.d.ts +517 -0
  202. package/types/modules/FileManager.d.ts +202 -0
  203. package/types/modules/HueSlider.d.ts +136 -0
  204. package/types/modules/Modal.d.ts +111 -0
  205. package/types/modules/ModalAnchorEditor.d.ts +236 -0
  206. package/types/modules/SelectMenu.d.ts +194 -0
  207. package/types/modules/_DragHandle.d.ts +7 -0
  208. package/types/modules/index.d.ts +26 -0
  209. package/types/plugins/browser/audioGallery.d.ts +55 -0
  210. package/types/plugins/browser/fileBrowser.d.ts +64 -0
  211. package/types/plugins/browser/fileGallery.d.ts +55 -0
  212. package/types/plugins/browser/imageGallery.d.ts +51 -0
  213. package/types/plugins/browser/videoGallery.d.ts +57 -0
  214. package/types/plugins/command/blockquote.d.ts +28 -0
  215. package/types/plugins/command/exportPDF.d.ts +46 -0
  216. package/types/plugins/command/fileUpload.d.ts +156 -0
  217. package/types/plugins/command/list_bulleted.d.ts +46 -0
  218. package/types/plugins/command/list_numbered.d.ts +46 -0
  219. package/types/plugins/dropdown/align.d.ts +60 -0
  220. package/types/plugins/dropdown/backgroundColor.d.ts +63 -0
  221. package/types/plugins/dropdown/font.d.ts +54 -0
  222. package/types/plugins/dropdown/fontColor.d.ts +63 -0
  223. package/types/plugins/dropdown/formatBlock.d.ts +54 -0
  224. package/types/plugins/dropdown/hr.d.ts +71 -0
  225. package/types/plugins/dropdown/layout.d.ts +40 -0
  226. package/types/plugins/dropdown/lineHeight.d.ts +50 -0
  227. package/types/plugins/dropdown/list.d.ts +39 -0
  228. package/types/plugins/dropdown/paragraphStyle.d.ts +54 -0
  229. package/types/plugins/dropdown/table.d.ts +627 -0
  230. package/types/plugins/dropdown/template.d.ts +40 -0
  231. package/types/plugins/dropdown/textStyle.d.ts +41 -0
  232. package/types/plugins/field/mention.d.ts +102 -0
  233. package/types/plugins/index.d.ts +107 -0
  234. package/types/plugins/input/fontSize.d.ts +170 -0
  235. package/types/plugins/input/pageNavigator.d.ts +28 -0
  236. package/types/plugins/modal/audio.d.ts +269 -0
  237. package/types/plugins/modal/drawing.d.ts +246 -0
  238. package/types/plugins/modal/embed.d.ts +387 -0
  239. package/types/plugins/modal/image.d.ts +451 -0
  240. package/types/plugins/modal/link.d.ts +128 -0
  241. package/types/plugins/modal/math.d.ts +193 -0
  242. package/types/plugins/modal/video.d.ts +485 -0
  243. package/types/plugins/popup/anchor.d.ts +56 -0
  244. package/types/suneditor.d.ts +51 -0
  245. package/types/typedef.d.ts +233 -0
  246. package/.eslintignore +0 -7
  247. package/.eslintrc.json +0 -64
  248. package/src/assets/icons/_default.js +0 -194
  249. package/src/core/base/events.js +0 -320
  250. package/src/core/class/notice.js +0 -42
  251. package/src/helper/domUtils.js +0 -1177
  252. package/src/modules/FileBrowser.js +0 -271
  253. package/src/plugins/command/exportPdf.js +0 -168
  254. package/src/plugins/fileBrowser/imageGallery.js +0 -81
  255. package/src/themes/test.css +0 -61
  256. package/typings/CommandPlugin.d.ts +0 -8
  257. package/typings/DialogPlugin.d.ts +0 -20
  258. package/typings/FileBrowserPlugin.d.ts +0 -30
  259. package/typings/Module.d.ts +0 -15
  260. package/typings/Plugin.d.ts +0 -42
  261. package/typings/SubmenuPlugin.d.ts +0 -8
  262. package/typings/_classes.d.ts +0 -17
  263. package/typings/_colorPicker.d.ts +0 -60
  264. package/typings/_core.d.ts +0 -55
  265. package/typings/align.d.ts +0 -5
  266. package/typings/audio.d.ts +0 -5
  267. package/typings/backgroundColor.d.ts +0 -5
  268. package/typings/blockquote.d.ts +0 -5
  269. package/typings/char.d.ts +0 -39
  270. package/typings/component.d.ts +0 -38
  271. package/typings/context.d.ts +0 -39
  272. package/typings/converter.d.ts +0 -33
  273. package/typings/dialog.d.ts +0 -28
  274. package/typings/domUtils.d.ts +0 -361
  275. package/typings/editor.d.ts +0 -7
  276. package/typings/editor.ts +0 -542
  277. package/typings/env.d.ts +0 -70
  278. package/typings/eventManager.d.ts +0 -37
  279. package/typings/events.d.ts +0 -262
  280. package/typings/fileBrowser.d.ts +0 -42
  281. package/typings/fileManager.d.ts +0 -67
  282. package/typings/font.d.ts +0 -5
  283. package/typings/fontColor.d.ts +0 -5
  284. package/typings/fontSize.d.ts +0 -5
  285. package/typings/format.d.ts +0 -191
  286. package/typings/formatBlock.d.ts +0 -5
  287. package/typings/history.d.ts +0 -48
  288. package/typings/horizontalRule.d.ts +0 -5
  289. package/typings/image.d.ts +0 -5
  290. package/typings/imageGallery.d.ts +0 -5
  291. package/typings/index.d.ts +0 -21
  292. package/typings/index.modules.d.ts +0 -11
  293. package/typings/index.plugins.d.ts +0 -58
  294. package/typings/lineHeight.d.ts +0 -5
  295. package/typings/link.d.ts +0 -5
  296. package/typings/list.d.ts +0 -5
  297. package/typings/math.d.ts +0 -5
  298. package/typings/mediaContainer.d.ts +0 -25
  299. package/typings/mention.d.ts +0 -5
  300. package/typings/node.d.ts +0 -57
  301. package/typings/notice.d.ts +0 -16
  302. package/typings/numbers.d.ts +0 -29
  303. package/typings/offset.d.ts +0 -24
  304. package/typings/options.d.ts +0 -589
  305. package/typings/paragraphStyle.d.ts +0 -5
  306. package/typings/resizing.d.ts +0 -141
  307. package/typings/selection.d.ts +0 -94
  308. package/typings/shortcuts.d.ts +0 -13
  309. package/typings/suneditor.d.ts +0 -9
  310. package/typings/table.d.ts +0 -5
  311. package/typings/template.d.ts +0 -5
  312. package/typings/textStyle.d.ts +0 -5
  313. package/typings/toolbar.d.ts +0 -32
  314. package/typings/unicode.d.ts +0 -25
  315. package/typings/video.d.ts +0 -5
@@ -1,361 +0,0 @@
1
- class domUtils {
2
- /**
3
- * @description Create Element node
4
- * @param elementName Element name
5
- * @param attributes The attributes of the tag. {style: "font-size:12px;..", class: "el_class",..}
6
- * @param {string|Element|null|undefined} inner A innerHTML or inner element.
7
- * @returns
8
- */
9
- createElement(elementName: string, attributes?: Record<string, string> | null, inner?: string | Element | null): Element;
10
-
11
- /**
12
- * @description Create text node
13
- * @param text text content
14
- * @returns
15
- */
16
- createTextNode(text: string): Node;
17
-
18
- /**
19
- * @description Get the argument iframe's document object
20
- * @param iframe Iframe element (this.editor.frameContext('wysiwygFrame'))
21
- * @returns
22
- */
23
- getIframeDocument(iframe: Element): Document;
24
-
25
- /**
26
- * @description Get attributes of argument element to string ('class="---" name="---" ')
27
- * @param element Element object
28
- * @param exceptAttrs Array of attribute names to exclude from the result
29
- * @returns
30
- */
31
- getAttributesToString(element: Element, exceptAttrs?: string[]): string;
32
-
33
- /**
34
- * @description Returns the index compared to other sibling nodes.
35
- * @param node The Node to find index
36
- * @returns
37
- */
38
- getPositionIndex(node: Node): number;
39
-
40
- /**
41
- * @description Returns the position of the "node" in the "parentNode" in a numerical array.
42
- * ex) <p><span>aa</span><span>bb</span></p> : getNodePath(node: "bb", parentNode: "<P>") -> [1, 0]
43
- * @param node The Node to find position path
44
- * @param parentNode Parent node. If null, wysiwyg div area
45
- * @param _newOffsets If you send an object of the form "{s: 0, e: 0}", the text nodes that are attached together are merged into one, centered on the "node" argument.
46
- * "_newOffsets.s" stores the length of the combined characters after "node" and "_newOffsets.e" stores the length of the combined characters before "node".
47
- * Do not use unless absolutely necessary.
48
- * @returns
49
- */
50
- getNodePath(node: Node, parentNode?: Node, _newOffsets?: { s: number; e: number }): number[];
51
-
52
- /**
53
- * @description Returns the node in the location of the path array obtained from "util.getNodePath".
54
- * @param offsets Position array, array obtained from "util.getNodePath"
55
- * @param parentNode Base parent element
56
- * @returns
57
- */
58
- getNodeFromPath(offsets: number[], parentNode: Node): Node;
59
-
60
- /**
61
- * @description Get all "children" of the argument value element (Without text nodes)
62
- * @param element element to get child node
63
- * @param validation Conditional function
64
- * @returns
65
- */
66
- getListChildren(element: Element, validation?: Function): Element[];
67
-
68
- /**
69
- * @description Get all "childNodes" of the argument value element (Include text nodes)
70
- * @param element element to get child node
71
- * @param validation Conditional function
72
- * @returns
73
- */
74
- getListChildNodes(element: Node, validation?: Function): Node[];
75
-
76
- /**
77
- * @description Returns the number of parents nodes.
78
- * "0" when the parent node is the WYSIWYG area.
79
- * "-1" when the element argument is the WYSIWYG area.
80
- * @param element The element to check
81
- * @returns
82
- */
83
- getNodeDepth(element: Node): number;
84
-
85
- /**
86
- * @description Sort a element array by depth of element.
87
- * @param array Array object
88
- * @param des true: descending order / false: ascending order
89
- */
90
- sortNodeByDepth(array: Node[], des: boolean): void;
91
-
92
- /**
93
- * @description Compares two elements to find a common ancestor, and returns the order of the two elements.
94
- * @param a Node to compare.
95
- * @param b Node to compare.
96
- * @returns
97
- */
98
- compareElements(a: Node, b: Node): { ancestor: Element | null; a: Node; b: Node; result: number };
99
-
100
- /**
101
- * @description Get the parent element of the argument value.
102
- * A tag that satisfies the query condition is imported.
103
- * Returns null if not found.
104
- * @param element Reference element
105
- * @param query Query String (nodeName, .className, #ID, :name) or validation function.
106
- * Not use it like jquery.
107
- * Only one condition can be entered at a time.
108
- * @returns
109
- */
110
- getParentElement(element: Node, query: string | Function): Element;
111
-
112
- /**
113
- * @description Get the child element of the argument value.
114
- * A tag that satisfies the query condition is imported.
115
- * Returns null if not found.
116
- * @param element Reference element
117
- * @param query Query String (nodeName, .className, #ID, :name) or validation function.
118
- * @param last If true returns the last node among the found child nodes. (default: first node)
119
- * Not use it like jquery.
120
- * Only one condition can be entered at a time.
121
- * @returns
122
- */
123
- getEdgeChild(element: Node, query: string | Function, last: boolean): Element;
124
-
125
- /**
126
- * @description 1. The first node of all the child nodes of the "first" element is returned.
127
- * 2. The last node of all the child nodes of the "last" element is returned.
128
- * 3. When there is no "last" element, the first and last nodes of all the children of the "first" element are returned.
129
- * { sc: "first", ec: "last" }
130
- * @param first First element
131
- * @param last Last element
132
- * @returns
133
- */
134
- getEdgeChildNodes(first: Node, last?: Node): { sc: Node; ec: Node | null };
135
-
136
- /**
137
- * @description Get the item from the array that matches the condition.
138
- * @param array Array to get item
139
- * @param validation Conditional function
140
- * @param multi If true, returns all items that meet the criteria otherwise, returns an empty array.
141
- * If false, returns only one item that meet the criteria otherwise return null.
142
- * @returns
143
- */
144
- getArrayItem(array: any[] | HTMLCollection | NodeList, validation: Function | null, multi: boolean): any[] | Node | null;
145
-
146
- /**
147
- * @description Check if an array contains an element
148
- * @param {Array|HTMLCollection|NodeList} array element array
149
- * @param {Node} element The element to check for
150
- * @returns {Boolean}
151
- */
152
- arrayIncludes(array: any[], element: Node): boolean;
153
-
154
- /**
155
- * @description Get the index of the argument value in the element array
156
- * @param array element array
157
- * @param element The element to find index
158
- * @returns
159
- */
160
- getArrayIndex(array: any[] | HTMLCollection | NodeList, element: Node): number;
161
-
162
- /**
163
- * @description Get the next index of the argument value in the element array
164
- * @param array element array
165
- * @param item The element to find index
166
- * @returns
167
- */
168
- nextIndex(array: any[] | HTMLCollection | NodeList, item: Node): number;
169
-
170
- /**
171
- * @description Add style and className of copyEl to originEl
172
- * @param originEl Origin element
173
- * @param copyEl Element to copy
174
- */
175
- copyTagAttributes(originEl: Element, copyEl: Element): void;
176
-
177
- /**
178
- * @description Copy and apply attributes of format tag that should be maintained. (style, class) Ignore "__se__format__" class
179
- * @param originEl Origin element
180
- * @param copyEl Element to copy
181
- */
182
- copyFormatAttributes(originEl: Element, copyEl: Element): void;
183
-
184
- /**
185
- * @description Compares the style and class for equal values.
186
- * Returns true if both are text nodes.
187
- * @param a Node to compare
188
- * @param b Node to compare
189
- * @returns
190
- */
191
- isSameAttributes(a: Node, b: Node): boolean;
192
-
193
- /**
194
- * @description Delete argumenu value element
195
- * @param item Node to be remove
196
- */
197
- removeItem(item: Node): void;
198
-
199
- /**
200
- * @description Replace icon
201
- * @param element Target element
202
- * @param newElement String or element of the new element to apply
203
- */
204
- changeElement(element: Element, newElement: string | Element): void;
205
-
206
- /**
207
- * @description Set the text content value of the argument value element
208
- * @param element Element to replace text content
209
- * @param txt Text to be applied
210
- */
211
- changeTxt(element: Node, txt: string): void;
212
-
213
- /**
214
- * @description Set style, if all styles are deleted, the style properties are deleted.
215
- * @param element Element to set style
216
- * @param styleName Style attribute name (marginLeft, textAlign...)
217
- * @param value Style value
218
- */
219
- setStyle(element: Element, styleName: string, value: string | number): void;
220
-
221
- /**
222
- * @description In the predefined code view mode, the buttons except the executable button are changed to the 'disabled' state.
223
- * @param buttonList Button array
224
- * @param disabled Disabled value
225
- */
226
- setDisabled(buttonList: Element[] | HTMLCollection | NodeList, disabled: boolean): void;
227
-
228
- /**
229
- * @description Determine whether any of the matched elements are assigned the given class
230
- * @param element Elements to search class name
231
- * @param className Class name to search for
232
- * @returns
233
- */
234
- hasClass(element: Element, className: string): boolean;
235
-
236
- /**
237
- * @description Append the className value of the argument value element
238
- * @param element Elements to add class name
239
- * @param className Class name to be add
240
- */
241
- addClass(element: Element, className: string): void;
242
-
243
- /**
244
- * @description Delete the className value of the argument value element
245
- * @param element Elements to remove class name
246
- * @param className Class name to be remove
247
- */
248
- removeClass(element: Element, className: string): void;
249
-
250
- /**
251
- * @description Argument value If there is no class name, insert it and delete the class name if it exists
252
- * @param element Elements to replace class name
253
- * @param className Class name to be change
254
- * @returns
255
- */
256
- toggleClass(element: Element, className: string): boolean | undefined;
257
-
258
- /**
259
- * @description Get the previous index of the argument value in the element array
260
- * @param array Element array
261
- * @param item The element to find index
262
- * @returns
263
- */
264
- prevIndex(array: any[] | HTMLCollection | NodeList, item: Node): number;
265
-
266
- /**
267
- * @description Determine if this offset is the edge offset of container
268
- * @param container The container property of the selection object.
269
- * @param offset The offset property of the selection object.
270
- * @param dir Select check point - Both edge, Front edge or End edge. ("front": Front edge, "end": End edge, undefined: Both edge)
271
- * @returns
272
- */
273
- isEdgePoint(container: Node, offset: number, dir?: 'front' | 'end'): boolean;
274
-
275
- /**
276
- * @description It is judged whether it is the edit region top div element or iframe's body tag.
277
- * @param element The node to check
278
- * @returns
279
- */
280
- isWysiwygFrame(element: Node): boolean;
281
-
282
- /**
283
- * @description It is judged whether it is the contenteditable property is false.
284
- * @param element The node to check
285
- * @returns
286
- */
287
- isNonEditable(element: Node): boolean;
288
-
289
- /**
290
- * @description Check the node is a list (ol, ul)
291
- * @param node The element or element name to check
292
- * @returns
293
- */
294
- isList(node: string | Node): boolean;
295
-
296
- /**
297
- * @description Check the node is a list cell (li)
298
- * @param node The element or element name to check
299
- * @returns
300
- */
301
- isListCell(node: string | Node): boolean;
302
-
303
- /**
304
- * @description Check the node is a table
305
- * @param node The element or element name to check
306
- * @returns
307
- */
308
- isTable(node: string | Node): boolean;
309
-
310
- /**
311
- * @description Check the node is a table elements. (table, thead, tbody, tr, th, td)
312
- * @param node The element or element name to check
313
- * @returns
314
- */
315
- isTableElements(node: string | Node): boolean;
316
-
317
- /**
318
- * @description Check the node is a table cell (td, th)
319
- * @param node The element or element name to check
320
- * @returns
321
- */
322
- isTableCell(node: string | Node): boolean;
323
-
324
- /**
325
- * @description Check the node is a break node (BR)
326
- * @param node The element or element name to check
327
- * @returns
328
- */
329
- isBreak(node: string | Node): boolean;
330
-
331
- /**
332
- * @description Check the node is a anchor node (A)
333
- * @param node The element or element name to check
334
- * @returns
335
- */
336
- isAnchor(node: string | Node): boolean;
337
-
338
- /**
339
- * @description Check the node is a media node (img, iframe, audio, video, canvas)
340
- * @param node The element or element name to check
341
- * @returns
342
- */
343
- isMedia(node: string | Node): boolean;
344
-
345
- /**
346
- * @description Check the line element is empty.
347
- * @param {Element} element Format element node
348
- * @returns {boolean}
349
- */
350
- isEmptyLine(element: Element): boolean;
351
-
352
- /**
353
- * @description Checks for "__se__uneditable" in the class list.
354
- * Components with class "__se__uneditable" cannot be modified.
355
- * @param element The node to check
356
- * @returns
357
- */
358
- isUneditable(element: Element): boolean;
359
- }
360
-
361
- export default domUtils;
@@ -1,7 +0,0 @@
1
- import CoreInterface from './_core';
2
- import ClassInterface from '../src/interface/_module';
3
-
4
- class Editor implements CoreInterface, ClassInterface {}
5
-
6
- export default Editor;
7
- s;