suneditor 3.0.0-beta.3 → 3.0.0-beta.30

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 (241) hide show
  1. package/CONTRIBUTING.md +8 -8
  2. package/README.md +44 -49
  3. package/dist/suneditor.min.css +1 -1
  4. package/dist/suneditor.min.js +1 -1
  5. package/package.json +95 -53
  6. package/src/assets/design/color.css +2 -2
  7. package/src/assets/design/size.css +2 -0
  8. package/src/assets/icons/defaultIcons.js +16 -1
  9. package/src/assets/suneditor-contents.css +9 -8
  10. package/src/assets/suneditor.css +29 -26
  11. package/src/core/{section → base}/actives.js +20 -12
  12. package/src/core/base/history.js +4 -4
  13. package/src/core/class/char.js +10 -10
  14. package/src/core/class/component.js +146 -57
  15. package/src/core/class/format.js +94 -2458
  16. package/src/core/class/html.js +187 -129
  17. package/src/core/class/inline.js +1853 -0
  18. package/src/core/class/listFormat.js +582 -0
  19. package/src/core/class/menu.js +14 -3
  20. package/src/core/class/nodeTransform.js +9 -14
  21. package/src/core/class/offset.js +162 -197
  22. package/src/core/class/selection.js +137 -34
  23. package/src/core/class/toolbar.js +73 -52
  24. package/src/core/class/ui.js +11 -11
  25. package/src/core/class/viewer.js +56 -55
  26. package/src/core/config/context.js +122 -0
  27. package/src/core/config/frameContext.js +204 -0
  28. package/src/core/config/options.js +639 -0
  29. package/src/core/editor.js +181 -108
  30. package/src/core/event/actions/index.js +229 -0
  31. package/src/core/event/effects/common.registry.js +60 -0
  32. package/src/core/event/effects/keydown.registry.js +551 -0
  33. package/src/core/event/effects/ruleHelpers.js +145 -0
  34. package/src/core/{base → event}/eventManager.js +119 -201
  35. package/src/core/event/executor.js +21 -0
  36. package/src/core/{base/eventHandlers → event/handlers}/handler_toolbar.js +4 -4
  37. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_dragDrop.js +2 -2
  38. package/src/core/event/handlers/handler_ww_input.js +77 -0
  39. package/src/core/event/handlers/handler_ww_key.js +228 -0
  40. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_mouse.js +3 -3
  41. package/src/core/event/ports.js +211 -0
  42. package/src/core/event/reducers/keydown.reducer.js +89 -0
  43. package/src/core/event/rules/keydown.rule.arrow.js +54 -0
  44. package/src/core/event/rules/keydown.rule.backspace.js +202 -0
  45. package/src/core/event/rules/keydown.rule.delete.js +126 -0
  46. package/src/core/event/rules/keydown.rule.enter.js +144 -0
  47. package/src/core/event/rules/keydown.rule.tab.js +29 -0
  48. package/src/core/section/constructor.js +79 -388
  49. package/src/core/section/documentType.js +47 -26
  50. package/src/core/util/instanceCheck.js +59 -0
  51. package/src/editorInjector/_classes.js +4 -0
  52. package/src/editorInjector/_core.js +17 -7
  53. package/src/editorInjector/index.js +10 -2
  54. package/src/events.js +6 -0
  55. package/src/helper/clipboard.js +24 -10
  56. package/src/helper/converter.js +17 -12
  57. package/src/helper/dom/domCheck.js +22 -3
  58. package/src/helper/dom/domQuery.js +91 -45
  59. package/src/helper/dom/domUtils.js +93 -19
  60. package/src/helper/dom/index.js +4 -0
  61. package/src/helper/env.js +11 -7
  62. package/src/helper/keyCodeMap.js +4 -3
  63. package/src/langs/ckb.js +1 -1
  64. package/src/langs/cs.js +1 -1
  65. package/src/langs/da.js +1 -1
  66. package/src/langs/de.js +1 -1
  67. package/src/langs/en.js +1 -1
  68. package/src/langs/es.js +1 -1
  69. package/src/langs/fa.js +1 -1
  70. package/src/langs/fr.js +1 -1
  71. package/src/langs/he.js +1 -1
  72. package/src/langs/hu.js +1 -1
  73. package/src/langs/it.js +1 -1
  74. package/src/langs/ja.js +1 -1
  75. package/src/langs/km.js +1 -1
  76. package/src/langs/ko.js +1 -1
  77. package/src/langs/lv.js +1 -1
  78. package/src/langs/nl.js +1 -1
  79. package/src/langs/pl.js +1 -1
  80. package/src/langs/pt_br.js +10 -10
  81. package/src/langs/ro.js +1 -1
  82. package/src/langs/ru.js +1 -1
  83. package/src/langs/se.js +1 -1
  84. package/src/langs/tr.js +1 -1
  85. package/src/langs/uk.js +1 -1
  86. package/src/langs/ur.js +1 -1
  87. package/src/langs/zh_cn.js +1 -1
  88. package/src/modules/ApiManager.js +25 -18
  89. package/src/modules/Browser.js +52 -61
  90. package/src/modules/ColorPicker.js +37 -38
  91. package/src/modules/Controller.js +85 -79
  92. package/src/modules/Figure.js +275 -187
  93. package/src/modules/FileManager.js +86 -92
  94. package/src/modules/HueSlider.js +67 -35
  95. package/src/modules/Modal.js +84 -77
  96. package/src/modules/ModalAnchorEditor.js +62 -79
  97. package/src/modules/SelectMenu.js +89 -86
  98. package/src/plugins/browser/audioGallery.js +9 -5
  99. package/src/plugins/browser/fileBrowser.js +10 -6
  100. package/src/plugins/browser/fileGallery.js +9 -5
  101. package/src/plugins/browser/imageGallery.js +9 -5
  102. package/src/plugins/browser/videoGallery.js +11 -6
  103. package/src/plugins/command/blockquote.js +1 -0
  104. package/src/plugins/command/exportPDF.js +11 -8
  105. package/src/plugins/command/fileUpload.js +41 -29
  106. package/src/plugins/command/list_bulleted.js +2 -1
  107. package/src/plugins/command/list_numbered.js +2 -1
  108. package/src/plugins/dropdown/align.js +8 -2
  109. package/src/plugins/dropdown/backgroundColor.js +19 -11
  110. package/src/plugins/dropdown/font.js +15 -9
  111. package/src/plugins/dropdown/fontColor.js +19 -11
  112. package/src/plugins/dropdown/formatBlock.js +7 -2
  113. package/src/plugins/dropdown/hr.js +7 -3
  114. package/src/plugins/dropdown/layout.js +6 -2
  115. package/src/plugins/dropdown/lineHeight.js +8 -3
  116. package/src/plugins/dropdown/list.js +2 -1
  117. package/src/plugins/dropdown/paragraphStyle.js +15 -11
  118. package/src/plugins/dropdown/{table.js → table/index.js} +514 -362
  119. package/src/plugins/dropdown/template.js +6 -2
  120. package/src/plugins/dropdown/textStyle.js +7 -3
  121. package/src/plugins/field/mention.js +33 -27
  122. package/src/plugins/input/fontSize.js +44 -37
  123. package/src/plugins/input/pageNavigator.js +3 -2
  124. package/src/plugins/modal/audio.js +90 -85
  125. package/src/plugins/modal/drawing.js +58 -66
  126. package/src/plugins/modal/embed.js +193 -180
  127. package/src/plugins/modal/image.js +441 -439
  128. package/src/plugins/modal/link.js +31 -8
  129. package/src/plugins/modal/math.js +23 -22
  130. package/src/plugins/modal/video.js +233 -230
  131. package/src/plugins/popup/anchor.js +24 -18
  132. package/src/suneditor.js +69 -24
  133. package/src/typedef.js +42 -19
  134. package/types/assets/icons/defaultIcons.d.ts +8 -0
  135. package/types/core/class/char.d.ts +1 -1
  136. package/types/core/class/component.d.ts +29 -7
  137. package/types/core/class/format.d.ts +4 -354
  138. package/types/core/class/html.d.ts +13 -4
  139. package/types/core/class/inline.d.ts +263 -0
  140. package/types/core/class/listFormat.d.ts +135 -0
  141. package/types/core/class/menu.d.ts +10 -2
  142. package/types/core/class/offset.d.ts +24 -26
  143. package/types/core/class/selection.d.ts +2 -0
  144. package/types/core/class/toolbar.d.ts +24 -11
  145. package/types/core/class/ui.d.ts +1 -1
  146. package/types/core/class/viewer.d.ts +1 -1
  147. package/types/core/config/context.d.ts +157 -0
  148. package/types/core/config/frameContext.d.ts +367 -0
  149. package/types/core/config/options.d.ts +1119 -0
  150. package/types/core/editor.d.ts +101 -66
  151. package/types/core/event/actions/index.d.ts +47 -0
  152. package/types/core/event/effects/common.registry.d.ts +50 -0
  153. package/types/core/event/effects/keydown.registry.d.ts +73 -0
  154. package/types/core/event/effects/ruleHelpers.d.ts +31 -0
  155. package/types/core/{base → event}/eventManager.d.ts +15 -46
  156. package/types/core/event/executor.d.ts +6 -0
  157. package/types/core/event/handlers/handler_ww_input.d.ts +41 -0
  158. package/types/core/{base/eventHandlers/handler_ww_key_input.d.ts → event/handlers/handler_ww_key.d.ts} +4 -6
  159. package/types/core/event/ports.d.ts +255 -0
  160. package/types/core/event/reducers/keydown.reducer.d.ts +75 -0
  161. package/types/core/event/rules/keydown.rule.arrow.d.ts +8 -0
  162. package/types/core/event/rules/keydown.rule.backspace.d.ts +9 -0
  163. package/types/core/event/rules/keydown.rule.delete.d.ts +9 -0
  164. package/types/core/event/rules/keydown.rule.enter.d.ts +9 -0
  165. package/types/core/event/rules/keydown.rule.tab.d.ts +9 -0
  166. package/types/core/section/constructor.d.ts +101 -631
  167. package/types/core/section/documentType.d.ts +14 -4
  168. package/types/core/util/instanceCheck.d.ts +50 -0
  169. package/types/editorInjector/_classes.d.ts +4 -0
  170. package/types/editorInjector/_core.d.ts +17 -7
  171. package/types/editorInjector/index.d.ts +10 -2
  172. package/types/events.d.ts +1 -0
  173. package/types/helper/clipboard.d.ts +2 -2
  174. package/types/helper/converter.d.ts +6 -9
  175. package/types/helper/dom/domCheck.d.ts +7 -0
  176. package/types/helper/dom/domQuery.d.ts +19 -8
  177. package/types/helper/dom/domUtils.d.ts +24 -2
  178. package/types/helper/dom/index.d.ts +86 -1
  179. package/types/helper/env.d.ts +6 -1
  180. package/types/helper/index.d.ts +7 -1
  181. package/types/helper/keyCodeMap.d.ts +3 -3
  182. package/types/index.d.ts +23 -117
  183. package/types/langs/index.d.ts +2 -2
  184. package/types/modules/ApiManager.d.ts +1 -8
  185. package/types/modules/Browser.d.ts +4 -62
  186. package/types/modules/ColorPicker.d.ts +4 -21
  187. package/types/modules/Controller.d.ts +8 -64
  188. package/types/modules/Figure.d.ts +54 -50
  189. package/types/modules/FileManager.d.ts +1 -13
  190. package/types/modules/HueSlider.d.ts +13 -3
  191. package/types/modules/Modal.d.ts +0 -43
  192. package/types/modules/ModalAnchorEditor.d.ts +0 -73
  193. package/types/modules/SelectMenu.d.ts +0 -85
  194. package/types/modules/index.d.ts +3 -3
  195. package/types/plugins/browser/audioGallery.d.ts +29 -18
  196. package/types/plugins/browser/fileBrowser.d.ts +38 -27
  197. package/types/plugins/browser/fileGallery.d.ts +29 -18
  198. package/types/plugins/browser/imageGallery.d.ts +24 -16
  199. package/types/plugins/browser/videoGallery.d.ts +29 -18
  200. package/types/plugins/command/blockquote.d.ts +1 -0
  201. package/types/plugins/command/exportPDF.d.ts +18 -18
  202. package/types/plugins/command/fileUpload.d.ts +65 -45
  203. package/types/plugins/command/list_bulleted.d.ts +1 -0
  204. package/types/plugins/command/list_numbered.d.ts +1 -0
  205. package/types/plugins/dropdown/align.d.ts +13 -8
  206. package/types/plugins/dropdown/backgroundColor.d.ts +30 -19
  207. package/types/plugins/dropdown/font.d.ts +13 -12
  208. package/types/plugins/dropdown/fontColor.d.ts +30 -19
  209. package/types/plugins/dropdown/formatBlock.d.ts +13 -8
  210. package/types/plugins/dropdown/hr.d.ts +15 -11
  211. package/types/plugins/dropdown/layout.d.ts +15 -11
  212. package/types/plugins/dropdown/lineHeight.d.ts +16 -11
  213. package/types/plugins/dropdown/list.d.ts +1 -0
  214. package/types/plugins/dropdown/paragraphStyle.d.ts +31 -27
  215. package/types/plugins/dropdown/table/index.d.ts +582 -0
  216. package/types/plugins/dropdown/table.d.ts +41 -86
  217. package/types/plugins/dropdown/template.d.ts +15 -11
  218. package/types/plugins/dropdown/textStyle.d.ts +19 -11
  219. package/types/plugins/field/mention.d.ts +58 -56
  220. package/types/plugins/index.d.ts +38 -38
  221. package/types/plugins/input/fontSize.d.ts +46 -50
  222. package/types/plugins/modal/audio.d.ts +26 -56
  223. package/types/plugins/modal/drawing.d.ts +0 -85
  224. package/types/plugins/modal/embed.d.ts +15 -79
  225. package/types/plugins/modal/image.d.ts +24 -136
  226. package/types/plugins/modal/link.d.ts +34 -15
  227. package/types/plugins/modal/math.d.ts +0 -16
  228. package/types/plugins/modal/video.d.ts +17 -86
  229. package/types/plugins/popup/anchor.d.ts +1 -8
  230. package/types/suneditor.d.ts +70 -19
  231. package/types/typedef.d.ts +60 -46
  232. package/src/core/base/eventHandlers/handler_ww_key_input.js +0 -1200
  233. package/src/core/section/context.js +0 -102
  234. package/types/core/section/context.d.ts +0 -45
  235. package/types/langs/_Lang.d.ts +0 -194
  236. /package/src/core/{base/eventHandlers → event/handlers}/handler_ww_clipboard.js +0 -0
  237. /package/types/core/{section → base}/actives.d.ts +0 -0
  238. /package/types/core/{base/eventHandlers → event/handlers}/handler_toolbar.d.ts +0 -0
  239. /package/types/core/{base/eventHandlers → event/handlers}/handler_ww_clipboard.d.ts +0 -0
  240. /package/types/core/{base/eventHandlers → event/handlers}/handler_ww_dragDrop.d.ts +0 -0
  241. /package/types/core/{base/eventHandlers → event/handlers}/handler_ww_mouse.d.ts +0 -0
