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,617 +1,58 @@
1
+ import type {} from '../typedef';
1
2
  export default Editor;
2
- export type EditorInitOptions_editor = import('./section/constructor').EditorInitOptions;
3
- export type EditorFrameOptions_editor = import('./section/constructor').EditorFrameOptions;
4
- export type ControllerInfo_editor = import('../modules/Controller').ControllerInfo;
5
3
  /**
6
- * @typedef {import('./section/constructor').EditorInitOptions} EditorInitOptions_editor
4
+ * @description SunEditor class.
7
5
  */
8
- /**
9
- * @typedef {import('./section/constructor').EditorFrameOptions} EditorFrameOptions_editor
10
- */
11
- /**
12
- * @typedef {import('../modules/Controller').ControllerInfo} ControllerInfo_editor
13
- */
14
- /**
15
- * @constructor
16
- * @description SunEditor constructor function.
17
- * @param {Array<{target: Element, key: *, options: EditorFrameOptions_editor}>} multiTargets Target element
18
- * @param {EditorInitOptions_editor} options options
19
- */
20
- declare function Editor(
21
- multiTargets: Array<{
22
- target: Element;
23
- key: any;
24
- options: EditorFrameOptions_editor;
25
- }>,
26
- options: EditorInitOptions_editor
27
- ): void;
28
6
  declare class Editor {
29
- /**
30
- * @typedef {import('./section/constructor').EditorInitOptions} EditorInitOptions_editor
31
- */
32
- /**
33
- * @typedef {import('./section/constructor').EditorFrameOptions} EditorFrameOptions_editor
34
- */
35
- /**
36
- * @typedef {import('../modules/Controller').ControllerInfo} ControllerInfo_editor
37
- */
38
7
  /**
39
8
  * @constructor
40
9
  * @description SunEditor constructor function.
41
- * @param {Array<{target: Element, key: *, options: EditorFrameOptions_editor}>} multiTargets Target element
42
- * @param {EditorInitOptions_editor} options options
10
+ * @param {Array<{target: Element, key: *, options: SunEditor.InitFrameOptions}>} multiTargets Target element
11
+ * @param {SunEditor.InitOptions} options options
43
12
  */
44
13
  constructor(
45
14
  multiTargets: Array<{
46
15
  target: Element;
47
16
  key: any;
48
- options: EditorFrameOptions_editor;
17
+ options: SunEditor.InitFrameOptions;
49
18
  }>,
50
- options: EditorInitOptions_editor
19
+ options: SunEditor.InitOptions,
51
20
  );
52
- /**
53
- * @description Frame root key array
54
- * @type {Array<*>}
55
- */
56
- rootKeys: Array<any>;
57
- /**
58
- * @description Frame root map
59
- * @type {Map<*, __se__FrameContext>}
60
- */
61
- frameRoots: Map<any, __se__FrameContext>;
62
- /**
63
- * @description Editor context object
64
- * @type {__se__Context}
65
- */
66
- context: __se__Context;
67
- /**
68
- * @description Current focusing frame context
69
- * @type {__se__FrameContext}
70
- */
71
- frameContext: __se__FrameContext;
72
- /**
73
- * @description Current focusing frame context options
74
- * @type {__se__FrameOptions}
75
- */
76
- frameOptions: __se__FrameOptions;
77
- /**
78
- * @description Document object
79
- * @type {Document}
80
- */
81
- _d: Document;
82
- /**
83
- * @description Window object
84
- * @type {Window}
85
- */
86
- _w: Window;
87
- /**
88
- * @description Controllers carrier
89
- * @type {HTMLElement}
90
- */
91
- carrierWrapper: HTMLElement;
92
- /**
93
- * @description Editor options
94
- * @type {Map<string, *>}
95
- */
96
- options: Map<string, any>;
97
- /**
98
- * @description Plugins
99
- * @type {Object<string, *>}
100
- */
101
- plugins: {
102
- [x: string]: any;
103
- };
104
- /**
105
- * @description Events object, call by triggerEvent function
106
- * @type {Object<string, *>}
107
- */
108
- events: {
109
- [x: string]: any;
110
- };
111
- /**
112
- * @description Call the event function by injecting self: this.
113
- * @type {(eventName: string, ...args: *) => Promise<*>}
114
- */
115
- triggerEvent: (eventName: string, ...args: any) => Promise<any>;
116
- /**
117
- * @description Default icons object
118
- * @type {Object<string, string>}
119
- */
120
- icons: {
121
- [x: string]: string;
122
- };
123
- /**
124
- * @description loaded language
125
- * @type {Object<string, *>}
126
- */
127
- lang: {
128
- [x: string]: any;
129
- };
130
- /**
131
- * @description Variables used internally in editor operation
132
- * @type {__se__EditorStatus}
133
- */
134
- status: __se__EditorStatus;
135
- /**
136
- * @description Is classic mode?
137
- * @type {boolean}
138
- */
139
- isClassic: boolean;
140
- /**
141
- * @description Is inline mode?
142
- * @type {boolean}
143
- */
144
- isInline: boolean;
145
- /**
146
- * @description Is balloon|balloon-always mode?
147
- * @type {boolean}
148
- */
149
- isBalloon: boolean;
150
- /**
151
- * @description Is balloon-always mode?
152
- * @type {boolean}
153
- */
154
- isBalloonAlways: boolean;
155
- /**
156
- * @description Is subToolbar balloon|balloon-always mode?
157
- * @type {boolean}
158
- */
159
- isSubBalloon: boolean;
160
- /**
161
- * @description Is subToolbar balloon-always mode?
162
- * @type {boolean}
163
- */
164
- isSubBalloonAlways: boolean;
165
- /**
166
- * @description All command buttons map
167
- * @type {Map<string, HTMLElement>}
168
- */
169
- allCommandButtons: Map<string, HTMLElement>;
170
- /**
171
- * @description All command buttons map
172
- * @type {Map<string, HTMLElement>}
173
- */
174
- subAllCommandButtons: Map<string, HTMLElement>;
175
- /**
176
- * @description Shoutcuts key map
177
- * @type {Map<string, *>}
178
- */
179
- shortcutsKeyMap: Map<string, any>;
180
- /**
181
- * @description Shoutcuts reverse key array
182
- * - An array of key codes generated with the reverseButtons option, used to reverse the action for a specific key combination.
183
- * @type {Array<string>}
184
- */
185
- reverseKeys: Array<string>;
186
- /**
187
- * @description A map with the plugin's buttons having an "active" method and the default command buttons with an "active" action.
188
- * - Each button is contained in an array.
189
- * @type {Map<string, Array<HTMLButtonElement>>}
190
- */
191
- commandTargets: Map<string, Array<HTMLButtonElement>>;
192
- /**
193
- * @description Plugins array with "active" method.
194
- * - "activeCommands" runs the "add" method when creating the editor.
195
- * @type {Array<string>}
196
- */
197
- activeCommands: Array<string>;
198
- /**
199
- * @description The selection node (selection.getNode()) to which the effect was last applied
200
- * @type {Node|null}
201
- */
202
- effectNode: Node | null;
203
- /**
204
- * @description Currently open "Modal" instance
205
- * @type {*}
206
- */
207
- opendModal: any;
208
- /**
209
- * @description Currently open "Controller" info array
210
- * @type {Array<ControllerInfo_editor>}
211
- */
212
- opendControllers: Array<ControllerInfo_editor>;
213
- /**
214
- * @description Currently open "Controller" caller plugin name
215
- */
216
- currentControllerName: string;
217
- /**
218
- * @description Currently open "Browser" instance
219
- * @type {*}
220
- */
221
- opendBrowser: any;
222
- /**
223
- * @description Whether "SelectMenu" is open
224
- * @type {boolean}
225
- */
226
- selectMenuOn: boolean;
227
- /** @description History class instance @type {ReturnType<typeof import('./base/history').default>} */
228
- history: ReturnType<typeof import('./base/history').default>;
229
- /** @description EventManager class instance @type {import('./base/eventManager').default} */
230
- eventManager: import('./base/eventManager').default;
231
- /** @description Toolbar class instance @type {import('./class/toolbar').default} */
232
- toolbar: import('./class/toolbar').default;
233
- /** @description Sub-Toolbar class instance @type {import('./class/toolbar').default|null} */
234
- subToolbar: import('./class/toolbar').default | null;
235
- /** @description Char class instance @type {import('./class/char').default} */
236
- char: import('./class/char').default;
237
- /** @description Component class instance @type {import('./class/component').default} */
238
- component: import('./class/component').default;
239
- /** @description Format class instance @type {import('./class/format').default} */
240
- format: import('./class/format').default;
241
- /** @description HTML class instance @type {import('./class/html').default} */
242
- html: import('./class/html').default;
243
- /** @description Menu class instance @type {import('./class/menu').default} */
244
- menu: import('./class/menu').default;
245
- /** @description NodeTransform class instance @type {import('./class/nodeTransform').default} */
246
- nodeTransform: import('./class/nodeTransform').default;
247
- /** @description Offset class instance @type {import('./class/offset').default} */
248
- offset: import('./class/offset').default;
249
- /** @description Selection class instance @type {import('./class/selection').default} */
250
- selection: import('./class/selection').default;
251
- /** @description Shortcuts class instance @type {import('./class/shortcuts').default} */
252
- shortcuts: import('./class/shortcuts').default;
253
- /** @description UI class instance @type {import('./class/ui').default} */
254
- ui: import('./class/ui').default;
255
- /** @description Viewer class instance @type {import('./class/viewer').default} */
256
- viewer: import('./class/viewer').default;
257
- /**
258
- * @description Line breaker (top)
259
- * @type {HTMLElement}
260
- */
261
- _lineBreaker_t: HTMLElement;
262
- /**
263
- * @description Line breaker (bottom)
264
- * @type {HTMLElement}
265
- */
266
- _lineBreaker_b: HTMLElement;
267
- /**
268
- * @description Closest ShadowRoot to editor if found
269
- * @type {ShadowRoot & { getSelection?: () => Selection }} - Chromium-based browsers (Chrome, Edge, etc.) has a getSelection method on the ShadowRoot
270
- */
271
- _shadowRoot: ShadowRoot & {
272
- getSelection?: () => Selection;
273
- };
274
- /**
275
- * @description Plugin call event map
276
- * @type {Map<string, Array<((...args: *) => *) & { index: number }>>}
277
- */
278
- _onPluginEvents: Map<
279
- string,
280
- Array<
281
- ((...args: any) => any) & {
282
- index: number;
283
- }
284
- >
285
- >;
286
- /**
287
- * @description Copy format info
288
- * - eventManager.__cacheStyleNodes copied
289
- * @type {Array<Node>|null}
290
- */
291
- _onCopyFormatInfo: Array<Node> | null;
292
- /**
293
- * @description Copy format init method
294
- * @type {(...args: *) => *|null}
295
- */
296
- _onCopyFormatInitMethod: (...args: any) => any | null;
297
- /**
298
- * @description Controller target's frame div (editor.frameContext.get('topArea'))
299
- * @type {HTMLElement|null}
300
- */
301
- _controllerTargetContext: HTMLElement | null;
302
- /**
303
- * @description List of buttons that are disabled when "controller" is opened
304
- * @type {Array<HTMLButtonElement|HTMLInputElement>}
305
- */
306
- _controllerOnDisabledButtons: Array<HTMLButtonElement | HTMLInputElement>;
307
- /**
308
- * @description List of buttons that are disabled when "codeView" mode opened
309
- * @type {Array<HTMLButtonElement|HTMLInputElement>}
310
- */
311
- _codeViewDisabledButtons: Array<HTMLButtonElement | HTMLInputElement>;
312
- /**
313
- * @description List of buttons to run plugins in the toolbar
314
- * @type {Array<HTMLElement>}
315
- */
316
- _pluginCallButtons: Array<HTMLElement>;
317
- /**
318
- * @description List of buttons to run plugins in the Sub-Toolbar
319
- * @type {Array<HTMLElement>}
320
- */
321
- _pluginCallButtons_sub: Array<HTMLElement>;
322
- /**
323
- * @description Responsive Toolbar Button Structure array
324
- * @type {Array<*>}
325
- */
326
- _responsiveButtons: Array<any>;
327
- /**
328
- * @description Responsive Sub-Toolbar Button Structure array
329
- * @type {Array<*>}
330
- */
331
- _responsiveButtons_sub: Array<any>;
332
- /**
333
- * @description Variable that controls the "blur" event in the editor of inline or balloon mode when the focus is moved to dropdown
334
- * @type {boolean}
335
- */
336
- _notHideToolbar: boolean;
337
- /**
338
- * @description Variables for controlling blur events
339
- * @type {boolean}
340
- */
341
- _preventBlur: boolean;
342
- /**
343
- * @description Variables for controlling focus events
344
- * @type {boolean}
345
- */
346
- _preventFocus: boolean;
347
- /**
348
- * @description Variables for controlling selection change events
349
- */
350
- _preventSelection: boolean;
351
- /**
352
- * @description If true, initialize all indexes of image, video information
353
- * @type {boolean}
354
- */
355
- _componentsInfoInit: boolean;
356
- /**
357
- * @description If true, reset all indexes of image, video information
358
- * @type {boolean}
359
- */
360
- _componentsInfoReset: boolean;
361
- /**
362
- * @description plugin retainFormat info Map()
363
- * @type {Map<string, ((...args: *) => *)>}
364
- */
365
- _MELInfo: Map<string, (...args: any) => any>;
366
- /**
367
- * @description Properties for managing files in the "FileManager" module
368
- * @type {Array<*>}
369
- */
370
- _fileInfoPluginsCheck: Array<any>;
371
- /**
372
- * @description Properties for managing files in the "FileManager" module
373
- * @type {Array<*>}
374
- */
375
- _fileInfoPluginsReset: Array<any>;
376
- /**
377
- * @description Variables for file component management
378
- * @type {Object<string, *>}
379
- */
380
- _fileManager: {
381
- [x: string]: any;
382
- };
383
- /**
384
- * @description Variables for managing the components
385
- * @type {Array<*>}
386
- */
387
- _componentManager: Array<any>;
388
- /**
389
- * @description Current Figure container.
390
- * @type {HTMLElement|null}
391
- */
392
- _figureContainer: HTMLElement | null;
393
- /**
394
- * @description Origin options
395
- * @type {EditorInitOptions_editor}
396
- */
397
- _originOptions: EditorInitOptions_editor;
398
- /**
399
- * @description If the plugin is not added, add the plugin and call the 'add' function.
400
- * - If the plugin is added call callBack function.
401
- * @param {string} pluginName The name of the plugin to call
402
- * @param {?Array<HTMLElement>} targets Plugin target button (This is not necessary if you have a button list when creating the editor)
403
- * @param {?Object<string, *>} pluginOptions Plugin's options
404
- */
405
- registerPlugin(
406
- pluginName: string,
407
- targets: Array<HTMLElement> | null,
408
- pluginOptions: {
409
- [x: string]: any;
410
- } | null
411
- ): void;
412
- /**
413
- * @description Run plugin calls and basic commands.
414
- * @param {string} command Command string
415
- * @param {string} type Display type string ('command', 'dropdown', 'modal', 'container')
416
- * @param {?Node=} button The element of command button
417
- */
418
- run(command: string, type: string, button?: (Node | null) | undefined): void;
419
- /**
420
- * @description Execute default command of command button
421
- * - (selectAll, codeView, fullScreen, indent, outdent, undo, redo, removeFormat, print, preview, showBlocks, save, bold, underline, italic, strike, subscript, superscript, copy, cut, paste)
422
- * @param {string} command Property of command button (data-value)
423
- * @param {?Node=} button Command button
424
- * @returns {Promise<void>}
425
- */
426
- commandHandler(command: string, button?: (Node | null) | undefined): Promise<void>;
427
- /**
428
- * @description Execute "editor.run" with command button.
429
- * @param {Node} target Command target
430
- */
431
- runFromTarget(target: Node): void;
432
- /**
433
- * @description It is executed by inserting the button of commandTargets as the argument value of the "f" function.
434
- * - "func" is called as long as the button array's length.
435
- * @param {string} cmd data-command
436
- * @param {(...args: *) => *} func Function.
437
- */
438
- applyCommandTargets(cmd: string, func: (...args: any) => any): void;
439
- /**
440
- * @description Execute a function by traversing all root targets.
441
- * @param {(...args: *) => *} f Function
442
- */
443
- applyFrameRoots(f: (...args: any) => any): void;
21
+ /** @type {SunEditor.Deps} */
22
+ $: SunEditor.Deps;
444
23
  /**
445
24
  * @description Checks if the content of the editor is empty.
446
25
  * - Display criteria for "placeholder".
447
- * @param {?__se__FrameContext=} fc Frame context, if not present, currently selected frame context.
26
+ * @param {?SunEditor.FrameContext} [fc] Frame context, if not present, currently selected frame context.
448
27
  * @returns {boolean}
449
28
  */
450
- isEmpty(fc?: (__se__FrameContext | null) | undefined): boolean;
451
- /**
452
- * @description Set direction to "rtl" or "ltr".
453
- * @param {string} dir "rtl" or "ltr"
454
- */
455
- setDir(dir: string): void;
29
+ isEmpty(fc?: SunEditor.FrameContext | null): boolean;
456
30
  /**
457
31
  * @description Add or reset option property (Editor is reloaded)
458
- * @param {EditorInitOptions_editor} newOptions Options
32
+ * @example
33
+ * // Change toolbar buttons and height
34
+ * editor.resetOptions({
35
+ * buttonList: [['bold', 'italic'], ['image']],
36
+ * height: '500px',
37
+ * });
38
+ * @param {SunEditor.InitOptions} newOptions Options
459
39
  */
460
- resetOptions(newOptions: EditorInitOptions_editor): void;
40
+ resetOptions(newOptions: SunEditor.InitOptions): void;
461
41
  /**
462
42
  * @description Change the current root index.
463
- * @param {*} rootKey
43
+ * @example
44
+ * // Switch to the 'body' frame in a multi-root editor
45
+ * editor.changeFrameContext('body');
46
+ *
47
+ * // Switch back to the 'header' frame
48
+ * editor.changeFrameContext('header');
49
+ * @param {*} rootKey Root frame key.
464
50
  */
465
51
  changeFrameContext(rootKey: any): void;
466
- /**
467
- * @description javascript execCommand
468
- * @param {string} command javascript execCommand function property
469
- * @param {boolean=} showDefaultUI javascript execCommand function property
470
- * @param {string=} value javascript execCommand function property
471
- */
472
- execCommand(command: string, showDefaultUI?: boolean | undefined, value?: string | undefined): void;
473
- /**
474
- * @description Focus to wysiwyg area
475
- * @param {*} rootKey Root index
476
- */
477
- focus(rootKey: any): void;
478
- /**
479
- * @description If "focusEl" is a component, then that component is selected; if it is a format element, the last text is selected
480
- * - If "focusEdge" is null, then selected last element
481
- * @param {?Node=} focusEl Focus element
482
- */
483
- focusEdge(focusEl?: (Node | null) | undefined): void;
484
- /**
485
- * @description Focusout to wysiwyg area (.blur())
486
- */
487
- blur(): void;
488
52
  /**
489
53
  * @description Destroy the suneditor
490
54
  */
491
55
  destroy(): any;
492
- /** ----- private methods ----------------------------------------------------------------------------------------------------------------------------- */
493
- /**
494
- * @private
495
- * @description Set frameContext, frameOptions
496
- * @param {__se__FrameContext} rt Root target[key] FrameContext
497
- */
498
- _setFrameInfo(rt: __se__FrameContext): void;
499
- /**
500
- * @private
501
- * @description Focus to wysiwyg area using "native focus function"
502
- */
503
- _nativeFocus(): void;
504
- /**
505
- * @private
506
- * @description Check the components such as image and video and modify them according to the format.
507
- * @param {boolean} loaded If true, the component is loaded.
508
- */
509
- _checkComponents(loaded: boolean): void;
510
- /**
511
- * @private
512
- * @description Initialize the information of the components.
513
- */
514
- _resetComponents(): void;
515
- /**
516
- * @private
517
- * @description Initializ wysiwyg area (Only called from core._init)
518
- * @param {__se__FrameContext} e frameContext
519
- * @param {string} value initial html string
520
- */
521
- _initWysiwygArea(e: __se__FrameContext, value: string): void;
522
- /**
523
- * @private
524
- * @description Called when there are changes to tags in the wysiwyg region.
525
- * @param {__se__FrameContext} fc - Frame context object
526
- */
527
- _resourcesStateChange(fc: __se__FrameContext): void;
528
- /**
529
- * @private
530
- * @description Modify the height value of the iframe when the height of the iframe is automatic.
531
- * @param {__se__FrameContext} fc - Frame context object
532
- */
533
- _iframeAutoHeight(fc: __se__FrameContext): void;
534
- /**
535
- * @private
536
- * @description Call the "onResizeEditor" event
537
- * @param {__se__FrameContext} fc - Frame context object
538
- * @param {number} h - Height value
539
- * @param {ResizeObserverEntry} resizeObserverEntry - ResizeObserverEntry object
540
- */
541
- __callResizeFunction(fc: __se__FrameContext, h: number, resizeObserverEntry: ResizeObserverEntry): void;
542
- /**
543
- * @private
544
- * @description Set display property when there is placeholder.
545
- * @param {?__se__FrameContext=} fc - Frame context object, If null fc is this.frameContext
546
- */
547
- _checkPlaceholder(fc?: (__se__FrameContext | null) | undefined): void;
548
- /**
549
- * @private
550
- * @description Initializ editor
551
- * @param {EditorInitOptions_editor} options Options
552
- */
553
- __editorInit(options: EditorInitOptions_editor): void;
554
- /**
555
- * @private
556
- * @description Initializ core variable
557
- * @param {EditorInitOptions_editor} options Options
558
- */
559
- __init(options: EditorInitOptions_editor): void;
560
- /**
561
- * @private
562
- * @description Caching basic buttons to use
563
- */
564
- __cachingButtons(): void;
565
- /**
566
- * @private
567
- * @description Set the disabled button list
568
- * - this._codeViewDisabledButtons, this._controllerOnDisabledButtons
569
- */
570
- __setDisabledButtons(): void;
571
- /**
572
- * @private
573
- * @description Save the current buttons
574
- * @param {Map<string, Element>} cmdButtons Command button map
575
- * @param {Element} tray Button tray
576
- */
577
- __saveCommandButtons(cmdButtons: Map<string, Element>, tray: Element): void;
578
- /**
579
- * @private
580
- * @description Caches custom(starts with "_") shortcut keys for commands.
581
- */
582
- __cachingShortcuts(): void;
583
- /**
584
- * @private
585
- * @description Sets command target elements.
586
- * @param {string} cmd - The command identifier.
587
- * @param {HTMLButtonElement} target - The associated command button.
588
- */
589
- __setCommandTargets(cmd: string, target: HTMLButtonElement): void;
590
- /**
591
- * @private
592
- * @description Configures the document properties of an iframe editor.
593
- * @param {HTMLIFrameElement} frame - The editor iframe.
594
- * @param {Map<string, *>} originOptions - The original options.
595
- * @param {__se__FrameOptions} targetOptions - The new options.
596
- */
597
- __setIframeDocument(frame: HTMLIFrameElement, originOptions: Map<string, any>, targetOptions: __se__FrameOptions): void;
598
- /**
599
- * @private
600
- * @description Set the FrameContext parameters and options
601
- * @param {__se__FrameContext} e - Frame context object
602
- */
603
- __setEditorParams(e: __se__FrameContext): void;
604
- /**
605
- * @private
606
- * @description Registers and initializes editor classes.
607
- */
608
- __registerClass(): void;
609
- /**
610
- * @private
611
- * @description Creates the editor instance and initializes components.
612
- * @param {EditorInitOptions_editor} originOptions - The initial editor options.
613
- * @returns {Promise<void>}
614
- */
615
- __Create(originOptions: EditorInitOptions_editor): Promise<void>;
616
- Constructor: typeof Editor;
56
+ events: any;
57
+ #private;
617
58
  }
