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,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,54 @@
1
+ export default FormatBlock;
2
+ /**
3
+ * @class
4
+ * @description FormatBlock Plugin (P, BLOCKQUOTE, PRE, H1, H2...)
5
+ */
6
+ declare class FormatBlock 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 - Format list
15
+ */
16
+ constructor(
17
+ editor: __se__EditorCore,
18
+ pluginOptions: {
19
+ items: Array<string>;
20
+ }
21
+ );
22
+ title: any;
23
+ inner: string;
24
+ formatList: NodeListOf<Element>;
25
+ currentFormat: string;
26
+ /**
27
+ * @editorMethod Editor.EventManager
28
+ * @description Executes the method that is called whenever the cursor position changes.
29
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
30
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
31
+ * @returns {boolean} - Whether the plugin is active
32
+ */
33
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
34
+ /**
35
+ * @editorMethod Modules.Dropdown
36
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
37
+ * @param {HTMLElement} target Line element at the current cursor position
38
+ */
39
+ on(target: HTMLElement): void;
40
+ /**
41
+ * @editorMethod Editor.core
42
+ * @description Executes the main execution method of the plugin.
43
+ * - Called when an item in the "dropdown" menu is clicked.
44
+ * @param {HTMLElement} target - The plugin's toolbar button element
45
+ */
46
+ action(target: HTMLElement): void;
47
+ /**
48
+ * @description Create a header tag, call by "shortcut" class
49
+ * - (e.g. shortcuts._h1: ['c+s+49+p~formatBlock.createHeader', ''])
50
+ * @param {__se__PluginShortcutInfo} params - Information of the "shortcut" plugin
51
+ */
52
+ createHeader({ keyCode }: __se__PluginShortcutInfo): void;
53
+ }
54
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,71 @@
1
+ export default HR;
2
+ /**
3
+ * @class
4
+ * @description HR Plugin
5
+ */
6
+ declare class HR extends EditorInjector {
7
+ static key: string;
8
+ static type: string;
9
+ static className: string;
10
+ /**
11
+ * @this {HR}
12
+ * @param {HTMLElement} node - The node to check.
13
+ * @returns {HTMLElement|null} Returns a node if the node is a valid component.
14
+ */
15
+ static component(this: HR, node: HTMLElement): HTMLElement | null;
16
+ /**
17
+ * @constructor
18
+ * @param {__se__EditorCore} editor - The root editor instance
19
+ * @param {Object} pluginOptions
20
+ * @param {Array<{name: string, class: string}>} pluginOptions.items - HR list
21
+ */
22
+ constructor(
23
+ editor: __se__EditorCore,
24
+ pluginOptions: {
25
+ items: Array<{
26
+ name: string;
27
+ class: string;
28
+ }>;
29
+ }
30
+ );
31
+ title: any;
32
+ icon: string;
33
+ list: NodeListOf<HTMLButtonElement>;
34
+ /**
35
+ * @editorMethod Editor.Component
36
+ * @description Executes the method that is called when a component of a plugin is selected.
37
+ * @param {HTMLElement} target Target component element
38
+ */
39
+ select(target: HTMLElement): void;
40
+ /**
41
+ * @editorMethod Editor.Component
42
+ * @description Called when a container is deselected.
43
+ * @param {HTMLElement} element Target element
44
+ */
45
+ deselect(element: HTMLElement): void;
46
+ /**
47
+ * @editorMethod Editor.Component
48
+ * @description Method to delete a component of a plugin, called by the "FileManager", "Controller" module.
49
+ * @param {HTMLElement} target Target element
50
+ */
51
+ destroy(target: HTMLElement): 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
+ * @editorMethod Editor.core
61
+ * @description Executes methods called by shortcut keys.
62
+ * @param {__se__PluginShortcutInfo} params - Information of the "shortcut" plugin
63
+ */
64
+ shortcut({ line, range }: __se__PluginShortcutInfo): void;
65
+ /**
66
+ * @description Add a hr element
67
+ * @param {string} className HR class name
68
+ */
69
+ submit(className: string): HTMLElement;
70
+ }
71
+ 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';