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,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';
@@ -0,0 +1,63 @@
1
+ export default BackgroundColor;
2
+ /**
3
+ * @class
4
+ * @description Text background color plugin
5
+ */
6
+ declare class BackgroundColor 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
14
+ * @param {Array<string|{value: string, name: string}>} pluginOptions.items - Color list
15
+ * @param {number} pluginOptions.splitNum - Number of colors per line
16
+ * @param {boolean} pluginOptions.disableHEXInput - Disable HEX input
17
+ */
18
+ constructor(
19
+ editor: __se__EditorCore,
20
+ pluginOptions: {
21
+ items: Array<
22
+ | string
23
+ | {
24
+ value: string;
25
+ name: string;
26
+ }
27
+ >;
28
+ splitNum: number;
29
+ disableHEXInput: boolean;
30
+ }
31
+ );
32
+ title: any;
33
+ icon: string;
34
+ colorPicker: ColorPicker;
35
+ /**
36
+ * @editorMethod Editor.EventManager
37
+ * @description Executes the method that is called whenever the cursor position changes.
38
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
39
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
40
+ * @returns {boolean} - Whether the plugin is active
41
+ */
42
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
43
+ /**
44
+ * @editorMethod Modules.Dropdown
45
+ * @description Executes the method that is called when a plugin's "dropdown" menu is opened.
46
+ * @param {HTMLElement} target Line element at the current cursor position
47
+ */
48
+ on(target: HTMLElement): void;
49
+ /**
50
+ * @editorMethod Modules.Dropdown
51
+ * @description Executes the method that is called when a plugin's "dropdown" menu is closed.
52
+ */
53
+ off(): void;
54
+ /**
55
+ * @editorMethod Modules.ColorPicker
56
+ * @description Executes the method called when a button of "ColorPicker" module is clicked.
57
+ * - This plugin is by applying the "ColorPicker" module globally to the "dropdown" menu, the default "action" method is not called.
58
+ * @param {string} color - Color code (hex)
59
+ */
60
+ colorPickerAction(color: string): void;
61
+ }
62
+ import EditorInjector from '../../editorInjector';
63
+ import ColorPicker from '../../modules/ColorPicker';
@@ -0,0 +1,54 @@
1
+ export default Font;
2
+ /**
3
+ * @class
4
+ * @description Text font plugin
5
+ */
6
+ declare class Font 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
14
+ * @param {Array<string>} pluginOptions.items - Font list
15
+ * @param {number} pluginOptions.splitNum - Number of colors per line
16
+ * @param {boolean} pluginOptions.disableHEXInput - Disable HEX input
17
+ */
18
+ constructor(
19
+ editor: __se__EditorCore,
20
+ pluginOptions: {
21
+ items: Array<string>;
22
+ splitNum: number;
23
+ disableHEXInput: boolean;
24
+ }
25
+ );
26
+ title: any;
27
+ inner: string;
28
+ currentFont: string;
29
+ fontList: NodeListOf<Element>;
30
+ fontArray: string[];
31
+ /**
32
+ * @editorMethod Editor.EventManager
33
+ * @description Executes the method that is called whenever the cursor position changes.
34
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
35
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
36
+ * @returns {boolean} - Whether the plugin is active
37
+ */
38
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
39
+ /**
40
+ * @editorMethod Modules.Dropdown
41
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
42
+ * @param {HTMLElement} target Line element at the current cursor position
43
+ */
44
+ on(target: HTMLElement): void;
45
+ /**
46
+ * @editorMethod Editor.core
47
+ * @description Executes the main execution method of the plugin.
48
+ * - Called when an item in the "dropdown" menu is clicked.
49
+ * @param {HTMLElement} target - The plugin's toolbar button element
50
+ * @returns {Promise<void>}
51
+ */
52
+ action(target: HTMLElement): Promise<void>;
53
+ }
54
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,63 @@
1
+ export default FontColor;
2
+ /**
3
+ * @class
4
+ * @description Font color plugin
5
+ */
6
+ declare class FontColor 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
14
+ * @param {Array<string|{value: string, name: string}>} pluginOptions.items - Color list
15
+ * @param {number} pluginOptions.splitNum - Number of colors per line
16
+ * @param {boolean} pluginOptions.disableHEXInput - Disable HEX input
17
+ */
18
+ constructor(
19
+ editor: __se__EditorCore,
20
+ pluginOptions: {
21
+ items: Array<
22
+ | string
23
+ | {
24
+ value: string;
25
+ name: string;
26
+ }
27
+ >;
28
+ splitNum: number;
29
+ disableHEXInput: boolean;
30
+ }
31
+ );
32
+ title: any;
33
+ icon: string;
34
+ colorPicker: ColorPicker;
35
+ /**
36
+ * @editorMethod Editor.EventManager
37
+ * @description Executes the method that is called whenever the cursor position changes.
38
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
39
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
40
+ * @returns {boolean} - Whether the plugin is active
41
+ */
42
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
43
+ /**
44
+ * @editorMethod Modules.Dropdown
45
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
46
+ * @param {HTMLElement} target Line element at the current cursor position
47
+ */
48
+ on(target: HTMLElement): void;
49
+ /**
50
+ * @editorMethod Modules.Dropdown
51
+ * @Override Executes the method that is called when a plugin's dropdown menu is closed.
52
+ */
53
+ off(): void;
54
+ /**
55
+ * @editorMethod Modules.ColorPicker
56
+ * @description Executes the method called when a button of "ColorPicker" module is clicked.
57
+ * - This plugin is by applying the "ColorPicker" module globally to the "dropdown" menu, the default "action" method is not called.
58
+ * @param {string} color - Color code (hex)
59
+ */
60
+ colorPickerAction(color: string): void;
61
+ }
62
+ import EditorInjector from '../../editorInjector';
63
+ import ColorPicker from '../../modules/ColorPicker';
@@ -0,0 +1,58 @@
1
+ export default FormatBlock;
2
+ export type ShortcutInfo = import('../../core/class/shortcuts').ShortcutInfo;
3
+ /**
4
+ * @typedef {import('../../core/class/shortcuts').ShortcutInfo} ShortcutInfo
5
+ */
6
+ /**
7
+ * @class
8
+ * @description FormatBlock Plugin (P, BLOCKQUOTE, PRE, H1, H2...)
9
+ */
10
+ declare class FormatBlock extends EditorInjector {
11
+ static key: string;
12
+ static type: string;
13
+ static className: string;
14
+ /**
15
+ * @constructor
16
+ * @param {__se__EditorCore} editor - The root editor instance
17
+ * @param {Object} pluginOptions
18
+ * @param {Array<string>} pluginOptions.items - Format list
19
+ */
20
+ constructor(
21
+ editor: __se__EditorCore,
22
+ pluginOptions: {
23
+ items: Array<string>;
24
+ }
25
+ );
26
+ title: any;
27
+ inner: string;
28
+ formatList: NodeListOf<Element>;
29
+ currentFormat: string;
30
+ /**
31
+ * @editorMethod Editor.EventManager
32
+ * @description Executes the method that is called whenever the cursor position changes.
33
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
34
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
35
+ * @returns {boolean} - Whether the plugin is active
36
+ */
37
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
38
+ /**
39
+ * @editorMethod Modules.Dropdown
40
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
41
+ * @param {HTMLElement} target Line element at the current cursor position
42
+ */
43
+ on(target: HTMLElement): void;
44
+ /**
45
+ * @editorMethod Editor.core
46
+ * @description Executes the main execution method of the plugin.
47
+ * - Called when an item in the "dropdown" menu is clicked.
48
+ * @param {HTMLElement} target - The plugin's toolbar button element
49
+ */
50
+ action(target: HTMLElement): void;
51
+ /**
52
+ * @description Create a header tag, call by "shortcut" class
53
+ * - (e.g. shortcuts._h1: ['c+s+49+p~formatBlock.createHeader', ''])
54
+ * @param {ShortcutInfo} params - Information of the shortcut
55
+ */
56
+ createHeader({ keyCode }: ShortcutInfo): void;
57
+ }
58
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,81 @@
1
+ export default HR;
2
+ export type ShortcutInfo = import('../../core/class/shortcuts').ShortcutInfo;
3
+ /**
4
+ * @typedef {import('../../core/class/shortcuts').ShortcutInfo} ShortcutInfo
5
+ */
6
+ /**
7
+ * @class
8
+ * @description HR Plugin
9
+ */
10
+ declare class HR extends EditorInjector {
11
+ static key: string;
12
+ static type: string;
13
+ static className: string;
14
+ /**
15
+ * @this {HR}
16
+ * @param {HTMLElement} node - The node to check.
17
+ * @returns {HTMLElement|null} Returns a node if the node is a valid component.
18
+ */
19
+ static component(this: HR, node: HTMLElement): HTMLElement | null;
20
+ /**
21
+ * @constructor
22
+ * @param {__se__EditorCore} editor - The root editor instance
23
+ * @param {Object} pluginOptions
24
+ * @param {Array<{name: string, class: string}>} pluginOptions.items - HR list
25
+ */
26
+ constructor(
27
+ editor: __se__EditorCore,
28
+ pluginOptions: {
29
+ items: Array<{
30
+ name: string;
31
+ class: string;
32
+ }>;
33
+ }
34
+ );
35
+ title: any;
36
+ icon: string;
37
+ list: NodeListOf<HTMLButtonElement>;
38
+ /**
39
+ * @editorMethod Editor.Component
40
+ * @description Executes the method that is called when a component of a plugin is selected.
41
+ * @param {HTMLElement} target Target component element
42
+ */
43
+ select(target: HTMLElement): void;
44
+ /**
45
+ * @editorMethod Editor.Component
46
+ * @description Called when a container is deselected.
47
+ * @param {HTMLElement} element Target element
48
+ */
49
+ deselect(element: HTMLElement): void;
50
+ /**
51
+ * @editorMethod Editor.Component
52
+ * @description Method to delete a component of a plugin, called by the "FileManager", "Controller" module.
53
+ * @param {HTMLElement} target Target element
54
+ */
55
+ destroy(target: HTMLElement): void;
56
+ /**
57
+ * @editorMethod Editor.core
58
+ * @description Executes the main execution method of the plugin.
59
+ * - Called when an item in the "dropdown" menu is clicked.
60
+ * @param {HTMLElement} target - The plugin's toolbar button element
61
+ */
62
+ action(target: HTMLElement): void;
63
+ /**
64
+ * @editorMethod Editor.core
65
+ * @description Executes methods called by shortcut keys.
66
+ * @param {Object} params - Information of the "shortcut" plugin
67
+ * @param {Range} params.range - Range object
68
+ * @param {HTMLElement} params.line - The line element of the current range
69
+ * @param {ShortcutInfo} params.info - Information of the shortcut
70
+ * @param {KeyboardEvent} params.event - Key event object
71
+ * @param {string} params.keyCode - KeyBoardEvent.code
72
+ * @param {__se__EditorCore} params.editor - The root editor instance
73
+ */
74
+ shortcut({ line, range }: { range: Range; line: HTMLElement; info: ShortcutInfo; event: KeyboardEvent; keyCode: string; editor: __se__EditorCore }): void;
75
+ /**
76
+ * @description Add a hr element
77
+ * @param {string} className HR class name
78
+ */
79
+ submit(className: string): HTMLElement;
80
+ }
81
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,40 @@
1
+ export default Layout;
2
+ /**
3
+ * @class
4
+ * @description Layout Plugin, Apply layout to the entire editor.
5
+ */
6
+ declare class Layout 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
14
+ * @param {Array<{name: string, html: string}>} pluginOptions.items - Layout list
15
+ */
16
+ constructor(
17
+ editor: __se__EditorCore,
18
+ pluginOptions: {
19
+ items: Array<{
20
+ name: string;
21
+ html: string;
22
+ }>;
23
+ }
24
+ );
25
+ title: any;
26
+ icon: string;
27
+ selectedIndex: number;
28
+ items: {
29
+ name: string;
30
+ html: string;
31
+ }[];
32
+ /**
33
+ * @editorMethod Editor.core
34
+ * @description Executes the main execution method of the plugin.
35
+ * - Called when an item in the "dropdown" menu is clicked.
36
+ * @param {HTMLElement} target - The plugin's toolbar button element
37
+ */
38
+ action(target: HTMLElement): void;
39
+ }
40
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,50 @@
1
+ export default LineHeight;
2
+ /**
3
+ * @class
4
+ * @description Line height Plugin
5
+ */
6
+ declare class LineHeight 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
14
+ * @param {Array<{text: string, value: number}>} pluginOptions.items - Line height list
15
+ */
16
+ constructor(
17
+ editor: __se__EditorCore,
18
+ pluginOptions: {
19
+ items: Array<{
20
+ text: string;
21
+ value: number;
22
+ }>;
23
+ }
24
+ );
25
+ title: any;
26
+ icon: string;
27
+ sizeList: NodeListOf<Element>;
28
+ currentSize: any;
29
+ /**
30
+ * @editorMethod Editor.EventManager
31
+ * @description Executes the method that is called whenever the cursor position changes.
32
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
33
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
34
+ * @returns {boolean} - Whether the plugin is active
35
+ */
36
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
37
+ /**
38
+ * @editorMethod Modules.Dropdown
39
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
40
+ */
41
+ on(): void;
42
+ /**
43
+ * @editorMethod Editor.core
44
+ * @description Executes the main execution method of the plugin.
45
+ * - Called when an item in the "dropdown" menu is clicked.
46
+ * @param {HTMLElement} target - The plugin's toolbar button element
47
+ */
48
+ action(target: HTMLElement): void;
49
+ }
50
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,39 @@
1
+ export default List;
2
+ /**
3
+ * @class
4
+ * @description List Plugin (OL, UL)
5
+ */
6
+ declare class List extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ title: any;
11
+ icon: string;
12
+ listItems: NodeListOf<Element>;
13
+ icons: {
14
+ bulleted: string;
15
+ numbered: string;
16
+ };
17
+ /**
18
+ * @editorMethod Editor.EventManager
19
+ * @description Executes the method that is called whenever the cursor position changes.
20
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
21
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
22
+ * @returns {boolean} - Whether the plugin is active
23
+ */
24
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
25
+ /**
26
+ * @editorMethod Modules.Dropdown
27
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
28
+ * @param {HTMLElement} target Line element at the current cursor position
29
+ */
30
+ on(target: HTMLElement): 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
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,54 @@
1
+ export default ParagraphStyle;
2
+ /**
3
+ * @class
4
+ * @description A plugin to style lines using classes.
5
+ */
6
+ declare class ParagraphStyle 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
14
+ * @param {Array<string|{name: string, class: string, _class: string}>} pluginOptions.items - Paragraph item list
15
+ * @example
16
+ * use default paragraph styles
17
+ * ['spaced', 'bordered', 'neon']
18
+ * custom paragraph styles
19
+ [
20
+ { name: 'spaced', class: '__se__p-spaced', _class: '' },
21
+ { name: 'bordered', class: '__se__p-bordered', _class: '' },
22
+ { name: 'neon', class: '__se__p-neon', _class: ''}
23
+ ]
24
+ */
25
+ constructor(
26
+ editor: __se__EditorCore,
27
+ pluginOptions: {
28
+ items: Array<
29
+ | string
30
+ | {
31
+ name: string;
32
+ class: string;
33
+ _class: string;
34
+ }
35
+ >;
36
+ }
37
+ );
38
+ title: any;
39
+ icon: string;
40
+ classList: NodeListOf<Element>;
41
+ /**
42
+ * @editorMethod Modules.Dropdown
43
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
44
+ */
45
+ on(): void;
46
+ /**
47
+ * @editorMethod Editor.core
48
+ * @description Executes the main execution method of the plugin.
49
+ * - Called when an item in the "dropdown" menu is clicked.
50
+ * @param {HTMLElement} target - The plugin's toolbar button element
51
+ */
52
+ action(target: HTMLElement): void;
53
+ }
54
+ import EditorInjector from '../../editorInjector';