@@ -0,0 +1,50 @@
1
+ import type {} from '../../../typedef';
2
+ export namespace A {
3
+ function prevent(): Action;
4
+ function stop(): Action;
5
+ function preventStop(): Action;
6
+ function cacheStyleNode(): Action;
7
+ function cacheFormatAttrsTemp(attrs: NamedNodeMap): Action;
8
+ function componentDeselect(): Action;
9
+ function editorNativeFocus(): Action;
10
+ function historyPush(hard: boolean): Action;
11
+ function documentTypeRefreshHeader(): Action;
12
+ function selectionSetRange(sc: Node, so: number, ec: Node, eo: number): Action;
13
+ function formatRemoveBlock(rangeEl: Element, selectedFormats: Element[] | null, newBlockElement: Element | null, shouldDelete: boolean, skipHistory: boolean): Action;
14
+ function domUtilsRemoveItem(item: Node): Action;
15
+ function selectComponentFallback(cmponentInfo: SunEditor.ComponentInfo): Action;
16
+ function delFormatRemoveAndMove(container: Node, formatEl: Element): Action;
17
+ function backspaceFormatMaintain(formatEl: Element): Action;
18
+ function backspaceComponentSelect(selectionNode: Node, range: Range, fileComponentInfo: SunEditor.ComponentInfo): Action;
19
+ function backspaceComponentRemove(isList: boolean, sel: Node, formatEl: Element, fileComponentInfo: SunEditor.ComponentInfo): Action;
20
+ function backspaceListMergePrev(prev: Element, formatEl: Element, rangeEl: Element): Action;
21
+ function backspaceListRemoveNested(range: Range): Action;
22
+ function deleteComponentSelect(formatEl: Element, fileComponentInfo: SunEditor.ComponentInfo): Action;
23
+ function deleteComponentSelectNext(formatEl: any, nextEl: Element): Action;
24
+ function deleteListRemoveNested(range: Range, formatEl: Element, rangeEl: Element): Action;
25
+ function tabFormatIndent(range: Range, formatEl: Element, shift: boolean): Action;
26
+ function enterScrollTo(range: Range): Action;
27
+ function enterLineAddDefault(formatEl: Element): Action;
28
+ function enterListAddItem(formatEl: Element, selectionNode: Node): Action;
29
+ function enterFormatExitEmpty(formatEl: Element, rangeEl: Element): Action;
30
+ function enterFormatCleanBrAndZWS(selectionNode: Node, selectionFormat: boolean, brBlock: Element, children: NodeList, offset: number): Action;
31
+ function enterFormatInsertBrHtml(brBlock: Element, range: Range, wSelection: Selection, offset: number): Action;
32
+ function enterFormatInsertBrNode(wSelection: Selection): Action;
33
+ function enterFormatBreakAtEdge(formatEl: Element, selectionNode: Node, formatStartEdge: boolean, formatEndEdge: boolean): Action;
34
+ function enterFormatBreakWithSelection(formatEl: Element, range: Range, formatStartEdge: boolean, formatEndEdge: boolean): Action;
35
+ function enterFormatBreakAtCursor(formatEl: Element, range: Range): Action;
36
+ function enterFigcaptionExitInList(formatEl: Element): Action;
37
+ function keydownInputInsertNbsp(): Action;
38
+ function keydownInputInsertZWS(): Action;
39
+ }
40
+ export type Action = {
41
+ t: string;
42
+ p?: any;
43
+ };
44
+ export namespace SunEditor {
45
+ type ComponentInfo = {
46
+ target: Element;
47
+ pluginName: string;
48
+ options?: any;
49
+ };
50
+ }