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,26 @@
1
+ declare namespace _default {
2
+ export { _DragHandle };
3
+ export { ApiManager };
4
+ export { ColorPicker };
5
+ export { Controller };
6
+ export { Browser };
7
+ export { FileManager };
8
+ export { HueSlider };
9
+ export { Figure };
10
+ export { Modal };
11
+ export { ModalAnchorEditor };
12
+ export { SelectMenu };
13
+ }
14
+ export default _default;
15
+ import _DragHandle from './_DragHandle';
16
+ import ApiManager from './ApiManager';
17
+ import ColorPicker from './ColorPicker';
18
+ import Controller from './Controller';
19
+ import Browser from './Browser';
20
+ import FileManager from './FileManager';
21
+ import HueSlider from './HueSlider';
22
+ import Figure from './Figure';
23
+ import Modal from './Modal';
24
+ import ModalAnchorEditor from './ModalAnchorEditor';
25
+ import SelectMenu from './SelectMenu';
26
+ export { _DragHandle, ApiManager, ColorPicker, Controller, Browser, FileManager, HueSlider, Figure, Modal, ModalAnchorEditor, SelectMenu };
@@ -0,0 +1,55 @@
1
+ export default AudioGallery;
2
+ export type BrowserFile = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile
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) => 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) => 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 = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile
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) => 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) => 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 = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile
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) => 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) => 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 = import('../../modules/Browser').BrowserFile;
3
+ /**
4
+ * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile
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) => 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) => 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
+ onPastAndDrop({ 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,56 @@
1
+ export default List_bulleted;
2
+ export type ShortcutInfo = import('../../core/class/shortcuts').ShortcutInfo;
3
+ /**
4
+ * @typedef {import('../../core/class/shortcuts').ShortcutInfo} ShortcutInfo
5
+ */
6
+ /**
7
+ * @class
8
+ * @description List bulleted plugin, Several types of lists are provided.
9
+ */
10
+ declare class List_bulleted extends EditorInjector {
11
+ static key: string;
12
+ static type: string;
13
+ static className: string;
14
+ title: any;
15
+ icon: string;
16
+ afterItem: HTMLElement;
17
+ listItems: NodeListOf<Element>;
18
+ /**
19
+ * @editorMethod Editor.EventManager
20
+ * @description Executes the method that is called whenever the cursor position changes.
21
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
22
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
23
+ * @returns {boolean} - Whether the plugin is active
24
+ */
25
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
26
+ /**
27
+ * @editorMethod Modules.Dropdown
28
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
29
+ */
30
+ on(): void;
31
+ /**
32
+ * @editorMethod Editor.core
33
+ * @description Executes the main execution method of the plugin.
34
+ * - Called when an item in the "dropdown" menu is clicked.
35
+ * @param {HTMLElement} target - The plugin's toolbar button element
36
+ */
37
+ action(target: HTMLElement): void;
38
+ /**
39
+ * @editorMethod Editor.core
40
+ * @description Executes methods called by shortcut keys.
41
+ * @param {Object} params - Information of the "shortcut" plugin
42
+ * @param {Range} params.range - Range object
43
+ * @param {HTMLElement} params.line - The line element of the current range
44
+ * @param {ShortcutInfo} params.info - Information of the shortcut
45
+ * @param {KeyboardEvent} params.event - Key event object
46
+ * @param {string} params.keyCode - KeyBoardEvent.code
47
+ * @param {__se__EditorCore} params.editor - The root editor instance
48
+ */
49
+ shortcut({ range, info }: { range: Range; line: HTMLElement; info: ShortcutInfo; event: KeyboardEvent; keyCode: string; editor: __se__EditorCore }): void;
50
+ /**
51
+ * @description Add a bulleted list
52
+ * @param {string} [type=""] List type
53
+ */
54
+ submit(type?: string): void;
55
+ }
56
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,56 @@
1
+ export default List_numbered;
2
+ export type ShortcutInfo = import('../../core/class/shortcuts').ShortcutInfo;
3
+ /**
4
+ * @typedef {import('../../core/class/shortcuts').ShortcutInfo} ShortcutInfo
5
+ */
6
+ /**
7
+ * @class
8
+ * @description List numbered plugin, Several types of lists are provided.
9
+ */
10
+ declare class List_numbered extends EditorInjector {
11
+ static key: string;
12
+ static type: string;
13
+ static className: string;
14
+ title: any;
15
+ icon: string;
16
+ afterItem: HTMLElement;
17
+ listItems: NodeListOf<Element>;
18
+ /**
19
+ * @editorMethod Editor.EventManager
20
+ * @description Executes the method that is called whenever the cursor position changes.
21
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
22
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
23
+ * @returns {boolean} - Whether the plugin is active
24
+ */
25
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
26
+ /**
27
+ * @editorMethod Modules.Dropdown
28
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
29
+ */
30
+ on(): void;
31
+ /**
32
+ * @editorMethod Editor.core
33
+ * @description Executes the main execution method of the plugin.
34
+ * - Called when an item in the "dropdown" menu is clicked.
35
+ * @param {HTMLElement} target - The plugin's toolbar button element
36
+ */
37
+ action(target: HTMLElement): void;
38
+ /**
39
+ * @editorMethod Editor.core
40
+ * @description Executes methods called by shortcut keys.
41
+ * @param {Object} params - Information of the "shortcut" plugin
42
+ * @param {Range} params.range - Range object
43
+ * @param {HTMLElement} params.line - The line element of the current range
44
+ * @param {ShortcutInfo} params.info - Information of the shortcut
45
+ * @param {KeyboardEvent} params.event - Key event object
46
+ * @param {string} params.keyCode - KeyBoardEvent.code
47
+ * @param {Object} params.editor - The root editor instance
48
+ */
49
+ shortcut({ range, info }: { range: Range; line: HTMLElement; info: ShortcutInfo; event: KeyboardEvent; keyCode: string; editor: any }): void;
50
+ /**
51
+ * @description Add a numbered list
52
+ * @param {string} [type=""] List type
53
+ */
54
+ submit(type?: string): void;
55
+ }
56
+ import EditorInjector from '../../editorInjector';