suneditor 2.46.2 → 3.0.0-alpha.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 (289) hide show
  1. package/.eslintignore +7 -0
  2. package/.eslintrc.json +64 -0
  3. package/CONTRIBUTING.md +36 -0
  4. package/LICENSE.txt +1 -1
  5. package/README.md +11 -1560
  6. package/package.json +94 -70
  7. package/src/assets/icons/_default.js +194 -0
  8. package/src/assets/suneditor-content.css +642 -0
  9. package/src/assets/suneditor.css +3378 -0
  10. package/src/core/base/eventHandlers/handler_toolbar.js +114 -0
  11. package/src/core/base/eventHandlers/handler_ww_clipboard.js +31 -0
  12. package/src/core/base/eventHandlers/handler_ww_dragDrop.js +69 -0
  13. package/src/core/base/eventHandlers/handler_ww_key_input.js +978 -0
  14. package/src/core/base/eventHandlers/handler_ww_mouse.js +118 -0
  15. package/src/core/base/eventManager.js +1129 -0
  16. package/src/core/base/events.js +320 -0
  17. package/src/core/base/history.js +301 -0
  18. package/src/core/class/char.js +146 -0
  19. package/src/core/class/component.js +624 -0
  20. package/src/core/class/format.js +3255 -0
  21. package/src/core/class/html.js +1621 -0
  22. package/src/core/class/menu.js +260 -0
  23. package/src/core/class/nodeTransform.js +379 -0
  24. package/src/core/class/notice.js +42 -0
  25. package/src/core/class/offset.js +578 -0
  26. package/src/core/class/selection.js +508 -0
  27. package/src/core/class/shortcuts.js +38 -0
  28. package/src/core/class/toolbar.js +440 -0
  29. package/src/core/class/viewer.js +646 -0
  30. package/src/core/editor.js +1588 -0
  31. package/src/core/section/actives.js +107 -0
  32. package/src/core/section/constructor.js +1237 -0
  33. package/src/core/section/context.js +97 -0
  34. package/src/editorInjector/_classes.js +22 -0
  35. package/src/editorInjector/_core.js +28 -0
  36. package/src/editorInjector/index.js +13 -0
  37. package/src/helper/converter.js +313 -0
  38. package/src/helper/domUtils.js +1177 -0
  39. package/src/helper/env.js +250 -0
  40. package/src/helper/index.js +19 -0
  41. package/src/helper/numbers.js +68 -0
  42. package/src/helper/unicode.js +43 -0
  43. package/src/langs/ckb.js +161 -0
  44. package/src/langs/cs.js +161 -0
  45. package/src/langs/da.js +161 -0
  46. package/src/langs/de.js +162 -0
  47. package/src/langs/en.js +199 -0
  48. package/src/langs/es.js +162 -0
  49. package/src/langs/fa.js +159 -0
  50. package/src/langs/fr.js +161 -0
  51. package/src/langs/he.js +162 -0
  52. package/src/{lang → langs}/index.js +0 -2
  53. package/src/langs/it.js +162 -0
  54. package/src/langs/ja.js +162 -0
  55. package/src/langs/ko.js +162 -0
  56. package/src/langs/lv.js +162 -0
  57. package/src/langs/nl.js +162 -0
  58. package/src/langs/pl.js +162 -0
  59. package/src/langs/pt_br.js +162 -0
  60. package/src/langs/ro.js +162 -0
  61. package/src/langs/ru.js +162 -0
  62. package/src/langs/se.js +162 -0
  63. package/src/langs/tr.js +159 -0
  64. package/src/langs/ua.js +162 -0
  65. package/src/langs/ur.js +162 -0
  66. package/src/langs/zh_cn.js +162 -0
  67. package/src/modules/ApiManager.js +168 -0
  68. package/src/modules/ColorPicker.js +302 -0
  69. package/src/modules/Controller.js +315 -0
  70. package/src/modules/Figure.js +1174 -0
  71. package/src/modules/FileBrowser.js +271 -0
  72. package/src/modules/FileManager.js +290 -0
  73. package/src/modules/HueSlider.js +513 -0
  74. package/src/modules/Modal.js +177 -0
  75. package/src/modules/ModalAnchorEditor.js +494 -0
  76. package/src/modules/SelectMenu.js +447 -0
  77. package/src/modules/_DragHandle.js +16 -0
  78. package/src/modules/index.js +14 -0
  79. package/src/plugins/command/blockquote.js +47 -47
  80. package/src/plugins/command/exportPdf.js +168 -0
  81. package/src/plugins/command/fileUpload.js +389 -0
  82. package/src/plugins/command/list_bulleted.js +112 -0
  83. package/src/plugins/command/list_numbered.js +115 -0
  84. package/src/plugins/dropdown/align.js +143 -0
  85. package/src/plugins/dropdown/backgroundColor.js +73 -0
  86. package/src/plugins/dropdown/font.js +113 -0
  87. package/src/plugins/dropdown/fontColor.js +73 -0
  88. package/src/plugins/dropdown/formatBlock.js +141 -0
  89. package/src/plugins/dropdown/hr.js +111 -0
  90. package/src/plugins/dropdown/layout.js +72 -0
  91. package/src/plugins/dropdown/lineHeight.js +114 -0
  92. package/src/plugins/dropdown/list.js +107 -0
  93. package/src/plugins/dropdown/paragraphStyle.js +117 -0
  94. package/src/plugins/dropdown/table.js +2810 -0
  95. package/src/plugins/dropdown/template.js +71 -0
  96. package/src/plugins/dropdown/textStyle.js +137 -0
  97. package/src/plugins/field/mention.js +172 -0
  98. package/src/plugins/fileBrowser/imageGallery.js +76 -59
  99. package/src/plugins/index.js +86 -24
  100. package/src/plugins/input/fontSize.js +357 -0
  101. package/src/plugins/modal/audio.js +492 -0
  102. package/src/plugins/modal/image.js +1062 -0
  103. package/src/plugins/modal/link.js +211 -0
  104. package/src/plugins/modal/math.js +347 -0
  105. package/src/plugins/modal/video.js +870 -0
  106. package/src/suneditor.js +62 -67
  107. package/src/themes/test.css +61 -0
  108. package/typings/CommandPlugin.d.ts +8 -0
  109. package/typings/DialogPlugin.d.ts +20 -0
  110. package/typings/FileBrowserPlugin.d.ts +30 -0
  111. package/typings/Lang.d.ts +124 -0
  112. package/typings/Module.d.ts +15 -0
  113. package/typings/Plugin.d.ts +42 -0
  114. package/typings/SubmenuPlugin.d.ts +8 -0
  115. package/typings/_classes.d.ts +17 -0
  116. package/typings/_colorPicker.d.ts +60 -0
  117. package/typings/_core.d.ts +55 -0
  118. package/typings/align.d.ts +5 -0
  119. package/{src/plugins/dialog → typings}/audio.d.ts +1 -1
  120. package/typings/backgroundColor.d.ts +5 -0
  121. package/{src/plugins/command → typings}/blockquote.d.ts +1 -1
  122. package/typings/char.d.ts +39 -0
  123. package/typings/component.d.ts +38 -0
  124. package/typings/context.d.ts +39 -0
  125. package/typings/converter.d.ts +33 -0
  126. package/typings/dialog.d.ts +28 -0
  127. package/typings/domUtils.d.ts +361 -0
  128. package/typings/editor.d.ts +7 -0
  129. package/typings/editor.ts +542 -0
  130. package/typings/env.d.ts +70 -0
  131. package/typings/eventManager.d.ts +37 -0
  132. package/typings/events.d.ts +262 -0
  133. package/typings/fileBrowser.d.ts +42 -0
  134. package/typings/fileManager.d.ts +67 -0
  135. package/typings/font.d.ts +5 -0
  136. package/typings/fontColor.d.ts +5 -0
  137. package/typings/fontSize.d.ts +5 -0
  138. package/typings/format.d.ts +191 -0
  139. package/typings/formatBlock.d.ts +5 -0
  140. package/typings/history.d.ts +48 -0
  141. package/typings/horizontalRule.d.ts +5 -0
  142. package/{src/plugins/dialog → typings}/image.d.ts +1 -1
  143. package/{src/plugins/fileBrowser → typings}/imageGallery.d.ts +1 -1
  144. package/typings/index.d.ts +21 -0
  145. package/{src/plugins/modules/index.d.ts → typings/index.modules.d.ts} +3 -3
  146. package/typings/index.plugins.d.ts +58 -0
  147. package/typings/lineHeight.d.ts +5 -0
  148. package/{src/plugins/dialog → typings}/link.d.ts +1 -1
  149. package/typings/list.d.ts +5 -0
  150. package/{src/plugins/dialog → typings}/math.d.ts +1 -1
  151. package/typings/mediaContainer.d.ts +25 -0
  152. package/typings/node.d.ts +57 -0
  153. package/typings/notice.d.ts +16 -0
  154. package/typings/numbers.d.ts +29 -0
  155. package/typings/offset.d.ts +24 -0
  156. package/typings/options.d.ts +589 -0
  157. package/typings/paragraphStyle.d.ts +5 -0
  158. package/typings/resizing.d.ts +141 -0
  159. package/typings/selection.d.ts +94 -0
  160. package/typings/shortcuts.d.ts +13 -0
  161. package/typings/suneditor.d.ts +9 -0
  162. package/typings/table.d.ts +5 -0
  163. package/typings/template.d.ts +5 -0
  164. package/typings/textStyle.d.ts +5 -0
  165. package/typings/toolbar.d.ts +32 -0
  166. package/typings/unicode.d.ts +25 -0
  167. package/{src/plugins/dialog → typings}/video.d.ts +1 -1
  168. package/dist/css/suneditor.min.css +0 -1
  169. package/dist/suneditor.min.js +0 -2
  170. package/src/assets/css/suneditor-contents.css +0 -562
  171. package/src/assets/css/suneditor.css +0 -566
  172. package/src/assets/defaultIcons.js +0 -103
  173. package/src/lang/Lang.d.ts +0 -144
  174. package/src/lang/ckb.d.ts +0 -5
  175. package/src/lang/ckb.js +0 -188
  176. package/src/lang/cs.d.ts +0 -5
  177. package/src/lang/cs.js +0 -188
  178. package/src/lang/da.d.ts +0 -5
  179. package/src/lang/da.js +0 -191
  180. package/src/lang/de.d.ts +0 -5
  181. package/src/lang/de.js +0 -188
  182. package/src/lang/en.d.ts +0 -5
  183. package/src/lang/en.js +0 -188
  184. package/src/lang/es.d.ts +0 -5
  185. package/src/lang/es.js +0 -188
  186. package/src/lang/fa.d.ts +0 -5
  187. package/src/lang/fa.js +0 -188
  188. package/src/lang/fr.d.ts +0 -5
  189. package/src/lang/fr.js +0 -188
  190. package/src/lang/he.d.ts +0 -5
  191. package/src/lang/he.js +0 -188
  192. package/src/lang/index.d.ts +0 -23
  193. package/src/lang/it.d.ts +0 -5
  194. package/src/lang/it.js +0 -188
  195. package/src/lang/ja.d.ts +0 -5
  196. package/src/lang/ja.js +0 -188
  197. package/src/lang/ko.d.ts +0 -5
  198. package/src/lang/ko.js +0 -188
  199. package/src/lang/lv.d.ts +0 -5
  200. package/src/lang/lv.js +0 -188
  201. package/src/lang/nl.d.ts +0 -5
  202. package/src/lang/nl.js +0 -188
  203. package/src/lang/pl.d.ts +0 -5
  204. package/src/lang/pl.js +0 -188
  205. package/src/lang/pt_br.d.ts +0 -5
  206. package/src/lang/pt_br.js +0 -189
  207. package/src/lang/ro.d.ts +0 -5
  208. package/src/lang/ro.js +0 -188
  209. package/src/lang/ru.d.ts +0 -5
  210. package/src/lang/ru.js +0 -188
  211. package/src/lang/se.d.ts +0 -5
  212. package/src/lang/se.js +0 -191
  213. package/src/lang/tr.d.ts +0 -5
  214. package/src/lang/tr.js +0 -191
  215. package/src/lang/ua.d.ts +0 -5
  216. package/src/lang/ua.js +0 -188
  217. package/src/lang/ur.d.ts +0 -5
  218. package/src/lang/ur.js +0 -188
  219. package/src/lang/zh_cn.d.ts +0 -5
  220. package/src/lang/zh_cn.js +0 -187
  221. package/src/lib/constructor.js +0 -954
  222. package/src/lib/context.d.ts +0 -42
  223. package/src/lib/context.js +0 -71
  224. package/src/lib/core.d.ts +0 -1135
  225. package/src/lib/core.js +0 -9395
  226. package/src/lib/history.d.ts +0 -48
  227. package/src/lib/history.js +0 -219
  228. package/src/lib/util.d.ts +0 -678
  229. package/src/lib/util.js +0 -2131
  230. package/src/options.d.ts +0 -608
  231. package/src/plugins/CommandPlugin.d.ts +0 -8
  232. package/src/plugins/DialogPlugin.d.ts +0 -20
  233. package/src/plugins/FileBrowserPlugin.d.ts +0 -30
  234. package/src/plugins/Module.d.ts +0 -15
  235. package/src/plugins/Plugin.d.ts +0 -42
  236. package/src/plugins/SubmenuPlugin.d.ts +0 -8
  237. package/src/plugins/dialog/audio.js +0 -559
  238. package/src/plugins/dialog/image.js +0 -1126
  239. package/src/plugins/dialog/link.js +0 -223
  240. package/src/plugins/dialog/math.js +0 -295
  241. package/src/plugins/dialog/mention.js +0 -242
  242. package/src/plugins/dialog/video.js +0 -979
  243. package/src/plugins/index.d.ts +0 -79
  244. package/src/plugins/modules/_anchor.js +0 -461
  245. package/src/plugins/modules/_colorPicker.d.ts +0 -60
  246. package/src/plugins/modules/_colorPicker.js +0 -201
  247. package/src/plugins/modules/_notice.d.ts +0 -21
  248. package/src/plugins/modules/_notice.js +0 -72
  249. package/src/plugins/modules/_selectMenu.js +0 -119
  250. package/src/plugins/modules/component.d.ts +0 -25
  251. package/src/plugins/modules/component.js +0 -81
  252. package/src/plugins/modules/dialog.d.ts +0 -28
  253. package/src/plugins/modules/dialog.js +0 -175
  254. package/src/plugins/modules/fileBrowser.d.ts +0 -42
  255. package/src/plugins/modules/fileBrowser.js +0 -374
  256. package/src/plugins/modules/fileManager.d.ts +0 -67
  257. package/src/plugins/modules/fileManager.js +0 -326
  258. package/src/plugins/modules/index.js +0 -9
  259. package/src/plugins/modules/resizing.d.ts +0 -154
  260. package/src/plugins/modules/resizing.js +0 -903
  261. package/src/plugins/submenu/align.d.ts +0 -5
  262. package/src/plugins/submenu/align.js +0 -160
  263. package/src/plugins/submenu/font.d.ts +0 -5
  264. package/src/plugins/submenu/font.js +0 -123
  265. package/src/plugins/submenu/fontColor.d.ts +0 -5
  266. package/src/plugins/submenu/fontColor.js +0 -101
  267. package/src/plugins/submenu/fontSize.d.ts +0 -5
  268. package/src/plugins/submenu/fontSize.js +0 -112
  269. package/src/plugins/submenu/formatBlock.d.ts +0 -5
  270. package/src/plugins/submenu/formatBlock.js +0 -273
  271. package/src/plugins/submenu/hiliteColor.d.ts +0 -5
  272. package/src/plugins/submenu/hiliteColor.js +0 -102
  273. package/src/plugins/submenu/horizontalRule.d.ts +0 -5
  274. package/src/plugins/submenu/horizontalRule.js +0 -98
  275. package/src/plugins/submenu/lineHeight.d.ts +0 -5
  276. package/src/plugins/submenu/lineHeight.js +0 -104
  277. package/src/plugins/submenu/list.d.ts +0 -5
  278. package/src/plugins/submenu/list.js +0 -456
  279. package/src/plugins/submenu/paragraphStyle.d.ts +0 -5
  280. package/src/plugins/submenu/paragraphStyle.js +0 -135
  281. package/src/plugins/submenu/table.d.ts +0 -5
  282. package/src/plugins/submenu/table.js +0 -1431
  283. package/src/plugins/submenu/template.d.ts +0 -5
  284. package/src/plugins/submenu/template.js +0 -72
  285. package/src/plugins/submenu/textStyle.d.ts +0 -5
  286. package/src/plugins/submenu/textStyle.js +0 -167
  287. package/src/suneditor.d.ts +0 -9
  288. package/src/suneditor_build.js +0 -18
  289. /package/{src/plugins/dialog → typings}/mention.d.ts +0 -0