package/types/index.d.ts CHANGED
@@ -1,120 +1,26 @@
1
1
  /**
2
- * @file Automatically generated by barrelsby.
2
+ * @file Automatically generated by "<Root>/scripts/format-index.cjs"
3
3
  */
4
4
 
5
- export * from './events';
6
- export * from './index';
7
- export * from './suneditor';
8
- export * from './assets/icons/defaultIcons';
9
- export * from './core/editor';
10
- export * from './core/base/eventManager';
11
- export * from './core/base/history';
12
- export * from './core/base/eventHandlers/handler_toolbar';
13
- export * from './core/base/eventHandlers/handler_ww_clipboard';
14
- export * from './core/base/eventHandlers/handler_ww_dragDrop';
15
- export * from './core/base/eventHandlers/handler_ww_key_input';
16
- export * from './core/base/eventHandlers/handler_ww_mouse';
17
- export * from './core/class/char';
18
- export * from './core/class/component';
19
- export * from './core/class/format';
20
- export * from './core/class/html';
21
- export * from './core/class/menu';
22
- export * from './core/class/nodeTransform';
23
- export * from './core/class/offset';
24
- export * from './core/class/selection';
25
- export * from './core/class/shortcuts';
26
- export * from './core/class/toolbar';
27
- export * from './core/class/ui';
28
- export * from './core/class/viewer';
29
- export * from './core/section/actives';
30
- export * from './core/section/constructor';
31
- export * from './core/section/context';
32
- export * from './core/section/documentType';
33
- export * from './editorInjector/_classes';
34
- export * from './editorInjector/_core';
35
- export * from './editorInjector/index';
36
- export * from './helper/clipboard';
37
- export * from './helper/converter';
38
- export * from './helper/env';
39
- export * from './helper/index';
40
- export * from './helper/keyCodeMap';
41
- export * from './helper/numbers';
42
- export * from './helper/unicode';
43
- export * from './helper/dom/domCheck';
44
- export * from './helper/dom/domQuery';
45
- export * from './helper/dom/domUtils';
46
- export * from './helper/dom/index';
47
- export * from './langs/_Lang';
48
- export * from './langs/ckb';
49
- export * from './langs/cs';
50
- export * from './langs/da';
51
- export * from './langs/de';
52
- export * from './langs/en';
53
- export * from './langs/es';
54
- export * from './langs/fa';
55
- export * from './langs/fr';
56
- export * from './langs/he';
57
- export * from './langs/hu';
58
- export * from './langs/index';
59
- export * from './langs/it';
60
- export * from './langs/ja';
61
- export * from './langs/km';
62
- export * from './langs/ko';
63
- export * from './langs/lv';
64
- export * from './langs/nl';
65
- export * from './langs/pl';
66
- export * from './langs/pt_br';
67
- export * from './langs/ro';
68
- export * from './langs/ru';
69
- export * from './langs/se';
70
- export * from './langs/tr';
71
- export * from './langs/uk';
72
- export * from './langs/ur';
73
- export * from './langs/zh_cn';
74
- export * from './modules/ApiManager';
75
- export * from './modules/Browser';
76
- export * from './modules/ColorPicker';
77
- export * from './modules/Controller';
78
- export * from './modules/Figure';
79
- export * from './modules/FileManager';
80
- export * from './modules/HueSlider';
81
- export * from './modules/Modal';
82
- export * from './modules/ModalAnchorEditor';
83
- export * from './modules/SelectMenu';
84
- export * from './modules/_DragHandle';
85
- export * from './modules/index';
86
- export * from './plugins/index';
87
- export * from './plugins/browser/audioGallery';
88
- export * from './plugins/browser/fileBrowser';
89
- export * from './plugins/browser/fileGallery';
90
- export * from './plugins/browser/imageGallery';
91
- export * from './plugins/browser/videoGallery';
92
- export * from './plugins/command/blockquote';
93
- export * from './plugins/command/exportPDF';
94
- export * from './plugins/command/fileUpload';
95
- export * from './plugins/command/list_bulleted';
96
- export * from './plugins/command/list_numbered';
97
- export * from './plugins/dropdown/align';
98
- export * from './plugins/dropdown/backgroundColor';
99
- export * from './plugins/dropdown/font';
100
- export * from './plugins/dropdown/fontColor';
101
- export * from './plugins/dropdown/formatBlock';
102
- export * from './plugins/dropdown/hr';
103
- export * from './plugins/dropdown/layout';
104
- export * from './plugins/dropdown/lineHeight';
105
- export * from './plugins/dropdown/list';
106
- export * from './plugins/dropdown/paragraphStyle';
107
- export * from './plugins/dropdown/table';
108
- export * from './plugins/dropdown/template';
109
- export * from './plugins/dropdown/textStyle';
110
- export * from './plugins/field/mention';
111
- export * from './plugins/input/fontSize';
112
- export * from './plugins/input/pageNavigator';
113
- export * from './plugins/modal/audio';
114
- export * from './plugins/modal/drawing';
115
- export * from './plugins/modal/embed';
116
- export * from './plugins/modal/image';
117
- export * from './plugins/modal/link';
118
- export * from './plugins/modal/math';
119
- export * from './plugins/modal/video';
120
- export * from './plugins/popup/anchor';
5
+ // Re-export default exports as named exports
6
+ export { default as helper } from './helper';
7
+ export { default as langs } from './langs';
8
+ export { default as modules } from './modules';
9
+ export { default as plugins } from './plugins';
10
+
11
+ // Export types
12
+ export type {
13
+ SunEditorComponentInfo,
14
+ SunEditorCore,
15
+ SunEditorFrameOptions,
16
+ SunEditorOptions,
17
+ SunEditorPluginCopyComponent,
18
+ SunEditorPluginKeyEvent,
19
+ SunEditorPluginMouseEvent,
20
+ SunEditorPluginPaste,
21
+ SunEditorPluginShortcut,
22
+ SunEditorPluginToolbarInputChange
23
+ } from './suneditor';
24
+
25
+ // Main default export
26
+ export { default } from './suneditor';
@@ -38,8 +38,8 @@ import he from './he';
38
38
  import hu from './hu';
