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,111 +0,0 @@
1
- export default Modal;
2
- /**
3
- * @class
4
- * @description Modal window module
5
- */
6
- declare class Modal extends CoreInjector {
7
- /**
8
- * @description Create a file input tag in the modal window.
9
- * @param {{icons: __se__EditorCore['icons'], lang: __se__EditorCore['lang']}} param0 - icons and language object
10
- * @param {{acceptedFormats: string, allowMultiple}} param1 - options
11
- * - acceptedFormats: "image/*, video/*, audio/*", etc.
12
- * - allowMultiple: true or false
13
- * @returns {string} HTML string
14
- */
15
- static CreateFileInput(
16
- {
17
- icons,
18
- lang
19
- }: {
20
- icons: __se__EditorCore['icons'];
21
- lang: __se__EditorCore['lang'];
22
- },
23
- {
24
- acceptedFormats,
25
- allowMultiple
26
- }: {
27
- acceptedFormats: string;
28
- allowMultiple: any;
29
- }
30
- ): string;
31
- /**
32
- * @description A function called when the contents of "input" have changed and you want to adjust the style.
33
- * @param {Element} wrapper - Modal file input wrapper(.se-flex-input-wrapper)
34
- * @param {FileList|File[]} files - FileList object
35
- */
36
- static OnChangeFile(wrapper: Element, files: FileList | File[]): void;
37
- /**
38
- * @description Modal window module
39
- * @param {* & {editor: __se__EditorCore}} inst The instance object that called the constructor.
40
- * @param {Element} element Modal element
41
- */
42
- constructor(
43
- inst: any & {
44
- editor: __se__EditorCore;
45
- },
46
- element: Element
47
- );
48
- offset: import('../core/class/offset').default;
49
- ui: import('../core/class/ui').default;
50
- inst: any;
51
- kind: any;
52
- form: HTMLElement;
53
- isUpdate: boolean;
54
- /** @type {HTMLInputElement} */
55
- focusElement: HTMLInputElement;
56
- /** @type {HTMLElement} */
57
- _modalArea: HTMLElement;
58
- /** @type {HTMLElement} */
59
- _modalInner: HTMLElement;
60
- _closeListener: any[];
61
- _bindClose: any;
62
- _onClickEvent: any;
63
- _closeSignal: boolean;
64
- /** @type {HTMLElement} */
65
- _resizeBody: HTMLElement;
66
- _currentHandle: HTMLElement;
67
- __resizeDir: string;
68
- __offetTop: number;
69
- __offetLeft: number;
70
- __globalEventHandlers: {
71
- mousemove: any;
72
- mouseup: any;
73
- };
74
- _bindClose_mousemove: any;
75
- _bindClose_mouseup: any;
76
- /**
77
- * @description Open a modal plugin
78
- * - The plugin's "init" method is called.
79
- */
80
- open(): void;
81
- /**
82
- * @description Close a modal plugin
83
- * - The plugin's "init" and "off" method is called.
84
- */
85
- close(): void;
86
- /**
87
- * @private
88
- * @description Fixes the current controller's display state when the modal is opened or closed.
89
- * @param {boolean} fixed - Whether to fix or unfix the controller.
90
- */
91
- private _fixCurrentController;
92
- /**
93
- * @private
94
- * @description Saves the current offset position of the modal for resizing calculations.
95
- * @returns {__se__Class_OffsetGlobalInfo} The offset position of the modal.
96
- */
97
- private _saveOffset;
98
- /**
99
- * @private
100
- * @description Adds global event listeners for resizing the modal.
101
- * @param {string} dir - The direction in which resizing is occurring.
102
- */
103
- private __addGlobalEvent;
104
- /**
105
- * @private
106
- * @description Removes global event listeners related to modal resizing.
107
- */
108
- private __removeGlobalEvent;
109
- #private;
110
- }
111
- import CoreInjector from '../editorInjector/_core';
@@ -1,236 +0,0 @@
1
- export default ModalAnchorEditor;
2
- export type RELAttr = {
3
- default?: string;
4
- check_new_window?: string;
5
- check_bookmark?: string;
6
- };
7
- export type ModalAnchorEditorParams = {
8
- /**
9
- * - Modal title display.
10
- */
11
- title?: boolean;
12
- /**
13
- * - Create Text to display input.
14
- */
15
- textToDisplay?: boolean;
16
- /**
17
- * - Default checked value of the "Open in new window" checkbox.
18
- */
19
- openNewWindow?: boolean;
20
- /**
21
- * - If true, disables the automatic prefixing of the host URL to the value of the link.
22
- */
23
- noAutoPrefix?: boolean;
24
- /**
25
- * - The "rel" attribute list of anchor tag.
26
- */
27
- relList?: Array<string>;
28
- /**
29
- * - Default "rel" attributes of anchor tag.
30
- */
31
- defaultRel?: RELAttr;
32
- /**
33
- * - File upload URL.
34
- */
35
- uploadUrl?: string | undefined;
36
- /**
37
- * - File upload headers.
38
- */
39
- uploadHeaders?:
40
- | {
41
- [x: string]: string;
42
- }
43
- | undefined;
44
- /**
45
- * - File upload size limit.
46
- */
47
- uploadSizeLimit?: number | undefined;
48
- /**
49
- * - File upload single size limit.
50
- */
51
- uploadSingleSizeLimit?: number | undefined;
52
- /**
53
- * - File upload accepted formats.
54
- */
55
- acceptedFormats?: string | undefined;
56
- /**
57
- * - If true, enables file upload.
58
- */
59
- enableFileUpload?: boolean | undefined;
60
- };
61
- /**
62
- * @typedef {{default?: string, check_new_window?: string, check_bookmark?: string}} RELAttr
63
- */
64
- /**
65
- * @typedef {Object} ModalAnchorEditorParams
66
- * @property {boolean} [title=false] - Modal title display.
67
- * @property {boolean} [textToDisplay=''] - Create Text to display input.
68
- * @property {boolean} [openNewWindow=false] - Default checked value of the "Open in new window" checkbox.
69
- * @property {boolean} [noAutoPrefix=false] - If true, disables the automatic prefixing of the host URL to the value of the link.
70
- * @property {Array<string>} [relList=[]] - The "rel" attribute list of anchor tag.
71
- * @property {RELAttr} [defaultRel={}] - Default "rel" attributes of anchor tag.
72
- * @property {string=} uploadUrl - File upload URL.
73
- * @property {Object<string, string>=} uploadHeaders - File upload headers.
74
- * @property {number=} uploadSizeLimit - File upload size limit.
75
- * @property {number=} uploadSingleSizeLimit - File upload single size limit.
76
- * @property {string=} acceptedFormats - File upload accepted formats.
77
- * @property {boolean=} enableFileUpload - If true, enables file upload.
78
- * @example "REL" structure
79
- {
80
- default: 'nofollow', // Default rel
81
- check_new_window: 'noreferrer noopener', // When "open new window" is checked
82
- check_bookmark: 'bookmark' // When "bookmark" is checked
83
- }
84
- If true, disables the automatic prefixing of the host URL to the value of the link.
85
- */
86
- /**
87
- * @class
88
- * @description Modal form Anchor tag editor
89
- * - Use it by inserting it into Modal in a plugin that uses Modal.
90
- */
91
- declare class ModalAnchorEditor extends EditorInjector {
92
- /**
93
- * @constructor
94
- * @param {*} inst The instance object that called the constructor.
95
- * @param {Node} modalForm The modal form element
96
- * @param {ModalAnchorEditorParams} params ModalAnchorEditor options
97
- */
98
- constructor(inst: any, modalForm: Node, params: ModalAnchorEditorParams);
99
- openNewWindow: boolean;
100
- relList: string[];
101
- defaultRel: RELAttr;
102
- noAutoPrefix: boolean;
103
- uploadUrl: string;
104
- uploadHeaders: {
105
- [x: string]: string;
106
- };
107
- uploadSizeLimit: number;
108
- uploadSingleSizeLimit: number;
109
- input: HTMLElement;
110
- fileManager: FileManager;
111
- kink: any;
112
- inst: any;
113
- modalForm: HTMLElement;
114
- host: string;
115
- /** @type {HTMLInputElement} */
116
- urlInput: HTMLInputElement;
117
- /** @type {HTMLInputElement} */
118
- displayInput: HTMLInputElement;
119
- /** @type {HTMLInputElement} */
120
- titleInput: HTMLInputElement;
121
- /** @type {HTMLInputElement} */
122
- newWindowCheck: HTMLInputElement;
123
- /** @type {HTMLInputElement} */
124
- downloadCheck: HTMLInputElement;
125
- /** @type {HTMLElement} */
126
- download: HTMLElement;
127
- /** @type {HTMLElement} */
128
- preview: HTMLElement;
129
- /** @type {HTMLElement} */
130
- bookmark: HTMLElement;
131
- /** @type {HTMLButtonElement} */
132
- bookmarkButton: HTMLButtonElement;
133
- currentRel: any[];
134
- currentTarget: HTMLAnchorElement;
135
- linkValue: string;
136
- _change: boolean;
137
- _isRel: boolean;
138
- /** @type {HTMLButtonElement} */
139
- relButton: HTMLButtonElement;
140
- /** @type {HTMLElement} */
141
- relPreview: HTMLElement;
142
- selectMenu_rel: SelectMenu;
143
- selectMenu_bookmark: SelectMenu;
144
- /**
145
- * @description Initialize.
146
- * - Sets the current anchor element to be edited.
147
- * @param {Node} element Modal target element
148
- */
149
- set(element: Node): void;
150
- /**
151
- * @description Opens the anchor editor modal and populates it with data.
152
- * @param {boolean} isUpdate - Indicates whether an existing anchor is being updated (`true`) or a new one is being created (`false`).
153
- */
154
- on(isUpdate: boolean): void;
155
- /**
156
- * @description Creates an anchor (`<a>`) element with the specified attributes.
157
- * @param {boolean} notText - If `true`, the anchor will not contain text content.
158
- * @returns {HTMLElement|null} - The newly created anchor element, or `null` if the URL is empty.
159
- */
160
- create(notText: boolean): HTMLElement | null;
161
- /**
162
- * @description Resets the ModalAnchorEditor to its initial state.
163
- */
164
- init(): void;
165
- /**
166
- * @private
167
- * @description Updates the anchor element with new attributes.
168
- * @param {HTMLAnchorElement} anchor - The anchor (`<a>`) element to update.
169
- * @param {string} url - The URL for the anchor's `href` attribute.
170
- * @param {string} displayText - The text to be displayed inside the anchor.
171
- * @param {string} title - The tooltip text (title attribute).
172
- * @param {boolean} notText - If `true`, the anchor will not contain text content.
173
- */
174
- private _updateAnchor;
175
- /**
176
- * @private
177
- * @description Checks if the given path is an internal bookmark.
178
- * @param {string} path - The URL or anchor link.
179
- * @returns {boolean} - `true` if the path is an internal bookmark, otherwise `false`.
180
- */
181
- private _selfPathBookmark;
182
- /**
183
- * @private
184
- * @description Updates the `rel` attribute list in the modal and preview.
185
- * @param {string} relAttr - The `rel` attribute string to set.
186
- */
187
- private _setRel;
188
- /**
189
- * @private
190
- * @description Generates a list of bookmark headers within the editor.
191
- * @param {string} urlValue - The current URL input value.
192
- */
193
- private _createBookmarkList;
194
- /**
195
- * @private
196
- * @description Updates the preview of the anchor link.
197
- * @param {string} value - The current URL value.
198
- */
199
- private _setLinkPreview;
200
- /**
201
- * @private
202
- * @description Merges the given `rel` attribute value with the current list.
203
- * @param {string} relAttr - The `rel` attribute to merge.
204
- * @returns {string} - The updated `rel` attribute string.
205
- */
206
- private _relMerge;
207
- /**
208
- * @private
209
- * @description Removes the specified `rel` attribute from the current list.
210
- * @param {string} relAttr - The `rel` attribute to remove.
211
- * @returns {string} - The updated `rel` attribute string.
212
- */
213
- private _relDelete;
214
- /**
215
- * @private
216
- * @description Registers a newly uploaded file and sets its URL in the modal form.
217
- * @param {Object<string, *>} response - The response object from the file upload request.
218
- */
219
- private _register;
220
- /**
221
- * @private
222
- * @description Handles file upload errors.
223
- * @param {Object<string, *>} response - The error response object.
224
- * @returns {Promise<void>}
225
- */
226
- private _error;
227
- /**
228
- * @description Handles the callback after a file upload completes.
229
- * @param {XMLHttpRequest} xmlHttp - The XMLHttpRequest object containing the response.
230
- */
231
- _uploadCallBack(xmlHttp: XMLHttpRequest): void;
232
- #private;
233
- }
234
- import EditorInjector from '../editorInjector';
235
- import FileManager from './FileManager';
236
- import SelectMenu from './SelectMenu';
@@ -1,194 +0,0 @@
1
- export default SelectMenu;
2
- export type SelectMenuParams = {
3
- /**
4
- * Position of the select menu, specified as "[left|right]-[middle|top|bottom]" or "[top|bottom]-[center|left|right]"
5
- */
6
- position: string;
7
- /**
8
- * Flag to determine if the checklist is enabled (true or false)
9
- */
10
- checkList?: boolean;
11
- /**
12
- * Optional text direction: "rtl" for right-to-left, "ltr" for left-to-right
13
- */
14
- dir?: 'rtl' | 'ltr';
15
- /**
16
- * Optional split number for horizontal positioning; defines how many items per row
17
- */
18
- splitNum?: number;
19
- /**
20
- * Optional method to call when the menu is opened
21
- */
22
- openMethod?: (() => void) | undefined;
23
- /**
24
- * Optional method to call when the menu is closed
25
- */
26
- closeMethod?: (() => void) | undefined;
27
- };
28
- /**
29
- * @typedef {Object} SelectMenuParams
30
- * @property {string} position Position of the select menu, specified as "[left|right]-[middle|top|bottom]" or "[top|bottom]-[center|left|right]"
31
- * @property {boolean} [checkList=false] Flag to determine if the checklist is enabled (true or false)
32
- * @property {"rtl" | "ltr"} [dir="ltr"] Optional text direction: "rtl" for right-to-left, "ltr" for left-to-right
33
- * @property {number} [splitNum=0] Optional split number for horizontal positioning; defines how many items per row
34
- * @property {() => void=} openMethod Optional method to call when the menu is opened
35
- * @property {() => void=} closeMethod Optional method to call when the menu is closed
36
- */
37
- /**
38
- * @class
39
- * @description Creates a select menu
40
- */
41
- declare class SelectMenu extends CoreInjector {
42
- /**
43
- * @constructor
44
- * @param {*} inst The instance object that called the constructor.
45
- * @param {SelectMenuParams} params Select menu options
46
- */
47
- constructor(inst: any, params: SelectMenuParams);
48
- kink: any;
49
- inst: any;
50
- form: HTMLElement;
51
- items: any[];
52
- /** @type {HTMLLIElement[]} */
53
- menus: HTMLLIElement[];
54
- menuLen: number;
55
- index: number;
56
- item: any;
57
- isOpen: boolean;
58
- checkList: boolean;
59
- position: string;
60
- subPosition: string;
61
- _dirPosition: string;
62
- _dirSubPosition: string;
63
- _textDirDiff: boolean;
64
- splitNum: number;
65
- horizontal: boolean;
66
- openMethod: () => void;
67
- closeMethod: () => void;
68
- _refer: HTMLElement;
69
- _keydownTarget: Window | HTMLInputElement;
70
- _selectMethod: (command: string) => void;
71
- _bindClose_key: any;
72
- _bindClose_mousedown: any;
73
- _bindClose_click: any;
74
- _closeSignal: boolean;
75
- __events: {
76
- mousedown: any;
77
- mousemove: any;
78
- click: any;
79
- keydown: any;
80
- };
81
- __eventHandlers: {
82
- mousedown: any;
83
- mousemove: any;
84
- click: any;
85
- keydown: any;
86
- };
87
- __globalEventHandlers: {
88
- keydown: any;
89
- mousedown: any;
90
- click: any;
91
- };
92
- /**
93
- * @description Creates the select menu items.
94
- * @param {Array<string>|__se__NodeCollection} items - Command list of selectable items.
95
- * @param {Array<string>|__se__NodeCollection} [menus] - Optional list of menu display elements; defaults to `items`.
96
- */
97
- create(items: Array<string> | __se__NodeCollection, menus?: Array<string> | __se__NodeCollection): void;
98
- /**
99
- * @description Initializes the select menu and attaches it to a reference element.
100
- * @param {Node} referElement - The element that triggers the select menu.
101
- * @param {(command: string) => void} selectMethod - The function to execute when an item is selected.
102
- * @param {{class?: string, style?: string}} [attr={}] - Additional attributes for the select menu container.
103
- */
104
- on(
105
- referElement: Node,
106
- selectMethod: (command: string) => void,
107
- attr?: {
108
- class?: string;
109
- style?: string;
110
- }
111
- ): void;
112
- /**
113
- * @description Select menu open
114
- * @param {?string=} position "[left|right]-[middle|top|bottom] | [top|bottom]-[center|left|right]"
115
- * @param {?string=} onItemQuerySelector The querySelector string of the menu to be activated
116
- */
117
- open(position?: (string | null) | undefined, onItemQuerySelector?: (string | null) | undefined): void;
118
- /**
119
- * @description Select menu close
120
- */
121
- close(): void;
122
- /**
123
- * @description Get the index of the selected item
124
- * @param {number} index Item index
125
- * @returns
126
- */
127
- getItem(index: number): any;
128
- /**
129
- * @description Set the index of the selected item
130
- * @param {number} index Item index
131
- */
132
- setItem(index: number): void;
133
- /**
134
- * @private
135
- * @description Appends a formatted list of items to the menu.
136
- * @param {string} html - The HTML string representing the menu items.
137
- */
138
- private _createFormat;
139
- /**
140
- * @private
141
- * @description Resets the menu state and removes event listeners.
142
- */
143
- private _init;
144
- _onItem: Element;
145
- /**
146
- * @private
147
- * @description Moves the selection up or down by a specified number of items.
148
- * @param {number} num - The number of items to move (negative for up, positive for down).
149
- */
150
- private _moveItem;
151
- /**
152
- * @private
153
- * @description Highlights and selects an item by index.
154
- * @param {number} selectIndex - The index of the item to select.
155
- */
156
- private _selectItem;
157
- /**
158
- * @private
159
- * @description Sets the position of the select menu relative to the reference element.
160
- * @param {string} position Menu position ("left"|"right") | ("top"|"bottom")
161
- * @param {string} subPosition Sub position ("middle"|"top"|"bottom") | ("center"|"left"|"right")
162
- * @param {string} [onItemQuerySelector] - A query selector string to highlight a specific item.
163
- * @param {boolean} [_re=false] - Whether this is a retry after adjusting the position.
164
- */
165
- private _setPosition;
166
- /**
167
- * @private
168
- * @description Selects an item and triggers the callback function.
169
- * @param {number} index - The index of the item to select.
170
- */
171
- private _select;
172
- /**
173
- * @private
174
- * @description Adds event listeners for menu interactions.
175
- */
176
- private __addEvents;
177
- /**
178
- * @private
179
- * @description Removes event listeners for menu interactions.
180
- */
181
- private __removeEvents;
182
- /**
183
- * @private
184
- * @description Adds global event listeners for closing the menu.
185
- */
186
- private __addGlobalEvent;
187
- /**
188
- * @private
189
- * @description Removes global event listeners for closing the menu.
190
- */
191
- private __removeGlobalEvent;
192
- #private;
193
- }
194
- import CoreInjector from '../editorInjector/_core';
@@ -1,26 +0,0 @@
1
- declare namespace _default {
2
- export { _DragHandle };
3
- export { ApiManager };
4
- export { ColorPicker };
5
- export { Controller };
6
- export { Browser };
7
- export { FileManager };
8
- export { HueSlider };
9
- export { Figure };
10
- export { Modal };
11
- export { ModalAnchorEditor };
12
- export { SelectMenu };
13
- }
14
- export default _default;
15
- import _DragHandle from './_DragHandle';
16
- import ApiManager from './ApiManager';
17
- import ColorPicker from './ColorPicker';
18
- import Controller from './Controller';
19
- import Browser from './Browser';
20
- import FileManager from './FileManager';
21
- import HueSlider from './HueSlider';
22
- import Figure from './Figure';
23
- import Modal from './Modal';
24
- import ModalAnchorEditor from './ModalAnchorEditor';
25
- import SelectMenu from './SelectMenu';
26
- export { _DragHandle, ApiManager, ColorPicker, Controller, Browser, FileManager, HueSlider, Figure, Modal, ModalAnchorEditor, SelectMenu };
@@ -1,55 +0,0 @@
1
- export default FormatBlock;
2
- /**
3
- * @class
4
- * @description FormatBlock Plugin (P, BLOCKQUOTE, PRE, H1, H2...)
5
- */
6
- declare class FormatBlock extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
10
- /**
11
- * @constructor
12
- * @param {__se__EditorCore} editor - The root editor instance
13
- * @param {Object} pluginOptions
14
- * @param {Array<string>} pluginOptions.items - Format list
15
- */
16
- constructor(
17
- editor: __se__EditorCore,
18
- pluginOptions: {
19
- items: Array<string>;
20
- }
21
- );
22
- title: any;
23
- inner: string;
24
- formatList: NodeListOf<Element>;
25
- currentFormat: string;
26
- /**
27
- * @editorMethod Editor.EventManager
28
- * @description Executes the method that is called whenever the cursor position changes.
29
- * @param {?HTMLElement=} element - Node element where the cursor is currently located
30
- * @param {?HTMLElement=} target - The plugin's toolbar button element
31
- * @returns {boolean} - Whether the plugin is active
32
- * - If it returns "undefined", it will no longer be called in this scope.
33
- */
34
- active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
35
- /**
36
- * @editorMethod Modules.Dropdown
37
- * @description Executes the method that is called when a plugin's dropdown menu is opened.
38
- * @param {HTMLElement} target Line element at the current cursor position
39
- */
40
- on(target: HTMLElement): void;
41
- /**
42
- * @editorMethod Editor.core
43
- * @description Executes the main execution method of the plugin.
44
- * - Called when an item in the "dropdown" menu is clicked.
45
- * @param {HTMLElement} target - The plugin's toolbar button element
46
- */
47
- action(target: HTMLElement): void;
48
- /**
49
- * @description Create a header tag, call by "shortcut" class
50
- * - (e.g. shortcuts._h1: ['c+s+49+$~formatBlock.applyHeaderByShortcut', ''])
51
- * @param {__se__PluginShortcutInfo} params - Information of the "shortcut" plugin
52
- */
53
- applyHeaderByShortcut({ keyCode }: __se__PluginShortcutInfo): void;
54
- }
55
- import EditorInjector from '../../editorInjector';