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,41 @@
1
+ export default TextStyle;
2
+ /**
3
+ * @class
4
+ * @description Text style Plugin, Applies a tag that specifies text styles to a selection.
5
+ */
6
+ declare class TextStyle 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 - Template 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
+ styleList: NodeListOf<Element>;
28
+ /**
29
+ * @editorMethod Modules.Dropdown
30
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
31
+ */
32
+ on(): void;
33
+ /**
34
+ * @editorMethod Editor.core
35
+ * @description Executes the main execution method of the plugin.
36
+ * - Called when an item in the "dropdown" menu is clicked.
37
+ * @param {HTMLElement} target - The plugin's toolbar button element
38
+ */
39
+ action(target: HTMLElement): void;
40
+ }
41
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,102 @@
1
+ export default Mention;
2
+ /**
3
+ * @class
4
+ * @description Mention Plugin
5
+ * - A plugin that provides a mention feature using `@` or a custom trigger character.
6
+ * - Displays a mention list when the trigger character is typed.
7
+ * - Supports fetching mention data from an API or a predefined data array.
8
+ * - Uses caching for optimized performance.
9
+ */
10
+ declare class Mention 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 {string=} [pluginOptions.triggerText="@"] The character that triggers the mention list. Default is '@'.
19
+ * @param {number=} [pluginOptions.limitSize=5] The number of items to display in the mention list. Default is 5.
20
+ * @param {number=} [pluginOptions.searchStartLength=0] The number of characters to start searching for the mention list. Default is 0.
21
+ * @param {number=} [pluginOptions.delayTime=200] The time to wait before displaying the mention list. Default is 200ms.
22
+ * @param {Array<{key: string, name: string, url: string}>=} pluginOptions.data Use data without using API.
23
+ * @param {string=} pluginOptions.apiUrl The URL to call the mention list. Default is ''.
24
+ * @param {Object<string, string>=} pluginOptions.apiHeaders The headers to send with the API call. Default is {}.
25
+ * @param {boolean=} [pluginOptions.useCachingData=true] Whether to cache the mention list data. Default is true.
26
+ * @param {boolean=} [pluginOptions.useCachingFieldData=true] Whether to cache the mention list data in the field. Default is true.
27
+ */
28
+ constructor(
29
+ editor: __se__EditorCore,
30
+ pluginOptions: {
31
+ triggerText?: string | undefined;
32
+ limitSize?: number | undefined;
33
+ searchStartLength?: number | undefined;
34
+ delayTime?: number | undefined;
35
+ data?:
36
+ | Array<{
37
+ key: string;
38
+ name: string;
39
+ url: string;
40
+ }>
41
+ | undefined;
42
+ apiUrl?: string | undefined;
43
+ apiHeaders?:
44
+ | {
45
+ [x: string]: string;
46
+ }
47
+ | undefined;
48
+ useCachingData?: boolean | undefined;
49
+ useCachingFieldData?: boolean | undefined;
50
+ }
51
+ );
52
+ title: any;
53
+ icon: string;
54
+ triggerText: string;
55
+ limitSize: number;
56
+ searchStartLength: number;
57
+ delayTime: number;
58
+ directData: {
59
+ key: string;
60
+ name: string;
61
+ url: string;
62
+ }[];
63
+ apiUrl: string;
64
+ _delay: number;
65
+ _lastAtPos: number;
66
+ _anchorOffset: number;
67
+ _anchorNode: Node;
68
+ apiManager: ApiManager;
69
+ cachingData: Map<any, any>;
70
+ cachingFieldData: any[];
71
+ selectMenu: SelectMenu;
72
+ controller: Controller;
73
+ /**
74
+ * @editorMethod Editor.EventManager
75
+ * @description Executes the event function of "input".
76
+ * @returns {Promise<boolean>}
77
+ */
78
+ onInput(): Promise<boolean>;
79
+ /**
80
+ * @private
81
+ * @description Generates the mention list based on user input.
82
+ * - Fetches data from cache, direct data, or an API.
83
+ * - Creates and opens the mention dropdown.
84
+ * - Caches the fetched data for future use.
85
+ * @param {string} value - The mention query text.
86
+ * @param {Node} targetNode - The node where the mention is triggered.
87
+ * @returns {Promise<boolean>} - Returns `true` if the mention list is displayed, `false` otherwise.
88
+ */
89
+ private _createMentionList;
90
+ /**
91
+ * @private
92
+ * @description Constructs the API request URL with the mention query.
93
+ * @param {string} key - The mention query text.
94
+ * @returns {string} - The formatted API request URL.
95
+ */
96
+ private _createUrl;
97
+ #private;
98
+ }
99
+ import EditorInjector from '../../editorInjector';
100
+ import { ApiManager } from '../../modules';
101
+ import { SelectMenu } from '../../modules';
102
+ import { Controller } from '../../modules';
@@ -0,0 +1,107 @@
1
+ declare namespace _default {
2
+ export { blockquote };
3
+ export { exportPDF };
4
+ export { fileUpload };
5
+ export { list_bulleted };
6
+ export { list_numbered };
7
+ export { mention };
8
+ export { align };
9
+ export { font };
10
+ export { fontColor };
11
+ export { backgroundColor };
12
+ export { list };
13
+ export { table };
14
+ export { formatBlock };
15
+ export { hr };
16
+ export { layout };
17
+ export { lineHeight };
18
+ export { template };
19
+ export { paragraphStyle };
20
+ export { textStyle };
21
+ export { link };
22
+ export { image };
23
+ export { video };
24
+ export { audio };
25
+ export { embed };
26
+ export { math };
27
+ export { drawing };
28
+ export { imageGallery };
29
+ export { videoGallery };
30
+ export { audioGallery };
31
+ export { fileGallery };
32
+ export { fileBrowser };
33
+ export { fontSize };
34
+ export { pageNavigator };
35
+ export { anchor };
36
+ }
37
+ export default _default;
38
+ import blockquote from './command/blockquote';
39
+ import exportPDF from './command/exportPDF';
40
+ import fileUpload from './command/fileUpload';
41
+ import list_bulleted from './command/list_bulleted';
42
+ import list_numbered from './command/list_numbered';
43
+ import mention from './field/mention';
44
+ import align from './dropdown/align';
45
+ import font from './dropdown/font';
46
+ import fontColor from './dropdown/fontColor';
47
+ import backgroundColor from './dropdown/backgroundColor';
48
+ import list from './dropdown/list';
49
+ import table from './dropdown/table';
50
+ import formatBlock from './dropdown/formatBlock';
51
+ import hr from './dropdown/hr';
52
+ import layout from './dropdown/layout';
53
+ import lineHeight from './dropdown/lineHeight';
54
+ import template from './dropdown/template';
55
+ import paragraphStyle from './dropdown/paragraphStyle';
56
+ import textStyle from './dropdown/textStyle';
57
+ import link from './modal/link';
58
+ import image from './modal/image';
59
+ import video from './modal/video';
60
+ import audio from './modal/audio';
61
+ import embed from './modal/embed';
62
+ import math from './modal/math';
63
+ import drawing from './modal/drawing';
64
+ import imageGallery from './browser/imageGallery';
65
+ import videoGallery from './browser/videoGallery';
66
+ import audioGallery from './browser/audioGallery';
67
+ import fileGallery from './browser/fileGallery';
68
+ import fileBrowser from './browser/fileBrowser';
69
+ import fontSize from './input/fontSize';
70
+ import pageNavigator from './input/pageNavigator';
71
+ import anchor from './popup/anchor';
72
+ export {
73
+ blockquote,
74
+ exportPDF,
75
+ fileUpload,
76
+ list_bulleted,
77
+ list_numbered,
78
+ mention,
79
+ align,
80
+ font,
81
+ fontColor,
82
+ backgroundColor,
83
+ list,
84
+ table,
85
+ formatBlock,
86
+ hr,
87
+ layout,
88
+ lineHeight,
89
+ template,
90
+ paragraphStyle,
91
+ textStyle,
92
+ link,
93
+ image,
94
+ video,
95
+ audio,
96
+ embed,
97
+ math,
98
+ drawing,
99
+ imageGallery,
100
+ videoGallery,
101
+ audioGallery,
102
+ fileGallery,
103
+ fileBrowser,
104
+ fontSize,
105
+ pageNavigator,
106
+ anchor
107
+ };
@@ -0,0 +1,170 @@
1
+ export default FontSize;
2
+ /**
3
+ * @class
4
+ * @description FontSize Plugin
5
+ * - This plugin enables users to modify the font size of selected text within the editor.
6
+ * - It supports various measurement units (e.g., 'px', 'pt', 'em', 'rem', 'vw', 'vh', '%') and
7
+ * - provides multiple interfaces: dropdown menus, direct input, and optional increment/decrement buttons.
8
+ */
9
+ declare class FontSize extends EditorInjector {
10
+ static key: string;
11
+ static type: string;
12
+ static className: string;
13
+ /**
14
+ * @constructor
15
+ * @param {__se__EditorCore} editor - The root editor instance
16
+ * @param {Object} pluginOptions - Configuration options for the FontSize plugin.
17
+ * @param {string=} [pluginOptions.sizeUnit='px'] - The unit for the font size.
18
+ * - Accepted values include: 'px', 'pt', 'em', 'rem', 'vw', 'vh', '%' or 'text'.
19
+ * - If 'text' is used, a text-based font size list is applied.
20
+ * @param {boolean=} [pluginOptions.showDefaultSizeLabel=true] - Determines whether the default size label is displayed in the dropdown menu.
21
+ * @param {boolean=} [pluginOptions.showIncDecControls=false] - When true, displays increase and decrease buttons for font size adjustments.
22
+ * @param {boolean=} [pluginOptions.disableInput=true] - When true, disables the direct font size input box.
23
+ * @param {Object<string, {default: number, inc: number, min: number, max: number, list: Array<number>}>} [pluginOptions.unitMap={}] - Optional object to override or extend the default unit mapping for font sizes.
24
+ */
25
+ constructor(
26
+ editor: __se__EditorCore,
27
+ pluginOptions: {
28
+ sizeUnit?: string | undefined;
29
+ showDefaultSizeLabel?: boolean | undefined;
30
+ showIncDecControls?: boolean | undefined;
31
+ disableInput?: boolean | undefined;
32
+ unitMap?: {
33
+ [x: string]: {
34
+ default: number;
35
+ inc: number;
36
+ min: number;
37
+ max: number;
38
+ list: Array<number>;
39
+ };
40
+ };
41
+ }
42
+ );
43
+ unitMap: {
44
+ text: {
45
+ default: string;
46
+ list: {
47
+ title: string;
48
+ size: string;
49
+ }[];
50
+ };
51
+ px: {
52
+ default: number;
53
+ inc: number;
54
+ min: number;
55
+ max: number;
56
+ list: number[];
57
+ };
58
+ pt: {
59
+ default: number;
60
+ inc: number;
61
+ min: number;
62
+ max: number;
63
+ list: number[];
64
+ };
65
+ em: {
66
+ default: number;
67
+ inc: number;
68
+ min: number;
69
+ max: number;
70
+ list: number[];
71
+ };
72
+ rem: {
73
+ default: number;
74
+ inc: number;
75
+ min: number;
76
+ max: number;
77
+ list: number[];
78
+ };
79
+ vw: {
80
+ inc: number;
81
+ min: number;
82
+ max: number;
83
+ list: number[];
84
+ };
85
+ vh: {
86
+ default: number;
87
+ inc: number;
88
+ min: number;
89
+ max: number;
90
+ list: number[];
91
+ };
92
+ '%': {
93
+ default: number;
94
+ inc: number;
95
+ min: number;
96
+ max: number;
97
+ list: number[];
98
+ };
99
+ };
100
+ sizeUnit: any;
101
+ title: any;
102
+ inner: string | boolean;
103
+ beforeItem: HTMLElement;
104
+ afterItem: HTMLElement;
105
+ replaceButton: HTMLElement;
106
+ currentSize: string;
107
+ sizeList: NodeListOf<Element>;
108
+ hasInputFocus: boolean;
109
+ isInputActive: boolean;
110
+ _disableInput: boolean;
111
+ /**
112
+ * @editorMethod Editor.EventManager
113
+ * @description Executes the method that is called whenever the cursor position changes.
114
+ * @param {?HTMLElement=} element - Node element where the cursor is currently located
115
+ * @param {?HTMLElement=} target - The plugin's toolbar button element
116
+ * @returns {boolean} - Whether the plugin is active
117
+ */
118
+ active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
119
+ /**
120
+ * @editorMethod Editor.Toolbar
121
+ * @description Executes the event function of toolbar's input tag - "keydown".
122
+ * @param {Object} params
123
+ * @param {HTMLElement} params.target Input element
124
+ * @param {KeyboardEvent} params.event Event object
125
+ */
126
+ onInputKeyDown({ target, event }: { target: HTMLElement; event: KeyboardEvent }): void;
127
+ /**
128
+ * @editorMethod Editor.Toolbar
129
+ * @description Executes the event function of toolbar's input tag - "change".
130
+ * @param {__se__PluginToolbarInputChangeEventInfo} params
131
+ */
132
+ onInputChange({ target, value: changeValue, event }: __se__PluginToolbarInputChangeEventInfo): void;
133
+ /**
134
+ * @editorMethod Modules.Dropdown
135
+ * @description Executes the method that is called when a plugin's dropdown menu is opened.
136
+ * @param {HTMLElement} target Line element at the current cursor position
137
+ */
138
+ on(target: HTMLElement): void;
139
+ /**
140
+ * @editorMethod Editor.core
141
+ * @description Executes the main execution method of the plugin.
142
+ * - Called when an item in the "dropdown" menu is clicked.
143
+ * @param {HTMLElement} target - The plugin's toolbar button element
144
+ */
145
+ action(target: HTMLElement): void;
146
+ /**
147
+ * @private
148
+ * @description Retrieves the default font size of the editor.
149
+ * @returns {string} - The computed font size from the editor.
150
+ */
151
+ private _getDefaultSize;
152
+ /**
153
+ * @private
154
+ * @description Extracts the font size and unit from the given element or input value.
155
+ * @param {string|Element} target - The target input or element.
156
+ * @returns {{ unit: string, value: number|string }} - An object containing:
157
+ * - `unit` (string): The detected font size unit.
158
+ * - `value` (number|string): The numeric font size value or text-based size.
159
+ */
160
+ private _getSize;
161
+ /**
162
+ * @private
163
+ * @description Sets the font size in the toolbar input field or button label.
164
+ * @param {HTMLElement} target - The target element in the toolbar.
165
+ * @param {string|number} value - The font size value.
166
+ * @returns {string|number} - The applied font size.
167
+ */
168
+ private _setSize;
169
+ }
170
+ import EditorInjector from '../../editorInjector';
@@ -0,0 +1,28 @@
1
+ export default PageNavigator;
2
+ /**
3
+ * @class
4
+ * @description PageNavigator Plugin
5
+ * - This plugin provides functionality for navigating between pages within the editor's document.
6
+ * - It features an input field for entering the desired page number and a display element showing
7
+ * - the total number of pages. When the user changes the value in the input field, the plugin triggers
8
+ * - a page navigation event through the editor's document context.
9
+ */
10
+ declare class PageNavigator extends EditorInjector {
11
+ static key: string;
12
+ static type: string;
13
+ static className: string;
14
+ title: any;
15
+ inner: HTMLInputElement;
16
+ afterItem: HTMLElement;
17
+ pageNum: number;
18
+ totalPages: number;
19
+ /**
20
+ * @editorMethod Editor.documentType
21
+ * @description Updates the displayed page number and total pages in the navigator.
22
+ * @param {number} pageNum - The current page number to display.
23
+ * @param {number} totalPages - The total number of pages in the document.
24
+ */
25
+ display(pageNum: number, totalPages: number): void;
26
+ #private;
27
+ }
28
+ import EditorInjector from '../../editorInjector';