suneditor 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (306) hide show
  1. package/.eslintrc.json +4 -3
  2. package/CONTRIBUTING.md +4 -2
  3. package/README.md +19 -11
  4. package/README_V3_TEMP.md +705 -0
  5. package/dist/suneditor.min.css +1 -0
  6. package/dist/suneditor.min.js +1 -0
  7. package/example.md +587 -0
  8. package/package.json +15 -9
  9. package/src/assets/icons/_default.js +166 -131
  10. package/src/assets/{suneditor-content.css → suneditor-contents.css} +182 -45
  11. package/src/assets/suneditor.css +1195 -556
  12. package/src/assets/variables.css +138 -0
  13. package/src/core/base/eventHandlers/handler_toolbar.js +35 -14
  14. package/src/core/base/eventHandlers/handler_ww_clipboard.js +29 -4
  15. package/src/core/base/eventHandlers/handler_ww_dragDrop.js +59 -15
  16. package/src/core/base/eventHandlers/handler_ww_key_input.js +426 -212
  17. package/src/core/base/eventHandlers/handler_ww_mouse.js +108 -32
  18. package/src/core/base/eventManager.js +540 -209
  19. package/src/core/base/events.js +616 -320
  20. package/src/core/base/history.js +93 -39
  21. package/src/core/class/char.js +29 -13
  22. package/src/core/class/component.js +332 -145
  23. package/src/core/class/format.js +671 -509
  24. package/src/core/class/html.js +504 -290
  25. package/src/core/class/menu.js +114 -47
  26. package/src/core/class/nodeTransform.js +111 -66
  27. package/src/core/class/offset.js +409 -105
  28. package/src/core/class/selection.js +220 -108
  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 +330 -0
  32. package/src/core/class/viewer.js +178 -74
  33. package/src/core/editor.js +489 -384
  34. package/src/core/section/actives.js +118 -22
  35. package/src/core/section/constructor.js +504 -170
  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/helper/converter.js +137 -19
  42. package/src/helper/dom/domCheck.js +294 -0
  43. package/src/helper/dom/domQuery.js +609 -0
  44. package/src/helper/dom/domUtils.js +533 -0
  45. package/src/helper/dom/index.js +12 -0
  46. package/src/helper/env.js +42 -19
  47. package/src/helper/index.js +7 -4
  48. package/src/helper/keyCodeMap.js +183 -0
  49. package/src/helper/numbers.js +8 -8
  50. package/src/helper/unicode.js +5 -5
  51. package/src/langs/ckb.js +69 -3
  52. package/src/langs/cs.js +67 -1
  53. package/src/langs/da.js +68 -2
  54. package/src/langs/de.js +68 -3
  55. package/src/langs/en.js +29 -1
  56. package/src/langs/es.js +68 -3
  57. package/src/langs/fa.js +70 -2
  58. package/src/langs/fr.js +68 -2
  59. package/src/langs/he.js +68 -3
  60. package/src/langs/hu.js +226 -0
  61. package/src/langs/index.js +3 -2
  62. package/src/langs/it.js +65 -0
  63. package/src/langs/ja.js +68 -3
  64. package/src/langs/ko.js +66 -1
  65. package/src/langs/lv.js +68 -3
  66. package/src/langs/nl.js +68 -3
  67. package/src/langs/pl.js +68 -3
  68. package/src/langs/pt_br.js +65 -0
  69. package/src/langs/ro.js +69 -4
  70. package/src/langs/ru.js +68 -3
  71. package/src/langs/se.js +68 -3
  72. package/src/langs/tr.js +68 -0
  73. package/src/langs/ua.js +68 -3
  74. package/src/langs/ur.js +71 -6
  75. package/src/langs/zh_cn.js +69 -4
  76. package/src/modules/ApiManager.js +77 -54
  77. package/src/modules/Browser.js +667 -0
  78. package/src/modules/ColorPicker.js +162 -102
  79. package/src/modules/Controller.js +233 -136
  80. package/src/modules/Figure.js +913 -489
  81. package/src/modules/FileManager.js +141 -72
  82. package/src/modules/HueSlider.js +113 -61
  83. package/src/modules/Modal.js +292 -113
  84. package/src/modules/ModalAnchorEditor.js +380 -230
  85. package/src/modules/SelectMenu.js +270 -168
  86. package/src/modules/_DragHandle.js +2 -1
  87. package/src/modules/index.js +3 -3
  88. package/src/plugins/browser/audioGallery.js +83 -0
  89. package/src/plugins/browser/fileBrowser.js +103 -0
  90. package/src/plugins/browser/fileGallery.js +83 -0
  91. package/src/plugins/browser/imageGallery.js +81 -0
  92. package/src/plugins/browser/videoGallery.js +103 -0
  93. package/src/plugins/command/blockquote.js +40 -27
  94. package/src/plugins/command/exportPDF.js +134 -0
  95. package/src/plugins/command/fileUpload.js +226 -158
  96. package/src/plugins/command/list_bulleted.js +93 -47
  97. package/src/plugins/command/list_numbered.js +93 -47
  98. package/src/plugins/dropdown/align.js +66 -54
  99. package/src/plugins/dropdown/backgroundColor.js +76 -45
  100. package/src/plugins/dropdown/font.js +71 -47
  101. package/src/plugins/dropdown/fontColor.js +78 -46
  102. package/src/plugins/dropdown/formatBlock.js +74 -33
  103. package/src/plugins/dropdown/hr.js +102 -51
  104. package/src/plugins/dropdown/layout.js +37 -26
  105. package/src/plugins/dropdown/lineHeight.js +54 -38
  106. package/src/plugins/dropdown/list.js +60 -45
  107. package/src/plugins/dropdown/paragraphStyle.js +51 -30
  108. package/src/plugins/dropdown/table.js +1269 -777
  109. package/src/plugins/dropdown/template.js +38 -26
  110. package/src/plugins/dropdown/textStyle.js +43 -31
  111. package/src/plugins/field/mention.js +144 -82
  112. package/src/plugins/index.js +32 -6
  113. package/src/plugins/input/fontSize.js +161 -108
  114. package/src/plugins/input/pageNavigator.js +70 -0
  115. package/src/plugins/modal/audio.js +341 -169
  116. package/src/plugins/modal/drawing.js +530 -0
  117. package/src/plugins/modal/embed.js +886 -0
  118. package/src/plugins/modal/image.js +673 -358
  119. package/src/plugins/modal/link.js +100 -71
  120. package/src/plugins/modal/math.js +384 -168
  121. package/src/plugins/modal/video.js +693 -336
  122. package/src/plugins/popup/anchor.js +222 -0
  123. package/src/suneditor.js +54 -12
  124. package/src/themes/dark.css +85 -0
  125. package/src/typedef.js +86 -0
  126. package/types/assets/icons/_default.d.ts +152 -0
  127. package/types/core/base/eventHandlers/handler_toolbar.d.ts +41 -0
  128. package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +40 -0
  129. package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +35 -0
  130. package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +45 -0
  131. package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +39 -0
  132. package/types/core/base/eventManager.d.ts +377 -0
  133. package/types/core/base/events.d.ts +297 -0
  134. package/types/core/base/history.d.ts +81 -0
  135. package/types/core/class/char.d.ts +60 -0
  136. package/types/core/class/component.d.ts +259 -0
  137. package/types/core/class/format.d.ts +615 -0
  138. package/types/core/class/html.d.ts +377 -0
  139. package/types/core/class/menu.d.ts +118 -0
  140. package/types/core/class/nodeTransform.d.ts +93 -0
  141. package/types/core/class/offset.d.ts +512 -0
  142. package/types/core/class/selection.d.ts +188 -0
  143. package/types/core/class/shortcuts.d.ts +142 -0
  144. package/types/core/class/toolbar.d.ts +189 -0
  145. package/types/core/class/ui.d.ts +144 -0
  146. package/types/core/class/viewer.d.ts +140 -0
  147. package/types/core/editor.d.ts +606 -0
  148. package/types/core/section/actives.d.ts +46 -0
  149. package/types/core/section/constructor.d.ts +748 -0
  150. package/types/core/section/context.d.ts +45 -0
  151. package/types/core/section/documentType.d.ts +178 -0
  152. package/types/editorInjector/_classes.d.ts +41 -0
  153. package/types/editorInjector/_core.d.ts +92 -0
  154. package/types/editorInjector/index.d.ts +71 -0
  155. package/types/helper/converter.d.ts +150 -0
  156. package/types/helper/dom/domCheck.d.ts +182 -0
  157. package/types/helper/dom/domQuery.d.ts +214 -0
  158. package/types/helper/dom/domUtils.d.ts +211 -0
  159. package/types/helper/dom/index.d.ts +9 -0
  160. package/types/helper/env.d.ts +149 -0
  161. package/types/helper/index.d.ts +163 -0
  162. package/types/helper/keyCodeMap.d.ts +110 -0
  163. package/types/helper/numbers.d.ts +43 -0
  164. package/types/helper/unicode.d.ts +28 -0
  165. package/types/index.d.ts +0 -0
  166. package/{typings/Lang.d.ts → types/langs/_Lang.d.ts} +170 -103
  167. package/types/langs/ckb.d.ts +384 -0
  168. package/types/langs/cs.d.ts +384 -0
  169. package/types/langs/da.d.ts +384 -0
  170. package/types/langs/de.d.ts +384 -0
  171. package/types/langs/en.d.ts +384 -0
  172. package/types/langs/es.d.ts +384 -0
  173. package/types/langs/fa.d.ts +384 -0
  174. package/types/langs/fr.d.ts +384 -0
  175. package/types/langs/he.d.ts +384 -0
  176. package/types/langs/hu.d.ts +384 -0
  177. package/types/langs/index.d.ts +48 -0
  178. package/types/langs/it.d.ts +384 -0
  179. package/types/langs/ja.d.ts +384 -0
  180. package/types/langs/ko.d.ts +384 -0
  181. package/types/langs/lv.d.ts +384 -0
  182. package/types/langs/nl.d.ts +384 -0
  183. package/types/langs/pl.d.ts +384 -0
  184. package/types/langs/pt_br.d.ts +384 -0
  185. package/types/langs/ro.d.ts +384 -0
  186. package/types/langs/ru.d.ts +384 -0
  187. package/types/langs/se.d.ts +384 -0
  188. package/types/langs/tr.d.ts +384 -0
  189. package/types/langs/ua.d.ts +384 -0
  190. package/types/langs/ur.d.ts +384 -0
  191. package/types/langs/zh_cn.d.ts +384 -0
  192. package/types/modules/ApiManager.d.ts +125 -0
  193. package/types/modules/Browser.d.ts +326 -0
  194. package/types/modules/ColorPicker.d.ts +131 -0
  195. package/types/modules/Controller.d.ts +231 -0
  196. package/types/modules/Figure.d.ts +504 -0
  197. package/types/modules/FileManager.d.ts +202 -0
  198. package/types/modules/HueSlider.d.ts +136 -0
  199. package/types/modules/Modal.d.ts +117 -0
  200. package/types/modules/ModalAnchorEditor.d.ts +236 -0
  201. package/types/modules/SelectMenu.d.ts +194 -0
  202. package/types/modules/_DragHandle.d.ts +7 -0
  203. package/types/modules/index.d.ts +26 -0
  204. package/types/plugins/browser/audioGallery.d.ts +55 -0
  205. package/types/plugins/browser/fileBrowser.d.ts +64 -0
  206. package/types/plugins/browser/fileGallery.d.ts +55 -0
  207. package/types/plugins/browser/imageGallery.d.ts +51 -0
  208. package/types/plugins/browser/videoGallery.d.ts +57 -0
  209. package/types/plugins/command/blockquote.d.ts +28 -0
  210. package/types/plugins/command/exportPDF.d.ts +46 -0
  211. package/types/plugins/command/fileUpload.d.ts +156 -0
  212. package/types/plugins/command/list_bulleted.d.ts +56 -0
  213. package/types/plugins/command/list_numbered.d.ts +56 -0
  214. package/types/plugins/dropdown/align.d.ts +60 -0
  215. package/types/plugins/dropdown/backgroundColor.d.ts +63 -0
  216. package/types/plugins/dropdown/font.d.ts +54 -0
  217. package/types/plugins/dropdown/fontColor.d.ts +63 -0
  218. package/types/plugins/dropdown/formatBlock.d.ts +58 -0
  219. package/types/plugins/dropdown/hr.d.ts +81 -0
  220. package/types/plugins/dropdown/layout.d.ts +40 -0
  221. package/types/plugins/dropdown/lineHeight.d.ts +50 -0
  222. package/types/plugins/dropdown/list.d.ts +39 -0
  223. package/types/plugins/dropdown/paragraphStyle.d.ts +54 -0
  224. package/types/plugins/dropdown/table.d.ts +579 -0
  225. package/types/plugins/dropdown/template.d.ts +40 -0
  226. package/types/plugins/dropdown/textStyle.d.ts +41 -0
  227. package/types/plugins/field/mention.d.ts +102 -0
  228. package/types/plugins/index.d.ts +107 -0
  229. package/types/plugins/input/fontSize.d.ts +170 -0
  230. package/types/plugins/input/pageNavigator.d.ts +28 -0
  231. package/types/plugins/modal/audio.d.ts +269 -0
  232. package/types/plugins/modal/drawing.d.ts +246 -0
  233. package/types/plugins/modal/embed.d.ts +387 -0
  234. package/types/plugins/modal/image.d.ts +451 -0
  235. package/types/plugins/modal/link.d.ts +128 -0
  236. package/types/plugins/modal/math.d.ts +193 -0
  237. package/types/plugins/modal/video.d.ts +485 -0
  238. package/types/plugins/popup/anchor.d.ts +56 -0
  239. package/types/suneditor.d.ts +51 -0
  240. package/types/typedef-global.d.ts +144 -0
  241. package/src/core/class/notice.js +0 -42
  242. package/src/helper/domUtils.js +0 -1177
  243. package/src/modules/FileBrowser.js +0 -271
  244. package/src/plugins/command/exportPdf.js +0 -168
  245. package/src/plugins/fileBrowser/imageGallery.js +0 -81
  246. package/src/themes/test.css +0 -61
  247. package/typings/CommandPlugin.d.ts +0 -8
  248. package/typings/DialogPlugin.d.ts +0 -20
  249. package/typings/FileBrowserPlugin.d.ts +0 -30
  250. package/typings/Module.d.ts +0 -15
  251. package/typings/Plugin.d.ts +0 -42
  252. package/typings/SubmenuPlugin.d.ts +0 -8
  253. package/typings/_classes.d.ts +0 -17
  254. package/typings/_colorPicker.d.ts +0 -60
  255. package/typings/_core.d.ts +0 -55
  256. package/typings/align.d.ts +0 -5
  257. package/typings/audio.d.ts +0 -5
  258. package/typings/backgroundColor.d.ts +0 -5
  259. package/typings/blockquote.d.ts +0 -5
  260. package/typings/char.d.ts +0 -39
  261. package/typings/component.d.ts +0 -38
  262. package/typings/context.d.ts +0 -39
  263. package/typings/converter.d.ts +0 -33
  264. package/typings/dialog.d.ts +0 -28
  265. package/typings/domUtils.d.ts +0 -361
  266. package/typings/editor.d.ts +0 -7
  267. package/typings/editor.ts +0 -542
  268. package/typings/env.d.ts +0 -70
  269. package/typings/eventManager.d.ts +0 -37
  270. package/typings/events.d.ts +0 -262
  271. package/typings/fileBrowser.d.ts +0 -42
  272. package/typings/fileManager.d.ts +0 -67
  273. package/typings/font.d.ts +0 -5
  274. package/typings/fontColor.d.ts +0 -5
  275. package/typings/fontSize.d.ts +0 -5
  276. package/typings/format.d.ts +0 -191
  277. package/typings/formatBlock.d.ts +0 -5
  278. package/typings/history.d.ts +0 -48
  279. package/typings/horizontalRule.d.ts +0 -5
  280. package/typings/image.d.ts +0 -5
  281. package/typings/imageGallery.d.ts +0 -5
  282. package/typings/index.d.ts +0 -21
  283. package/typings/index.modules.d.ts +0 -11
  284. package/typings/index.plugins.d.ts +0 -58
  285. package/typings/lineHeight.d.ts +0 -5
  286. package/typings/link.d.ts +0 -5
  287. package/typings/list.d.ts +0 -5
  288. package/typings/math.d.ts +0 -5
  289. package/typings/mediaContainer.d.ts +0 -25
  290. package/typings/mention.d.ts +0 -5
  291. package/typings/node.d.ts +0 -57
  292. package/typings/notice.d.ts +0 -16
  293. package/typings/numbers.d.ts +0 -29
  294. package/typings/offset.d.ts +0 -24
  295. package/typings/options.d.ts +0 -589
  296. package/typings/paragraphStyle.d.ts +0 -5
  297. package/typings/resizing.d.ts +0 -141
  298. package/typings/selection.d.ts +0 -94
  299. package/typings/shortcuts.d.ts +0 -13
  300. package/typings/suneditor.d.ts +0 -9
  301. package/typings/table.d.ts +0 -5
  302. package/typings/template.d.ts +0 -5
  303. package/typings/textStyle.d.ts +0 -5
  304. package/typings/toolbar.d.ts +0 -32
  305. package/typings/unicode.d.ts +0 -25
  306. package/typings/video.d.ts +0 -5
