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,522 +0,0 @@
1
- export default Offset;
2
- export type OffsetThis = Omit<Offset & Partial<__se__EditorInjector>, 'offset'>;
3
- /**
4
- * Bounding rectangle information of the selection range.
5
- */
6
- export type RectsInfo = {
7
- /**
8
- * - The left position of the selection.
9
- */
10
- left: number;
11
- /**
12
- * - The right position of the selection.
13
- */
14
- right: number;
15
- /**
16
- * - The top position of the selection.
17
- */
18
- top: number;
19
- /**
20
- * - The bottom position of the selection.
21
- */
22
- bottom: number;
23
- /**
24
- * - Whether the selection contains text.
25
- */
26
- noText?: boolean;
27
- /**
28
- * - The width of the selection.
29
- */
30
- width?: number;
31
- /**
32
- * - The height of the selection.
33
- */
34
- height?: number;
35
- };
36
- export type OffsetInfo = {
37
- /**
38
- * - The top position of the node relative to the entire document, including iframe offsets.
39
- */
40
- top: number;
41
- /**
42
- * - The left position of the node relative to the entire document, including iframe offsets.
43
- */
44
- left: number;
45
- };
46
- export type OffsetLocalInfo = {
47
- /**
48
- * - The top position of the node relative to the WYSIWYG editor.
49
- */
50
- top: number;
51
- /**
52
- * - The left position of the node relative to the WYSIWYG editor.
53
- */
54
- left: number;
55
- /**
56
- * - The right position of the node relative to the WYSIWYG editor.
57
- */
58
- right: number;
59
- /**
60
- * - The horizontal scroll offset inside the WYSIWYG editor.
61
- */
62
- scrollX: number;
63
- /**
64
- * - The vertical scroll offset inside the WYSIWYG editor.
65
- */
66
- scrollY: number;
67
- };
68
- export type OffsetGlobalInfo = {
69
- /**
70
- * - The top position of the element relative to the entire document.
71
- */
72
- top: number;
73
- /**
74
- * - The left position of the element relative to the entire document.
75
- */
76
- left: number;
77
- /**
78
- * - The total width of the element, including its content, padding, and border.
79
- */
80
- width: number;
81
- /**
82
- * - The total height of the element, including its content, padding, and border.
83
- */
84
- height: number;
85
- /**
86
- * - The amount of vertical scrolling applied to the element.
87
- */
88
- scrollTop: number;
89
- /**
90
- * - The amount of horizontal scrolling applied to the element.
91
- */
92
- scrollLeft: number;
93
- };
94
- export type OffsetGlobalScrollInfo = {
95
- /**
96
- * - Total top scroll distance
97
- */
98
- top: number;
99
- /**
100
- * - Total left scroll distance
101
- */
102
- left: number;
103
- /**
104
- * - Total width including scrollable area
105
- */
106
- width: number;
107
- /**
108
- * - Total height including scrollable area
109
- */
110
- height: number;
111
- /**
112
- * - Horizontal offset from the top reference element
113
- */
114
- x: number;
115
- /**
116
- * - Vertical offset from the top reference element
117
- */
118
- y: number;
119
- /**
120
- * - Element or window used as the vertical scroll reference
121
- */
122
- ohOffsetEl: HTMLElement | Window | null;
123
- /**
124
- * - Element or window used as the horizontal scroll reference
125
- */
126
- owOffsetEl: HTMLElement | Window | null;
127
- /**
128
- * - Height of the vertical scrollable area (clientHeight)
129
- */
130
- oh: number;
131
- /**
132
- * - Width of the horizontal scrollable area (clientWidth)
133
- */
134
- ow: number;
135
- /**
136
- * - Indicates if the vertical scroll reference is the editor area
137
- */
138
- heightEditorRefer: boolean;
139
- /**
140
- * - Indicates if the horizontal scroll reference is the editor area
141
- */
142
- widthEditorRefer: boolean;
143
- /**
144
- * - Top position of the height offset element relative to the viewport
145
- */
146
- ts: number;
147
- /**
148
- * - Left position of the width offset element relative to the viewport
149
- */
150
- ls: number;
151
- };
152
- export type OffsetWWScrollInfo = {
153
- /**
154
- * - The top scroll offset inside the WYSIWYG editor.
155
- */
156
- top: number;
157
- /**
158
- * - The left scroll offset inside the WYSIWYG editor.
159
- */
160
- left: number;
161
- /**
162
- * - The total width of the WYSIWYG editor's scrollable area.
163
- */
164
- width: number;
165
- /**
166
- * - The total height of the WYSIWYG editor's scrollable area.
167
- */
168
- height: number;
169
- /**
170
- * - The sum of `top` and `height`, representing the bottom-most scrollable position.
171
- */
172
- bottom: number;
173
- /**
174
- * - The bounding rectangle of the editor's visible area.
175
- */
176
- rects: RectsInfo;
177
- };
178
- /**
179
- * @typedef {Omit<Offset & Partial<__se__EditorInjector>, 'offset'>} OffsetThis
180
- */
181
- /**
182
- * @typedef {Object} RectsInfo Bounding rectangle information of the selection range.
183
- * @property {number} rects.left - The left position of the selection.
184
- * @property {number} rects.right - The right position of the selection.
185
- * @property {number} rects.top - The top position of the selection.
186
- * @property {number} rects.bottom - The bottom position of the selection.
187
- * @property {boolean} [rects.noText] - Whether the selection contains text.
188
- * @property {number} [rects.width] - The width of the selection.
189
- * @property {number} [rects.height] - The height of the selection.
190
- */
191
- /**
192
- * @typedef {Object} OffsetInfo
193
- * @property {number} top - The top position of the node relative to the entire document, including iframe offsets.
194
- * @property {number} left - The left position of the node relative to the entire document, including iframe offsets.
195
- */
196
- /**
197
- * @typedef {Object} OffsetLocalInfo
198
- * @property {number} top - The top position of the node relative to the WYSIWYG editor.
199
- * @property {number} left - The left position of the node relative to the WYSIWYG editor.
200
- * @property {number} right - The right position of the node relative to the WYSIWYG editor.
201
- * @property {number} scrollX - The horizontal scroll offset inside the WYSIWYG editor.
202
- * @property {number} scrollY - The vertical scroll offset inside the WYSIWYG editor.
203
- */
204
- /**
205
- * @typedef {Object} OffsetGlobalInfo
206
- * @property {number} top - The top position of the element relative to the entire document.
207
- * @property {number} left - The left position of the element relative to the entire document.
208
- * @property {number} width - The total width of the element, including its content, padding, and border.
209
- * @property {number} height - The total height of the element, including its content, padding, and border.
210
- * @property {number} scrollTop - The amount of vertical scrolling applied to the element.
211
- * @property {number} scrollLeft - The amount of horizontal scrolling applied to the element.
212
- */
213
- /**
214
- * @typedef {Object} OffsetGlobalScrollInfo
215
- * @property {number} top - Total top scroll distance
216
- * @property {number} left - Total left scroll distance
217
- * @property {number} width - Total width including scrollable area
218
- * @property {number} height - Total height including scrollable area
219
- * @property {number} x - Horizontal offset from the top reference element
220
- * @property {number} y - Vertical offset from the top reference element
221
- * @property {HTMLElement|Window|null} ohOffsetEl - Element or window used as the vertical scroll reference
222
- * @property {HTMLElement|Window|null} owOffsetEl - Element or window used as the horizontal scroll reference
223
- * @property {number} oh - Height of the vertical scrollable area (clientHeight)
224
- * @property {number} ow - Width of the horizontal scrollable area (clientWidth)
225
- * @property {boolean} heightEditorRefer - Indicates if the vertical scroll reference is the editor area
226
- * @property {boolean} widthEditorRefer - Indicates if the horizontal scroll reference is the editor area
227
- * @property {number} ts - Top position of the height offset element relative to the viewport
228
- * @property {number} ls - Left position of the width offset element relative to the viewport
229
- */
230
- /**
231
- * @typedef {Object} OffsetWWScrollInfo
232
- * @property {number} top - The top scroll offset inside the WYSIWYG editor.
233
- * @property {number} left - The left scroll offset inside the WYSIWYG editor.
234
- * @property {number} width - The total width of the WYSIWYG editor's scrollable area.
235
- * @property {number} height - The total height of the WYSIWYG editor's scrollable area.
236
- * @property {number} bottom - The sum of `top` and `height`, representing the bottom-most scrollable position.
237
- * @property {RectsInfo} rects - The bounding rectangle of the editor's visible area.
238
- */
239
- /**
240
- * @constructor
241
- * @this {OffsetThis}
242
- * @description Offset class, get the position of the element
243
- * @param {__se__EditorCore} editor - The root editor instance
244
- */
245
- declare function Offset(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>, editor: __se__EditorCore): void;
246
- declare class Offset {
247
- /**
248
- * @typedef {Omit<Offset & Partial<__se__EditorInjector>, 'offset'>} OffsetThis
249
- */
250
- /**
251
- * @typedef {Object} RectsInfo Bounding rectangle information of the selection range.
252
- * @property {number} rects.left - The left position of the selection.
253
- * @property {number} rects.right - The right position of the selection.
254
- * @property {number} rects.top - The top position of the selection.
255
- * @property {number} rects.bottom - The bottom position of the selection.
256
- * @property {boolean} [rects.noText] - Whether the selection contains text.
257
- * @property {number} [rects.width] - The width of the selection.
258
- * @property {number} [rects.height] - The height of the selection.
259
- */
260
- /**
261
- * @typedef {Object} OffsetInfo
262
- * @property {number} top - The top position of the node relative to the entire document, including iframe offsets.
263
- * @property {number} left - The left position of the node relative to the entire document, including iframe offsets.
264
- */
265
- /**
266
- * @typedef {Object} OffsetLocalInfo
267
- * @property {number} top - The top position of the node relative to the WYSIWYG editor.
268
- * @property {number} left - The left position of the node relative to the WYSIWYG editor.
269
- * @property {number} right - The right position of the node relative to the WYSIWYG editor.
270
- * @property {number} scrollX - The horizontal scroll offset inside the WYSIWYG editor.
271
- * @property {number} scrollY - The vertical scroll offset inside the WYSIWYG editor.
272
- */
273
- /**
274
- * @typedef {Object} OffsetGlobalInfo
275
- * @property {number} top - The top position of the element relative to the entire document.
276
- * @property {number} left - The left position of the element relative to the entire document.
277
- * @property {number} width - The total width of the element, including its content, padding, and border.
278
- * @property {number} height - The total height of the element, including its content, padding, and border.
279
- * @property {number} scrollTop - The amount of vertical scrolling applied to the element.
280
- * @property {number} scrollLeft - The amount of horizontal scrolling applied to the element.
281
- */
282
- /**
283
- * @typedef {Object} OffsetGlobalScrollInfo
284
- * @property {number} top - Total top scroll distance
285
- * @property {number} left - Total left scroll distance
286
- * @property {number} width - Total width including scrollable area
287
- * @property {number} height - Total height including scrollable area
288
- * @property {number} x - Horizontal offset from the top reference element
289
- * @property {number} y - Vertical offset from the top reference element
290
- * @property {HTMLElement|Window|null} ohOffsetEl - Element or window used as the vertical scroll reference
291
- * @property {HTMLElement|Window|null} owOffsetEl - Element or window used as the horizontal scroll reference
292
- * @property {number} oh - Height of the vertical scrollable area (clientHeight)
293
- * @property {number} ow - Width of the horizontal scrollable area (clientWidth)
294
- * @property {boolean} heightEditorRefer - Indicates if the vertical scroll reference is the editor area
295
- * @property {boolean} widthEditorRefer - Indicates if the horizontal scroll reference is the editor area
296
- * @property {number} ts - Top position of the height offset element relative to the viewport
297
- * @property {number} ls - Left position of the width offset element relative to the viewport
298
- */
299
- /**
300
- * @typedef {Object} OffsetWWScrollInfo
301
- * @property {number} top - The top scroll offset inside the WYSIWYG editor.
302
- * @property {number} left - The left scroll offset inside the WYSIWYG editor.
303
- * @property {number} width - The total width of the WYSIWYG editor's scrollable area.
304
- * @property {number} height - The total height of the WYSIWYG editor's scrollable area.
305
- * @property {number} bottom - The sum of `top` and `height`, representing the bottom-most scrollable position.
306
- * @property {RectsInfo} rects - The bounding rectangle of the editor's visible area.
307
- */
308
- /**
309
- * @constructor
310
- * @this {OffsetThis}
311
- * @description Offset class, get the position of the element
312
- * @param {__se__EditorCore} editor - The root editor instance
313
- */
314
- constructor(editor: __se__EditorCore);
315
- _scrollEvent: any;
316
- _elTop: number;
317
- _scrollY: number;
318
- _isFixed: boolean;
319
- /**
320
- * @this {OffsetThis}
321
- * @description Gets the position just outside the argument's internal editor (wysiwygFrame).
322
- * @param {Node} node Target node.
323
- * @returns {OffsetInfo} Position relative to the editor frame.
324
- */
325
- get(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>, node: Node): OffsetInfo;
326
- /**
327
- * @this {OffsetThis}
328
- * @description Gets the position inside the internal editor of the argument.
329
- * @param {Node} node Target node.
330
- * @returns {OffsetLocalInfo} Position relative to the WYSIWYG editor.
331
- */
332
- getLocal(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>, node: Node): OffsetLocalInfo;
333
- /**
334
- * @this {OffsetThis}
335
- * @description Returns the position of the argument relative to the global document.
336
- * @param {?Node=} node Target element.
337
- * @returns {OffsetGlobalInfo} Global position and scroll values.
338
- */
339
- getGlobal(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>, node?: (Node | null) | undefined): OffsetGlobalInfo;
340
- /**
341
- * @this {OffsetThis}
342
- * @description Gets the current editor-relative scroll offset.
343
- * @param {?Node=} node Target element.
344
- * @returns {OffsetGlobalScrollInfo} Global scroll information.
345
- */
346
- getGlobalScroll(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>, node?: (Node | null) | undefined): OffsetGlobalScrollInfo;
347
- /**
348
- * @this {OffsetThis}
349
- * @description Get the scroll info of the WYSIWYG area.
350
- * @returns {OffsetWWScrollInfo} Scroll information within the editor.
351
- */
352
- getWWScroll(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>): OffsetWWScrollInfo;
353
- /**
354
- * @this {OffsetThis}
355
- * @description Sets the relative position of an element
356
- * @param {HTMLElement} element Element to position
357
- * @param {HTMLElement} e_container Element's root container
358
- * @param {HTMLElement} target Target element to position against
359
- * @param {HTMLElement} t_container Target's root container
360
- * @param {boolean} _reload Whether to reload position
361
- */
362
- setRelPosition(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>, element: HTMLElement, e_container: HTMLElement, target: HTMLElement, t_container: HTMLElement, _reload: boolean): void;
363
- /**
364
- * @this {OffsetThis}
365
- * @description Sets the absolute position of an element
366
- * @param {HTMLElement} element Element to position
367
- * @param {HTMLElement} target Target element
368
- * @param {Object} params Position parameters
369
- * @param {boolean} [params.isWWTarget=false] Whether the target is within the editor's WYSIWYG area
370
- * @param {{left:number, top:number}} [params.addOffset={left:0, top:0}] Additional offset
371
- * @param {"bottom"|"top"} [params.position="bottom"] Position ('bottom'|'top')
372
- * @param {*} params.inst Instance object of caller
373
- * @returns {{position: "top" | "bottom"} | undefined} Success -> {position: current position}
374
- */
375
- setAbsPosition(
376
- this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>,
377
- element: HTMLElement,
378
- target: HTMLElement,
379
- params: {
380
- isWWTarget?: boolean;
381
- addOffset?: {
382
- left: number;
383
- top: number;
384
- };
385
- position?: 'bottom' | 'top';
386
- inst: any;
387
- }
388
- ):
389
- | {
390
- position: 'top' | 'bottom';
391
- }
392
- | undefined;
393
- /**
394
- * @this {OffsetThis}
395
- * @description Sets the position of an element relative to a range
396
- * @param {HTMLElement} element Element to position
397
- * @param {?Range} range Range to position against.
398
- * - if null, the current selection range is used
399
- * @param {Object} [options={}] Position options
400
- * @param {"bottom"|"top"} [options.position="bottom"] Position ('bottom'|'top')
401
- * @param {number} [options.addTop=0] Additional top offset
402
- * @returns {boolean} Success / Failure
403
- */
404
- setRangePosition(
405
- this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>,
406
- element: HTMLElement,
407
- range: Range | null,
408
- {
409
- position,
410
- addTop
411
- }?: {
412
- position?: 'bottom' | 'top';
413
- addTop?: number;
414
- }
415
- ): boolean;
416
- /**
417
- * @private
418
- * @this {OffsetThis}
419
- * @description Sets the position of an element relative to the selection range in the editor.
420
- * - This method calculates the top and left offsets for the element, ensuring it
421
- * - does not overflow the editor boundaries and adjusts the arrow positioning accordingly.
422
- * @param {boolean} isDirTop - Determines whether the element should be positioned above (`true`) or below (`false`) the target.
423
- * @param {RectsInfo} rects - Bounding rectangle information of the selection range.
424
- * @param {HTMLElement} element - The element to be positioned.
425
- * @param {number} editorLeft - The left position of the editor.
426
- * @param {number} editorWidth - The width of the editor.
427
- * @param {number} scrollLeft - The horizontal scroll offset.
428
- * @param {number} scrollTop - The vertical scroll offset.
429
- * @param {number} [addTop=0] - Additional top margin adjustment.
430
- */
431
- _setOffsetOnRange(
432
- this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>,
433
- isDirTop: boolean,
434
- rects: RectsInfo,
435
- element: HTMLElement,
436
- editorLeft: number,
437
- editorWidth: number,
438
- scrollLeft: number,
439
- scrollTop: number,
440
- addTop?: number
441
- ): void;
442
- /**
443
- * @private
444
- * @this {OffsetThis}
445
- * @description Get available space from page bottom
446
- * @returns {number} Available space
447
- */
448
- _getPageBottomSpace(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>): number;
449
- /**
450
- * @private
451
- * @this {OffsetThis}
452
- * @description Calculates the vertical margin offsets for the target element relative to the editor frame.
453
- * - This method determines the top and bottom margins based on various conditions such as
454
- * - fullscreen mode, iframe usage, toolbar height, and scroll positions.
455
- * @param {number} tmtw Top margin to window
456
- * @param {number} tmbw Bottom margin to window
457
- * @param {number} toolbarH Toolbar height
458
- * @param {{w: number, h: number}} clientSize documentElement.clientWidth, documentElement.clientHeight
459
- * @param {RectsInfo} targetRect Target rect object
460
- * @param {boolean} isTargetAbs Is target absolute position
461
- * @param {OffsetWWScrollInfo} wwScroll WYSIWYG scroll info
462
- * @returns {{rmt:number, rmb:number, rt:number}} Margin values (rmt: top margin, rmb: bottom margin, rt: Toolbar height offset adjustment)
463
- */
464
- _getVMargin(
465
- this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>,
466
- tmtw: number,
467
- tmbw: number,
468
- toolbarH: number,
469
- clientSize: {
470
- w: number;
471
- h: number;
472
- },
473
- targetRect: RectsInfo,
474
- isTargetAbs: boolean,
475
- wwScroll: OffsetWWScrollInfo
476
- ): {
477
- rmt: number;
478
- rmb: number;
479
- rt: number;
480
- };
481
- /**
482
- * @private
483
- * @this {OffsetThis}
484
- * @description Sets the visibility and direction of the arrow element.
485
- * - This method applies the appropriate class (`se-arrow-up` or `se-arrow-down`)
486
- * - based on the specified direction key and adjusts the visibility of the arrow.
487
- * @param {HTMLElement} arrow - The arrow element to be updated.
488
- * @param {string} key - The direction of the arrow. ("up"|"down"|"")
489
- * - Accepts `'up'` for an upward arrow, `'down'` for a downward arrow,
490
- * - or any other value to hide the arrow.
491
- */
492
- _setArrow(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>, arrow: HTMLElement, key: string): void;
493
- /**
494
- * @private
495
- * @this {OffsetThis}
496
- * @description Retrieves the current window scroll position and viewport size.
497
- * - Returns an object containing the scroll offsets, viewport dimensions, and boundary rects.
498
- * @returns {{
499
- * top: number,
500
- * left: number,
501
- * width: number,
502
- * height: number,
503
- * bottom: number,
504
- * rects: RectsInfo
505
- * }} An object with scroll and viewport information.
506
- */
507
- _getWindowScroll(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>): {
508
- top: number;
509
- left: number;
510
- width: number;
511
- height: number;
512
- bottom: number;
513
- rects: RectsInfo;
514
- };
515
- /**
516
- * @private
517
- * @this {OffsetThis}
518
- * @description Removes the global scroll event listener from the editor.
519
- * - Resets related scroll tracking properties.
520
- */
521
- __removeGlobalEvent(this: Omit<Offset & Partial<import('../../editorInjector').default>, 'offset'>): void;
522
- }