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
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @description Elements and variables you should have
3
+ * @param {{target: Element, key: *, options: __se__FrameOptions}} editorTarget Target textarea
4
+ * @param {HTMLElement} top Editor top area
5
+ * @param {HTMLElement} wwFrame Editor wysiwyg frame
6
+ * @param {HTMLElement} codeWrapper Editor code view wrapper
7
+ * @param {HTMLElement} codeFrame Editor code view frame
8
+ * @param {{inner: HTMLElement, page: HTMLElement, pageMirror: HTMLElement}} documentTypeInner Document type elements
9
+ * @param {?HTMLElement} statusbar Editor statusbar
10
+ * @param {*} key root key
11
+ * @returns {__se__FrameContext}
12
+ */
13
+ export function CreateFrameContext(
14
+ editorTarget: {
15
+ target: Element;
16
+ key: any;
17
+ options: __se__FrameOptions;
18
+ },
19
+ top: HTMLElement,
20
+ wwFrame: HTMLElement,
21
+ codeWrapper: HTMLElement,
22
+ codeFrame: HTMLElement,
23
+ statusbar: HTMLElement | null,
24
+ documentTypeInner: {
25
+ inner: HTMLElement;
26
+ page: HTMLElement;
27
+ pageMirror: HTMLElement;
28
+ },
29
+ key: any
30
+ ): __se__FrameContext;
31
+ /**
32
+ * @description Update statusbar context
33
+ * @param {HTMLElement} statusbar Statusbar element
34
+ * @param {__se__FrameContext} mapper FrameContext map
35
+ */
36
+ export function UpdateStatusbarContext(statusbar: HTMLElement, mapper: __se__FrameContext): void;
37
+ /**
38
+ * @description Common elements and variables you should have
39
+ * @param {HTMLElement} toolbar Toolbar frame
40
+ * @param {HTMLElement|null} toolbarContainer Toolbar container
41
+ * @param {HTMLElement} menuTray menu tray
42
+ * @param {HTMLElement|null} subbar sub toolbar
43
+ * @returns {__se__Context}
44
+ */
45
+ export function CreateContext(toolbar: HTMLElement, toolbarContainer: HTMLElement | null, menuTray: HTMLElement, subbar: HTMLElement | null, statusbarContainer: any): __se__Context;
@@ -0,0 +1,178 @@
1
+ export default DocumentType;
2
+ /**
3
+ * @constructor
4
+ * @description DocumentType, page, header management class
5
+ * @param {__se__EditorCore} editor - The root editor instance
6
+ * @param {__se__FrameContext} fc - frame context object
7
+ */
8
+ declare function DocumentType(editor: __se__EditorCore, fc: __se__FrameContext): void;
9
+ declare class DocumentType {
10
+ /**
11
+ * @constructor
12
+ * @description DocumentType, page, header management class
13
+ * @param {__se__EditorCore} editor - The root editor instance
14
+ * @param {__se__FrameContext} fc - frame context object
15
+ */
16
+ constructor(editor: __se__EditorCore, fc: __se__FrameContext);
17
+ editor: import('../editor').default;
18
+ context: __se__Context;
19
+ selection: import('../class/selection').default;
20
+ offset: import('../class/offset').default;
21
+ fc: __se__FrameContext;
22
+ ww: any;
23
+ wwFrame: any;
24
+ wwWidth: number;
25
+ wwHeight: number;
26
+ isAutoHeight: boolean;
27
+ displayPage: any;
28
+ innerHeaders: any;
29
+ _wwHeaders: any[];
30
+ documentTypeInner: any;
31
+ inner: any;
32
+ page: any;
33
+ totalPages: number;
34
+ pageNum: number;
35
+ pageHeight: number;
36
+ pageBreaksCnt: number;
37
+ pages: any[];
38
+ pages_line: any[];
39
+ prevScrollTop: number;
40
+ useHeader: any;
41
+ usePage: any;
42
+ navigatorButtons: any[];
43
+ pageNavigator: any;
44
+ _mirror: any;
45
+ _mirrorCache: number;
46
+ _positionCache: Map<any, any>;
47
+ _rePageTimeout: number;
48
+ _paddingTop: number;
49
+ _paddingBottom: number;
50
+ /**
51
+ * @description Refresh the document header area
52
+ */
53
+ reHeader(): void;
54
+ /**
55
+ * @description Refresh the document page
56
+ * @param {boolean} force - Whether to force the page to be re-rendered
57
+ * @returns {Promise<void>}
58
+ */
59
+ rePage(force: boolean): Promise<void>;
60
+ /**
61
+ * @private
62
+ * @description Initializes the cache for document elements.
63
+ * @param {Array<HTMLElement>} mChr - List of mirrored elements.
64
+ */
65
+ _initializeCache(mChr: Array<HTMLElement>): void;
66
+ /**
67
+ * @private
68
+ * @description Retrieves the element at a given position.
69
+ * @param {number} pageTop - The vertical position to check.
70
+ * @param {NodeList} mChr - List of mirrored elements.
71
+ * @returns {{ci: number, cm: number, ch: number}} The closest element and its related data.
72
+ * - ci: The index of the closest element.
73
+ * - cm: The distance between the top of the closest element and the given position.
74
+ * - ch: The height of the closest element.
75
+ */
76
+ _getElementAtPosition(
77
+ pageTop: number,
78
+ mChr: NodeList
79
+ ): {
80
+ ci: number;
81
+ cm: number;
82
+ ch: number;
83
+ };
84
+ /**
85
+ * @description Resizes the document page dynamically.
86
+ */
87
+ resizePage(): void;
88
+ /**
89
+ * @description Scrolls the document page.
90
+ */
91
+ scrollPage(): void;
92
+ /**
93
+ * @description Scrolls the window to a specific position.
94
+ */
95
+ scrollWindow(): void;
96
+ /**
97
+ * @description Retrieves the current page number.
98
+ * @returns {number} The current page number.
99
+ */
100
+ getCurrentPageNumber(): number;
101
+ /**
102
+ * @description Moves to the previous page.
103
+ */
104
+ pageUp(): void;
105
+ /**
106
+ * @description Moves to the next page.
107
+ */
108
+ pageDown(): void;
109
+ /**
110
+ * @description Moves to a specific page.
111
+ * @param {number} pageNum - The target page number.
112
+ */
113
+ pageGo(pageNum: number): void;
114
+ /**
115
+ * @description Highlights the header of the current line.
116
+ * @param {Node} line - The "line" element to be highlighted.
117
+ */
118
+ on(line: Node): void;
119
+ /**
120
+ * @description Handles text changes in the document.
121
+ */
122
+ onChangeText(header: any): void;
123
+ /**
124
+ * @private
125
+ * @description Displays the current page number.
126
+ */
127
+ _displayCurrentPage(): void;
128
+ /**
129
+ * @private
130
+ * @description Retrieves the scroll position in WYSIWYG mode.
131
+ * @returns {number} The current scroll position.
132
+ */
133
+ _getWWScrollTop(): number;
134
+ /**
135
+ * @private
136
+ * @description Moves to a specific page and updates the view.
137
+ * @param {number} pageNum - The target page number.
138
+ */
139
+ _movePage(pageNum: number, force: any): void;
140
+ /**
141
+ * @private
142
+ * @description Applies smooth scrolling for page navigation.
143
+ */
144
+ _applyPageScroll(top: any, callback: any): void;
145
+ /**
146
+ * @private
147
+ * @description Retrieves the global top offset of an element.
148
+ * @returns {number} The top offset of the element.
149
+ */
150
+ _getGlobalTop(): number;
151
+ /**
152
+ * @private
153
+ * @description Finds an header element of innerHeaders element.
154
+ * @param {Node} header - H tag element to find.
155
+ * @returns {HTMLElement|null} The found element, or null if not found.
156
+ */
157
+ _findItem(header: Node): HTMLElement | null;
158
+ /**
159
+ * @private
160
+ * @description Finds the closest header element from a given line.
161
+ * @param {Node} line - The "line" to check.
162
+ * @returns {Node|null} The closest header element, or null if not found.
163
+ */
164
+ _findLinesHeader(line: Node): Node | null;
165
+ /**
166
+ * @private
167
+ * @description Checks if an element is a header.
168
+ * @param {Node} element - The element to check.
169
+ * @returns {boolean} True if the element is a header, otherwise false.
170
+ */
171
+ _is(element: Node): boolean;
172
+ /**
173
+ * @private
174
+ * @description Retrieves all headers in the document.
175
+ * @returns {Array<HTMLElement>} An array of header elements.
176
+ */
177
+ _getHeaders(): Array<HTMLElement>;
178
+ }
@@ -0,0 +1,41 @@
1
+ export default ClassInjector;
2
+ /**
3
+ * @private
4
+ * @description Add all inner classes to the editor instance.
5
+ * @param {__se__EditorCore} editor - The root editor instance
6
+ */
7
+ declare function ClassInjector(editor: __se__EditorCore): void;
8
+ declare class ClassInjector {
9
+ /**
10
+ * @private
11
+ * @description Add all inner classes to the editor instance.
12
+ * @param {__se__EditorCore} editor - The root editor instance
13
+ */
14
+ private constructor();
15
+ /** @description Toolbar class instance @type {__se__EditorCore['toolbar']} */
16
+ toolbar: __se__EditorCore['toolbar'];
17
+ /** @description Sub-Toolbar class instance @type {__se__EditorCore['subToolbar']|null} */
18
+ subToolbar: __se__EditorCore['subToolbar'] | null;
19
+ /** @description Char class instance @type {__se__EditorCore['char']} */
20
+ char: __se__EditorCore['char'];
21
+ /** @description Component class instance @type {__se__EditorCore['component']} */
22
+ component: __se__EditorCore['component'];
23
+ /** @description Format class instance @type {__se__EditorCore['format']} */
24
+ format: __se__EditorCore['format'];
25
+ /** @description HTML class instance @type {__se__EditorCore['html']} */
26
+ html: __se__EditorCore['html'];
27
+ /** @description Menu class instance @type {__se__EditorCore['menu']} */
28
+ menu: __se__EditorCore['menu'];
29
+ /** @description NodeTransform class instance @type {__se__EditorCore['nodeTransform']} */
30
+ nodeTransform: __se__EditorCore['nodeTransform'];
31
+ /** @description Offset class instance @type {__se__EditorCore['offset']} */
32
+ offset: __se__EditorCore['offset'];
33
+ /** @description Selection class instance @type {__se__EditorCore['selection']} */
34
+ selection: __se__EditorCore['selection'];
35
+ /** @description Shortcuts class instance @type {__se__EditorCore['shortcuts']} */
36
+ shortcuts: __se__EditorCore['shortcuts'];
37
+ /** @description UI class instance @type {__se__EditorCore['ui']} */
38
+ ui: __se__EditorCore['ui'];
39
+ /** @description Viewer class instance @type {__se__EditorCore['viewer']} */
40
+ viewer: __se__EditorCore['viewer'];
41
+ }
@@ -0,0 +1,92 @@
1
+ /**
2
+ * @description Add default properties to the editor core object.
3
+ * @param {__se__EditorCore} editor - The root editor instance
4
+ */
5
+ export default function CoreInjector(editor: __se__EditorCore): void;
6
+ export default class CoreInjector {
7
+ /**
8
+ * @description Add default properties to the editor core object.
9
+ * @param {__se__EditorCore} editor - The root editor instance
10
+ */
11
+ constructor(editor: __se__EditorCore);
12
+ /**
13
+ * @description The root editor instance.
14
+ * @type {__se__EditorCore}
15
+ */
16
+ editor: __se__EditorCore;
17
+ /**
18
+ * @description The event manager instance.
19
+ * @type {__se__EditorCore['eventManager']}
20
+ */
21
+ eventManager: __se__EditorCore['eventManager'];
22
+ /**
23
+ * @description The history manager instance.
24
+ * @type {__se__EditorCore['history']}
25
+ */
26
+ history: __se__EditorCore['history'];
27
+ /**
28
+ * @description The events instance.
29
+ * @type {__se__EditorCore['events']}
30
+ */
31
+ events: __se__EditorCore['events'];
32
+ /**
33
+ * @description The function to trigger an event.
34
+ * @type {__se__EditorCore['triggerEvent']}
35
+ */
36
+ triggerEvent: __se__EditorCore['triggerEvent'];
37
+ /**
38
+ * @description The wrapper element for carrying elements.
39
+ * @type {__se__EditorCore['carrierWrapper']}
40
+ */
41
+ carrierWrapper: __se__EditorCore['carrierWrapper'];
42
+ /**
43
+ * @description The plugins used by the editor.
44
+ * @type {__se__EditorCore['plugins']}
45
+ */
46
+ plugins: __se__EditorCore['plugins'];
47
+ /**
48
+ * @description The status of the editor.
49
+ * @type {__se__EditorStatus}
50
+ */
51
+ status: __se__EditorStatus;
52
+ /**
53
+ * @description The editor's context map.
54
+ * @type {__se__EditorCore['context']}
55
+ */
56
+ context: __se__EditorCore['context'];
57
+ /**
58
+ * @description The editor's options map.
59
+ * @type {__se__EditorCore['options']}
60
+ */
61
+ options: __se__EditorCore['options'];
62
+ /**
63
+ * @description The editor's icons.
64
+ * @type {__se__EditorCore['icons']}
65
+ */
66
+ icons: __se__EditorCore['icons'];
67
+ /**
68
+ * @description The language settings.
69
+ * @type {__se__EditorCore['lang']}
70
+ */
71
+ lang: __se__EditorCore['lang'];
72
+ /**
73
+ * @description editor.frameRoots map.
74
+ * @type {__se__EditorCore['frameRoots']}
75
+ */
76
+ frameRoots: __se__EditorCore['frameRoots'];
77
+ /**
78
+ * @description The window object.
79
+ * @type {Window}
80
+ */
81
+ _w: Window;
82
+ /**
83
+ * @description The document object.
84
+ * @type {Document}
85
+ */
86
+ _d: Document;
87
+ /**
88
+ * @description The shadow root object (if any).
89
+ * @type {__se__EditorCore['_shadowRoot']}
90
+ */
91
+ _shadowRoot: __se__EditorCore['_shadowRoot'];
92
+ }
@@ -0,0 +1,71 @@
1
+ export default EditorInjector;
2
+ /**
3
+ * @description Initializes and adds inner classes and default properties of the editor.
4
+ * @param {__se__EditorCore} editor - The root editor instance
5
+ */
6
+ declare function EditorInjector(editor: __se__EditorCore): void;
7
+ declare class EditorInjector {
8
+ /**
9
+ * @description Initializes and adds inner classes and default properties of the editor.
10
+ * @param {__se__EditorCore} editor - The root editor instance
11
+ */
12
+ constructor(editor: __se__EditorCore);
13
+ /** @type {__se__EditorCore} */
14
+ editor: __se__EditorCore;
15
+ /** @type {import('./_core').default['eventManager']} */
16
+ eventManager: import('./_core').default['eventManager'];
17
+ /** @type {import('./_core').default['history']} */
18
+ history: import('./_core').default['history'];
19
+ /** @type {import('./_core').default['events']} */
20
+ events: import('./_core').default['events'];
21
+ /** @type {import('./_core').default['triggerEvent']} */
22
+ triggerEvent: import('./_core').default['triggerEvent'];
23
+ /** @type {import('./_core').default['carrierWrapper']} */
24
+ carrierWrapper: import('./_core').default['carrierWrapper'];
25
+ /** @type {import('./_core').default['plugins']} */
26
+ plugins: import('./_core').default['plugins'];
27
+ /** @type {import('./_core').default['status']} */
28
+ status: import('./_core').default['status'];
29
+ /** @type {import('./_core').default['context']} */
30
+ context: import('./_core').default['context'];
31
+ /** @type {import('./_core').default['options']} */
32
+ options: import('./_core').default['options'];
33
+ /** @type {import('./_core').default['icons']} */
34
+ icons: import('./_core').default['icons'];
35
+ /** @type {import('./_core').default['lang']} */
36
+ lang: import('./_core').default['lang'];
37
+ /** @type {import('./_core').default['frameRoots']} */
38
+ frameRoots: import('./_core').default['frameRoots'];
39
+ /** @type {import('./_core').default['_w']} */
40
+ _w: import('./_core').default['_w'];
41
+ /** @type {import('./_core').default['_d']} */
42
+ _d: import('./_core').default['_d'];
43
+ /** @type {import('./_core').default['_shadowRoot']} */
44
+ _shadowRoot: import('./_core').default['_shadowRoot'];
45
+ /** @type {import('./_classes').default['toolbar']} */
46
+ toolbar: import('./_classes').default['toolbar'];
47
+ /** @type {import('./_classes').default['subToolbar']} */
48
+ subToolbar: import('./_classes').default['subToolbar'];
49
+ /** @type {import('./_classes').default['char']} */
50
+ char: import('./_classes').default['char'];
51
+ /** @type {import('./_classes').default['component']} */
52
+ component: import('./_classes').default['component'];
53
+ /** @type {import('./_classes').default['format']} */
54
+ format: import('./_classes').default['format'];
55
+ /** @type {import('./_classes').default['html']} */
56
+ html: import('./_classes').default['html'];
57
+ /** @type {import('./_classes').default['menu']} */
58
+ menu: import('./_classes').default['menu'];
59
+ /** @type {import('./_classes').default['nodeTransform']} */
60
+ nodeTransform: import('./_classes').default['nodeTransform'];
61
+ /** @type {import('./_classes').default['offset']} */
62
+ offset: import('./_classes').default['offset'];
63
+ /** @type {import('./_classes').default['selection']} */
64
+ selection: import('./_classes').default['selection'];
65
+ /** @type {import('./_classes').default['shortcuts']} */
66
+ shortcuts: import('./_classes').default['shortcuts'];
67
+ /** @type {import('./_classes').default['ui']} */
68
+ ui: import('./_classes').default['ui'];
69
+ /** @type {import('./_classes').default['viewer']} */
70
+ viewer: import('./_classes').default['viewer'];
71
+ }
@@ -0,0 +1,273 @@
1
+ declare namespace _default {
2
+ let onload: any;
3
+ let onScroll: any;
4
+ let onMouseDown: any;
5
+ let onClick: any;
6
+ let onInput: any;
7
+ let onMouseLeave: any;
8
+ let onKeyDown: any;
9
+ let onKeyUp: any;
10
+ let onFocus: any;
11
+ let onBlur: any;
12
+ let onCopy: any;
13
+ let onCut: any;
14
+ let onChange: any;
15
+ let onShowToolbar: any;
16
+ let onShowController: any;
17
+ let onBeforeShowController: any;
18
+ let onToggleCodeView: any;
19
+ let onToggleFullScreen: any;
20
+ let onResizeEditor: any;
21
+ let onSetToolbarButtons: any;
22
+ let onSave: any;
23
+ let onDrop: any;
24
+ let onPaste: any;
25
+ let imageUploadHandler: any;
26
+ let onImageUploadBefore: any;
27
+ let onImageLoad: any;
28
+ let onImageAction: any;
29
+ let onImageUploadError: any;
30
+ let onImageDeleteBefore: any;
31
+ let videoUploadHandler: any;
32
+ let onVideoUploadBefore: any;
33
+ let onVideoLoad: any;
34
+ let onVideoAction: any;
35
+ let onVideoUploadError: any;
36
+ let onVideoDeleteBefore: any;
37
+ let audioUploadHandler: any;
38
+ let onAudioUploadBefore: any;
39
+ let onAudioUploadError: any;
40
+ let onAudioLoad: any;
41
+ let onAudioAction: any;
42
+ let onAudioDeleteBefore: any;
43
+ let onFileUploadBefore: any;
44
+ let onFileLoad: any;
45
+ let onFileAction: any;
46
+ let onFileUploadError: any;
47
+ let onFileDeleteBefore: any;
48
+ let onExportPDFBefore: any;
49
+ let onFileManagerAction: any;
50
+ let onEmbedInputBefore: any;
51
+ let onEmbedDeleteBefore: any;
52
+ }
53
+ export default _default;
54
+ export type ControllerInstance = import('./modules/Controller').default;
55
+ export type BaseEvent = {
56
+ /**
57
+ * - The root editor instance
58
+ */
59
+ editor: __se__EditorCore;
60
+ /**
61
+ * - frame context
62
+ */
63
+ frameContext: __se__FrameContext;
64
+ /**
65
+ * - event object
66
+ */
67
+ event: Event;
68
+ };
69
+ export type ClipboardEvent = {
70
+ /**
71
+ * - The root editor instance
72
+ */
73
+ editor: __se__EditorCore;
74
+ /**
75
+ * - frame context
76
+ */
77
+ frameContext: __se__FrameContext;
78
+ /**
79
+ * - event object
80
+ */
81
+ event: Event;
82
+ /**
83
+ * - drop data
84
+ */
85
+ data: string;
86
+ /**
87
+ * - is max char count
88
+ */
89
+ maxCharCount: boolean;
90
+ /**
91
+ * - "SE"|"MS"|"" - source
92
+ */
93
+ from: string;
94
+ };
95
+ export type ControllerInfo_events = import('./modules/Controller').ControllerInfo;
96
+ export type FileManagementInfo = {
97
+ /**
98
+ * - source URL of the image.
99
+ */
100
+ src: string;
101
+ /**
102
+ * - index of the image.
103
+ */
104
+ index: number;
105
+ /**
106
+ * - name of the file.
107
+ */
108
+ name: string;
109
+ /**
110
+ * - size of the file in bytes.
111
+ */
112
+ size: number;
113
+ /**
114
+ * - target element.
115
+ */
116
+ element: HTMLElement;
117
+ /**
118
+ * - delete function.
119
+ */
120
+ delete: () => void;
121
+ /**
122
+ * - select function.
123
+ */
124
+ select: () => void;
125
+ };
126
+ export type ProcessInfo = {
127
+ /**
128
+ * - origin url
129
+ */
130
+ origin: string;
131
+ /**
132
+ * - url
133
+ */
134
+ url: string;
135
+ /**
136
+ * - tag name
137
+ */
138
+ tag: 'video' | 'iframe';
139
+ /**
140
+ * - embed children tags
141
+ */
142
+ children: HTMLCollection | null;
143
+ };
144
+ export type ImageInfo = {
145
+ /**
146
+ * - FileList object
147
+ */
148
+ files: FileList;
149
+ /**
150
+ * - target element
151
+ */
152
+ element: HTMLImageElement;
153
+ /**
154
+ * - width value
155
+ */
156
+ inputWidth: string;
157
+ /**
158
+ * - height value
159
+ */
160
+ inputHeight: string;
161
+ /**
162
+ * - align value
163
+ */
164
+ align: string;
165
+ /**
166
+ * - new create or update
167
+ */
168
+ isUpdate: boolean;
169
+ /**
170
+ * - Anchor element, if it exists
171
+ */
172
+ anchor: HTMLElement | null;
173
+ /**
174
+ * - alt text value
175
+ */
176
+ alt: string;
177
+ };
178
+ export type VideoInfo = {
179
+ /**
180
+ * - FileList object
181
+ */
182
+ files: FileList;
183
+ /**
184
+ * - target element
185
+ */
186
+ element: HTMLIFrameElement | HTMLVideoElement;
187
+ /**
188
+ * - width value
189
+ */
190
+ inputWidth: string;
191
+ /**
192
+ * - height value
193
+ */
194
+ inputHeight: string;
195
+ /**
196
+ * - align value
197
+ */
198
+ align: string;
199
+ /**
200
+ * - new create or update
201
+ */
202
+ isUpdate: boolean;
203
+ /**
204
+ * - video url
205
+ */
206
+ url: string;
207
+ /**
208
+ * - video process info
209
+ */
210
+ process: ProcessInfo | null;
211
+ };
212
+ export type AudioInfo = {
213
+ /**
214
+ * - target element
215
+ */
216
+ element: HTMLAudioElement;
217
+ /**
218
+ * - FileList object
219
+ */
220
+ files: FileList;
221
+ /**
222
+ * - new create or update
223
+ */
224
+ isUpdate: boolean;
225
+ };
226
+ export type FileInfo = {
227
+ /**
228
+ * - file url
229
+ */
230
+ url: string;
231
+ /**
232
+ * - FileList object
233
+ */
234
+ files: FileList;
235
+ /**
236
+ * - upload headers
237
+ */
238
+ uploadHeaders: any;
239
+ };
240
+ export type EmbedInfo = {
241
+ /**
242
+ * - target element
243
+ */
244
+ element: HTMLElement;
245
+ /**
246
+ * - width value
247
+ */
248
+ inputWidth: string;
249
+ /**
250
+ * - height value
251
+ */
252
+ inputHeight: string;
253
+ /**
254
+ * - align value
255
+ */
256
+ align: string;
257
+ /**
258
+ * - new create or update
259
+ */
260
+ isUpdate: boolean;
261
+ /**
262
+ * - embed url
263
+ */
264
+ url: string;
265
+ /**
266
+ * - When the input source is stacked in an iframe, etc., the actual embedded DOM
267
+ */
268
+ children: HTMLElement | null;
269
+ /**
270
+ * - embed process info
271
+ */
272
+ process: ProcessInfo | null;
273
+ };