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,55 @@
1
+ export default AudioGallery;
2
+ export type BrowserFile_audioGallery = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_audioGallery
5
+ */
6
+ /**
7
+ * @class
8
+ * @extends EditorInjector
9
+ * @description Audio gallery plugin
10
+ */
11
+ declare class AudioGallery extends EditorInjector {
12
+ static key: string;
13
+ static type: string;
14
+ static className: string;
15
+ /**
16
+ * @constructor
17
+ * @param {__se__EditorCore} editor - The root editor instance
18
+ * @param {Object} pluginOptions
19
+ * @param {Array<*>=} pluginOptions.data - direct data without server calls
20
+ * @param {string} pluginOptions.url - server request url
21
+ * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
+ * @param {string|((item: BrowserFile_audioGallery) => string)} pluginOptions.thumbnail - default thumbnail
23
+ */
24
+ constructor(
25
+ editor: __se__EditorCore,
26
+ pluginOptions: {
27
+ data?: Array<any> | undefined;
28
+ url: string;
29
+ headers?:
30
+ | {
31
+ [x: string]: string;
32
+ }
33
+ | undefined;
34
+ thumbnail: string | ((item: BrowserFile_audioGallery) => string);
35
+ }
36
+ );
37
+ title: any;
38
+ icon: string;
39
+ onSelectfunction: (targe: Node) => any;
40
+ browser: Browser;
41
+ /**
42
+ * @editorMethod Modules.Browser
43
+ * @description Executes the method that is called when a "Browser" module's is opened.
44
+ * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
45
+ */
46
+ open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
47
+ /**
48
+ * @editorMethod Modules.Browser
49
+ * @description Executes the method that is called when a "Browser" module's is closed.
50
+ */
51
+ close(): void;
52
+ #private;
53
+ }
54
+ import EditorInjector from '../../editorInjector';
55
+ import { Browser } from '../../modules';
@@ -0,0 +1,64 @@
1
+ export default FileBrowser;
2
+ export type BrowserFile_fileBrowser = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_fileBrowser
5
+ */
6
+ /**
7
+ * @class
8
+ * @extends EditorInjector
9
+ * @description File browser plugin. Can contain any media type.
10
+ */
11
+ declare class FileBrowser extends EditorInjector {
12
+ static key: string;
13
+ static type: string;
14
+ static className: string;
15
+ /**
16
+ * @constructor
17
+ * @param {__se__EditorCore} editor - The root editor instance
18
+ * @param {Object} pluginOptions
19
+ * @param {Object<string, *>|Array<*>=} pluginOptions.data - direct data without server calls
20
+ * @param {string} pluginOptions.url - server request url
21
+ * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
+ * @param {string|((item: BrowserFile_fileBrowser) => string)} pluginOptions.thumbnail - default thumbnail
23
+ * @param {Array<string>} pluginOptions.props - additional tag names
24
+ */
25
+ constructor(
26
+ editor: __se__EditorCore,
27
+ pluginOptions: {
28
+ data?:
29
+ | (
30
+ | {
31
+ [x: string]: any;
32
+ }
33
+ | Array<any>
34
+ )
35
+ | undefined;
36
+ url: string;
37
+ headers?:
38
+ | {
39
+ [x: string]: string;
40
+ }
41
+ | undefined;
42
+ thumbnail: string | ((item: BrowserFile_fileBrowser) => string);
43
+ props: Array<string>;
44
+ }
45
+ );
46
+ title: any;
47
+ icon: string;
48
+ onSelectfunction: (targe: Node) => any;
49
+ browser: Browser;
50
+ /**
51
+ * @editorMethod Modules.Browser
52
+ * @description Executes the method that is called when a "Browser" module's is opened.
53
+ * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
54
+ */
55
+ open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
56
+ /**
57
+ * @editorMethod Modules.Browser
58
+ * @description Executes the method that is called when a "Browser" module's is closed.
59
+ */
60
+ close(): void;
61
+ #private;
62
+ }
63
+ import EditorInjector from '../../editorInjector';
64
+ import { Browser } from '../../modules';
@@ -0,0 +1,55 @@
1
+ export default FileGallery;
2
+ export type BrowserFile_fileGallery = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_fileGallery
5
+ */
6
+ /**
7
+ * @class
8
+ * @extends EditorInjector
9
+ * @description File gallery plugin
10
+ */
11
+ declare class FileGallery extends EditorInjector {
12
+ static key: string;
13
+ static type: string;
14
+ static className: string;
15
+ /**
16
+ * @constructor
17
+ * @param {__se__EditorCore} editor - The root editor instance
18
+ * @param {Object} pluginOptions
19
+ * @param {Array<*>=} pluginOptions.data - direct data without server calls
20
+ * @param {string} pluginOptions.url - server request url
21
+ * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
+ * @param {string|((item: BrowserFile_fileGallery) => string)} pluginOptions.thumbnail - default thumbnail
23
+ */
24
+ constructor(
25
+ editor: __se__EditorCore,
26
+ pluginOptions: {
27
+ data?: Array<any> | undefined;
28
+ url: string;
29
+ headers?:
30
+ | {
31
+ [x: string]: string;
32
+ }
33
+ | undefined;
34
+ thumbnail: string | ((item: BrowserFile_fileGallery) => string);
35
+ }
36
+ );
37
+ title: any;
38
+ icon: string;
39
+ onSelectfunction: (targe: Node) => any;
40
+ browser: Browser;
41
+ /**
42
+ * @editorMethod Modules.Browser
43
+ * @description Executes the method that is called when a "Browser" module's is opened.
44
+ * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
45
+ */
46
+ open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
47
+ /**
48
+ * @editorMethod Modules.Browser
49
+ * @description Executes the method that is called when a "Browser" module's is closed.
50
+ */
51
+ close(): void;
52
+ #private;
53
+ }
54
+ import EditorInjector from '../../editorInjector';
55
+ import { Browser } from '../../modules';
@@ -0,0 +1,51 @@
1
+ export default ImageGallery;
2
+ /**
3
+ * @class
4
+ * @extends EditorInjector
5
+ * @description Image gallery plugin
6
+ */
7
+ declare class ImageGallery extends EditorInjector {
8
+ static key: string;
9
+ static type: string;
10
+ static className: string;
11
+ /**
12
+ * @constructor
13
+ * @param {__se__EditorCore} editor - The root editor instance
14
+ * @param {Object} pluginOptions
15
+ * @param {Array<*>=} pluginOptions.data - direct data without server calls
16
+ * @param {string=} pluginOptions.url - server request url
17
+ * @param {Object<string, string>=} pluginOptions.headers - server request headers
18
+ */
19
+ constructor(
20
+ editor: __se__EditorCore,
21
+ pluginOptions: {
22
+ data?: Array<any> | undefined;
23
+ url?: string | undefined;
24
+ headers?:
25
+ | {
26
+ [x: string]: string;
27
+ }
28
+ | undefined;
29
+ }
30
+ );
31
+ title: any;
32
+ icon: string;
33
+ onSelectfunction: (targe: Node) => any;
34
+ browser: Browser;
35
+ width: any;
36
+ height: any;
37
+ /**
38
+ * @editorMethod Modules.Browser
39
+ * @description Executes the method that is called when a "Browser" module's is opened.
40
+ * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
41
+ */
42
+ open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
43
+ /**
44
+ * @editorMethod Modules.Browser
45
+ * @description Executes the method that is called when a "Browser" module's is closed.
46
+ */
47
+ close(): void;
48
+ #private;
49
+ }
50
+ import EditorInjector from '../../editorInjector';
51
+ import { Browser } from '../../modules';
@@ -0,0 +1,57 @@
1
+ export default VideoGallery;
2
+ export type BrowserFile_videoGallery = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_videoGallery
5
+ */
6
+ /**
7
+ * @class
8
+ * @extends EditorInjector
9
+ * @description Video gallery plugin
10
+ */
11
+ declare class VideoGallery extends EditorInjector {
12
+ static key: string;
13
+ static type: string;
14
+ static className: string;
15
+ /**
16
+ * @constructor
17
+ * @param {__se__EditorCore} editor - The root editor instance
18
+ * @param {Object} pluginOptions
19
+ * @param {Array<*>=} pluginOptions.data - direct data without server calls
20
+ * @param {string=} pluginOptions.url - server request url
21
+ * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
+ * @param {string|((item: BrowserFile_videoGallery) => string)} pluginOptions.thumbnail - default thumbnail
23
+ */
24
+ constructor(
25
+ editor: __se__EditorCore,
26
+ pluginOptions: {
27
+ data?: Array<any> | undefined;
28
+ url?: string | undefined;
29
+ headers?:
30
+ | {
31
+ [x: string]: string;
32
+ }
33
+ | undefined;
34
+ thumbnail: string | ((item: BrowserFile_videoGallery) => string);
35
+ }
36
+ );
37
+ title: any;
38
+ icon: string;
39
+ onSelectfunction: (targe: Node) => any;
40
+ browser: Browser;
41
+ width: any;
42
+ height: any;
43
+ /**
44
+ * @editorMethod Modules.Browser
45
+ * @description Executes the method that is called when a "Browser" module's is opened.
46
+ * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
47
+ */
48
+ open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
49
+ /**
50
+ * @editorMethod Modules.Browser
51
+ * @description Executes the method that is called when a "Browser" module's is closed.
52
+ */
53
+ close(): void;
54
+ #private;
55
+ }
56
+ import EditorInjector from '../../editorInjector';
57
+ import { Browser } from '../../modules';
@@ -0,0 +1,28 @@
1
+ export default Blockquote;
2
+ /**
3
+ * @class
4
+ * @description Blockquote plugin
5
+ */
6
+ declare class Blockquote extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ title: any;
11
+ icon: string;
12
+ quoteTag: HTMLElement;
13
+ /**
14
+ * @editorMethod Editor.EventManager
15
+ * @description Executes the method that is called whenever the cursor position changes.
16
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
17
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
18
+ * @returns {boolean} - Whether the plugin is active
19
+ */
20
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
21
+ /**
22
+ * @editorMethod Editor.core
23
+ * @description Executes the main execution method of the plugin.
24
+ * - It is executed by clicking a toolbar "command" button or calling an API.
25
+ */
26
+ action(): void;
27
+ }
28
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,46 @@
1
+ export default ExportPDF;
2
+ /**
3
+ * @class
4
+ * @description Export PDF plugin
5
+ */
6
+ declare class ExportPDF extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ /**
11
+ * @constructor
12
+ * @param {__se__EditorCore} editor - The root editor instance
13
+ * @param {Object} pluginOptions - plugin options
14
+ * @param {string} pluginOptions.apiUrl - server request url
15
+ * @param {string} pluginOptions.fileName - file name
16
+ */
17
+ constructor(
18
+ editor: __se__EditorCore,
19
+ pluginOptions: {
20
+ apiUrl: string;
21
+ fileName: string;
22
+ }
23
+ );
24
+ title: any;
25
+ icon: string;
26
+ apiUrl: string;
27
+ fileName: string;
28
+ apiManager: ApiManager;
29
+ /**
30
+ * @editorMethod Editor.core
31
+ * @description Executes the main execution method of the plugin.
32
+ * - It is executed by clicking a toolbar "command" button or calling an API.
33
+ * @returns {Promise<void>}
34
+ */
35
+ action(): Promise<void>;
36
+ /**
37
+ * @private
38
+ * @description Sends the editor content to the server for PDF generation.
39
+ * @param {HTMLElement} ww - A temporary container holding the formatted editor content.
40
+ * @returns {Promise<void>} Resolves when the PDF file is successfully downloaded.
41
+ * @throws {Error} Throws an error if the server response indicates a failure.
42
+ */
43
+ private _createByServer;
44
+ }
45
+ import EditorInjector from '../../editorInjector';
46
+ import { ApiManager } from '../../modules';
@@ -0,0 +1,156 @@
1
+ export default FileUpload;
2
+ /**
3
+ * @class
4
+ * @description File upload plugin
5
+ */
6
+ declare class FileUpload extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ static options: {
11
+ eventIndex: number;
12
+ };
13
+ /**
14
+ * @this {FileUpload}
15
+ * @param {HTMLElement} node - The node to check.
16
+ * @returns {HTMLElement|null} Returns a node if the node is a valid component.
17
+ */
18
+ static component(this: FileUpload, node: HTMLElement): HTMLElement | null;
19
+ /**
20
+ * @constructor
21
+ * @param {__se__EditorCore} editor - The root editor instance
22
+ * @param {Object} pluginOptions - plugin options
23
+ * @param {string} pluginOptions.uploadUrl - server request url
24
+ * @param {Object<string, string>=} pluginOptions.uploadHeaders - server request headers
25
+ * @param {string=} pluginOptions.uploadSizeLimit - upload size limit
26
+ * @param {string=} pluginOptions.uploadSingleSizeLimit - upload single size limit
27
+ * @param {boolean=} pluginOptions.allowMultiple - allow multiple files
28
+ * @param {string=} pluginOptions.acceptedFormats - accepted formats
29
+ * @param {string=} pluginOptions.as - Whether to use the 'Box' or 'Link' conversion button
30
+ * @param {Array<string>} pluginOptions.controls - Additional controls to be added to the figure
31
+ */
32
+ constructor(
33
+ editor: __se__EditorCore,
34
+ pluginOptions: {
35
+ uploadUrl: string;
36
+ uploadHeaders?:
37
+ | {
38
+ [x: string]: string;
39
+ }
40
+ | undefined;
41
+ uploadSizeLimit?: string | undefined;
42
+ uploadSingleSizeLimit?: string | undefined;
43
+ allowMultiple?: boolean | undefined;
44
+ acceptedFormats?: string | undefined;
45
+ as?: string | undefined;
46
+ controls: Array<string>;
47
+ }
48
+ );
49
+ title: any;
50
+ icon: string;
51
+ uploadUrl: string;
52
+ uploadHeaders: {
53
+ [x: string]: string;
54
+ };
55
+ uploadSizeLimit: number;
56
+ uploadSingleSizeLimit: number;
57
+ allowMultiple: boolean;
58
+ acceptedFormats: string;
59
+ _acceptedCheck: string[];
60
+ as: string;
61
+ input: HTMLElement;
62
+ _element: HTMLElement;
63
+ figure: Figure;
64
+ fileManager: FileManager;
65
+ controller: Controller;
66
+ editInput: HTMLInputElement;
67
+ /**
68
+ * @editorMethod Editor.core
69
+ * @description Executes the main execution method of the plugin.
70
+ * - It is executed by clicking a toolbar "command" button or calling an API.
71
+ */
72
+ action(): void;
73
+ /**
74
+ * @editorMethod Editor.Component
75
+ * @description Executes the method that is called when a component of a plugin is selected.
76
+ * @param {HTMLElement} target Target component element
77
+ */
78
+ select(target: HTMLElement): boolean;
79
+ /**
80
+ * @editorMethod Editor.EventManager
81
+ * @description Executes the event function of "paste" or "drop".
82
+ * @param {Object} params { frameContext, event, file }
83
+ * @param {__se__FrameContext} params.frameContext Frame context
84
+ * @param {ClipboardEvent} params.event Event object
85
+ * @param {File} params.file File object
86
+ * @returns {boolean} - If return false, the file upload will be canceled
87
+ */
88
+ onFilePasteAndDrop({ file }: { frameContext: __se__FrameContext; event: ClipboardEvent; file: File }): boolean;
89
+ /**
90
+ * @editorMethod Modules.Controller
91
+ * @description Executes the method that is called when a target component is edited.
92
+ * @param {HTMLElement|Text} target Target element
93
+ */
94
+ edit(target: HTMLElement | Text): void;
95
+ /**
96
+ * @editorMethod Modules.Controller
97
+ * @description Executes the method that is called when a button is clicked in the "controller".
98
+ * @param {HTMLButtonElement} target Target button element
99
+ */
100
+ controllerAction(target: HTMLButtonElement): void;
101
+ /**
102
+ * @editorMethod Editor.Component
103
+ * @description Method to delete a component of a plugin, called by the "FileManager", "Controller" module.
104
+ * @param {HTMLElement} target Target element
105
+ * @returns {Promise<void>}
106
+ */
107
+ destroy(target: HTMLElement): Promise<void>;
108
+ /**
109
+ * @description Create an "file" component using the provided files.
110
+ * @param {File[]|FileList} fileList File object list
111
+ * @returns {Promise<boolean>} If return false, the file upload will be canceled
112
+ */
113
+ submitFile(fileList: File[] | FileList): Promise<boolean>;
114
+ /**
115
+ * @description Convert format to link or block
116
+ * @param {HTMLElement} target Target element
117
+ * @param {string} value 'link' or 'block'
118
+ */
119
+ convertFormat(target: HTMLElement, value: string): void;
120
+ /**
121
+ * @description Create file element
122
+ * @param {string} url File URL
123
+ * @param {File|{name: string, size: number}} file File object
124
+ * @param {boolean} isLast Is last file
125
+ */
126
+ create(
127
+ url: string,
128
+ file:
129
+ | File
130
+ | {
131
+ name: string;
132
+ size: number;
133
+ },
134
+ isLast: boolean
135
+ ): void;
136
+ /**
137
+ * @private
138
+ * @description Processes the server response after file upload.
139
+ * - Registers the uploaded files in the editor.
140
+ * @param {Object<string, *>} response - The response object from the server.
141
+ */
142
+ private _register;
143
+ /**
144
+ * @private
145
+ * @description Handles file upload errors.
146
+ * - Displays an error message if the upload fails.
147
+ * @param {Object<string, *>} response - The error response from the server.
148
+ * @returns {Promise<void>}
149
+ */
150
+ private _error;
151
+ #private;
152
+ }
153
+ import EditorInjector from '../../editorInjector';
154
+ import { Figure } from '../../modules';
155
+ import { FileManager } from '../../modules';
156
+ import { Controller } from '../../modules';
@@ -0,0 +1,46 @@
1
+ export default List_bulleted;
2
+ /**
3
+ * @class
4
+ * @description List bulleted plugin, Several types of lists are provided.
5
+ */
6
+ declare class List_bulleted extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ title: any;
11
+ icon: string;
12
+ afterItem: HTMLElement;
13
+ listItems: NodeListOf<Element>;
14
+ /**
15
+ * @editorMethod Editor.EventManager
16
+ * @description Executes the method that is called whenever the cursor position changes.
17
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
18
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
19
+ * @returns {boolean} - Whether the plugin is active
20
+ */
21
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
22
+ /**
23
+ * @editorMethod Modules.Dropdown
24
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
25
+ */
26
+ on(): void;
27
+ /**
28
+ * @editorMethod Editor.core
29
+ * @description Executes the main execution method of the plugin.
30
+ * - Called when an item in the "dropdown" menu is clicked.
31
+ * @param {HTMLElement} target - The plugin's toolbar button element
32
+ */
33
+ action(target: HTMLElement): void;
34
+ /**
35
+ * @editorMethod Editor.core
36
+ * @description Executes methods called by shortcut keys.
37
+ * @param {__se__PluginShortcutInfo} params - Information of the "shortcut" plugin
38
+ */
39
+ shortcut({ range, info }: __se__PluginShortcutInfo): void;
40
+ /**
41
+ * @description Add a bulleted list
42
+ * @param {string} [type=""] List type
43
+ */
44
+ submit(type?: string): void;
45
+ }
46
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,46 @@
1
+ export default List_numbered;
2
+ /**
3
+ * @class
4
+ * @description List numbered plugin, Several types of lists are provided.
5
+ */
6
+ declare class List_numbered extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ title: any;
11
+ icon: string;
12
+ afterItem: HTMLElement;
13
+ listItems: NodeListOf<Element>;
14
+ /**
15
+ * @editorMethod Editor.EventManager
16
+ * @description Executes the method that is called whenever the cursor position changes.
17
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
18
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
19
+ * @returns {boolean} - Whether the plugin is active
20
+ */
21
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
22
+ /**
23
+ * @editorMethod Modules.Dropdown
24
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
25
+ */
26
+ on(): void;
27
+ /**
28
+ * @editorMethod Editor.core
29
+ * @description Executes the main execution method of the plugin.
30
+ * - Called when an item in the "dropdown" menu is clicked.
31
+ * @param {HTMLElement} target - The plugin's toolbar button element
32
+ */
33
+ action(target: HTMLElement): void;
34
+ /**
35
+ * @editorMethod Editor.core
36
+ * @description Executes methods called by shortcut keys.
37
+ * @param {__se__PluginShortcutInfo} params - Information of the "shortcut" plugin
38
+ */
39
+ shortcut({ range, info }: __se__PluginShortcutInfo): void;
40
+ /**
41
+ * @description Add a numbered list
42
+ * @param {string} [type=""] List type
43
+ */
44
+ submit(type?: string): void;
45
+ }
46
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,60 @@
1
+ export default Align;
2
+ /**
3
+ * @class
4
+ * @description Align plugin
5
+ */
6
+ declare class Align extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ /**
11
+ * @param {__se__EditorCore} editor - The root editor instance
12
+ * @param {Object} pluginOptions
13
+ * @param {Array.<"right"|"center"|"left"|"justify">} pluginOptions.items - Align items
14
+ */
15
+ constructor(
16
+ editor: __se__EditorCore,
17
+ pluginOptions: {
18
+ items: Array<'right' | 'center' | 'left' | 'justify'>;
19
+ }
20
+ );
21
+ title: any;
22
+ icon: string;
23
+ _itemMenu: HTMLUListElement;
24
+ defaultDir: string;
25
+ alignIcons: {
26
+ justify: string;
27
+ left: string;
28
+ right: string;
29
+ center: string;
30
+ };
31
+ alignList: NodeListOf<Element>;
32
+ /**
33
+ * @editorMethod Editor.EventManager
34
+ * @description Executes the method that is called whenever the cursor position changes.
35
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
36
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
37
+ * @returns {boolean} - Whether the plugin is active
38
+ */
39
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
40
+ /**
41
+ * @editorMethod Modules.Dropdown
42
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
43
+ * @param {HTMLElement} target Line element at the current cursor position
44
+ */
45
+ on(target: HTMLElement): void;
46
+ /**
47
+ * @editorMethod Editor.core
48
+ * @description Executes the method called when the rtl, ltr mode changes. ("editor.setDir")
49
+ * @param {string} dir Direction ("rtl" or "ltr")
50
+ */
51
+ setDir(dir: string): void;
52
+ /**
53
+ * @editorMethod Editor.core
54
+ * @description Executes the main execution method of the plugin.
55
+ * - Called when an item in the "dropdown" menu is clicked.
56
+ * @param {HTMLElement} target - The plugin's toolbar button element
57
+ */
58
+ action(target: HTMLElement): void;
59
+ }
60
+ import EditorInjector from '../../editorInjector';