@@ -0,0 +1,606 @@
1
+ export default Editor;
2
+ export type EditorInitOptions = import('./section/constructor').EditorInitOptions;
3
+ export type EditorFrameOptions = import('./section/constructor').EditorFrameOptions;
4
+ export type ControllerInfo = import('../modules/Controller').ControllerInfo;
5
+ /**
6
+ * @typedef {import('./section/constructor').EditorInitOptions} EditorInitOptions
7
+ */
8
+ /**
9
+ * @typedef {import('./section/constructor').EditorFrameOptions} EditorFrameOptions
10
+ */
11
+ /**
12
+ * @typedef {import('../modules/Controller').ControllerInfo} ControllerInfo
13
+ */
14
+ /**
15
+ * @constructor
16
+ * @description SunEditor constructor function.
17
+ * @param {Array<{target: Element, key: *, options: EditorFrameOptions}>} multiTargets Target element
18
+ * @param {EditorInitOptions} options options
19
+ */
20
+ declare function Editor(
21
+ multiTargets: Array<{
22
+ target: Element;
23
+ key: any;
24
+ options: EditorFrameOptions;
25
+ }>,
26
+ options: EditorInitOptions
27
+ ): void;
28
+ declare class Editor {
29
+ /**
30
+ * @typedef {import('./section/constructor').EditorInitOptions} EditorInitOptions
31
+ */
32
+ /**
33
+ * @typedef {import('./section/constructor').EditorFrameOptions} EditorFrameOptions
34
+ */
35
+ /**
36
+ * @typedef {import('../modules/Controller').ControllerInfo} ControllerInfo
37
+ */
38
+ /**
39
+ * @constructor
40
+ * @description SunEditor constructor function.
41
+ * @param {Array<{target: Element, key: *, options: EditorFrameOptions}>} multiTargets Target element
42
+ * @param {EditorInitOptions} options options
43
+ */
44
+ constructor(
45
+ multiTargets: Array<{
46
+ target: Element;
47
+ key: any;
48
+ options: EditorFrameOptions;
49
+ }>,
50
+ options: EditorInitOptions
51
+ );
52
+ /**
53
+ * @description Frame root key array
54
+ * @type {Array<*>}
55
+ */
56
+ rootKeys: Array<any>;
57
+ /**
58
+ * @description Frame root map
59
+ * @type {Map<*, __se__FrameContext>}
60
+ */
61
+ frameRoots: Map<any, __se__FrameContext>;
62
+ /**
63
+ * @description Editor context object
64
+ * @type {__se__Context}
65
+ */
66
+ context: __se__Context;
67
+ /**
68
+ * @description Current focusing frame context
69
+ * @type {__se__FrameContext}
70
+ */
71
+ frameContext: __se__FrameContext;
72
+ /**
73
+ * @description Current focusing frame context options
74
+ * @type {__se__FrameOptions}
75
+ */
76
+ frameOptions: __se__FrameOptions;
77
+ /**
78
+ * @description Document object
79
+ * @type {Document}
80
+ */
81
+ _d: Document;
82
+ /**
83
+ * @description Window object
84
+ * @type {Window}
85
+ */
86
+ _w: Window;
87
+ /**
88
+ * @description Controllers carrier
89
+ * @type {HTMLElement}
90
+ */
91
+ carrierWrapper: HTMLElement;
92
+ /**
93
+ * @description Editor options
94
+ * @type {Map<string, *>}
95
+ */
96
+ options: Map<string, any>;
97
+ /**
98
+ * @description Plugins
99
+ * @type {Object<string, *>}
100
+ */
101
+ plugins: {
102
+ [x: string]: any;
103
+ };
104
+ /**
105
+ * @description Events object, call by triggerEvent function
106
+ * @type {Object<string, *>}
107
+ */
108
+ events: {
109
+ [x: string]: any;
110
+ };
111
+ /**
112
+ * @description Call the event function by injecting self: this.
113
+ * @type {(eventName: string, ...args: *) => Promise<*>}
114
+ */
115
+ triggerEvent: (eventName: string, ...args: any) => Promise<any>;
116
+ /**
117
+ * @description Default icons object
118
+ * @type {Object<string, string>}
119
+ */
120
+ icons: {
121
+ [x: string]: string;
122
+ };
123
+ /**
124
+ * @description loaded language
125
+ * @type {Object<string, *>}
126
+ */
127
+ lang: {
128
+ [x: string]: any;
129
+ };
130
+ /**
131
+ * @description Variables used internally in editor operation
132
+ * @type {__se__EditorStatus}
133
+ */
134
+ status: __se__EditorStatus;
135
+ /**
136
+ * @description Is classic mode?
137
+ * @type {boolean}
138
+ */
139
+ isClassic: boolean;
140
+ /**
141
+ * @description Is inline mode?
142
+ * @type {boolean}
143
+ */
144
+ isInline: boolean;
145
+ /**
146
+ * @description Is balloon|balloon-always mode?
147
+ * @type {boolean}
148
+ */
149
+ isBalloon: boolean;
150
+ /**
151
+ * @description Is balloon-always mode?
152
+ * @type {boolean}
153
+ */
154
+ isBalloonAlways: boolean;
155
+ /**
156
+ * @description Is subToolbar balloon|balloon-always mode?
157
+ * @type {boolean}
158
+ */
159
+ isSubBalloon: boolean;
160
+ /**
161
+ * @description Is subToolbar balloon-always mode?
162
+ * @type {boolean}
163
+ */
164
+ isSubBalloonAlways: boolean;
165
+ /**
166
+ * @description All command buttons map
167
+ * @type {Map<string, HTMLElement>}
168
+ */
169
+ allCommandButtons: Map<string, HTMLElement>;
170
+ /**
171
+ * @description All command buttons map
172
+ * @type {Map<string, HTMLElement>}
173
+ */
174
+ subAllCommandButtons: Map<string, HTMLElement>;
175
+ /**
176
+ * @description Shoutcuts key map
177
+ * @type {Map<string, *>}
178
+ */
179
+ shortcutsKeyMap: Map<string, any>;
180
+ /**
181
+ * @description Shoutcuts reverse key array
182
+ * - An array of key codes generated with the reverseButtons option, used to reverse the action for a specific key combination.
183
+ * @type {Array<string>}
184
+ */
185
+ reverseKeys: Array<string>;
186
+ /**
187
+ * @description A map with the plugin's buttons having an "active" method and the default command buttons with an "active" action.
188
+ * - Each button is contained in an array.
189
+ * @type {Map<string, Array<HTMLButtonElement>>}
190
+ */
191
+ commandTargets: Map<string, Array<HTMLButtonElement>>;
192
+ /**
193
+ * @description Plugins array with "active" method.
194
+ * - "activeCommands" runs the "add" method when creating the editor.
195
+ * @type {Array<string>}
196
+ */
197
+ activeCommands: Array<string>;
198
+ /**
199
+ * @description The selection node (selection.getNode()) to which the effect was last applied
200
+ * @type {Node|null}
201
+ */
202
+ effectNode: Node | null;
203
+ /**
204
+ * @description Currently open "Modal" instance
205
+ * @type {*}
206
+ */
207
+ opendModal: any;
208
+ /**
209
+ * @description Currently open "Controller" info array
210
+ * @type {Array<ControllerInfo>}
211
+ */
212
+ opendControllers: Array<ControllerInfo>;
213
+ /**
214
+ * @description Currently open "Controller" caller plugin name
215
+ */
216
+ currentControllerName: string;
217
+ /**
218
+ * @description Currently open "Browser" instance
219
+ * @type {*}
220
+ */
221
+ opendBrowser: any;
222
+ /**
223
+ * @description Whether "SelectMenu" is open
224
+ * @type {boolean}
225
+ */
226
+ selectMenuOn: boolean;
227
+ /** @description History class instance @type {ReturnType<typeof import('./base/history').default>} */
228
+ history: ReturnType<typeof import('./base/history').default>;
229
+ /** @description EventManager class instance @type {import('./base/eventManager').default} */
230
+ eventManager: import('./base/eventManager').default;
231
+ /** @description Toolbar class instance @type {import('./class/toolbar').default} */
232
+ toolbar: import('./class/toolbar').default;
233
+ /** @description Sub-Toolbar class instance @type {import('./class/toolbar').default|null} */
234
+ subToolbar: import('./class/toolbar').default | null;
235
+ /** @description Char class instance @type {import('./class/char').default} */
236
+ char: import('./class/char').default;
237
+ /** @description Component class instance @type {import('./class/component').default} */
238
+ component: import('./class/component').default;
239
+ /** @description Format class instance @type {import('./class/format').default} */
240
+ format: import('./class/format').default;
241
+ /** @description HTML class instance @type {import('./class/html').default} */
242
+ html: import('./class/html').default;
243
+ /** @description Menu class instance @type {import('./class/menu').default} */
244
+ menu: import('./class/menu').default;
245
+ /** @description NodeTransform class instance @type {import('./class/nodeTransform').default} */
246
+ nodeTransform: import('./class/nodeTransform').default;
247
+ /** @description Offset class instance @type {import('./class/offset').default} */
248
+ offset: import('./class/offset').default;
249
+ /** @description Selection class instance @type {import('./class/selection').default} */
250
+ selection: import('./class/selection').default;
251
+ /** @description Shortcuts class instance @type {import('./class/shortcuts').default} */
252
+ shortcuts: import('./class/shortcuts').default;
253
+ /** @description UI class instance @type {import('./class/ui').default} */
254
+ ui: import('./class/ui').default;
255
+ /** @description Viewer class instance @type {import('./class/viewer').default} */
256
+ viewer: import('./class/viewer').default;
257
+ /**
258
+ * @description Line breaker (top)
259
+ * @type {HTMLElement}
260
+ */
261
+ _lineBreaker_t: HTMLElement;
262
+ /**
263
+ * @description Line breaker (bottom)
264
+ * @type {HTMLElement}
265
+ */
266
+ _lineBreaker_b: HTMLElement;
267
+ /**
268
+ * @description Closest ShadowRoot to editor if found
269
+ * @type {ShadowRoot}
270
+ */
271
+ _shadowRoot: ShadowRoot;
272
+ /**
273
+ * @description Plugin call event map
274
+ * @type {Map<string, Array<((...args: *) => *) & { index: number }>>}
275
+ */
276
+ _onPluginEvents: Map<
277
+ string,
278
+ Array<
279
+ ((...args: any) => any) & {
280
+ index: number;
281
+ }
282
+ >
283
+ >;
284
+ /**
285
+ * @description Copy format info
286
+ * - eventManager.__cacheStyleNodes copied
287
+ * @type {Array<Node>|null}
288
+ */
289
+ _onCopyFormatInfo: Array<Node> | null;
290
+ /**
291
+ * @description Copy format init method
292
+ * @type {(...args: *) => *|null}
293
+ */
294
+ _onCopyFormatInitMethod: (...args: any) => any | null;
295
+ /**
296
+ * @description Controller target's frame div (editor.frameContext.get('topArea'))
297
+ * @type {HTMLElement|null}
298
+ */
299
+ _controllerTargetContext: HTMLElement | null;
300
+ /**
301
+ * @description List of buttons that are disabled when "controller" is opened
302
+ * @type {Array<HTMLButtonElement|HTMLInputElement>}
303
+ */
304
+ _controllerOnDisabledButtons: Array<HTMLButtonElement | HTMLInputElement>;
305
+ /**
306
+ * @description List of buttons that are disabled when "codeView" mode opened
307
+ * @type {Array<HTMLButtonElement|HTMLInputElement>}
308
+ */
309
+ _codeViewDisabledButtons: Array<HTMLButtonElement | HTMLInputElement>;
310
+ /**
311
+ * @description List of buttons to run plugins in the toolbar
312
+ * @type {Array<HTMLElement>}
313
+ */
314
+ _pluginCallButtons: Array<HTMLElement>;
315
+ /**
316
+ * @description List of buttons to run plugins in the Sub-Toolbar
317
+ * @type {Array<HTMLElement>}
318
+ */
319
+ _pluginCallButtons_sub: Array<HTMLElement>;
320
+ /**
321
+ * @description Responsive Toolbar Button Structure array
322
+ * @type {Array<*>}
323
+ */
324
+ _responsiveButtons: Array<any>;
325
+ /**
326
+ * @description Responsive Sub-Toolbar Button Structure array
327
+ * @type {Array<*>}
328
+ */
329
+ _responsiveButtons_sub: Array<any>;
330
+ /**
331
+ * @description Variable that controls the "blur" event in the editor of inline or balloon mode when the focus is moved to dropdown
332
+ * @type {boolean}
333
+ */
334
+ _notHideToolbar: boolean;
335
+ /**
336
+ * @description Variables for controlling focus and blur events
337
+ * @type {boolean}
338
+ */
339
+ _preventBlur: boolean;
340
+ /**
341
+ * @description If true, initialize all indexes of image, video information
342
+ * @type {boolean}
343
+ */
344
+ _componentsInfoInit: boolean;
345
+ /**
346
+ * @description If true, reset all indexes of image, video information
347
+ * @type {boolean}
348
+ */
349
+ _componentsInfoReset: boolean;
350
+ /**
351
+ * @description plugin retainFormat info Map()
352
+ * @type {Map<string, ((...args: *) => *)>}
353
+ */
354
+ _MELInfo: Map<string, (...args: any) => any>;
355
+ /**
356
+ * @description Properties for managing files in the "FileManager" module
357
+ * @type {Array<*>}
358
+ */
359
+ _fileInfoPluginsCheck: Array<any>;
360
+ /**
361
+ * @description Properties for managing files in the "FileManager" module
362
+ * @type {Array<*>}
363
+ */
364
+ _fileInfoPluginsReset: Array<any>;
365
+ /**
366
+ * @description Variables for file component management
367
+ * @type {Object<string, *>}
368
+ */
369
+ _fileManager: {
370
+ [x: string]: any;
371
+ };
372
+ /**
373
+ * @description Variables for managing the components
374
+ * @type {Array<*>}
375
+ */
376
+ _componentManager: Array<any>;
377
+ /**
378
+ * @description Current Figure container.
379
+ * @type {HTMLElement|null}
380
+ */
381
+ _figureContainer: HTMLElement | null;
382
+ /**
383
+ * @description Origin options
384
+ * @type {EditorInitOptions}
385
+ */
386
+ _originOptions: EditorInitOptions;
387
+ /**
388
+ * @description If the plugin is not added, add the plugin and call the 'add' function.
389
+ * - If the plugin is added call callBack function.
390
+ * @param {string} pluginName The name of the plugin to call
391
+ * @param {?Array<HTMLElement>} targets Plugin target button (This is not necessary if you have a button list when creating the editor)
392
+ * @param {?Object<string, *>} pluginOptions Plugin's options
393
+ */
394
+ registerPlugin(
395
+ pluginName: string,
396
+ targets: Array<HTMLElement> | null,
397
+ pluginOptions: {
398
+ [x: string]: any;
399
+ } | null
400
+ ): void;
401
+ /**
402
+ * @description Run plugin calls and basic commands.
403
+ * @param {string} command Command string
404
+ * @param {string} type Display type string ('command', 'dropdown', 'modal', 'container')
405
+ * @param {?Node=} button The element of command button
406
+ */
407
+ run(command: string, type: string, button?: (Node | null) | undefined): void;
408
+ /**
409
+ * @description Execute default command of command button
410
+ * - (selectAll, codeView, fullScreen, indent, outdent, undo, redo, removeFormat, print, preview, showBlocks, save, bold, underline, italic, strike, subscript, superscript, copy, cut, paste)
411
+ * @param {string} command Property of command button (data-value)
412
+ * @param {Node} button Command button
413
+ * @returns {Promise<void>}
414
+ */
415
+ commandHandler(command: string, button: Node): Promise<void>;
416
+ /**
417
+ * @description Execute "editor.run" with command button.
418
+ * @param {Node} target Command target
419
+ */
420
+ runFromTarget(target: Node): void;
421
+ /**
422
+ * @description It is executed by inserting the button of commandTargets as the argument value of the "f" function.
423
+ * - "func" is called as long as the button array's length.
424
+ * @param {string} cmd data-command
425
+ * @param {(...args: *) => *} func Function.
426
+ */
427
+ applyCommandTargets(cmd: string, func: (...args: any) => any): void;
428
+ /**
429
+ * @description Execute a function by traversing all root targets.
430
+ * @param {(...args: *) => *} f Function
431
+ */
432
+ applyFrameRoots(f: (...args: any) => any): void;
433
+ /**
434
+ * @description Checks if the content of the editor is empty.
435
+ * - Display criteria for "placeholder".
436
+ * @param {?__se__FrameContext=} fc Frame context, if not present, currently selected frame context.
437
+ * @returns {boolean}
438
+ */
439
+ isEmpty(fc?: (__se__FrameContext | null) | undefined): boolean;
440
+ /**
441
+ * @description Set direction to "rtl" or "ltr".
442
+ * @param {string} dir "rtl" or "ltr"
443
+ */
444
+ setDir(dir: string): void;
445
+ /**
446
+ * @description Add or reset option property (Editor is reloaded)
447
+ * @param {EditorInitOptions} newOptions Options
448
+ */
449
+ resetOptions(newOptions: EditorInitOptions): void;
450
+ /**
451
+ * @description Change the current root index.
452
+ * @param {*} rootKey
453
+ */
454
+ changeFrameContext(rootKey: any): void;
455
+ /**
456
+ * @description javascript execCommand
457
+ * @param {string} command javascript execCommand function property
458
+ * @param {boolean=} showDefaultUI javascript execCommand function property
459
+ * @param {string=} value javascript execCommand function property
460
+ */
461
+ execCommand(command: string, showDefaultUI?: boolean | undefined, value?: string | undefined): void;
462
+ /**
463
+ * @description Focus to wysiwyg area
464
+ * @param {*} rootKey Root index
465
+ */
466
+ focus(rootKey: any): void;
467
+ /**
468
+ * @description If "focusEl" is a component, then that component is selected; if it is a format element, the last text is selected
469
+ * - If "focusEdge" is null, then selected last element
470
+ * @param {?Node=} focusEl Focus element
471
+ */
472
+ focusEdge(focusEl?: (Node | null) | undefined): void;
473
+ /**
474
+ * @description Focusout to wysiwyg area (.blur())
475
+ */
476
+ blur(): void;
477
+ /**
478
+ * @description Destroy the suneditor
479
+ */
480
+ destroy(): any;
481
+ /** ----- private methods ----------------------------------------------------------------------------------------------------------------------------- */
482
+ /**
483
+ * @private
484
+ * @description Set frameContext, frameOptions
485
+ * @param {__se__FrameContext} rt Root target[key] FrameContext
486
+ */
487
+ _setFrameInfo(rt: __se__FrameContext): void;
488
+ /**
489
+ * @private
490
+ * @description Focus to wysiwyg area using "native focus function"
491
+ */
492
+ _nativeFocus(): void;
493
+ /**
494
+ * @private
495
+ * @description Check the components such as image and video and modify them according to the format.
496
+ * @param {boolean} loaded If true, the component is loaded.
497
+ */
498
+ _checkComponents(loaded: boolean): void;
499
+ /**
500
+ * @private
501
+ * @description Initialize the information of the components.
502
+ */
503
+ _resetComponents(): void;
504
+ /**
505
+ * @private
506
+ * @description Initializ wysiwyg area (Only called from core._init)
507
+ * @param {__se__FrameContext} e frameContext
508
+ * @param {string} value initial html string
509
+ */
510
+ _initWysiwygArea(e: __se__FrameContext, value: string): void;
511
+ /**
512
+ * @private
513
+ * @description Called when there are changes to tags in the wysiwyg region.
514
+ * @param {__se__FrameContext} fc - Frame context object
515
+ */
516
+ _resourcesStateChange(fc: __se__FrameContext): void;
517
+ /**
518
+ * @private
519
+ * @description Modify the height value of the iframe when the height of the iframe is automatic.
520
+ * @param {__se__FrameContext} fc - Frame context object
521
+ */
522
+ _iframeAutoHeight(fc: __se__FrameContext): void;
523
+ /**
524
+ * @private
525
+ * @description Call the "onResizeEditor" event
526
+ * @param {__se__FrameContext} fc - Frame context object
527
+ * @param {number} h - Height value
528
+ * @param {ResizeObserverEntry} resizeObserverEntry - ResizeObserverEntry object
529
+ */
530
+ __callResizeFunction(fc: __se__FrameContext, h: number, resizeObserverEntry: ResizeObserverEntry): void;
531
+ /**
532
+ * @private
533
+ * @description Set display property when there is placeholder.
534
+ * @param {?__se__FrameContext=} fc - Frame context object, If null fc is this.frameContext
535
+ */
536
+ _checkPlaceholder(fc?: (__se__FrameContext | null) | undefined): void;
537
+ /**
538
+ * @private
539
+ * @description Initializ editor
540
+ * @param {EditorInitOptions} options Options
541
+ */
542
+ __editorInit(options: EditorInitOptions): void;
543
+ /**
544
+ * @private
545
+ * @description Initializ core variable
546
+ * @param {EditorInitOptions} options Options
547
+ */
548
+ __init(options: EditorInitOptions): void;
549
+ /**
550
+ * @private
551
+ * @description Caching basic buttons to use
552
+ */
553
+ __cachingButtons(): void;
554
+ /**
555
+ * @private
556
+ * @description Set the disabled button list
557
+ * - this._codeViewDisabledButtons, this._controllerOnDisabledButtons
558
+ */
559
+ __setDisabledButtons(): void;
560
+ /**
561
+ * @private
562
+ * @description Save the current buttons
563
+ * @param {Map<string, Element>} cmdButtons Command button map
564
+ * @param {Element} tray Button tray
565
+ */
566
+ __saveCommandButtons(cmdButtons: Map<string, Element>, tray: Element): void;
567
+ /**
568
+ * @private
569
+ * @description Caches shortcut keys for commands.
570
+ */
571
+ __cachingShortcuts(): void;
572
+ /**
573
+ * @private
574
+ * @description Sets command target elements.
575
+ * @param {string} cmd - The command identifier.
576
+ * @param {HTMLButtonElement} target - The associated command button.
577
+ */
578
+ __setCommandTargets(cmd: string, target: HTMLButtonElement): void;
579
+ /**
580
+ * @private
581
+ * @description Configures the document properties of an iframe editor.
582
+ * @param {HTMLIFrameElement} frame - The editor iframe.
583
+ * @param {Map<string, *>} originOptions - The original options.
584
+ * @param {__se__FrameOptions} targetOptions - The new options.
585
+ */
586
+ __setIframeDocument(frame: HTMLIFrameElement, originOptions: Map<string, any>, targetOptions: __se__FrameOptions): void;
587
+ /**
588
+ * @private
589
+ * @description Set the FrameContext parameters and options
590
+ * @param {__se__FrameContext} e - Frame context object
591
+ */
592
+ __setEditorParams(e: __se__FrameContext): void;
593
+ /**
594
+ * @private
595
+ * @description Registers and initializes editor classes.
596
+ */
597
+ __registerClass(): void;
598
+ /**
599
+ * @private
600
+ * @description Creates the editor instance and initializes components.
601
+ * @param {EditorInitOptions} originOptions - The initial editor options.
602
+ * @returns {Promise<void>}
603
+ */
604
+ __Create(originOptions: EditorInitOptions): Promise<void>;
605
+ Constructor: typeof Editor;
606
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @description Selects all content in the editor.
3
+ * @param {__se__EditorCore} editor - The root editor instance
4
+ */
5
+ export function SELECT_ALL(editor: __se__EditorCore): void;
6
+ /**
7
+ * @description Toggles direction button active state.
8
+ * @param {__se__EditorCore} editor - The root editor instance
9
+ * @param {boolean} rtl - Whether the text direction is right-to-left.
10
+ */
11
+ export function DIR_BTN_ACTIVE(editor: __se__EditorCore, rtl: boolean): void;
12
+ /**
13
+ * @description Saves the editor content.
14
+ * @param {__se__EditorCore} editor - The root editor instance
15
+ * @returns {Promise<void>}
16
+ */
17
+ export function SAVE(editor: __se__EditorCore): Promise<void>;
18
+ /**
19
+ * @description Copies formatting from selected text.
20
+ * @param {__se__EditorCore} editor - The root editor instance
21
+ * @param {Node} button - The button triggering the copy format function.
22
+ */
23
+ export function COPY_FORMAT(editor: __se__EditorCore, button: Node): void;
24
+ /**
25
+ * @description Applies font styling to selected text.
26
+ * @param {__se__EditorCore} editor - The root editor instance
27
+ * @param {string} command - The font style command (e.g., bold, italic, underline).
28
+ */
29
+ export function FONT_STYLE(editor: __se__EditorCore, command: string): void;
30
+ /**
31
+ * @description Inserts a page break element into the editor.
32
+ * @param {__se__EditorCore} editor - The root editor instance
33
+ */
34
+ export function PAGE_BREAK(editor: __se__EditorCore): void;
35
+ /**
36
+ * @description List of commands that trigger active event handling in the editor.
37
+ * - These commands typically apply inline formatting or structural changes.
38
+ * @constant {string[]}
39
+ */
40
+ export const ACTIVE_EVENT_COMMANDS: string[];
41
+ /**
42
+ * @description List of basic editor commands, including active event commands and additional actions
43
+ * - such as undo, redo, saving, full-screen toggle, and text direction commands.
44
+ * @constant {string[]}
45
+ */
46
+ export const BASIC_COMMANDS: string[];