@@ -0,0 +1,589 @@
1
+ import { Lang } from './Lang';
2
+ import { Plugin } from './plugins/Plugin';
3
+
4
+ export interface SunEditorOptions {
5
+ plugins?: Plugin[] | Record<string, Plugin>;
6
+ /**
7
+ * Values
8
+ * ======
9
+ */
10
+ /**
11
+ * language object
12
+ */
13
+ lang?: Lang;
14
+ /**
15
+ * Specifies default tag name of the editor. (default: "p")
16
+ */
17
+ defaultLine?: string;
18
+ /**
19
+ * You can change the tag of the default text button. default: { bold: 'STRONG', underline: 'U', italic: 'EM', strike: 'DEL', sub: 'SUB', sup: 'SUP' }
20
+ */
21
+ textTags?: { bold?: string; underline?: string; italic?: string; strike?: string; sub?: string; sup?: string };
22
+ /**
23
+ * Initial value(html string) of the edit area.
24
+ * If not, the value of the "target textarea".
25
+ */
26
+ value?: string;
27
+ /**
28
+ * When recording the history stack, this is the delay time (miliseconds) since the last input. default: 400
29
+ */
30
+ historyStackDelayTime?: number;
31
+ /**
32
+ * Whitelist
33
+ * ======
34
+ */
35
+ /**
36
+ * Add tags to the default tags whitelist of editor.
37
+ */
38
+ elementWhitelist?: string | '*';
39
+ /**
40
+ * Blacklist of the editor default tags.
41
+ */
42
+ elementBlacklist?: string;
43
+ /**
44
+ * Add attributes whitelist of tags that should be kept undeleted from the editor.
45
+ */
46
+ attributeWhitelist?: Record<string, string | '*'>;
47
+ /**
48
+ * Add attribute blacklist of tags that should be deleted in editor.
49
+ */
50
+ attributeBlacklist?: Record<string, string | '*'>;
51
+ /**
52
+ * Layout
53
+ * ======
54
+ */
55
+ /**
56
+ * The mode of the editor (classic, inline, balloon, balloon-always)
57
+ */
58
+ mode?: 'classic' | 'inline' | 'balloon' | 'balloon-always';
59
+ /**
60
+ * If true, the editor is set to direction mode ("ltr", "rtl").
61
+ */
62
+ textDirection?: 'ltr' | 'rtl';
63
+ /**
64
+ * Deletes other attributes except for the property set at the time of line break.
65
+ * If there is no value, no all attribute is deleted.
66
+ * @example 'class|style': Attributes other than "class" and "style" are deleted at line break.
67
+ * '*': All attributes are deleted at line break.
68
+ */
69
+ lineAttrReset?: string;
70
+ /**
71
+ * Button List
72
+ */
73
+ buttonList?: ButtonListItem[];
74
+ /**
75
+ * The width of the toolbar.
76
+ Applies only when the editor mode is 'inline' or 'balloon' mode.
77
+ */
78
+ toolbar_width?: string;
79
+ /**
80
+ * A custom HTML selector placing the toolbar inside.
81
+ The class name of the element must be 'sun-editor'.
82
+ Element or querySelector argument.
83
+ */
84
+ toolbar_container?: HTMLElement | string;
85
+ /**
86
+ * Top offset value of "sticky toolbar".
87
+ */
88
+ toolbar_sticky?: number | string;
89
+ /**
90
+ * The toolbar is rendered hidden.
91
+ */
92
+ toolbar_hide?: boolean;
93
+ /**
94
+ * Top offset value of "full Screen".
95
+ */
96
+ fullScreenOffset?: number | string;
97
+ /**
98
+ * Content will be placed in an iframe and isolated from the rest of the page
99
+ */
100
+ iframe?: boolean;
101
+ /**
102
+ * Allows the usage of HTML, HEAD, BODY tags and DOCTYPE declaration
103
+ */
104
+ iframe_fullPage?: boolean;
105
+ /**
106
+ * Attributes of the iframe.
107
+ */
108
+ iframe_attributes?: Record<string, string>;
109
+ /**
110
+ * Name of the CSS file(s) to apply inside the iframe.
111
+ */
112
+ iframe_cssFileName?: string | string[];
113
+ /**
114
+ * A template of the "preview".
115
+ * The {{content}} part in the HTML string is replaced with the content of the editor.
116
+ * @example "<h1>Preview Template</h1> {{content}} <div>_Footer_</div>"
117
+ */
118
+ previewTemplate?: string;
119
+ /**
120
+ * A template of the "print".
121
+ * The {{content}} part in the HTML string is replaced with the content of the editor.
122
+ * @example "<h1>Print Template</h1> {{content}} <div>_Footer_</div>"
123
+ */
124
+ printTemplate?: string;
125
+ /**
126
+ * CodeMirror object
127
+ */
128
+ codeMirror?: any | { src: any; options: object };
129
+ /**
130
+ * Katex object (Use "math" plugin)
131
+ */
132
+ katex?: any | { src: any; options: object };
133
+ /**
134
+ * Math plugin font size list
135
+ */
136
+ mathFontSize?: { text: string; value: string; default?: boolean }[];
137
+ /**
138
+ * Display
139
+ * =======
140
+ */
141
+ /**
142
+ * The position property of editor
143
+ */
144
+ position?: string;
145
+ /**
146
+ * The display property of editor
147
+ */
148
+ display?: string;
149
+ /**
150
+ * Size of background area when activating dialog window ('full'||'local')
151
+ */
152
+ dialoglType?: 'full' | 'local';
153
+ /**
154
+ * Bottom resizing bar
155
+ * ===================
156
+ */
157
+ /**
158
+ * Show the bottom resizing bar
159
+ */
160
+ statusbar?: boolean;
161
+ /**
162
+ * Displays the current node structure to statusbar
163
+ */
164
+ statusbar_showPathLabel?: boolean;
165
+ /**
166
+ * Enable/disable resize function of bottom resizing bar.
167
+ */
168
+ statusbar_resizeEnable?: boolean;
169
+ /**
170
+ * A custom HTML selector placing the resizing bar inside.
171
+ The class name of the element must be 'sun-editor'.
172
+ Element or querySelector argument.
173
+ */
174
+ statusbar_container?: HTMLElement | string;
175
+ /**
176
+ * Character count
177
+ * ===============
178
+ */
179
+ /**
180
+ * Shows the number of characters in the editor
181
+ */
182
+ charCounter?: boolean;
183
+ /**
184
+ * Defines the calculation method of the "charCounter" option
185
+ */
186
+ charCounter_type?: 'char' | 'byte' | 'byte-html';
187
+ /**
188
+ * Text to be displayed in the "charCounter" area of the bottom bar.
189
+ */
190
+ charCounter_label?: string;
191
+ /**
192
+ * The maximum number of characters allowed to be inserted into the editor
193
+ */
194
+ charCounter_max?: number;
195
+ /**
196
+ * Size
197
+ * ====
198
+ */
199
+ /**
200
+ * The width size of the editor
201
+ */
202
+ width?: string;
203
+ /**
204
+ * The min-width size of the editor
205
+ */
206
+ minWidth?: string;
207
+ /**
208
+ * The max-width size of the editor
209
+ */
210
+ maxWidth?: string;
211
+ /**
212
+ * The height size of the editor
213
+ */
214
+ height?: string;
215
+ /**
216
+ * The min-height size of the editor
217
+ */
218
+ minHeight?: string;
219
+ /**
220
+ * The max-height size of the editor
221
+ */
222
+ maxHeight?: string;
223
+ /**
224
+ * Editing area
225
+ * ===================
226
+ */
227
+ /**
228
+ * Add a "class" to the editing area[.sun-editor-editable]
229
+ */
230
+ className?: string;
231
+ /**
232
+ * You can define the style of the editing area[.sun-editor-editable].
233
+ * It affects the entire editing area.
234
+ * ('z-index', 'position', 'display', 'width' properties apply to the top div.)
235
+ * @example 'font-family: cursive; font-size: 10px;'
236
+ */
237
+ editorStyle?: string;
238
+ /**
239
+ * Defining menu items
240
+ * ===================
241
+ */
242
+ /**
243
+ * Change default font-family array
244
+ */
245
+ font?: string[];
246
+ /**
247
+ * Change default font-size array
248
+ */
249
+ fontSize?: number[];
250
+ /**
251
+ * The font size unit
252
+ */
253
+ fontSizeUnit?: string;
254
+ /**
255
+ * A list of drop-down options for the 'align' plugin.
256
+ */
257
+ alignItems?: ('left' | 'center' | 'right' | 'justify')[];
258
+ /**
259
+ * Change default formatBlock array
260
+ */
261
+ formats?: FormatTagName[];
262
+ /**
263
+ * Change default color array of color picker
264
+ */
265
+ colorList?: string[];
266
+ /**
267
+ * Line Heights
268
+ */
269
+ lineHeights?: LineHeightsItem[];
270
+ /**
271
+ * Paragraph Styles
272
+ */
273
+ paragraphStyles?: ParagraphStyles;
274
+ /**
275
+ * Text Styles
276
+ */
277
+ textStyles?: TextStyles;
278
+ /**
279
+ * Image
280
+ * =====
281
+ */
282
+ /**
283
+ * Can resize the image
284
+ */
285
+ imageResizing?: boolean;
286
+ /**
287
+ * Choose whether the image height input is visible.
288
+ */
289
+ imageHeightShow?: boolean;
290
+ /**
291
+ * Choose whether the image align radio buttons are visible.
292
+ */
293
+ imageAlignShow?: boolean;
294
+ /**
295
+ * The default width size of the image frame
296
+ */
297
+ imageWidth?: string;
298
+ /**
299
+ * The default height size of the image frame
300
+ */
301
+ imageHeight?: string;
302
+ /**
303
+ * If true, image size can only be scaled by percentage.
304
+ */
305
+ imageSizeOnlyPercentage?: boolean;
306
+ /**
307
+ * It is determined by "imageSizeOnlyPercentage".
308
+ * @pivate
309
+ */
310
+ _videoSizeUnit?: '%' | 'px';
311
+ /**
312
+ * Choose whether to image rotation buttons display.
313
+ * When "imageSizeOnlyPercentage" is "true" or or "imageHeightShow" is "false" the default value is false.
314
+ * If you want the button to be visible, put it a true.
315
+ */
316
+ imageRotation?: boolean;
317
+ /**
318
+ * Choose whether to create a file input tag in the image upload window
319
+ */
320
+ imageFileInput?: boolean;
321
+ /**
322
+ * Choose whether to create a image url input tag in the image upload window
323
+ */
324
+ imageUrlInput?: boolean;
325
+ /**
326
+ * Http Header when uploading images.
327
+ */
328
+ imageUploadHeader?: Record<string, string>;
329
+ /**
330
+ * The image upload to server mapping address
331
+ */
332
+ imageUploadUrl?: string;
333
+ /**
334
+ * The size of the total uploadable images (in bytes)
335
+ */
336
+ imageUploadSizeLimit?: number;
337
+ /**
338
+ * If true, multiple images can be selected.
339
+ */
340
+ imageMultipleFile?: boolean;
341
+ /**
342
+ * Define the "accept" attribute of the input.
343
+ * @example "*" or ".jpg, .png .."
344
+ */
345
+ imageAccept?: string;
346
+ /**
347
+ * Image - image gallery
348
+ * =====
349
+ */
350
+ /**
351
+ * The url of the image gallery, if you use the image gallery
352
+ */
353
+ imageGalleryUrl?: string;
354
+ /**
355
+ * Http Header when get image gallery.
356
+ */
357
+ imageGalleryHeader?: Record<string, string>;
358
+ /**
359
+ * Video
360
+ * =====
361
+ */
362
+ /**
363
+ * Can resize the video iframe
364
+ */
365
+ videoResizing?: boolean;
366
+ /**
367
+ * Choose whether the video height input is visible.
368
+ */
369
+ videoHeightShow?: boolean;
370
+ /**
371
+ * Choose whether the video align radio buttons are visible.
372
+ */
373
+ videoAlignShow?: boolean;
374
+ /**
375
+ * Choose whether the video ratio options is visible.
376
+ */
377
+ videoRatioShow?: boolean;
378
+ /**
379
+ * The default width size of the video frame
380
+ */
381
+ videoWidth?: string;
382
+ /**
383
+ * The default height size of the video frame
384
+ */
385
+ videoHeight?: string;
386
+ /**
387
+ * If true, video size can only be scaled by percentage.
388
+ */
389
+ videoSizeOnlyPercentage?: boolean;
390
+ /**
391
+ * Choose whether to video rotation buttons display.
392
+ * When "videoSizeOnlyPercentage" is "true" or "videoHeightShow" is "false" the default value is false.
393
+ * If you want the button to be visible, put it a true.
394
+ */
395
+ videoRotation?: boolean;
396
+ /**
397
+ * The default aspect ratio of the video.
398
+ * Up to four decimal places are allowed.
399
+ */
400
+ videoRatio?: number;
401
+ /**
402
+ * Video ratio selection options.
403
+ */
404
+ videoRatioList?: { name: string; value: number }[];
405
+ /**
406
+ * The query string of a YouTube embedded URL
407
+ */
408
+ youtubeQuery?: string;
409
+ /**
410
+ * Choose whether to create a file input tag in the video upload window
411
+ */
412
+ videoFileInput?: boolean;
413
+ /**
414
+ * Choose whether to create a video url input tag in the video upload window
415
+ */
416
+ videoUrlInput?: boolean;
417
+ /**
418
+ * Http Header when uploading videos.
419
+ */
420
+ videoUploadHeader?: Record<string, string>;
421
+ /**
422
+ * The video upload to server mapping address
423
+ */
424
+ videoUploadUrl?: string;
425
+ /**
426
+ * The size of the total uploadable videos (in bytes)
427
+ */
428
+ videoUploadSizeLimit?: number;
429
+ /**
430
+ * If true, multiple videos can be selected.
431
+ */
432
+ videoMultipleFile?: boolean;
433
+ /**
434
+ * Define "Attributes" of the video tag.
435
+ * @example { poster: "http://suneditor.com/docs/loading.gif", autoplay: true }
436
+ */
437
+ videoTagAttrs?: Record<string, string | boolean>;
438
+ /**
439
+ * Define "Attributes" of the iframe tag. (Youtube, Vimeo).
440
+ * @example { style: "border: 2px solid red;" }
441
+ */
442
+ videoIframeAttrs?: Record<string, string | boolean>;
443
+ /**
444
+ * Define the "accept" attribute of the input.
445
+ * "*" or ".mp4, .avi .."
446
+ */
447
+ videoAccept?: string;
448
+ /**
449
+ * Audio
450
+ * =====
451
+ */
452
+ /**
453
+ * The default width size of the audio frame
454
+ */
455
+ audioWidth?: string;
456
+ /**
457
+ * The default height size of the audio frame
458
+ */
459
+ audioHeight?: string;
460
+ /**
461
+ * Choose whether to create a file input tag in the audio upload window
462
+ */
463
+ audioFileInput?: boolean;
464
+ /**
465
+ * Choose whether to create a audio url input tag in the audio upload window
466
+ */
467
+ audioUrlInput?: boolean;
468
+ /**
469
+ * Http Header when uploading audios.
470
+ */
471
+ audioUploadHeader?: Record<string, string>;
472
+ /**
473
+ * The audio upload to server mapping address
474
+ */
475
+ audioUploadUrl?: string;
476
+ /**
477
+ * The size of the total uploadable audios (in bytes)
478
+ */
479
+ audioUploadSizeLimit?: number;
480
+ /**
481
+ * If true, videos images can be selected.
482
+ */
483
+ audioMultipleFile?: boolean;
484
+ /**
485
+ * Define "Attributes" of the audio tag.
486
+ * @example { controlslist: "nodownload", autoplay: true }
487
+ */
488
+ audioTagAttrs?: Record<string, string | boolean>;
489
+ /**
490
+ * Define the "accept" attribute of the input.
491
+ * "*" or ".mp3, .wav .."
492
+ */
493
+ audioAccept?: string;
494
+ /**
495
+ * Table
496
+ * =====
497
+ */
498
+ /**
499
+ * Define position to the table cell controller. ('cell', 'top')
500
+ */
501
+ tableCellControllerPosition?: string;
502
+ /**
503
+ * Link
504
+ * =====
505
+ */
506
+ /**
507
+ * Default checked value of the "Open in new window" checkbox.
508
+ */
509
+ linkTargetNewWindow?: boolean;
510
+ /**
511
+ * Protocol for the links (if link has been added without any protocol this one will be used).
512
+ */
513
+ linkProtocol?: string;
514
+ /**
515
+ * Defines "rel" attribute list of anchor tag.
516
+ */
517
+ linkRel?: string[];
518
+ /**
519
+ * Defines default "rel" attribute list of anchor tag.
520
+ */
521
+ linkRelDefault?: { default?: string; check_new_window?: string; check_bookmark?: string };
522
+ /**
523
+ * If true, disables the automatic prefixing of the host URL to the value of the link. default: false {Boolean}
524
+ */
525
+ linkNoPrefix?: boolean;
526
+ /*
527
+ * HR
528
+ * =====
529
+ */
530
+ /**
531
+ * Defines the hr items.
532
+ * "class" or "style" must be specified.
533
+ * @example [{name: "solid", class: "__se__xxx", style: "border-style: outset;"}]
534
+ */
535
+ hrItems?: { name: string; class?: string; style?: string }[];
536
+ /**
537
+ * Key actions
538
+ * =====
539
+ */
540
+ /**
541
+ * If true, disables the interaction of the editor and tab key
542
+ */
543
+ tabDisable?: boolean;
544
+ shortcutsDisable?: string[];
545
+ shortcutsHint?: boolean;
546
+ /**
547
+ * Defining save button
548
+ * ====================
549
+ */
550
+ /**
551
+ * Callback functions that is called when the Save button is clicked
552
+ */
553
+ callBackSave?: (content: string, isChanged: boolean) => void;
554
+ /**
555
+ * Templates Array
556
+ * ===============
557
+ */
558
+ /**
559
+ * Templates array
560
+ */
561
+ templates?: TemplatesItem[];
562
+ /**
563
+ * ETC
564
+ * ===
565
+ */
566
+ /**
567
+ * The placeholder text
568
+ */
569
+ placeholder?: string;
570
+ /**
571
+ * Activate the media[image, video, audio] selection status immediately after inserting the media tag. (default: true)
572
+ */
573
+ mediaAutoSelect?: boolean;
574
+ /**
575
+ * You can redefine icons.
576
+ */
577
+ icons?: Record<string, string>;
578
+
579
+ /**
580
+ * private options
581
+ */
582
+ _printClass?: string;
583
+ }
584
+ export type FormatTagName = 'p' | 'div' | 'blockquote' | 'pre' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | { tag: string; name?: string; command: 'replace' | 'range' | 'free'; class: string };
585
+ export type TemplatesItem = { name: string; html: string };
586
+ export type LineHeightsItem = { text: string; value: number };
587
+ export type ParagraphStyles = (string | { name: string; class: string; _class?: string })[];
588
+ export type TextStyles = (string | { name: string; tag: string; class: string })[];
589
+ export type ButtonListItem = any;
@@ -0,0 +1,5 @@
1
+ import { DropdownPlugin } from '../DropdownPlugin';
2
+
3
+ declare const paragraphStyle: DropdownPlugin;
4
+
5
+ export default paragraphStyle;