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
@@ -0,0 +1 @@
1
+ declare module 'suneditor/css/contents';
@@ -0,0 +1 @@
1
+ declare module 'suneditor/css';
@@ -0,0 +1,148 @@
1
+ import type {} from '../../typedef';
2
+ /**
3
+ * @typedef {import('../schema/frameContext').FrameContextStore} ConfigFrameContextStore
4
+ * @typedef {import('../schema/context').ContextStore} ConfigContextStore
5
+ */
6
+ /**
7
+ * @typedef {Object} ContextMap
8
+ * @property {(k: keyof ConfigContextStore) => HTMLElement|null} get - Get a DOM element from the context by key.
9
+ * @property {(k: keyof ConfigContextStore, v: HTMLElement) => void} set - Set a DOM element in the context by key.
10
+ * @property {(k: keyof ConfigContextStore) => boolean} has - Check if a key exists in the context.
11
+ * @property {(k: keyof ConfigContextStore) => boolean} delete - Delete a key from the context.
12
+ * @property {() => Object<keyof ConfigContextStore, HTMLElement|null>} [getAll] - Get all DOM elements in the context as an object.
13
+ * @property {number} size - Get context size
14
+ * @property {() => void} clear - Clear all elements in the context.
15
+ */
16
+ /**
17
+ * @typedef {Object} FrameContextMap
18
+ * @property {<K extends keyof ConfigFrameContextStore>(k: K) => ConfigFrameContextStore[K]} get - Get a DOM element from the context by key.
19
+ * @property {<K extends keyof ConfigFrameContextStore>(k: K, v: ConfigFrameContextStore[K]) => void} set - Set a DOM element in the context by key.
20
+ * @property {<K extends keyof ConfigFrameContextStore>(k: K) => boolean} has - Check if a key exists in the context.
21
+ * @property {<K extends keyof ConfigFrameContextStore>(k: K) => boolean} delete - Delete a key from the context.
22
+ * @property {() => Object<keyof ConfigFrameContextStore, *>} [getAll] - Get all DOM elements in the context as an object.
23
+ * @property {(newMap: *) => void} [reset] - Reset the context with a new Map.
24
+ * @property {number} size - Get context size
25
+ * @property {() => void} clear - Clear all elements in the context.
26
+ */
27
+ /**
28
+ * @description Provides Map-based access to editor DOM contexts (global and per-frame).
29
+ */
30
+ export default class ContextProvider {
31
+ /**
32
+ * @constructor
33
+ * @param {import('../section/constructor').ConstructorReturnType} product
34
+ */
35
+ constructor(product: import('../section/constructor').ConstructorReturnType);
36
+ /**
37
+ * @description Frame root key array
38
+ * @type {Array<*>}
39
+ */
40
+ rootKeys: Array<any>;
41
+ /**
42
+ * @description Controllers carrier
43
+ * @type {HTMLElement}
44
+ */
45
+ carrierWrapper: HTMLElement;
46
+ /**
47
+ * @description Default icons object
48
+ * @type {Object<string, string>}
49
+ */
50
+ icons: {
51
+ [x: string]: string;
52
+ };
53
+ /**
54
+ * @description loaded language
55
+ * @type {Object<string, *>}
56
+ */
57
+ lang: {
58
+ [x: string]: any;
59
+ };
60
+ /**
61
+ * @description Closest ShadowRoot to editor if found
62
+ * @type {ShadowRoot & { getSelection?: () => Selection }} - Chromium-based browsers (Chrome, Edge, etc.) has a getSelection method on the ShadowRoot
63
+ */
64
+ shadowRoot: ShadowRoot & {
65
+ getSelection?: () => Selection;
66
+ };
67
+ get frameRoots(): Map<string, import('../schema/frameContext').FrameContexType>;
68
+ get context(): ContextMap;
69
+ get frameContext(): FrameContextMap;
70
+ init(): void;
71
+ /**
72
+ * @param {SunEditor.FrameContext} rt Root target[key] FrameContext
73
+ */
74
+ reset(rt: SunEditor.FrameContext): void;
75
+ /**
76
+ * @description Execute a function by traversing all root targets.
77
+ * @param {(frameContext: SunEditor.FrameContext, rootKey: string|null, frameRoots: Map<string|null, SunEditor.FrameContext>) => void} f Callback function
78
+ */
79
+ applyToRoots(f: (frameContext: SunEditor.FrameContext, rootKey: string | null, frameRoots: Map<string | null, SunEditor.FrameContext>) => void): void;
80
+ _destroy(): void;
81
+ #private;
82
+ }
83
+ export type ConfigFrameContextStore = import('../schema/frameContext').FrameContextStore;
84
+ export type ConfigContextStore = import('../schema/context').ContextStore;
85
+ export type ContextMap = {
86
+ /**
87
+ * - Get a DOM element from the context by key.
88
+ */
89
+ get: (k: keyof ConfigContextStore) => HTMLElement | null;
90
+ /**
91
+ * - Set a DOM element in the context by key.
92
+ */
93
+ set: (k: keyof ConfigContextStore, v: HTMLElement) => void;
94
+ /**
95
+ * - Check if a key exists in the context.
96
+ */
97
+ has: (k: keyof ConfigContextStore) => boolean;
98
+ /**
99
+ * - Delete a key from the context.
100
+ */
101
+ delete: (k: keyof ConfigContextStore) => boolean;
102
+ /**
103
+ * - Get all DOM elements in the context as an object.
104
+ */
105
+ getAll?: () => any;
106
+ /**
107
+ * - Get context size
108
+ */
109
+ size: number;
110
+ /**
111
+ * - Clear all elements in the context.
112
+ */
113
+ clear: () => void;
114
+ };
115
+ export type FrameContextMap = {
116
+ /**
117
+ * - Get a DOM element from the context by key.
118
+ */
119
+ get: <K extends keyof ConfigFrameContextStore>(k: K) => ConfigFrameContextStore[K];
120
+ /**
121
+ * - Set a DOM element in the context by key.
122
+ */
123
+ set: <K extends keyof ConfigFrameContextStore>(k: K, v: ConfigFrameContextStore[K]) => void;
124
+ /**
125
+ * - Check if a key exists in the context.
126
+ */
127
+ has: <K extends keyof ConfigFrameContextStore>(k: K) => boolean;
128
+ /**
129
+ * - Delete a key from the context.
130
+ */
131
+ delete: <K extends keyof ConfigFrameContextStore>(k: K) => boolean;
132
+ /**
133
+ * - Get all DOM elements in the context as an object.
134
+ */
135
+ getAll?: () => any;
136
+ /**
137
+ * - Reset the context with a new Map.
138
+ */
139
+ reset?: (newMap: any) => void;
140
+ /**
141
+ * - Get context size
142
+ */
143
+ size: number;
144
+ /**
145
+ * - Clear all elements in the context.
146
+ */
147
+ clear: () => void;
148
+ };
@@ -0,0 +1,68 @@
1
+ import type {} from '../../typedef';
2
+ export default EventManager;
3
+ /**
4
+ * @description Event manager, editor's all event management class
5
+ */
6
+ declare class EventManager {
7
+ /**
8
+ * @constructor
9
+ * @param {import('./contextProvider').default} contextProvider
10
+ * @param {import('./optionProvider').default} optionProvider
11
+ * @param {import('../kernel/coreKernel').Deps} $
12
+ */
13
+ constructor(contextProvider: import('./contextProvider').default, optionProvider: import('./optionProvider').default, $: import('../kernel/coreKernel').Deps);
14
+ /**
15
+ * @description Events object, call by triggerEvent function
16
+ * @type {SunEditor.Event.Handlers}
17
+ */
18
+ events: SunEditor.Event.Handlers;
19
+ /**
20
+ * @description Call the event function by injecting self: this.
21
+ * @type {(eventName: string, ...args: *) => Promise<*>}
22
+ */
23
+ triggerEvent: (eventName: string, ...args: any) => Promise<any>;
24
+ /** @type {HTMLInputElement} */
25
+ __focusTemp: HTMLInputElement;
26
+ /**
27
+ * @description Register for an event.
28
+ * - Only events registered with this method are unregistered or re-registered when methods such as 'setOptions', 'destroy' are called.
29
+ * @param {*} target Target element
30
+ * @param {string} type Event type
31
+ * @param {EventListenerOrEventListenerObject} listener Event handler
32
+ * @param {boolean|AddEventListenerOptions} [useCapture] Event useCapture option
33
+ * @return {?SunEditor.Event.Info} Registered event information
34
+ */
35
+ addEvent(target: any, type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean | AddEventListenerOptions): SunEditor.Event.Info | null;
36
+ /**
37
+ * @description Remove event
38
+ * @param {SunEditor.Event.Info} params event info = this.addEvent()
39
+ * @returns {undefined|null} Success: null, Not found: undefined
40
+ */
41
+ removeEvent(params: SunEditor.Event.Info): undefined | null;
42
+ /**
43
+ * @description Add an event to document.
44
+ * - When created as an Iframe, the same event is added to the document in the Iframe.
45
+ * @param {string} type Event type
46
+ * @param {(...args: *) => *} listener Event listener
47
+ * @param {boolean|AddEventListenerOptions} [useCapture] Use event capture
48
+ * @return {SunEditor.Event.GlobalInfo} Registered event information
49
+ */
50
+ addGlobalEvent(type: string, listener: (...args: any) => any, useCapture?: boolean | AddEventListenerOptions): SunEditor.Event.GlobalInfo;
51
+ /**
52
+ * @description Remove events from document.
53
+ * - When created as an Iframe, the event of the document inside the Iframe is also removed.
54
+ * @param {string|SunEditor.Event.GlobalInfo} type Event type or (Event info = this.addGlobalEvent())
55
+ * @param {(...args: *) => *} [listener] Event listener
56
+ * @param {boolean|AddEventListenerOptions} [useCapture] Use event capture
57
+ * @returns {undefined|null} Success: null, Not found: undefined
58
+ */
59
+ removeGlobalEvent(type: string | SunEditor.Event.GlobalInfo, listener?: (...args: any) => any, useCapture?: boolean | AddEventListenerOptions): undefined | null;
60
+ /**
61
+ * @internal
62
+ * @description Gives an active effect when the mouse down event is blocked. (Used when "env.isGecko" is true)
63
+ * @param {Node} target Target element
64
+ */
65
+ _injectActiveEvent(target: Node): void;
66
+ _init(): void;
67
+ #private;
68
+ }
@@ -0,0 +1,33 @@
1
+ import type {} from '../../typedef';
2
+ export default InstanceCheck;
3
+ /**
4
+ * @description iframe-safe instanceof check utility class
5
+ */
6
+ declare class InstanceCheck {
7
+ /**
8
+ * @constructor
9
+ * @param {SunEditor.FrameContext} frameContext - Frame context
10
+ */
11
+ constructor(frameContext: SunEditor.FrameContext);
12
+ /**
13
+ * @param {*} obj
14
+ * @returns {obj is Node}
15
+ */
16
+ isNode(obj: any): obj is Node;
17
+ /**
18
+ * @param {*} obj
19
+ * @returns {obj is Element}
20
+ */
21
+ isElement(obj: any): obj is Element;
22
+ /**
23
+ * @param {*} obj
24
+ * @returns {obj is Range}
25
+ */
26
+ isRange(obj: any): obj is Range;
27
+ /**
28
+ * @param {*} obj
29
+ * @returns {obj is Selection}
30
+ */
31
+ isSelection(obj: any): obj is Selection;
32
+ #private;
33
+ }
@@ -0,0 +1,147 @@
1
+ import type {} from '../../typedef';
2
+ /**
3
+ * @typedef {import('../schema/options').ProcessedBaseOptions} ConfigAllBaseOptions
4
+ * @typedef {import('../schema/options').ProcessedFrameOptions} ConfigAllFrameOptions
5
+ */
6
+ /**
7
+ * @typedef {Object} BaseOptionsMap
8
+ * - A Map containing all processed editor base options.
9
+ * - This Map contains all keys from {@link ConfigAllBaseOptions}, where:
10
+ * - Keys are option names (string)
11
+ * - Values depend on the specific option (see {@link ConfigAllBaseOptions} for details)
12
+ *
13
+ * @property {<K extends keyof ConfigAllBaseOptions>(k: K) => ConfigAllBaseOptions[K]} get - Retrieves the value of a specific option.
14
+ * @property {<K extends keyof ConfigAllBaseOptions>(k: K, v: ConfigAllBaseOptions[K]) => void} set - Sets the value of a specific option.
15
+ * @property {<K extends keyof ConfigAllBaseOptions>(k: K) => boolean} has - Checks if a specific option exists.
16
+ * @property {() => Object<keyof ConfigAllBaseOptions, *>} getAll - Retrieves all options as an object.
17
+ * @property {(options: Map<*, *>) => void} setMany - Sets multiple options at once.
18
+ * @property {(newMap: SunEditor.InitOptions) => void} reset - Replaces all options with a new Map.
19
+ * @property {() => number} size - Get option size
20
+ * @property {() => void} clear - Clears all stored options.
21
+ */
22
+ /**
23
+ * @typedef {Object} FrameOptionsMap
24
+ * - A Map containing all processed frame-level options.
25
+ * - This Map contains all keys from {@link ConfigAllFrameOptions}, where:
26
+ * - Keys are option names (string)
27
+ * - Values depend on the specific option (see {@link ConfigAllFrameOptions} for details)
28
+ *
29
+ * @property {<K extends keyof ConfigAllFrameOptions>(k: K) => ConfigAllFrameOptions[K]} get - Retrieves the value of a specific option.
30
+ * @property {<K extends keyof ConfigAllFrameOptions>(k: K, v: ConfigAllFrameOptions[K]) => void} set - Sets the value of a specific option.
31
+ * @property {<K extends keyof ConfigAllFrameOptions>(k: K) => boolean} has - Checks if a specific option exists.
32
+ * @property {() => Object<keyof ConfigAllFrameOptions, *>} getAll - Retrieves all options as an object.
33
+ * @property {(options: Map<*, *>) => void} setMany - Sets multiple options at once.
34
+ * @property {(newMap: SunEditor.FrameOptions) => void} reset - Replaces all options with a new Map.
35
+ * @property {() => number} size - Get option size
36
+ * @property {() => void} clear - Clears all stored options.
37
+ */
38
+ /**
39
+ * @description Provides Map-based access to editor options (base and per-frame).
40
+ */
41
+ export default class OptionProvider {
42
+ /**
43
+ * @constructor
44
+ * @param {SunEditor.Kernel} kernel
45
+ * @param {import('../section/constructor').ConstructorReturnType} product
46
+ */
47
+ constructor(kernel: SunEditor.Kernel, product: import('../section/constructor').ConstructorReturnType, options: any);
48
+ /**
49
+ * @return {BaseOptionsMap}
50
+ */
51
+ get options(): BaseOptionsMap;
52
+ get frameOptions(): FrameOptionsMap;
53
+ /**
54
+ * @description Add or reset option property (Editor is reloaded)
55
+ * @param {SunEditor.InitOptions} newOptions Options
56
+ */
57
+ reset(newOptions: SunEditor.InitOptions): void;
58
+ /**
59
+ * @description Add or reset frame option property (Editor is reloaded)
60
+ * @param {SunEditor.FrameOptions} newOptions Options
61
+ */
62
+ resetFrame(newOptions: SunEditor.FrameOptions): void;
63
+ _destroy(): void;
64
+ #private;
65
+ }
66
+ export type ConfigAllBaseOptions = import('../schema/options').ProcessedBaseOptions;
67
+ export type ConfigAllFrameOptions = import('../schema/options').ProcessedFrameOptions;
68
+ /**
69
+ * - A Map containing all processed editor base options.
70
+ * - This Map contains all keys from {@link ConfigAllBaseOptions}, where:
71
+ * - Keys are option names (string)
72
+ * - Values depend on the specific option (see {@link ConfigAllBaseOptions} for details)
73
+ */
74
+ export type BaseOptionsMap = {
75
+ /**
76
+ * - Retrieves the value of a specific option.
77
+ */
78
+ get: <K extends keyof ConfigAllBaseOptions>(k: K) => ConfigAllBaseOptions[K];
79
+ /**
80
+ * - Sets the value of a specific option.
81
+ */
82
+ set: <K extends keyof ConfigAllBaseOptions>(k: K, v: ConfigAllBaseOptions[K]) => void;
83
+ /**
84
+ * - Checks if a specific option exists.
85
+ */
86
+ has: <K extends keyof ConfigAllBaseOptions>(k: K) => boolean;
87
+ /**
88
+ * - Retrieves all options as an object.
89
+ */
90
+ getAll: () => any;
91
+ /**
92
+ * - Sets multiple options at once.
93
+ */
94
+ setMany: (options: Map<any, any>) => void;
95
+ /**
96
+ * - Replaces all options with a new Map.
97
+ */
98
+ reset: (newMap: SunEditor.InitOptions) => void;
99
+ /**
100
+ * - Get option size
101
+ */
102
+ size: () => number;
103
+ /**
104
+ * - Clears all stored options.
105
+ */
106
+ clear: () => void;
107
+ };
108
+ /**
109
+ * - A Map containing all processed frame-level options.
110
+ * - This Map contains all keys from {@link ConfigAllFrameOptions}, where:
111
+ * - Keys are option names (string)
112
+ * - Values depend on the specific option (see {@link ConfigAllFrameOptions} for details)
113
+ */
114
+ export type FrameOptionsMap = {
115
+ /**
116
+ * - Retrieves the value of a specific option.
117
+ */
118
+ get: <K extends keyof ConfigAllFrameOptions>(k: K) => ConfigAllFrameOptions[K];
119
+ /**
120
+ * - Sets the value of a specific option.
121
+ */
122
+ set: <K extends keyof ConfigAllFrameOptions>(k: K, v: ConfigAllFrameOptions[K]) => void;
123
+ /**
124
+ * - Checks if a specific option exists.
125
+ */
126
+ has: <K extends keyof ConfigAllFrameOptions>(k: K) => boolean;
127
+ /**
128
+ * - Retrieves all options as an object.
129
+ */
130
+ getAll: () => any;
131
+ /**
132
+ * - Sets multiple options at once.
133
+ */
134
+ setMany: (options: Map<any, any>) => void;
135
+ /**
136
+ * - Replaces all options with a new Map.
137
+ */
138
+ reset: (newMap: SunEditor.FrameOptions) => void;
139
+ /**
140
+ * - Get option size
141
+ */
142
+ size: () => number;
143
+ /**
144
+ * - Clears all stored options.
145
+ */
146
+ clear: () => void;
147
+ };