39
39
  import it from './it';
40
40
  import ja from './ja';
41
- import ko from './ko';
42
41
  import km from './km';
42
+ import ko from './ko';
43
43
  import lv from './lv';
44
44
  import nl from './nl';
45
45
  import pl from './pl';
@@ -51,4 +51,4 @@ import tr from './tr';
51
51
  import uk from './uk';
52
52
  import ur from './ur';
53
53
  import zh_cn from './zh_cn';
54
- export { ckb, cs, da, de, en, es, fa, fr, he, hu, it, ja, ko, km, lv, nl, pl, pt_br, ro, ru, se, tr, uk, ur, zh_cn };
54
+ export { ckb, cs, da, de, en, es, fa, fr, he, hu, it, ja, km, ko, lv, nl, pl, pt_br, ro, ru, se, tr, uk, ur, zh_cn };
@@ -69,7 +69,6 @@ declare class ApiManager {
69
69
  * @type {string}
70
70
  */
71
71
  kind: string;
72
- _xhr: XMLHttpRequest;
73
72
  method: string;
74
73
  url: string;
75
74
  headers: {
@@ -115,11 +114,5 @@ declare class ApiManager {
115
114
  * @description Cancel API (xhr.abort())
116
115
  */
117
116
  cancel(): void;
118
- /**
119
- * @private
120
- * @description Remove unnecessary slashes in API URL.
121
- * @param {string} url url
122
- * @returns
123
- */
124
- private _normalizeUrl;
117
+ #private;
125
118
  }
@@ -170,7 +170,6 @@ declare class Browser extends CoreInjector {
170
170
  list: HTMLElement;
171
171
  side: HTMLElement;
172
172
  wrapper: HTMLElement;
173
- _loading: HTMLElement;
174
173
  title: string;
175
174
  listClass: string;
176
175
  directData:
@@ -195,13 +194,9 @@ declare class Browser extends CoreInjector {
195
194
  icon_folder: string;
196
195
  icon_folder_item: string;
197
196
  icon_item: string;
198
- /**
199
- * @type {Array<BrowserFile>}
200
- */
197
+ /** @type {Array<BrowserFile>} */
201
198
  items: Array<BrowserFile>;
202
- /**
203
- * @type {Object<string, {name: string, meta: Object<string, *>}>}
204
- */
199
+ /** @type {Object<string, {name: string, meta: Object<string, *>}>} */
205
200
  folders: {
206
201
  [x: string]: {
207
202
  name: string;
@@ -210,9 +205,7 @@ declare class Browser extends CoreInjector {
210
205
  };
211
206
  };
212
207
  };
213
- /**
214
- * @type {Object<string, {key?: string, name?: string, children?: *}>}
215
- */
208
+ /** @type {Object<string, {key?: string, name?: string, children?: *}>} */
216
209
  tree: {
217
210
  [x: string]: {
218
211
  key?: string;
@@ -220,16 +213,11 @@ declare class Browser extends CoreInjector {
220
213
  children?: any;
221
214
  };
222
215
  };
223
- /**
224
- * @type {BrowserFile}
225
- */
216
+ /** @type {BrowserFile} */
226
217
  data: BrowserFile;
227
218
  selectedTags: any[];
228
219
  keyword: string;
229
220
  sideInner: HTMLElement;
230
- _closeSignal: boolean;
231
- _bindClose: any;
232
- __globalEventHandler: (e: any) => void;
233
221
  apiManager: ApiManager;
234
222
  sideOpenBtn: HTMLButtonElement;
235
223
  /**
@@ -274,52 +262,6 @@ declare class Browser extends CoreInjector {
274
262
  * @description Close file browser loading box
275
263
  */
276
264
  closeBrowserLoading(): void;
277
- /**
278
- * @private
279
- * @description Fetches the file list from the server.
280
- * @param {string} url - The file server URL.
281
- * @param {Object<string, string>} urlHeader - The HTTP headers for the request.
282
- * @param {boolean} pageLoading - Indicates if this is a paginated request.
283
- */
284
- private _drawFileList;
285
- /**
286
- * @private
287
- * @description Updates the displayed list of file items.
288
- * @param {Array<BrowserFile>} items - The file items to display.
289
- * @param {boolean} update - Whether to update the tags.
290
- */
291
- private _drawListItem;
292
- /**
293
- * @private
294
- * @description Adds a global event listener for closing the browser.
295
- */
296
- private __addGlobalEvent;
297
- /**
298
- * @private
299
- * @description Removes the global event listener for closing the browser.
300
- */
301
- private __removeGlobalEvent;
302
- /**
303
- * @private
304
- * @description Renders the file items or folder structure from data.
305
- * @param {BrowserFile[]|BrowserFile} data - The data representing the file structure.
306
- * @returns {boolean} True if rendering was successful, false otherwise.
307
- */
308
- private __drowItems;
309
- /**
310
- * @private
311
- * @description Parses folder data into a structured format.
312
- * @param {BrowserFile} data - The folder data.
313
- * @param {string} [path] - The current path in the folder hierarchy.
314
- */
315
- private __parseFolderData;
316
- /**
317
- * @private
318
- * @description Creates a nested folder list from parsed data.
319
- * @param {BrowserFile[]|BrowserFile} folderData - The structured folder data.
320
- * @param {HTMLElement} parentElement - The parent element to append folder structure to.
321
- */
322
- private __createFolderList;
323
265
  #private;
324
266
  }
325
267
  import CoreInjector from '../editorInjector/_core';
@@ -83,8 +83,11 @@ declare class ColorPicker extends CoreInjector {
83
83
  * @description Displays or resets the currently selected color at color list.
84
84
  * @param {Node|string} nodeOrColor Current Selected node
85
85
  * @param {Node} target target
86
+ * @param {?((current: Node) => boolean)=} stopCondition - A function used to stop traversing parent nodes while finding the color.
87
+ * - When this function returns true, the traversal ends at that node.
88
+ * - e.g., `(node) => this.format.isLine(node)` stops at line-level elements like <p>, <div>.
86
89
  */
87
- init(nodeOrColor: Node | string, target: Node): void;
90
+ init(nodeOrColor: Node | string, target: Node, stopCondition?: (((current: Node) => boolean) | null) | undefined): void;
88
91
  /**
89
92
  * @description Store color values
90
93
  * @param {string} hexColorStr Hax color value
@@ -94,26 +97,6 @@ declare class ColorPicker extends CoreInjector {
94
97
  * @description Close hue slider
95
98
  */
96
99
  hueSliderClose(): void;
97
- /**
98
- * @private
99
- * @description Set color at input element
100
- * @param {string} hexColorStr Hax color value
101
- */
102
- private _setInputText;
103
- /**
104
- * @private
105
- * @description Gets color value at color property of node
106
- * @param {Node} node Selected node
107
- * @returns {string}
108
- */
109
- private _getColorInNode;
110
- /**
111
- * @private
112
- * @description Converts color values of other formats to hex color values and returns.
113
- * @param {string} colorName Color value
114
- * @returns {string}
115
- */
116
- private _colorName2hex;
117
100
  /**
118
101
  * @editorMethod Modules.HueSlider
119
102
  * @description This method is called when the color is selected in the hue slider.
@@ -56,12 +56,14 @@ export type ControllerParams = {
56
56
  parentsHide?: boolean | undefined;
57
57
  /**
58
58
  * The related sibling controller element that this controller is positioned relative to.
59
+ * - e.g.) table plugin :: 118
59
60
  */
60
61
  sibling?: HTMLElement | undefined;
61
62
  /**
62
- * The relative position of this controller to the sibling element (e.g., display above or beside the sibling).
63
+ * If true, This sibling controller is the main controller.
64
+ * - You must specify this option, if use "sibling"
63
65
  */
64
- siblingPosition?: 'top' | 'side';
66
+ siblingMain?: boolean | undefined;
65
67
  /**
66
68
  * If the controller is inside a form, set it to true.
67
69
  */
@@ -90,7 +92,9 @@ export type ControllerParams = {
90
92
  * @property {Array<HTMLElement>=} [parents=[]] The parent "controller" array when "controller" is opened nested.
91
93
  * @property {boolean=} [parentsHide=false] If true, the parent element is hidden when the controller is opened.
92
94
  * @property {HTMLElement=} [sibling=null] The related sibling controller element that this controller is positioned relative to.
93
- * @property {"top"|"side"} [siblingPosition="top"] The relative position of this controller to the sibling element (e.g., display above or beside the sibling).
95
+ * - e.g.) table plugin :: 118
96
+ * @property {boolean=} [siblingMain=false] If true, This sibling controller is the main controller.
97
+ * - You must specify this option, if use "sibling"
94
98
  * @property {boolean=} [isInsideForm=false] If the controller is inside a form, set it to true.
95
99
  * @property {boolean=} [isOutsideForm=false] If the controller is outside a form, set it to true.
96
100
  */
@@ -119,18 +123,10 @@ declare class Controller extends EditorInjector {
119
123
  parents: HTMLElement[];
120
124
  parentsHide: boolean;
121
125
  sibling: HTMLElement;
122
- siblingPosition: 'top' | 'side';
126
+ siblingMain: boolean;
123
127
  isInsideForm: boolean;
124
128
  isOutsideForm: boolean;
125
129
  toTop: boolean;
126
- _reserveIndex: boolean;
127
- _initMethod: () => void;
128
- __globalEventHandlers: {
129
- keydown: any;
130
- mousedown: any;
131
- };
132
- _bindClose_key: any;
133
- _bindClose_mouse: any;
134
130
  /** @type {{left?: number, top?: number, addOfffset?: {left?: number, top?: number}}} */
135
131
  __offset: {
136
132
  left?: number;
@@ -140,12 +136,6 @@ declare class Controller extends EditorInjector {
140
136
  top?: number;
141
137
  };
142
138
  };
143
- __addOffset: {
144
- left: number;
145
- top: number;
146
- };
147
- __shadowRootEventForm: HTMLFormElement;
148
- __shadowRootEventListener: (e: any) => any;
149
139
  /**
150
140
  * @description Open a modal plugin
151
141
  * @param {Node|Range} target Target element
@@ -200,52 +190,6 @@ declare class Controller extends EditorInjector {
200
190
  * @param {Node=} target
201
191
  */
202
192
  resetPosition(target?: Node | undefined): void;
203
- /**
204
- * @private
205
- * @description Show controller at editor area (controller elements, function, "controller target element(@Required)", "controller name(@Required)", etc..)
206
- * @param {HTMLFormElement} form Controller element
207
- * @param {Node|Range} target Controller target element
208
- * @param {boolean} isRangeTarget If the target is a Range, set it to true.
209
- */
210
- private _controllerOn;
211
- /**
212
- * @private
213
- * @description Hide controller at editor area (link button, image resize button..)
214
- */
215
- private _controllerOff;
216
- /**
217
- * @private
218
- * @description Specify the position of the controller.
219
- * @param {HTMLElement} controller Controller element.
220
- * @param {Node|Range} refer Element or Range that is the basis of the controller's position.
221
- * @param {boolean} [skipAutoReposition=false] If true, skips scroll/resize-based automatic positioning logic.
222
- */
223
- private _setControllerPosition;
224
- /**
225
- * @private
226
- * @description Adds global event listeners.
227
- * - When the controller is opened
228
- */
229
- private __addGlobalEvent;
230
- /**
231
- * @private
232
- * @description Removes global event listeners.
233
- * - When the ESC key is pressed, the controller is closed.
234
- */
235
- private __removeGlobalEvent;
236
- /**
237
- * @private
238
- * @description Checks if the controller is fixed and should not be closed.
239
- * @returns {boolean} True if the controller is fixed.
240
- */
241
- private _checkFixed;
242
- /**
243
- * @private
244
- * @description Checks if the given target is within a form or controller.
245
- * @param {Node} target The target element.
246
- * @returns {boolean} True if the target is inside a form or controller.
247
- */
248
- private _checkForm;
249
193
  #private;
250
194
  }
251
195
  import EditorInjector from '../editorInjector';
@@ -33,6 +33,10 @@ export type FigureInfo = {
33
33
  * Caption element (FIGCAPTION)
34
34
  */
35
35
  caption: HTMLElement | null;
36
+ /**
37
+ * Whether to rotate vertically
38
+ */
39
+ isVertical: boolean;
36
40
  };
37
41
  export type FigureTargetInfo = {
38
42
  /**
@@ -58,6 +62,10 @@ export type FigureTargetInfo = {
58
62
  w: number;
59
63
  h: number;
60
64
  };
65
+ /**
66
+ * Whether to rotate vertically
67
+ */
68
+ isVertical: boolean;
61
69
  /**
62
70
  * - Width of the element.
63
71
  */
@@ -118,6 +126,7 @@ export type FigureControls = Array<
118
126
  * @property {?HTMLElement} cover Cover element (FIGURE|null)
119
127
  * @property {?HTMLElement} inlineCover Inline cover element (span.se-inline-component)
120
128
  * @property {?HTMLElement} caption Caption element (FIGCAPTION)
129
+ * @property {boolean} isVertical Whether to rotate vertically
121
130
  */
122
131
  /**
123
132
  * @typedef {Object} FigureTargetInfo
@@ -126,6 +135,7 @@ export type FigureControls = Array<
126
135
  * @property {?HTMLElement=} caption Caption element (FIGCAPTION)
127
136
  * @property {string} [align] - Alignment of the element.
128
137
  * @property {{w:number, h:number}} [ratio] - The aspect ratio of the element.
138
+ * @property {boolean} isVertical Whether to rotate vertically
129
139
  * @property {string|number} [w] - Width of the element.
130
140
  * @property {string|number} [h] - Height of the element.
131
141
  * @property {number} [t] - Top position.
@@ -199,17 +209,19 @@ declare class Figure extends EditorInjector {
199
209
  * @param {string|number} w Width size
200
210
  * @param {string|number} h Height size
201
211
  * @param {string} defaultSizeUnit Default size unit (default: "px")
202
- * @param {{w: number, h: number}} ratio Ratio size (Figure.GetRatio)
212
+ * @param {?{w: number, h: number}=} ratio Ratio size (Figure.GetRatio)
203
213
  * @return {{w: string|number, h: string|number}}
204
214
  */
205
215
  static CalcRatio(
206
216
  w: string | number,
207
217
  h: string | number,
208
218
  defaultSizeUnit: string,
209
- ratio: {
210
- w: number;
211
- h: number;
212
- }
219
+ ratio?:
220
+ | ({
221
+ w: number;
222
+ h: number;
223
+ } | null)
224
+ | undefined
213
225
  ): {
214
226
  w: string | number;
215
227
  h: string | number;
@@ -256,41 +268,23 @@ declare class Figure extends EditorInjector {
256
268
  captionButton: Element;
257
269
  align: string;
258
270
  as: string;
271
+ /** @type {{left?: number, top?: number}} */
272
+ __offset: {
273
+ left?: number;
274
+ top?: number;
275
+ };
259
276
  _element: HTMLElement;
260
277
  _cover: HTMLElement;
261
278
  _inlineCover: HTMLElement;
262
279
  _container: HTMLElement;
263
280
  _caption: any;
264
- _width: string;
265
- _height: string;
266
- _resize_w: number;
267
- _resize_h: number;
268
- _element_w: number;
269
- _element_h: number;
270
- _element_l: number;
271
- _element_t: number;
272
281
  _resizeClientX: number;
273
282
  _resizeClientY: number;
274
283
  _resize_direction: string;
275
- _floatClassStr: string;
276
- __preventSizechange: boolean;
277
- __revertSize: {
278
- w: string;
279
- h: string;
280
- };
281
- /** @type {{left?: number, top?: number}} */
282
- __offset: {
283
- left?: number;
284
- top?: number;
285
- };
286
- __offContainer: any;
287
- __containerResizing: any;
288
284
  __containerResizingOff: any;
289
- __containerResizingESC: any;
285
+ __containerResizing: any;
290
286
  __onContainerEvent: any;
291
287
  __offContainerEvent: any;
292
- __onResizeESCEvent: __se__GlobalEventInfo;
293
- __fileManagerInfo: boolean;
294
288
  /**
295
289
  * @description Close the figure's controller
296
290
  */
@@ -303,7 +297,7 @@ declare class Figure extends EditorInjector {
303
297
  * @param {boolean} [params.nonSizeInfo=false] Do not display the size information
304
298
  * @param {boolean} [params.nonBorder=false] Do not display the selected style line
305
299
  * @param {boolean} [params.figureTarget=false] If true, the target is a figure element
306
- * @param {boolean} [params.__fileManagerInfo=false] If true, the file manager is called
300
+ * @param {boolean} [params.infoOnly=false] If true, returns only the figure target info without opening the controller
307
301
  * @returns {FigureTargetInfo|undefined} figure target info
308
302
  */
309
303
  open(
@@ -313,13 +307,13 @@ declare class Figure extends EditorInjector {
313
307
  nonSizeInfo,
314
308
  nonBorder,
315
309
  figureTarget,
316
- __fileManagerInfo
310
+ infoOnly
317
311
  }: {
318
312
  nonResizing?: boolean;
319
313
  nonSizeInfo?: boolean;
320
314
  nonBorder?: boolean;
321
315
  figureTarget?: boolean;
322
- __fileManagerInfo?: boolean;
316
+ infoOnly?: boolean;
323
317
  }
324
318
  ): FigureTargetInfo | undefined;
325
319
  /**
@@ -358,15 +352,23 @@ declare class Figure extends EditorInjector {
358
352
  * @param {string|number} w Width size
359
353
  * @param {string|number} h Height size
360
354
  */
355
+ setFigureSize(w: string | number, h: string | number): void;
356
+ /**
357
+ * @description Set the element's container size from plugins input value
358
+ * @param {string|number} w Width size
359
+ * @param {string|number} h Height size
360
+ */
361
361
  setSize(w: string | number, h: string | number): void;
362
362
  /**
363
363
  * @description Gets the Figure size
364
364
  * @param {?Node=} targetNode Target element, default is the current element
365
- * @returns {{w: string, h: string}}
365
+ * @returns {{w: string, h: string, dw: string, dh: string}}
366
366
  */
367
367
  getSize(targetNode?: (Node | null) | undefined): {
368
368
  w: string;
369
369
  h: string;
370
+ dw: string;
371
+ dh: string;
370
372
  };
371
373
  /**
372
374
  * @description Align the container.
@@ -378,16 +380,9 @@ declare class Figure extends EditorInjector {
378
380
  * @description As style[block, inline] the component
379
381
  * @param {?Node} targetNode Target element
380
382
  * @param {"block"|"inline"} formatStyle Format style
383
+ * @returns {HTMLElement} New target element after conversion
381
384
  */
382
- convertAsFormat(targetNode: Node | null, formatStyle: 'block' | 'inline'): void;
383
- /**
384
- * @private
385
- * @description Handles format conversion (block/inline) for the figure component and applies size changes.
386
- * @param {FigureInfo} figureinfo {target, container, cover, inlineCover, caption}
387
- * @param {string|number} w Width value.
388
- * @param {string|number} h Height value.
389
- */
390
- private _asFormatChange;
385
+ convertAsFormat(targetNode: Node | null, formatStyle: 'block' | 'inline'): HTMLElement;
391
386
  /**
392
387
  * @description Controller button action
393
388
  * @param {HTMLButtonElement} target Target button element
@@ -412,12 +407,27 @@ declare class Figure extends EditorInjector {
412
407
  * @param {Node} node Target element
413
408
  * @param {?string|number} width Element's width size
414
409
  * @param {?string|number} height Element's height size
410
+ * @param {?number} deg rotate value
415
411
  */
416
- setTransform(node: Node, width: (string | number) | null, height: (string | number) | null, deg: any): void;
412
+ setTransform(node: Node, width: (string | number) | null, height: (string | number) | null, deg: number | null): void;
413
+ /**
414
+ * @private
415
+ * @description Displays or hides the resize handles of the figure component.
416
+ * @param {boolean} display Whether to display resize handles.
417
+ */
418
+ private _displayResizeHandles;
419
+ /**
420
+ * @private
421
+ * @description Handles format conversion (block/inline) for the figure component and applies size changes.
422
+ * @param {FigureInfo} figureinfo {target, container, cover, inlineCover, caption}
423
+ * @param {string|number} w Width value.
424
+ * @param {string|number} h Height value.
425
+ */
426
+ private _asFormatChange;
417
427
  /**
418
428
  * @private
419
429
  * @description Sets figure component properties such as cover, container, caption, and alignment.
420
- * @param {FigureInfo} figureInfo - {target, container, cover, inlineCover, caption}
430
+ * @param {FigureInfo} figureInfo - {target, container, cover, inlineCover, caption, isVertical}
421
431
  */
422
432
  private _setFigureInfo;
423
433
  /**
@@ -493,12 +503,6 @@ declare class Figure extends EditorInjector {
493
503
  * @param {HTMLElement} element Target element.
494
504
  */
495
505
  private _deleteCaptionPosition;
496
- /**
497
- * @private
498
- * @description Displays or hides the resize handles of the figure component.
499
- * @param {boolean} display Whether to display resize handles.
500
- */
501
- private _displayResizeHandles;
502
506
  /**
503
507
  * @private
504
508
  * @description Removes the resize event listeners.
@@ -168,13 +168,6 @@ declare class FileManager extends CoreInjector {
168
168
  size: number;
169
169
  }
170
170
  ): void;
171
- /**
172
- * @private
173
- * @description Create info object of file and add it to "infoList"
174
- * @param {HTMLMediaElement} element
175
- * @param {{name: string, size: number}|null} file File information
176
- */
177
- private _setInfo;
178
171
  /**
179
172
  * @description Gets the sum of the sizes of the currently saved files.
180
173
  * @returns {number} Size
@@ -191,12 +184,7 @@ declare class FileManager extends CoreInjector {
191
184
  * @description Reset info object and "infoList = []", "infoIndex = 0"
192
185
  */
193
186
  private _resetInfo;
194
- /**
195
- * @private
196
- * @description Delete info object at "infoList"
197
- * @param {number} index index of info object infoList[].index)
198
- */
199
- private _deleteInfo;
187
+ #private;
200
188
  }
201
189
  import CoreInjector from '../editorInjector/_core';
202
190
  import ApiManager from './ApiManager';