suneditor 3.0.0-beta.9 → 3.0.0-rc.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 (380) hide show
  1. package/README.md +65 -57
  2. package/dist/suneditor-contents.min.css +1 -0
  3. package/dist/suneditor.min.css +1 -1
  4. package/dist/suneditor.min.js +1 -1
  5. package/package.json +110 -61
  6. package/src/assets/design/color.css +36 -17
  7. package/src/assets/design/size.css +2 -0
  8. package/src/assets/icons/defaultIcons.js +17 -2
  9. package/src/assets/suneditor-contents.css +51 -16
  10. package/src/assets/suneditor.css +116 -43
  11. package/src/core/config/contextProvider.js +288 -0
  12. package/src/core/config/eventManager.js +188 -0
  13. package/src/core/config/instanceCheck.js +59 -0
  14. package/src/core/config/optionProvider.js +452 -0
  15. package/src/core/editor.js +166 -1637
  16. package/src/core/event/actions/index.js +229 -0
  17. package/src/core/event/effects/common.registry.js +74 -0
  18. package/src/core/event/effects/keydown.registry.js +573 -0
  19. package/src/core/event/effects/ruleHelpers.js +148 -0
  20. package/src/core/event/eventOrchestrator.js +944 -0
  21. package/src/core/event/executor.js +27 -0
  22. package/src/core/{base/eventHandlers → event/handlers}/handler_toolbar.js +27 -28
  23. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_clipboard.js +10 -8
  24. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_dragDrop.js +22 -23
  25. package/src/core/event/handlers/handler_ww_input.js +75 -0
  26. package/src/core/event/handlers/handler_ww_key.js +228 -0
  27. package/src/core/event/handlers/handler_ww_mouse.js +166 -0
  28. package/src/core/event/ports.js +211 -0
  29. package/src/core/event/reducers/keydown.reducer.js +97 -0
  30. package/src/core/event/rules/keydown.rule.arrow.js +63 -0
  31. package/src/core/event/rules/keydown.rule.backspace.js +208 -0
  32. package/src/core/event/rules/keydown.rule.delete.js +132 -0
  33. package/src/core/event/rules/keydown.rule.enter.js +150 -0
  34. package/src/core/event/rules/keydown.rule.tab.js +35 -0
  35. package/src/core/event/support/defaultLineManager.js +136 -0
  36. package/src/core/event/support/selectionState.js +204 -0
  37. package/src/core/kernel/coreKernel.js +320 -0
  38. package/src/core/kernel/kernelInjector.js +19 -0
  39. package/src/core/kernel/store.js +173 -0
  40. package/src/core/{class → logic/dom}/char.js +42 -45
  41. package/src/core/logic/dom/format.js +1075 -0
  42. package/src/core/{class → logic/dom}/html.js +743 -624
  43. package/src/core/logic/dom/inline.js +1847 -0
  44. package/src/core/logic/dom/listFormat.js +601 -0
  45. package/src/core/{class → logic/dom}/nodeTransform.js +92 -72
  46. package/src/core/{class → logic/dom}/offset.js +254 -317
  47. package/src/core/logic/dom/selection.js +754 -0
  48. package/src/core/logic/panel/menu.js +389 -0
  49. package/src/core/logic/panel/toolbar.js +449 -0
  50. package/src/core/logic/panel/viewer.js +761 -0
  51. package/src/core/logic/shell/_commandExecutor.js +380 -0
  52. package/src/core/logic/shell/commandDispatcher.js +241 -0
  53. package/src/core/logic/shell/component.js +970 -0
  54. package/src/core/logic/shell/focusManager.js +110 -0
  55. package/src/core/{base → logic/shell}/history.js +110 -60
  56. package/src/core/logic/shell/pluginManager.js +363 -0
  57. package/src/core/logic/shell/shortcuts.js +130 -0
  58. package/src/core/logic/shell/ui.js +904 -0
  59. package/src/core/schema/context.js +66 -0
  60. package/src/core/schema/frameContext.js +160 -0
  61. package/src/core/schema/options.js +628 -0
  62. package/src/core/section/constructor.js +194 -500
  63. package/src/core/section/documentType.js +297 -222
  64. package/src/events.js +808 -543
  65. package/src/helper/clipboard.js +27 -16
  66. package/src/helper/converter.js +100 -78
  67. package/src/helper/dom/domCheck.js +56 -30
  68. package/src/helper/dom/domQuery.js +159 -89
  69. package/src/helper/dom/domUtils.js +114 -49
  70. package/src/helper/dom/index.js +5 -1
  71. package/src/helper/env.js +26 -26
  72. package/src/helper/index.js +1 -1
  73. package/src/helper/keyCodeMap.js +25 -28
  74. package/src/helper/numbers.js +4 -8
  75. package/src/helper/unicode.js +4 -8
  76. package/src/hooks/base.js +307 -0
  77. package/src/hooks/params.js +130 -0
  78. package/src/interfaces/contracts.js +227 -0
  79. package/src/interfaces/index.js +7 -0
  80. package/src/interfaces/plugins.js +239 -0
  81. package/src/langs/ckb.js +4 -4
  82. package/src/langs/cs.js +4 -4
  83. package/src/langs/da.js +4 -4
  84. package/src/langs/de.js +4 -4
  85. package/src/langs/en.js +4 -4
  86. package/src/langs/es.js +4 -4
  87. package/src/langs/fa.js +4 -4
  88. package/src/langs/fr.js +4 -4
  89. package/src/langs/he.js +4 -4
  90. package/src/langs/hu.js +4 -4
  91. package/src/langs/it.js +4 -4
  92. package/src/langs/ja.js +4 -4
  93. package/src/langs/km.js +4 -4
  94. package/src/langs/ko.js +4 -4
  95. package/src/langs/lv.js +4 -4
  96. package/src/langs/nl.js +4 -4
  97. package/src/langs/pl.js +4 -4
  98. package/src/langs/pt_br.js +13 -13
  99. package/src/langs/ro.js +4 -4
  100. package/src/langs/ru.js +4 -4
  101. package/src/langs/se.js +4 -4
  102. package/src/langs/tr.js +4 -4
  103. package/src/langs/uk.js +4 -4
  104. package/src/langs/ur.js +4 -4
  105. package/src/langs/zh_cn.js +4 -4
  106. package/src/modules/{Browser.js → contract/Browser.js} +119 -128
  107. package/src/modules/{ColorPicker.js → contract/ColorPicker.js} +132 -142
  108. package/src/modules/contract/Controller.js +589 -0
  109. package/src/modules/{Figure.js → contract/Figure.js} +591 -411
  110. package/src/modules/{HueSlider.js → contract/HueSlider.js} +125 -86
  111. package/src/modules/contract/Modal.js +357 -0
  112. package/src/modules/contract/index.js +9 -0
  113. package/src/modules/manager/ApiManager.js +197 -0
  114. package/src/modules/{FileManager.js → manager/FileManager.js} +128 -160
  115. package/src/modules/manager/index.js +5 -0
  116. package/src/modules/{ModalAnchorEditor.js → ui/ModalAnchorEditor.js} +108 -138
  117. package/src/modules/{SelectMenu.js → ui/SelectMenu.js} +119 -120
  118. package/src/modules/{_DragHandle.js → ui/_DragHandle.js} +1 -1
  119. package/src/modules/ui/index.js +6 -0
  120. package/src/plugins/browser/audioGallery.js +23 -26
  121. package/src/plugins/browser/fileBrowser.js +25 -28
  122. package/src/plugins/browser/fileGallery.js +20 -23
  123. package/src/plugins/browser/imageGallery.js +24 -23
  124. package/src/plugins/browser/videoGallery.js +27 -29
  125. package/src/plugins/command/blockquote.js +11 -17
  126. package/src/plugins/command/exportPDF.js +26 -26
  127. package/src/plugins/command/fileUpload.js +138 -133
  128. package/src/plugins/command/list_bulleted.js +48 -44
  129. package/src/plugins/command/list_numbered.js +48 -44
  130. package/src/plugins/dropdown/align.js +64 -50
  131. package/src/plugins/dropdown/backgroundColor.js +34 -35
  132. package/src/plugins/dropdown/{formatBlock.js → blockStyle.js} +43 -37
  133. package/src/plugins/dropdown/font.js +50 -36
  134. package/src/plugins/dropdown/fontColor.js +34 -35
  135. package/src/plugins/dropdown/hr.js +55 -50
  136. package/src/plugins/dropdown/layout.js +20 -15
  137. package/src/plugins/dropdown/lineHeight.js +46 -30
  138. package/src/plugins/dropdown/list.js +32 -33
  139. package/src/plugins/dropdown/paragraphStyle.js +40 -34
  140. package/src/plugins/dropdown/table/index.js +915 -0
  141. package/src/plugins/dropdown/table/render/table.html.js +308 -0
  142. package/src/plugins/dropdown/table/render/table.menu.js +121 -0
  143. package/src/plugins/dropdown/table/services/table.cell.js +465 -0
  144. package/src/plugins/dropdown/table/services/table.clipboard.js +414 -0
  145. package/src/plugins/dropdown/table/services/table.grid.js +504 -0
  146. package/src/plugins/dropdown/table/services/table.resize.js +463 -0
  147. package/src/plugins/dropdown/table/services/table.selection.js +466 -0
  148. package/src/plugins/dropdown/table/services/table.style.js +844 -0
  149. package/src/plugins/dropdown/table/shared/table.constants.js +109 -0
  150. package/src/plugins/dropdown/table/shared/table.utils.js +219 -0
  151. package/src/plugins/dropdown/template.js +20 -15
  152. package/src/plugins/dropdown/textStyle.js +28 -22
  153. package/src/plugins/field/mention.js +54 -49
  154. package/src/plugins/index.js +5 -5
  155. package/src/plugins/input/fontSize.js +100 -97
  156. package/src/plugins/input/pageNavigator.js +13 -10
  157. package/src/plugins/modal/audio.js +208 -219
  158. package/src/plugins/modal/drawing.js +99 -104
  159. package/src/plugins/modal/embed.js +323 -312
  160. package/src/plugins/modal/image/index.js +942 -0
  161. package/src/plugins/modal/image/render/image.html.js +150 -0
  162. package/src/plugins/modal/image/services/image.size.js +198 -0
  163. package/src/plugins/modal/image/services/image.upload.js +216 -0
  164. package/src/plugins/modal/image/shared/image.constants.js +20 -0
  165. package/src/plugins/modal/link.js +74 -54
  166. package/src/plugins/modal/math.js +126 -119
  167. package/src/plugins/modal/video/index.js +858 -0
  168. package/src/plugins/modal/video/render/video.html.js +131 -0
  169. package/src/plugins/modal/video/services/video.size.js +281 -0
  170. package/src/plugins/modal/video/services/video.upload.js +92 -0
  171. package/src/plugins/popup/anchor.js +57 -49
  172. package/src/suneditor.js +73 -61
  173. package/src/themes/cobalt.css +155 -0
  174. package/src/themes/dark.css +143 -120
  175. package/src/typedef.js +214 -63
  176. package/types/assets/icons/defaultIcons.d.ts +8 -0
  177. package/types/assets/suneditor-contents.css.d.ts +1 -0
  178. package/types/assets/suneditor.css.d.ts +1 -0
  179. package/types/core/config/contextProvider.d.ts +148 -0
  180. package/types/core/config/eventManager.d.ts +68 -0
  181. package/types/core/config/instanceCheck.d.ts +33 -0
  182. package/types/core/config/optionProvider.d.ts +147 -0
  183. package/types/core/editor.d.ts +27 -586
  184. package/types/core/event/actions/index.d.ts +50 -0
  185. package/types/core/event/effects/common.registry.d.ts +56 -0
  186. package/types/core/event/effects/keydown.registry.d.ts +80 -0
  187. package/types/core/event/effects/ruleHelpers.d.ts +36 -0
  188. package/types/core/event/eventOrchestrator.d.ts +191 -0
  189. package/types/core/event/executor.d.ts +13 -0
  190. package/types/core/event/handlers/handler_toolbar.d.ts +38 -0
  191. package/types/core/event/handlers/handler_ww_clipboard.d.ts +36 -0
  192. package/types/core/event/handlers/handler_ww_dragDrop.d.ts +26 -0
  193. package/types/core/event/handlers/handler_ww_input.d.ts +38 -0
  194. package/types/core/event/handlers/handler_ww_key.d.ts +40 -0
  195. package/types/core/event/handlers/handler_ww_mouse.d.ts +47 -0
  196. package/types/core/event/ports.d.ts +256 -0
  197. package/types/core/event/reducers/keydown.reducer.d.ts +84 -0
  198. package/types/core/event/rules/keydown.rule.arrow.d.ts +19 -0
  199. package/types/core/event/rules/keydown.rule.backspace.d.ts +18 -0
  200. package/types/core/event/rules/keydown.rule.delete.d.ts +18 -0
  201. package/types/core/event/rules/keydown.rule.enter.d.ts +18 -0
  202. package/types/core/event/rules/keydown.rule.tab.d.ts +18 -0
  203. package/types/core/event/support/defaultLineManager.d.ts +22 -0
  204. package/types/core/event/support/selectionState.d.ts +29 -0
  205. package/types/core/kernel/coreKernel.d.ts +219 -0
  206. package/types/core/kernel/kernelInjector.d.ts +16 -0
  207. package/types/core/kernel/store.d.ts +170 -0
  208. package/types/core/logic/dom/char.d.ts +46 -0
  209. package/types/core/logic/dom/format.d.ts +234 -0
  210. package/types/core/logic/dom/html.d.ts +290 -0
  211. package/types/core/logic/dom/inline.d.ts +93 -0
  212. package/types/core/logic/dom/listFormat.d.ts +101 -0
  213. package/types/core/logic/dom/nodeTransform.d.ts +110 -0
  214. package/types/core/logic/dom/offset.d.ts +335 -0
  215. package/types/core/logic/dom/selection.d.ts +165 -0
  216. package/types/core/logic/panel/menu.d.ts +93 -0
  217. package/types/core/logic/panel/toolbar.d.ts +128 -0
  218. package/types/core/logic/panel/viewer.d.ts +89 -0
  219. package/types/core/logic/shell/_commandExecutor.d.ts +18 -0
  220. package/types/core/logic/shell/commandDispatcher.d.ts +65 -0
  221. package/types/core/logic/shell/component.d.ts +182 -0
  222. package/types/core/logic/shell/focusManager.d.ts +31 -0
  223. package/types/core/{base → logic/shell}/history.d.ts +13 -12
  224. package/types/core/logic/shell/pluginManager.d.ts +115 -0
  225. package/types/core/logic/shell/shortcuts.d.ts +131 -0
  226. package/types/core/logic/shell/ui.d.ts +261 -0
  227. package/types/core/schema/context.d.ts +104 -0
  228. package/types/core/schema/frameContext.d.ts +320 -0
  229. package/types/core/schema/options.d.ts +1241 -0
  230. package/types/core/section/constructor.d.ts +117 -652
  231. package/types/core/section/documentType.d.ts +43 -61
  232. package/types/events.d.ts +796 -65
  233. package/types/helper/clipboard.d.ts +5 -4
  234. package/types/helper/converter.d.ts +55 -43
  235. package/types/helper/dom/domCheck.d.ts +27 -19
  236. package/types/helper/dom/domQuery.d.ts +76 -57
  237. package/types/helper/dom/domUtils.d.ts +62 -39
  238. package/types/helper/dom/index.d.ts +87 -1
  239. package/types/helper/env.d.ts +16 -13
  240. package/types/helper/index.d.ts +8 -2
  241. package/types/helper/keyCodeMap.d.ts +24 -23
  242. package/types/helper/numbers.d.ts +4 -6
  243. package/types/helper/unicode.d.ts +4 -3
  244. package/types/hooks/base.d.ts +239 -0
  245. package/types/hooks/params.d.ts +65 -0
  246. package/types/index.d.ts +20 -117
  247. package/types/interfaces/contracts.d.ts +183 -0
  248. package/types/interfaces/index.d.ts +3 -0
  249. package/types/interfaces/plugins.d.ts +168 -0
  250. package/types/langs/_Lang.d.ts +2 -2
  251. package/types/langs/index.d.ts +2 -2
  252. package/types/modules/contract/Browser.d.ts +262 -0
  253. package/types/modules/contract/ColorPicker.d.ts +99 -0
  254. package/types/modules/contract/Controller.d.ts +204 -0
  255. package/types/modules/contract/Figure.d.ts +529 -0
  256. package/types/modules/{HueSlider.d.ts → contract/HueSlider.d.ts} +39 -28
  257. package/types/modules/contract/Modal.d.ts +62 -0
  258. package/types/modules/contract/index.d.ts +7 -0
  259. package/types/modules/manager/ApiManager.d.ts +106 -0
  260. package/types/modules/manager/FileManager.d.ts +124 -0
  261. package/types/modules/manager/index.d.ts +3 -0
  262. package/types/modules/ui/ModalAnchorEditor.d.ts +152 -0
  263. package/types/modules/ui/SelectMenu.d.ts +107 -0
  264. package/types/modules/{_DragHandle.d.ts → ui/_DragHandle.d.ts} +1 -0
  265. package/types/modules/ui/index.d.ts +4 -0
  266. package/types/plugins/browser/audioGallery.d.ts +33 -41
  267. package/types/plugins/browser/fileBrowser.d.ts +42 -50
  268. package/types/plugins/browser/fileGallery.d.ts +33 -41
  269. package/types/plugins/browser/imageGallery.d.ts +30 -37
  270. package/types/plugins/browser/videoGallery.d.ts +33 -41
  271. package/types/plugins/command/blockquote.d.ts +4 -21
  272. package/types/plugins/command/exportPDF.d.ts +23 -33
  273. package/types/plugins/command/fileUpload.d.ts +80 -100
  274. package/types/plugins/command/list_bulleted.d.ts +9 -35
  275. package/types/plugins/command/list_numbered.d.ts +9 -35
  276. package/types/plugins/dropdown/align.d.ts +23 -46
  277. package/types/plugins/dropdown/backgroundColor.d.ts +35 -53
  278. package/types/plugins/dropdown/blockStyle.d.ts +45 -0
  279. package/types/plugins/dropdown/font.d.ts +18 -41
  280. package/types/plugins/dropdown/fontColor.d.ts +35 -53
  281. package/types/plugins/dropdown/hr.d.ts +26 -52
  282. package/types/plugins/dropdown/layout.d.ts +19 -25
  283. package/types/plugins/dropdown/lineHeight.d.ts +21 -39
  284. package/types/plugins/dropdown/list.d.ts +6 -34
  285. package/types/plugins/dropdown/paragraphStyle.d.ts +34 -45
  286. package/types/plugins/dropdown/table/index.d.ts +158 -0
  287. package/types/plugins/dropdown/table/render/table.html.d.ts +71 -0
  288. package/types/plugins/dropdown/table/render/table.menu.d.ts +59 -0
  289. package/types/plugins/dropdown/table/services/table.cell.d.ts +76 -0
  290. package/types/plugins/dropdown/table/services/table.clipboard.d.ts +26 -0
  291. package/types/plugins/dropdown/table/services/table.grid.d.ts +77 -0
  292. package/types/plugins/dropdown/table/services/table.resize.d.ts +72 -0
  293. package/types/plugins/dropdown/table/services/table.selection.d.ts +59 -0
  294. package/types/plugins/dropdown/table/services/table.style.d.ts +162 -0
  295. package/types/plugins/dropdown/table/shared/table.constants.d.ts +134 -0
  296. package/types/plugins/dropdown/table/shared/table.utils.d.ts +91 -0
  297. package/types/plugins/dropdown/template.d.ts +19 -25
  298. package/types/plugins/dropdown/textStyle.d.ts +23 -30
  299. package/types/plugins/field/mention.d.ts +66 -72
  300. package/types/plugins/index.d.ts +41 -40
  301. package/types/plugins/input/fontSize.d.ts +57 -96
  302. package/types/plugins/input/pageNavigator.d.ts +5 -8
  303. package/types/plugins/modal/audio.d.ts +60 -153
  304. package/types/plugins/modal/drawing.d.ts +16 -118
  305. package/types/plugins/modal/embed.d.ts +46 -166
  306. package/types/plugins/modal/image/index.d.ts +281 -0
  307. package/types/plugins/modal/image/render/image.html.d.ts +45 -0
  308. package/types/plugins/modal/image/services/image.size.d.ts +55 -0
  309. package/types/plugins/modal/image/services/image.upload.d.ts +24 -0
  310. package/types/plugins/modal/image/shared/image.constants.d.ts +17 -0
  311. package/types/plugins/modal/link.d.ts +46 -66
  312. package/types/plugins/modal/math.d.ts +17 -86
  313. package/types/plugins/modal/{video.d.ts → video/index.d.ts} +89 -221
  314. package/types/plugins/modal/video/render/video.html.d.ts +37 -0
  315. package/types/plugins/modal/video/services/video.size.d.ts +74 -0
  316. package/types/plugins/modal/video/services/video.upload.d.ts +19 -0
  317. package/types/plugins/popup/anchor.d.ts +8 -38
  318. package/types/suneditor.d.ts +55 -24
  319. package/types/typedef.d.ts +344 -228
  320. package/CONTRIBUTING.md +0 -186
  321. package/src/core/base/eventHandlers/handler_ww_key_input.js +0 -1200
  322. package/src/core/base/eventHandlers/handler_ww_mouse.js +0 -194
  323. package/src/core/base/eventManager.js +0 -1523
  324. package/src/core/class/component.js +0 -856
  325. package/src/core/class/format.js +0 -3433
  326. package/src/core/class/menu.js +0 -346
  327. package/src/core/class/selection.js +0 -610
  328. package/src/core/class/shortcuts.js +0 -98
  329. package/src/core/class/toolbar.js +0 -431
  330. package/src/core/class/ui.js +0 -424
  331. package/src/core/class/viewer.js +0 -750
  332. package/src/core/section/actives.js +0 -266
  333. package/src/core/section/context.js +0 -102
  334. package/src/editorInjector/_classes.js +0 -36
  335. package/src/editorInjector/_core.js +0 -87
  336. package/src/editorInjector/index.js +0 -73
  337. package/src/modules/ApiManager.js +0 -191
  338. package/src/modules/Controller.js +0 -474
  339. package/src/modules/Modal.js +0 -346
  340. package/src/modules/index.js +0 -14
  341. package/src/plugins/dropdown/table.js +0 -4034
  342. package/src/plugins/modal/image.js +0 -1376
  343. package/src/plugins/modal/video.js +0 -1226
  344. package/types/core/base/eventHandlers/handler_toolbar.d.ts +0 -41
  345. package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +0 -40
  346. package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +0 -35
  347. package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +0 -45
  348. package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +0 -39
  349. package/types/core/base/eventManager.d.ts +0 -401
  350. package/types/core/class/char.d.ts +0 -61
  351. package/types/core/class/component.d.ts +0 -213
  352. package/types/core/class/format.d.ts +0 -623
  353. package/types/core/class/html.d.ts +0 -430
  354. package/types/core/class/menu.d.ts +0 -126
  355. package/types/core/class/nodeTransform.d.ts +0 -93
  356. package/types/core/class/offset.d.ts +0 -522
  357. package/types/core/class/selection.d.ts +0 -188
  358. package/types/core/class/shortcuts.d.ts +0 -142
  359. package/types/core/class/toolbar.d.ts +0 -189
  360. package/types/core/class/ui.d.ts +0 -164
  361. package/types/core/class/viewer.d.ts +0 -140
  362. package/types/core/section/actives.d.ts +0 -46
  363. package/types/core/section/context.d.ts +0 -45
  364. package/types/editorInjector/_classes.d.ts +0 -41
  365. package/types/editorInjector/_core.d.ts +0 -87
  366. package/types/editorInjector/index.d.ts +0 -69
  367. package/types/modules/ApiManager.d.ts +0 -125
  368. package/types/modules/Browser.d.ts +0 -326
  369. package/types/modules/ColorPicker.d.ts +0 -135
  370. package/types/modules/Controller.d.ts +0 -251
  371. package/types/modules/Figure.d.ts +0 -517
  372. package/types/modules/FileManager.d.ts +0 -202
  373. package/types/modules/Modal.d.ts +0 -111
  374. package/types/modules/ModalAnchorEditor.d.ts +0 -236
  375. package/types/modules/SelectMenu.d.ts +0 -194
  376. package/types/modules/index.d.ts +0 -26
  377. package/types/plugins/dropdown/formatBlock.d.ts +0 -55
  378. package/types/plugins/dropdown/table.d.ts +0 -627
  379. package/types/plugins/modal/image.d.ts +0 -451
  380. /package/{LICENSE → LICENSE.txt} +0 -0
@@ -1,64 +1,56 @@
1
+ import type {} from '../../typedef';
1
2
  export default FileBrowser;
2
- export type BrowserFile_fileBrowser = import('../../modules/Browser').BrowserFile;
3
+ export type FileBrowserPluginOptions = {
4
+ /**
5
+ * - Direct data without server calls
6
+ */
7
+ data?:
8
+ | {
9
+ [x: string]: any;
10
+ }
11
+ | Array<any>;
12
+ /**
13
+ * - Server request URL
14
+ */
15
+ url?: string;
16
+ /**
17
+ * - Server request headers
18
+ */
19
+ headers?: {
20
+ [x: string]: string;
21
+ };
22
+ /**
23
+ * - Default thumbnail
24
+ */
25
+ thumbnail?: string | ((item: SunEditor.Module.Browser.File) => string);
26
+ /**
27
+ * - Additional tag names
28
+ */
29
+ props?: Array<string>;
30
+ };
3
31
  /**
4
- * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_fileBrowser
32
+ * @typedef {Object} FileBrowserPluginOptions
33
+ * @property {Object<string, *>|Array<*>} [data] - Direct data without server calls
34
+ * @property {string} [url] - Server request URL
35
+ * @property {Object<string, string>} [headers] - Server request headers
36
+ * @property {string|((item: SunEditor.Module.Browser.File) => string)} [thumbnail] - Default thumbnail
37
+ * @property {Array<string>} [props] - Additional tag names
5
38
  */
6
39
  /**
7
40
  * @class
8
- * @extends EditorInjector
9
41
  * @description File browser plugin. Can contain any media type.
10
42
  */
11
- declare class FileBrowser extends EditorInjector {
12
- static key: string;
13
- static type: string;
14
- static className: string;
43
+ declare class FileBrowser extends PluginBrowser {
15
44
  /**
16
45
  * @constructor
17
- * @param {__se__EditorCore} editor - The root editor instance
18
- * @param {Object} pluginOptions
19
- * @param {Object<string, *>|Array<*>=} pluginOptions.data - direct data without server calls
20
- * @param {string} pluginOptions.url - server request url
21
- * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
- * @param {string|((item: BrowserFile_fileBrowser) => string)} pluginOptions.thumbnail - default thumbnail
23
- * @param {Array<string>} pluginOptions.props - additional tag names
46
+ * @param {SunEditor.Kernel} editor - The core kernel
47
+ * @param {FileBrowserPluginOptions} pluginOptions
24
48
  */
25
- constructor(
26
- editor: __se__EditorCore,
27
- pluginOptions: {
28
- data?:
29
- | (
30
- | {
31
- [x: string]: any;
32
- }
33
- | Array<any>
34
- )
35
- | undefined;
36
- url: string;
37
- headers?:
38
- | {
39
- [x: string]: string;
40
- }
41
- | undefined;
42
- thumbnail: string | ((item: BrowserFile_fileBrowser) => string);
43
- props: Array<string>;
44
- }
45
- );
49
+ constructor(editor: SunEditor.Kernel, pluginOptions: FileBrowserPluginOptions);
46
50
  title: any;
47
- icon: string;
48
- onSelectfunction: (targe: Node) => any;
51
+ onSelectfunction: (target: Node) => any;
49
52
  browser: Browser;
50
- /**
51
- * @editorMethod Modules.Browser
52
- * @description Executes the method that is called when a "Browser" module's is opened.
53
- * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
54
- */
55
- open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
56
- /**
57
- * @editorMethod Modules.Browser
58
- * @description Executes the method that is called when a "Browser" module's is closed.
59
- */
60
- close(): void;
61
53
  #private;
62
54
  }
63
- import EditorInjector from '../../editorInjector';
64
- import { Browser } from '../../modules';
55
+ import { PluginBrowser } from '../../interfaces';
56
+ import { Browser } from '../../modules/contract';
@@ -1,55 +1,47 @@
1
+ import type {} from '../../typedef';
1
2
  export default FileGallery;
2
- export type BrowserFile_fileGallery = import('../../modules/Browser').BrowserFile;
3
+ export type FileGalleryPluginOptions = {
4
+ /**
5
+ * - Direct data without server calls
6
+ */
7
+ data?: Array<SunEditor.Module.Browser.File>;
8
+ /**
9
+ * - Server request URL
10
+ */
11
+ url?: string;
12
+ /**
13
+ * - Server request headers
14
+ */
15
+ headers?: {
16
+ [x: string]: string;
17
+ };
18
+ /**
19
+ * - Default thumbnail
20
+ */
21
+ thumbnail?: string | ((item: SunEditor.Module.Browser.File) => string);
22
+ };
3
23
  /**
4
- * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_fileGallery
24
+ * @typedef {Object} FileGalleryPluginOptions
25
+ * @property {Array<SunEditor.Module.Browser.File>} [data] - Direct data without server calls
26
+ * @property {string} [url] - Server request URL
27
+ * @property {Object<string, string>} [headers] - Server request headers
28
+ * @property {string|((item: SunEditor.Module.Browser.File) => string)} [thumbnail] - Default thumbnail
5
29
  */
6
30
  /**
7
31
  * @class
8
- * @extends EditorInjector
9
32
  * @description File gallery plugin
10
33
  */
11
- declare class FileGallery extends EditorInjector {
12
- static key: string;
13
- static type: string;
14
- static className: string;
34
+ declare class FileGallery extends PluginBrowser {
15
35
  /**
16
36
  * @constructor
17
- * @param {__se__EditorCore} editor - The root editor instance
18
- * @param {Object} pluginOptions
19
- * @param {Array<*>=} pluginOptions.data - direct data without server calls
20
- * @param {string} pluginOptions.url - server request url
21
- * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
- * @param {string|((item: BrowserFile_fileGallery) => string)} pluginOptions.thumbnail - default thumbnail
37
+ * @param {SunEditor.Kernel} editor - The core kernel
38
+ * @param {FileGalleryPluginOptions} pluginOptions
23
39
  */
24
- constructor(
25
- editor: __se__EditorCore,
26
- pluginOptions: {
27
- data?: Array<any> | undefined;
28
- url: string;
29
- headers?:
30
- | {
31
- [x: string]: string;
32
- }
33
- | undefined;
34
- thumbnail: string | ((item: BrowserFile_fileGallery) => string);
35
- }
36
- );
40
+ constructor(editor: SunEditor.Kernel, pluginOptions: FileGalleryPluginOptions);
37
41
  title: any;
38
- icon: string;
39
- onSelectfunction: (targe: Node) => any;
42
+ onSelectfunction: (target: Node) => any;
40
43
  browser: Browser;
41
- /**
42
- * @editorMethod Modules.Browser
43
- * @description Executes the method that is called when a "Browser" module's is opened.
44
- * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
45
- */
46
- open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
47
- /**
48
- * @editorMethod Modules.Browser
49
- * @description Executes the method that is called when a "Browser" module's is closed.
50
- */
51
- close(): void;
52
44
  #private;
53
45
  }
54
- import EditorInjector from '../../editorInjector';
55
- import { Browser } from '../../modules';
46
+ import { PluginBrowser } from '../../interfaces';
47
+ import { Browser } from '../../modules/contract';
@@ -1,51 +1,44 @@
1
+ import type {} from '../../typedef';
1
2
  export default ImageGallery;
3
+ export type ImageGalleryPluginOptions = {
4
+ /**
5
+ * - Direct data without server calls
6
+ */
7
+ data?: Array<any>;
8
+ /**
9
+ * - Server request URL
10
+ */
11
+ url?: string;
12
+ /**
13
+ * - Server request headers
14
+ */
15
+ headers?: {
16
+ [x: string]: string;
17
+ };
18
+ };
19
+ /**
20
+ * @typedef ImageGalleryPluginOptions
21
+ * @property {Array<*>} [data] - Direct data without server calls
22
+ * @property {string} [url] - Server request URL
23
+ * @property {Object<string, string>} [headers] - Server request headers
24
+ */
2
25
  /**
3
26
  * @class
4
- * @extends EditorInjector
5
27
  * @description Image gallery plugin
6
28
  */
7
- declare class ImageGallery extends EditorInjector {
8
- static key: string;
9
- static type: string;
10
- static className: string;
29
+ declare class ImageGallery extends PluginBrowser {
11
30
  /**
12
31
  * @constructor
13
- * @param {__se__EditorCore} editor - The root editor instance
14
- * @param {Object} pluginOptions
15
- * @param {Array<*>=} pluginOptions.data - direct data without server calls
16
- * @param {string=} pluginOptions.url - server request url
17
- * @param {Object<string, string>=} pluginOptions.headers - server request headers
32
+ * @param {SunEditor.Kernel} editor - The core kernel
33
+ * @param {ImageGalleryPluginOptions} pluginOptions
18
34
  */
19
- constructor(
20
- editor: __se__EditorCore,
21
- pluginOptions: {
22
- data?: Array<any> | undefined;
23
- url?: string | undefined;
24
- headers?:
25
- | {
26
- [x: string]: string;
27
- }
28
- | undefined;
29
- }
30
- );
35
+ constructor(editor: SunEditor.Kernel, pluginOptions: ImageGalleryPluginOptions);
31
36
  title: any;
32
- icon: string;
33
- onSelectfunction: (targe: Node) => any;
37
+ onSelectfunction: (target: Node) => any;
34
38
  browser: Browser;
35
39
  width: any;
36
40
  height: any;
37
- /**
38
- * @editorMethod Modules.Browser
39
- * @description Executes the method that is called when a "Browser" module's is opened.
40
- * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
41
- */
42
- open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
43
- /**
44
- * @editorMethod Modules.Browser
45
- * @description Executes the method that is called when a "Browser" module's is closed.
46
- */
47
- close(): void;
48
41
  #private;
49
42
  }
50
- import EditorInjector from '../../editorInjector';
51
- import { Browser } from '../../modules';
43
+ import { PluginBrowser } from '../../interfaces';
44
+ import { Browser } from '../../modules/contract';
@@ -1,57 +1,49 @@
1
+ import type {} from '../../typedef';
1
2
  export default VideoGallery;
2
- export type BrowserFile_videoGallery = import('../../modules/Browser').BrowserFile;
3
+ export type VideoGalleryPluginOptions = {
4
+ /**
5
+ * - Direct data without server calls
6
+ */
7
+ data?: Array<SunEditor.Module.Browser.File>;
8
+ /**
9
+ * - Server request URL
10
+ */
11
+ url?: string;
12
+ /**
13
+ * - Server request headers
14
+ */
15
+ headers?: {
16
+ [x: string]: string;
17
+ };
18
+ /**
19
+ * - Default thumbnail
20
+ */
21
+ thumbnail?: string | ((item: SunEditor.Module.Browser.File) => string);
22
+ };
3
23
  /**
4
- * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_videoGallery
24
+ * @typedef {Object} VideoGalleryPluginOptions
25
+ * @property {Array<SunEditor.Module.Browser.File>} [data] - Direct data without server calls
26
+ * @property {string} [url] - Server request URL
27
+ * @property {Object<string, string>} [headers] - Server request headers
28
+ * @property {string|((item: SunEditor.Module.Browser.File) => string)} [thumbnail] - Default thumbnail
5
29
  */
6
30
  /**
7
31
  * @class
8
- * @extends EditorInjector
9
32
  * @description Video gallery plugin
10
33
  */
11
- declare class VideoGallery extends EditorInjector {
12
- static key: string;
13
- static type: string;
14
- static className: string;
34
+ declare class VideoGallery extends PluginBrowser {
15
35
  /**
16
36
  * @constructor
17
- * @param {__se__EditorCore} editor - The root editor instance
18
- * @param {Object} pluginOptions
19
- * @param {Array<*>=} pluginOptions.data - direct data without server calls
20
- * @param {string=} pluginOptions.url - server request url
21
- * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
- * @param {string|((item: BrowserFile_videoGallery) => string)} pluginOptions.thumbnail - default thumbnail
37
+ * @param {SunEditor.Kernel} editor - The core kernel
38
+ * @param {VideoGalleryPluginOptions} pluginOptions
23
39
  */
24
- constructor(
25
- editor: __se__EditorCore,
26
- pluginOptions: {
27
- data?: Array<any> | undefined;
28
- url?: string | undefined;
29
- headers?:
30
- | {
31
- [x: string]: string;
32
- }
33
- | undefined;
34
- thumbnail: string | ((item: BrowserFile_videoGallery) => string);
35
- }
36
- );
40
+ constructor(editor: SunEditor.Kernel, pluginOptions: VideoGalleryPluginOptions);
37
41
  title: any;
38
- icon: string;
39
- onSelectfunction: (targe: Node) => any;
42
+ onSelectfunction: (target: Node) => any;
40
43
  browser: Browser;
41
44
  width: any;
42
45
  height: any;
43
- /**
44
- * @editorMethod Modules.Browser
45
- * @description Executes the method that is called when a "Browser" module's is opened.
46
- * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
47
- */
48
- open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
49
- /**
50
- * @editorMethod Modules.Browser
51
- * @description Executes the method that is called when a "Browser" module's is closed.
52
- */
53
- close(): void;
54
46
  #private;
55
47
  }
56
- import EditorInjector from '../../editorInjector';
57
- import { Browser } from '../../modules';
48
+ import { PluginBrowser } from '../../interfaces';
49
+ import { Browser } from '../../modules/contract';
@@ -1,29 +1,12 @@
1
+ import type {} from '../../typedef';
1
2
  export default Blockquote;
2
3
  /**
3
4
  * @class
4
5
  * @description Blockquote plugin
5
6
  */
6
- declare class Blockquote extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
7
+ declare class Blockquote extends PluginCommand {
10
8
  title: any;
11
- icon: string;
12
9
  quoteTag: HTMLElement;
13
- /**
14
- * @editorMethod Editor.EventManager
15
- * @description Executes the method that is called whenever the cursor position changes.
16
- * @param {?HTMLElement=} element - Node element where the cursor is currently located
17
- * @param {?HTMLElement=} target - The plugin's toolbar button element
18
- * @returns {boolean} - Whether the plugin is active
19
- * - If it returns "undefined", it will no longer be called in this scope.
20
- */
21
- active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
22
- /**
23
- * @editorMethod Editor.core
24
- * @description Executes the main execution method of the plugin.
25
- * - It is executed by clicking a toolbar "command" button or calling an API.
26
- */
27
- action(): void;
10
+ active(element: HTMLElement | null, target: HTMLElement | null): boolean | void;
28
11
  }
29
- import EditorInjector from '../../editorInjector';
12
+ import { PluginCommand } from '../../interfaces';
@@ -1,46 +1,36 @@
1
+ import type {} from '../../typedef';
1
2
  export default ExportPDF;
3
+ export type ExportPDFPluginOptions = {
4
+ /**
5
+ * - Server request URL for PDF generation
6
+ */
7
+ apiUrl: string;
8
+ /**
9
+ * - Name of the generated PDF file
10
+ */
11
+ fileName?: string;
12
+ };
13
+ /**
14
+ * @typedef ExportPDFPluginOptions
15
+ * @property {string} apiUrl - Server request URL for PDF generation
16
+ * @property {string} [fileName="suneditor-pdf"] - Name of the generated PDF file
17
+ */
2
18
  /**
3
19
  * @class
4
20
  * @description Export PDF plugin
5
21
  */
6
- declare class ExportPDF extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
22
+ declare class ExportPDF extends PluginCommand {
10
23
  /**
11
24
  * @constructor
12
- * @param {__se__EditorCore} editor - The root editor instance
13
- * @param {Object} pluginOptions - plugin options
14
- * @param {string} pluginOptions.apiUrl - server request url
15
- * @param {string} pluginOptions.fileName - file name
25
+ * @param {SunEditor.Kernel} editor - The core kernel
26
+ * @param {ExportPDFPluginOptions} pluginOptions - plugin options
16
27
  */
17
- constructor(
18
- editor: __se__EditorCore,
19
- pluginOptions: {
20
- apiUrl: string;
21
- fileName: string;
22
- }
23
- );
28
+ constructor(editor: SunEditor.Kernel, pluginOptions: ExportPDFPluginOptions);
24
29
  title: any;
25
- icon: string;
26
30
  apiUrl: string;
27
31
  fileName: string;
28
32
  apiManager: ApiManager;
29
- /**
30
- * @editorMethod Editor.core
31
- * @description Executes the main execution method of the plugin.
32
- * - It is executed by clicking a toolbar "command" button or calling an API.
33
- * @returns {Promise<void>}
34
- */
35
- action(): Promise<void>;
36
- /**
37
- * @private
38
- * @description Sends the editor content to the server for PDF generation.
39
- * @param {HTMLElement} ww - A temporary container holding the formatted editor content.
40
- * @returns {Promise<void>} Resolves when the PDF file is successfully downloaded.
41
- * @throws {Error} Throws an error if the server response indicates a failure.
42
- */
43
- private _createByServer;
33
+ #private;
44
34
  }
45
- import EditorInjector from '../../editorInjector';
46
- import { ApiManager } from '../../modules';
35
+ import { PluginCommand } from '../../interfaces';
36
+ import { ApiManager } from '../../modules/manager';