suneditor 3.0.0-beta.9 → 3.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +65 -57
  2. package/dist/suneditor-contents.min.css +1 -0
  3. package/dist/suneditor.min.css +1 -1
  4. package/dist/suneditor.min.js +1 -1
  5. package/package.json +110 -61
  6. package/src/assets/design/color.css +36 -17
  7. package/src/assets/design/size.css +2 -0
  8. package/src/assets/icons/defaultIcons.js +17 -2
  9. package/src/assets/suneditor-contents.css +51 -16
  10. package/src/assets/suneditor.css +116 -43
  11. package/src/core/config/contextProvider.js +288 -0
  12. package/src/core/config/eventManager.js +188 -0
  13. package/src/core/config/instanceCheck.js +59 -0
  14. package/src/core/config/optionProvider.js +452 -0
  15. package/src/core/editor.js +166 -1637
  16. package/src/core/event/actions/index.js +229 -0
  17. package/src/core/event/effects/common.registry.js +74 -0
  18. package/src/core/event/effects/keydown.registry.js +573 -0
  19. package/src/core/event/effects/ruleHelpers.js +148 -0
  20. package/src/core/event/eventOrchestrator.js +944 -0
  21. package/src/core/event/executor.js +27 -0
  22. package/src/core/{base/eventHandlers → event/handlers}/handler_toolbar.js +27 -28
  23. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_clipboard.js +10 -8
  24. package/src/core/{base/eventHandlers → event/handlers}/handler_ww_dragDrop.js +22 -23
  25. package/src/core/event/handlers/handler_ww_input.js +75 -0
  26. package/src/core/event/handlers/handler_ww_key.js +228 -0
  27. package/src/core/event/handlers/handler_ww_mouse.js +166 -0
  28. package/src/core/event/ports.js +211 -0
  29. package/src/core/event/reducers/keydown.reducer.js +97 -0
  30. package/src/core/event/rules/keydown.rule.arrow.js +63 -0
  31. package/src/core/event/rules/keydown.rule.backspace.js +208 -0
  32. package/src/core/event/rules/keydown.rule.delete.js +132 -0
  33. package/src/core/event/rules/keydown.rule.enter.js +150 -0
  34. package/src/core/event/rules/keydown.rule.tab.js +35 -0
  35. package/src/core/event/support/defaultLineManager.js +136 -0
  36. package/src/core/event/support/selectionState.js +204 -0
  37. package/src/core/kernel/coreKernel.js +320 -0
  38. package/src/core/kernel/kernelInjector.js +19 -0
  39. package/src/core/kernel/store.js +173 -0
  40. package/src/core/{class → logic/dom}/char.js +42 -45
  41. package/src/core/logic/dom/format.js +1075 -0
  42. package/src/core/{class → logic/dom}/html.js +743 -624
  43. package/src/core/logic/dom/inline.js +1847 -0
  44. package/src/core/logic/dom/listFormat.js +601 -0
  45. package/src/core/{class → logic/dom}/nodeTransform.js +92 -72
  46. package/src/core/{class → logic/dom}/offset.js +254 -317
  47. package/src/core/logic/dom/selection.js +754 -0
  48. package/src/core/logic/panel/menu.js +389 -0
  49. package/src/core/logic/panel/toolbar.js +449 -0
  50. package/src/core/logic/panel/viewer.js +761 -0
  51. package/src/core/logic/shell/_commandExecutor.js +380 -0
  52. package/src/core/logic/shell/commandDispatcher.js +241 -0
  53. package/src/core/logic/shell/component.js +970 -0
  54. package/src/core/logic/shell/focusManager.js +110 -0
  55. package/src/core/{base → logic/shell}/history.js +110 -60
  56. package/src/core/logic/shell/pluginManager.js +363 -0
  57. package/src/core/logic/shell/shortcuts.js +130 -0
  58. package/src/core/logic/shell/ui.js +904 -0
  59. package/src/core/schema/context.js +66 -0
  60. package/src/core/schema/frameContext.js +160 -0
  61. package/src/core/schema/options.js +628 -0
  62. package/src/core/section/constructor.js +194 -500
  63. package/src/core/section/documentType.js +297 -222
  64. package/src/events.js +808 -543
  65. package/src/helper/clipboard.js +27 -16
  66. package/src/helper/converter.js +100 -78
  67. package/src/helper/dom/domCheck.js +56 -30
  68. package/src/helper/dom/domQuery.js +159 -89
  69. package/src/helper/dom/domUtils.js +114 -49
  70. package/src/helper/dom/index.js +5 -1
  71. package/src/helper/env.js +26 -26
  72. package/src/helper/index.js +1 -1
  73. package/src/helper/keyCodeMap.js +25 -28
  74. package/src/helper/numbers.js +4 -8
  75. package/src/helper/unicode.js +4 -8
  76. package/src/hooks/base.js +307 -0
  77. package/src/hooks/params.js +130 -0
  78. package/src/interfaces/contracts.js +227 -0
  79. package/src/interfaces/index.js +7 -0
  80. package/src/interfaces/plugins.js +239 -0
  81. package/src/langs/ckb.js +4 -4
  82. package/src/langs/cs.js +4 -4
  83. package/src/langs/da.js +4 -4
  84. package/src/langs/de.js +4 -4
  85. package/src/langs/en.js +4 -4
  86. package/src/langs/es.js +4 -4
  87. package/src/langs/fa.js +4 -4
  88. package/src/langs/fr.js +4 -4
  89. package/src/langs/he.js +4 -4
  90. package/src/langs/hu.js +4 -4
  91. package/src/langs/it.js +4 -4
  92. package/src/langs/ja.js +4 -4
  93. package/src/langs/km.js +4 -4
  94. package/src/langs/ko.js +4 -4
  95. package/src/langs/lv.js +4 -4
  96. package/src/langs/nl.js +4 -4
  97. package/src/langs/pl.js +4 -4
  98. package/src/langs/pt_br.js +13 -13
  99. package/src/langs/ro.js +4 -4
  100. package/src/langs/ru.js +4 -4
  101. package/src/langs/se.js +4 -4
  102. package/src/langs/tr.js +4 -4
  103. package/src/langs/uk.js +4 -4
  104. package/src/langs/ur.js +4 -4
  105. package/src/langs/zh_cn.js +4 -4
  106. package/src/modules/{Browser.js → contract/Browser.js} +119 -128
  107. package/src/modules/{ColorPicker.js → contract/ColorPicker.js} +132 -142
  108. package/src/modules/contract/Controller.js +589 -0
  109. package/src/modules/{Figure.js → contract/Figure.js} +591 -411
  110. package/src/modules/{HueSlider.js → contract/HueSlider.js} +125 -86
  111. package/src/modules/contract/Modal.js +357 -0
  112. package/src/modules/contract/index.js +9 -0
  113. package/src/modules/manager/ApiManager.js +197 -0
  114. package/src/modules/{FileManager.js → manager/FileManager.js} +128 -160
  115. package/src/modules/manager/index.js +5 -0
  116. package/src/modules/{ModalAnchorEditor.js → ui/ModalAnchorEditor.js} +108 -138
  117. package/src/modules/{SelectMenu.js → ui/SelectMenu.js} +119 -120
  118. package/src/modules/{_DragHandle.js → ui/_DragHandle.js} +1 -1
  119. package/src/modules/ui/index.js +6 -0
  120. package/src/plugins/browser/audioGallery.js +23 -26
  121. package/src/plugins/browser/fileBrowser.js +25 -28
  122. package/src/plugins/browser/fileGallery.js +20 -23
  123. package/src/plugins/browser/imageGallery.js +24 -23
  124. package/src/plugins/browser/videoGallery.js +27 -29
  125. package/src/plugins/command/blockquote.js +11 -17
  126. package/src/plugins/command/exportPDF.js +26 -26
  127. package/src/plugins/command/fileUpload.js +138 -133
  128. package/src/plugins/command/list_bulleted.js +48 -44
  129. package/src/plugins/command/list_numbered.js +48 -44
  130. package/src/plugins/dropdown/align.js +64 -50
  131. package/src/plugins/dropdown/backgroundColor.js +34 -35
  132. package/src/plugins/dropdown/{formatBlock.js → blockStyle.js} +43 -37
  133. package/src/plugins/dropdown/font.js +50 -36
  134. package/src/plugins/dropdown/fontColor.js +34 -35
  135. package/src/plugins/dropdown/hr.js +55 -50
  136. package/src/plugins/dropdown/layout.js +20 -15
  137. package/src/plugins/dropdown/lineHeight.js +46 -30
  138. package/src/plugins/dropdown/list.js +32 -33
  139. package/src/plugins/dropdown/paragraphStyle.js +40 -34
  140. package/src/plugins/dropdown/table/index.js +915 -0
  141. package/src/plugins/dropdown/table/render/table.html.js +308 -0
  142. package/src/plugins/dropdown/table/render/table.menu.js +121 -0
  143. package/src/plugins/dropdown/table/services/table.cell.js +465 -0
  144. package/src/plugins/dropdown/table/services/table.clipboard.js +414 -0
  145. package/src/plugins/dropdown/table/services/table.grid.js +504 -0
  146. package/src/plugins/dropdown/table/services/table.resize.js +463 -0
  147. package/src/plugins/dropdown/table/services/table.selection.js +466 -0
  148. package/src/plugins/dropdown/table/services/table.style.js +844 -0
  149. package/src/plugins/dropdown/table/shared/table.constants.js +109 -0
  150. package/src/plugins/dropdown/table/shared/table.utils.js +219 -0
  151. package/src/plugins/dropdown/template.js +20 -15
  152. package/src/plugins/dropdown/textStyle.js +28 -22
  153. package/src/plugins/field/mention.js +54 -49
  154. package/src/plugins/index.js +5 -5
  155. package/src/plugins/input/fontSize.js +100 -97
  156. package/src/plugins/input/pageNavigator.js +13 -10
  157. package/src/plugins/modal/audio.js +208 -219
  158. package/src/plugins/modal/drawing.js +99 -104
  159. package/src/plugins/modal/embed.js +323 -312
  160. package/src/plugins/modal/image/index.js +942 -0
  161. package/src/plugins/modal/image/render/image.html.js +150 -0
  162. package/src/plugins/modal/image/services/image.size.js +198 -0
  163. package/src/plugins/modal/image/services/image.upload.js +216 -0
  164. package/src/plugins/modal/image/shared/image.constants.js +20 -0
  165. package/src/plugins/modal/link.js +74 -54
  166. package/src/plugins/modal/math.js +126 -119
  167. package/src/plugins/modal/video/index.js +858 -0
  168. package/src/plugins/modal/video/render/video.html.js +131 -0
  169. package/src/plugins/modal/video/services/video.size.js +281 -0
  170. package/src/plugins/modal/video/services/video.upload.js +92 -0
  171. package/src/plugins/popup/anchor.js +57 -49
  172. package/src/suneditor.js +73 -61
  173. package/src/themes/cobalt.css +155 -0
  174. package/src/themes/dark.css +143 -120
  175. package/src/typedef.js +214 -63
  176. package/types/assets/icons/defaultIcons.d.ts +8 -0
  177. package/types/assets/suneditor-contents.css.d.ts +1 -0
  178. package/types/assets/suneditor.css.d.ts +1 -0
  179. package/types/core/config/contextProvider.d.ts +148 -0
  180. package/types/core/config/eventManager.d.ts +68 -0
  181. package/types/core/config/instanceCheck.d.ts +33 -0
  182. package/types/core/config/optionProvider.d.ts +147 -0
  183. package/types/core/editor.d.ts +27 -586
  184. package/types/core/event/actions/index.d.ts +50 -0
  185. package/types/core/event/effects/common.registry.d.ts +56 -0
  186. package/types/core/event/effects/keydown.registry.d.ts +80 -0
  187. package/types/core/event/effects/ruleHelpers.d.ts +36 -0
  188. package/types/core/event/eventOrchestrator.d.ts +191 -0
  189. package/types/core/event/executor.d.ts +13 -0
  190. package/types/core/event/handlers/handler_toolbar.d.ts +38 -0
  191. package/types/core/event/handlers/handler_ww_clipboard.d.ts +36 -0
  192. package/types/core/event/handlers/handler_ww_dragDrop.d.ts +26 -0
  193. package/types/core/event/handlers/handler_ww_input.d.ts +38 -0
  194. package/types/core/event/handlers/handler_ww_key.d.ts +40 -0
  195. package/types/core/event/handlers/handler_ww_mouse.d.ts +47 -0
  196. package/types/core/event/ports.d.ts +256 -0
  197. package/types/core/event/reducers/keydown.reducer.d.ts +84 -0
  198. package/types/core/event/rules/keydown.rule.arrow.d.ts +19 -0
  199. package/types/core/event/rules/keydown.rule.backspace.d.ts +18 -0
  200. package/types/core/event/rules/keydown.rule.delete.d.ts +18 -0
  201. package/types/core/event/rules/keydown.rule.enter.d.ts +18 -0
  202. package/types/core/event/rules/keydown.rule.tab.d.ts +18 -0
  203. package/types/core/event/support/defaultLineManager.d.ts +22 -0
  204. package/types/core/event/support/selectionState.d.ts +29 -0
  205. package/types/core/kernel/coreKernel.d.ts +219 -0
  206. package/types/core/kernel/kernelInjector.d.ts +16 -0
  207. package/types/core/kernel/store.d.ts +170 -0
  208. package/types/core/logic/dom/char.d.ts +46 -0
  209. package/types/core/logic/dom/format.d.ts +234 -0
  210. package/types/core/logic/dom/html.d.ts +290 -0
  211. package/types/core/logic/dom/inline.d.ts +93 -0
  212. package/types/core/logic/dom/listFormat.d.ts +101 -0
  213. package/types/core/logic/dom/nodeTransform.d.ts +110 -0
  214. package/types/core/logic/dom/offset.d.ts +335 -0
  215. package/types/core/logic/dom/selection.d.ts +165 -0
  216. package/types/core/logic/panel/menu.d.ts +93 -0
  217. package/types/core/logic/panel/toolbar.d.ts +128 -0
  218. package/types/core/logic/panel/viewer.d.ts +89 -0
  219. package/types/core/logic/shell/_commandExecutor.d.ts +18 -0
  220. package/types/core/logic/shell/commandDispatcher.d.ts +65 -0
  221. package/types/core/logic/shell/component.d.ts +182 -0
  222. package/types/core/logic/shell/focusManager.d.ts +31 -0
  223. package/types/core/{base → logic/shell}/history.d.ts +13 -12
  224. package/types/core/logic/shell/pluginManager.d.ts +115 -0
  225. package/types/core/logic/shell/shortcuts.d.ts +131 -0
  226. package/types/core/logic/shell/ui.d.ts +261 -0
  227. package/types/core/schema/context.d.ts +104 -0
  228. package/types/core/schema/frameContext.d.ts +320 -0
  229. package/types/core/schema/options.d.ts +1241 -0
  230. package/types/core/section/constructor.d.ts +117 -652
  231. package/types/core/section/documentType.d.ts +43 -61
  232. package/types/events.d.ts +796 -65
  233. package/types/helper/clipboard.d.ts +5 -4
  234. package/types/helper/converter.d.ts +55 -43
  235. package/types/helper/dom/domCheck.d.ts +27 -19
  236. package/types/helper/dom/domQuery.d.ts +76 -57
  237. package/types/helper/dom/domUtils.d.ts +62 -39
  238. package/types/helper/dom/index.d.ts +87 -1
  239. package/types/helper/env.d.ts +16 -13
  240. package/types/helper/index.d.ts +8 -2
  241. package/types/helper/keyCodeMap.d.ts +24 -23
  242. package/types/helper/numbers.d.ts +4 -6
  243. package/types/helper/unicode.d.ts +4 -3
  244. package/types/hooks/base.d.ts +239 -0
  245. package/types/hooks/params.d.ts +65 -0
  246. package/types/index.d.ts +20 -117
  247. package/types/interfaces/contracts.d.ts +183 -0
  248. package/types/interfaces/index.d.ts +3 -0
  249. package/types/interfaces/plugins.d.ts +168 -0
  250. package/types/langs/_Lang.d.ts +2 -2
  251. package/types/langs/index.d.ts +2 -2
  252. package/types/modules/contract/Browser.d.ts +262 -0
  253. package/types/modules/contract/ColorPicker.d.ts +99 -0
  254. package/types/modules/contract/Controller.d.ts +204 -0
  255. package/types/modules/contract/Figure.d.ts +529 -0
  256. package/types/modules/{HueSlider.d.ts → contract/HueSlider.d.ts} +39 -28
  257. package/types/modules/contract/Modal.d.ts +62 -0
  258. package/types/modules/contract/index.d.ts +7 -0
  259. package/types/modules/manager/ApiManager.d.ts +106 -0
  260. package/types/modules/manager/FileManager.d.ts +124 -0
  261. package/types/modules/manager/index.d.ts +3 -0
  262. package/types/modules/ui/ModalAnchorEditor.d.ts +152 -0
  263. package/types/modules/ui/SelectMenu.d.ts +107 -0
  264. package/types/modules/{_DragHandle.d.ts → ui/_DragHandle.d.ts} +1 -0
  265. package/types/modules/ui/index.d.ts +4 -0
  266. package/types/plugins/browser/audioGallery.d.ts +33 -41
  267. package/types/plugins/browser/fileBrowser.d.ts +42 -50
  268. package/types/plugins/browser/fileGallery.d.ts +33 -41
  269. package/types/plugins/browser/imageGallery.d.ts +30 -37
  270. package/types/plugins/browser/videoGallery.d.ts +33 -41
  271. package/types/plugins/command/blockquote.d.ts +4 -21
  272. package/types/plugins/command/exportPDF.d.ts +23 -33
  273. package/types/plugins/command/fileUpload.d.ts +80 -100
  274. package/types/plugins/command/list_bulleted.d.ts +9 -35
  275. package/types/plugins/command/list_numbered.d.ts +9 -35
  276. package/types/plugins/dropdown/align.d.ts +23 -46
  277. package/types/plugins/dropdown/backgroundColor.d.ts +35 -53
  278. package/types/plugins/dropdown/blockStyle.d.ts +45 -0
  279. package/types/plugins/dropdown/font.d.ts +18 -41
  280. package/types/plugins/dropdown/fontColor.d.ts +35 -53
  281. package/types/plugins/dropdown/hr.d.ts +26 -52
  282. package/types/plugins/dropdown/layout.d.ts +19 -25
  283. package/types/plugins/dropdown/lineHeight.d.ts +21 -39
  284. package/types/plugins/dropdown/list.d.ts +6 -34
  285. package/types/plugins/dropdown/paragraphStyle.d.ts +34 -45
  286. package/types/plugins/dropdown/table/index.d.ts +158 -0
  287. package/types/plugins/dropdown/table/render/table.html.d.ts +71 -0
  288. package/types/plugins/dropdown/table/render/table.menu.d.ts +59 -0
  289. package/types/plugins/dropdown/table/services/table.cell.d.ts +76 -0
  290. package/types/plugins/dropdown/table/services/table.clipboard.d.ts +26 -0
  291. package/types/plugins/dropdown/table/services/table.grid.d.ts +77 -0
  292. package/types/plugins/dropdown/table/services/table.resize.d.ts +72 -0
  293. package/types/plugins/dropdown/table/services/table.selection.d.ts +59 -0
  294. package/types/plugins/dropdown/table/services/table.style.d.ts +162 -0
  295. package/types/plugins/dropdown/table/shared/table.constants.d.ts +134 -0
  296. package/types/plugins/dropdown/table/shared/table.utils.d.ts +91 -0
  297. package/types/plugins/dropdown/template.d.ts +19 -25
  298. package/types/plugins/dropdown/textStyle.d.ts +23 -30
  299. package/types/plugins/field/mention.d.ts +66 -72
  300. package/types/plugins/index.d.ts +41 -40
  301. package/types/plugins/input/fontSize.d.ts +57 -96
  302. package/types/plugins/input/pageNavigator.d.ts +5 -8
  303. package/types/plugins/modal/audio.d.ts +60 -153
  304. package/types/plugins/modal/drawing.d.ts +16 -118
  305. package/types/plugins/modal/embed.d.ts +46 -166
  306. package/types/plugins/modal/image/index.d.ts +281 -0
  307. package/types/plugins/modal/image/render/image.html.d.ts +45 -0
  308. package/types/plugins/modal/image/services/image.size.d.ts +55 -0
  309. package/types/plugins/modal/image/services/image.upload.d.ts +24 -0
  310. package/types/plugins/modal/image/shared/image.constants.d.ts +17 -0
  311. package/types/plugins/modal/link.d.ts +46 -66
  312. package/types/plugins/modal/math.d.ts +17 -86
  313. package/types/plugins/modal/{video.d.ts → video/index.d.ts} +89 -221
  314. package/types/plugins/modal/video/render/video.html.d.ts +37 -0
  315. package/types/plugins/modal/video/services/video.size.d.ts +74 -0
  316. package/types/plugins/modal/video/services/video.upload.d.ts +19 -0
  317. package/types/plugins/popup/anchor.d.ts +8 -38
  318. package/types/suneditor.d.ts +55 -24
  319. package/types/typedef.d.ts +344 -228
  320. package/CONTRIBUTING.md +0 -186
  321. package/src/core/base/eventHandlers/handler_ww_key_input.js +0 -1200
  322. package/src/core/base/eventHandlers/handler_ww_mouse.js +0 -194
  323. package/src/core/base/eventManager.js +0 -1523
  324. package/src/core/class/component.js +0 -856
  325. package/src/core/class/format.js +0 -3433
  326. package/src/core/class/menu.js +0 -346
  327. package/src/core/class/selection.js +0 -610
  328. package/src/core/class/shortcuts.js +0 -98
  329. package/src/core/class/toolbar.js +0 -431
  330. package/src/core/class/ui.js +0 -424
  331. package/src/core/class/viewer.js +0 -750
  332. package/src/core/section/actives.js +0 -266
  333. package/src/core/section/context.js +0 -102
  334. package/src/editorInjector/_classes.js +0 -36
  335. package/src/editorInjector/_core.js +0 -87
  336. package/src/editorInjector/index.js +0 -73
  337. package/src/modules/ApiManager.js +0 -191
  338. package/src/modules/Controller.js +0 -474
  339. package/src/modules/Modal.js +0 -346
  340. package/src/modules/index.js +0 -14
  341. package/src/plugins/dropdown/table.js +0 -4034
  342. package/src/plugins/modal/image.js +0 -1376
  343. package/src/plugins/modal/video.js +0 -1226
  344. package/types/core/base/eventHandlers/handler_toolbar.d.ts +0 -41
  345. package/types/core/base/eventHandlers/handler_ww_clipboard.d.ts +0 -40
  346. package/types/core/base/eventHandlers/handler_ww_dragDrop.d.ts +0 -35
  347. package/types/core/base/eventHandlers/handler_ww_key_input.d.ts +0 -45
  348. package/types/core/base/eventHandlers/handler_ww_mouse.d.ts +0 -39
  349. package/types/core/base/eventManager.d.ts +0 -401
  350. package/types/core/class/char.d.ts +0 -61
  351. package/types/core/class/component.d.ts +0 -213
  352. package/types/core/class/format.d.ts +0 -623
  353. package/types/core/class/html.d.ts +0 -430
  354. package/types/core/class/menu.d.ts +0 -126
  355. package/types/core/class/nodeTransform.d.ts +0 -93
  356. package/types/core/class/offset.d.ts +0 -522
  357. package/types/core/class/selection.d.ts +0 -188
  358. package/types/core/class/shortcuts.d.ts +0 -142
  359. package/types/core/class/toolbar.d.ts +0 -189
  360. package/types/core/class/ui.d.ts +0 -164
  361. package/types/core/class/viewer.d.ts +0 -140
  362. package/types/core/section/actives.d.ts +0 -46
  363. package/types/core/section/context.d.ts +0 -45
  364. package/types/editorInjector/_classes.d.ts +0 -41
  365. package/types/editorInjector/_core.d.ts +0 -87
  366. package/types/editorInjector/index.d.ts +0 -69
  367. package/types/modules/ApiManager.d.ts +0 -125
  368. package/types/modules/Browser.d.ts +0 -326
  369. package/types/modules/ColorPicker.d.ts +0 -135
  370. package/types/modules/Controller.d.ts +0 -251
  371. package/types/modules/Figure.d.ts +0 -517
  372. package/types/modules/FileManager.d.ts +0 -202
  373. package/types/modules/Modal.d.ts +0 -111
  374. package/types/modules/ModalAnchorEditor.d.ts +0 -236
  375. package/types/modules/SelectMenu.d.ts +0 -194
  376. package/types/modules/index.d.ts +0 -26
  377. package/types/plugins/dropdown/formatBlock.d.ts +0 -55
  378. package/types/plugins/dropdown/table.d.ts +0 -627
  379. package/types/plugins/modal/image.d.ts +0 -451
  380. /package/{LICENSE → LICENSE.txt} +0 -0
@@ -0,0 +1,62 @@
1
+ import type {} from '../../typedef';
2
+ export default Modal;
3
+ /**
4
+ * @class
5
+ * @description Modal window module
6
+ */
7
+ declare class Modal {
8
+ /**
9
+ * @description Create a file input tag in the modal window.
10
+ * @param {{icons: SunEditor.Deps['icons'], lang: SunEditor.Deps['lang']}} param0 - icons and language object
11
+ * @param {{acceptedFormats?: string, allowMultiple?: boolean}} param1 - options
12
+ * - acceptedFormats: `"image/*, video/*, audio/*"`, etc.
13
+ * - allowMultiple: `true` or `false`
14
+ * @returns {string} HTML string
15
+ */
16
+ static CreateFileInput(
17
+ {
18
+ icons,
19
+ lang,
20
+ }: {
21
+ icons: SunEditor.Deps['icons'];
22
+ lang: SunEditor.Deps['lang'];
23
+ },
24
+ {
25
+ acceptedFormats,
26
+ allowMultiple,
27
+ }: {
28
+ acceptedFormats?: string;
29
+ allowMultiple?: boolean;
30
+ },
31
+ ): string;
32
+ /**
33
+ * @description A function called when the contents of `input` have changed and you want to adjust the style.
34
+ * @param {Element} wrapper - Modal file input wrapper(`.se-flex-input-wrapper`)
35
+ * @param {FileList|File[]} files - FileList object
36
+ */
37
+ static OnChangeFile(wrapper: Element, files: FileList | File[]): void;
38
+ /**
39
+ * @description Modal window module
40
+ * @param {*} inst The instance object that called the constructor.
41
+ * @param {SunEditor.Deps} $ Kernel dependencies
42
+ * @param {Element} element Modal element
43
+ */
44
+ constructor(inst: any, $: SunEditor.Deps, element: Element);
45
+ inst: any;
46
+ kind: any;
47
+ form: HTMLElement;
48
+ isUpdate: boolean;
49
+ /** @type {HTMLInputElement} */
50
+ focusElement: HTMLInputElement;
51
+ /**
52
+ * @description Open a modal plugin
53
+ * - The plugin's `init` method is called.
54
+ */
55
+ open(): void;
56
+ /**
57
+ * @description Close a modal plugin
58
+ * - The plugin's `init` and `modalOff` method is called.
59
+ */
60
+ close(): void;
61
+ #private;
62
+ }
@@ -0,0 +1,7 @@
1
+ import type {} from '../../typedef';
2
+ export { default as Browser } from './Browser.js';
3
+ export { default as ColorPicker } from './ColorPicker.js';
4
+ export { default as Controller } from './Controller.js';
5
+ export { default as Figure } from './Figure.js';
6
+ export { default as HueSlider } from './HueSlider.js';
7
+ export { default as Modal } from './Modal.js';
@@ -0,0 +1,106 @@
1
+ import type {} from '../../typedef';
2
+ export default ApiManager;
3
+ export type ApiManagerParams = {
4
+ /**
5
+ * - HTTP method (GET, POST, PUT, DELETE...)
6
+ */
7
+ method?: string;
8
+ /**
9
+ * - API's URL
10
+ */
11
+ url?: string;
12
+ /**
13
+ * - HTTP headers
14
+ */
15
+ headers?: {
16
+ [x: string]: string;
17
+ };
18
+ /**
19
+ * - API data
20
+ */
21
+ data?: any;
22
+ /**
23
+ * - API success callback
24
+ */
25
+ callBack?: (xmlHttp: XMLHttpRequest) => boolean;
26
+ /**
27
+ * - API fail callback
28
+ */
29
+ errorCallBack?: (res: any, xmlHttp: XMLHttpRequest) => string;
30
+ /**
31
+ * - XMLHttpRequest.responseType
32
+ */
33
+ responseType?: XMLHttpRequestResponseType;
34
+ };
35
+ /**
36
+ * @typedef ApiManagerParams
37
+ * @property {string} [method] - HTTP method (GET, POST, PUT, DELETE...)
38
+ * @property {string} [url] - API's URL
39
+ * @property {Object<string, string>} [headers] - HTTP headers
40
+ * @property {*} [data] - API data
41
+ * @property {(xmlHttp: XMLHttpRequest) => boolean} [callBack] - API success callback
42
+ * @property {(res: *, xmlHttp: XMLHttpRequest) => string} [errorCallBack] - API fail callback
43
+ * @property {XMLHttpRequestResponseType} [responseType] - XMLHttpRequest.responseType
44
+ */
45
+ /**
46
+ * @class
47
+ * @description API Manager
48
+ */
49
+ declare class ApiManager {
50
+ /**
51
+ * @constructor
52
+ * @param {*} inst The instance object that called the constructor.
53
+ * @param {SunEditor.Deps} $ Kernel dependencies
54
+ * @param {ApiManagerParams} [params] API options
55
+ */
56
+ constructor(inst: any, $: SunEditor.Deps, params?: ApiManagerParams);
57
+ /**
58
+ * @description Caller instance key name
59
+ * @type {string}
60
+ */
61
+ kind: string;
62
+ method: string;
63
+ url: string;
64
+ headers: {
65
+ [x: string]: string;
66
+ };
67
+ data: any;
68
+ callBack: (xmlHttp: XMLHttpRequest) => boolean;
69
+ errorCallBack: (res: any, xmlHttp: XMLHttpRequest) => string;
70
+ responseType: XMLHttpRequestResponseType;
71
+ /**
72
+ * @description Call API
73
+ * @param {ApiManagerParams} params
74
+ */
75
+ call({ method, url, headers, data, callBack, errorCallBack, responseType }: ApiManagerParams): void;
76
+ /**
77
+ * @description Call Async API
78
+ * @param {Object} params
79
+ * @param {string} [params.method] - HTTP method (GET, POST, PUT, DELETE...)
80
+ * @param {string} [params.url] - API's URL
81
+ * @param {Object<string, string>} [params.headers] - HTTP headers
82
+ * @param {*} [params.data] - API data
83
+ * @param {XMLHttpRequestResponseType} [params.responseType] - XMLHttpRequest.responseType
84
+ * @returns {Promise<XMLHttpRequest>}
85
+ */
86
+ asyncCall({
87
+ method,
88
+ url,
89
+ headers,
90
+ data,
91
+ responseType,
92
+ }: {
93
+ method?: string;
94
+ url?: string;
95
+ headers?: {
96
+ [x: string]: string;
97
+ };
98
+ data?: any;
99
+ responseType?: XMLHttpRequestResponseType;
100
+ }): Promise<XMLHttpRequest>;
101
+ /**
102
+ * @description Cancel API (xhr.abort())
103
+ */
104
+ cancel(): void;
105
+ #private;
106
+ }
@@ -0,0 +1,124 @@
1
+ import type {} from '../../typedef';
2
+ export default FileManager;
3
+ export type FileManagerParams = {
4
+ /**
5
+ * The query selector used to find file elements in the editor
6
+ */
7
+ query: string;
8
+ /**
9
+ * Event name for file load (e.g., `'onImageLoad'`)
10
+ */
11
+ loadEventName: string;
12
+ /**
13
+ * Event name for file action (e.g., `'onImageAction'`)
14
+ */
15
+ actionEventName: string;
16
+ };
17
+ /**
18
+ * @typedef {Object} FileManagerParams
19
+ * @property {string} query The query selector used to find file elements in the editor
20
+ * @property {string} loadEventName Event name for file load (e.g., `'onImageLoad'`)
21
+ * @property {string} actionEventName Event name for file action (e.g., `'onImageAction'`)
22
+ */
23
+ /**
24
+ * @class
25
+ * @description This module manages the file information of the editor.
26
+ */
27
+ declare class FileManager {
28
+ /**
29
+ * @constructor
30
+ * @param {*} inst The instance object that called the constructor.
31
+ * @param {SunEditor.Deps} $ Kernel dependencies
32
+ * @param {FileManagerParams} params FileManager options
33
+ */
34
+ constructor(inst: any, $: SunEditor.Deps, params: FileManagerParams);
35
+ kind: any;
36
+ inst: any;
37
+ query: string;
38
+ loadEventName: string;
39
+ actionEventName: string;
40
+ infoList: any[];
41
+ infoIndex: number;
42
+ uploadFileLength: number;
43
+ __updateTags: any[];
44
+ apiManager: ApiManager;
45
+ /**
46
+ * @description Upload the file to the server.
47
+ * @param {string} uploadUrl Upload server url
48
+ * @param {?Object<string, string>} uploadHeader Request header
49
+ * @param {FileList|File[]|{formData: FormData, size: number}} data FormData in body or Files array
50
+ * @param {?(xmlHttp: XMLHttpRequest) => boolean} [callBack] Success call back function
51
+ * @param {?(res: *, xmlHttp: XMLHttpRequest) => string} [errorCallBack] Error call back function
52
+ */
53
+ upload(
54
+ uploadUrl: string,
55
+ uploadHeader: {
56
+ [x: string]: string;
57
+ } | null,
58
+ data:
59
+ | FileList
60
+ | File[]
61
+ | {
62
+ formData: FormData;
63
+ size: number;
64
+ },
65
+ callBack?: ((xmlHttp: XMLHttpRequest) => boolean) | null,
66
+ errorCallBack?: ((res: any, xmlHttp: XMLHttpRequest) => string) | null,
67
+ ): void;
68
+ /**
69
+ * @description Upload the file to the server.
70
+ * @param {string} uploadUrl Upload server url
71
+ * @param {?Object<string, string>} uploadHeader Request header
72
+ * @param {FileList|File[]|{formData: FormData, size: number}} data FormData in body or Files array
73
+ * @returns {Promise<XMLHttpRequest>}
74
+ */
75
+ asyncUpload(
76
+ uploadUrl: string,
77
+ uploadHeader: {
78
+ [x: string]: string;
79
+ } | null,
80
+ data:
81
+ | FileList
82
+ | File[]
83
+ | {
84
+ formData: FormData;
85
+ size: number;
86
+ },
87
+ ): Promise<XMLHttpRequest>;
88
+ /**
89
+ * @description Set the file information to the element.
90
+ * @param {Node} element File information element
91
+ * @param {Object} params
92
+ * @param {string} params.name File name
93
+ * @param {number} params.size File size
94
+ * @returns
95
+ */
96
+ setFileData(
97
+ element: Node,
98
+ {
99
+ name,
100
+ size,
101
+ }: {
102
+ name: string;
103
+ size: number;
104
+ },
105
+ ): void;
106
+ /**
107
+ * @description Gets the sum of the sizes of the currently saved files.
108
+ * @returns {number} Size
109
+ */
110
+ getSize(): number;
111
+ /**
112
+ * @internal
113
+ * @description Checke the file's information and modify the tag that does not fit the format.
114
+ * @param {boolean} loaded Whether the editor is loaded
115
+ */
116
+ _checkInfo(loaded: boolean): void;
117
+ /**
118
+ * @internal
119
+ * @description Reset info object and `infoList = []`, `infoIndex = 0`
120
+ */
121
+ _resetInfo(): void;
122
+ #private;
123
+ }
124
+ import ApiManager from './ApiManager';
@@ -0,0 +1,3 @@
1
+ import type {} from '../../typedef';
2
+ export { default as ApiManager } from './ApiManager.js';
3
+ export { default as FileManager } from './FileManager.js';
@@ -0,0 +1,152 @@
1
+ import type {} from '../../typedef';
2
+ export default ModalAnchorEditor;
3
+ export type ModalAnchorEditorParams = {
4
+ /**
5
+ * - Modal title display.
6
+ */
7
+ title?: boolean;
8
+ /**
9
+ * - Create Text to display input.
10
+ */
11
+ textToDisplay?: boolean;
12
+ /**
13
+ * - Default checked value of the "Open in new window" checkbox.
14
+ */
15
+ openNewWindow?: boolean;
16
+ /**
17
+ * - If `true`, disables the automatic prefixing of the host URL to the value of the link.
18
+ */
19
+ noAutoPrefix?: boolean;
20
+ /**
21
+ * - The `rel` attribute list of anchor tag.
22
+ */
23
+ relList?: Array<string>;
24
+ /**
25
+ * - Default `rel` attributes of anchor tag.
26
+ */
27
+ defaultRel?: {
28
+ default?: string;
29
+ check_new_window?: string;
30
+ check_bookmark?: string;
31
+ };
32
+ /**
33
+ * - File upload URL.
34
+ */
35
+ uploadUrl?: string;
36
+ /**
37
+ * - File upload headers.
38
+ */
39
+ uploadHeaders?: {
40
+ [x: string]: string;
41
+ };
42
+ /**
43
+ * - File upload size limit.
44
+ */
45
+ uploadSizeLimit?: number;
46
+ /**
47
+ * - File upload single size limit.
48
+ */
49
+ uploadSingleSizeLimit?: number;
50
+ /**
51
+ * - File upload accepted formats.
52
+ */
53
+ acceptedFormats?: string;
54
+ /**
55
+ * - If `true`, enables file upload.
56
+ */
57
+ enableFileUpload?: boolean;
58
+ };
59
+ /**
60
+ * @typedef {Object} ModalAnchorEditorParams
61
+ * @property {boolean} [title=false] - Modal title display.
62
+ * @property {boolean} [textToDisplay=''] - Create Text to display input.
63
+ * @property {boolean} [openNewWindow=false] - Default checked value of the "Open in new window" checkbox.
64
+ * @property {boolean} [noAutoPrefix=false] - If `true`, disables the automatic prefixing of the host URL to the value of the link.
65
+ * @property {Array<string>} [relList=[]] - The `rel` attribute list of anchor tag.
66
+ * @property {{default?: string, check_new_window?: string, check_bookmark?: string}} [defaultRel={}] - Default `rel` attributes of anchor tag.
67
+ * @property {string} [uploadUrl] - File upload URL.
68
+ * @property {Object<string, string>} [uploadHeaders] - File upload headers.
69
+ * @property {number} [uploadSizeLimit] - File upload size limit.
70
+ * @property {number} [uploadSingleSizeLimit] - File upload single size limit.
71
+ * @property {string} [acceptedFormats] - File upload accepted formats.
72
+ * @property {boolean} [enableFileUpload] - If `true`, enables file upload.
73
+ */
74
+ /**
75
+ * @class
76
+ * @description Modal form Anchor tag editor
77
+ * - Use it by inserting it into Modal in a plugin that uses Modal.
78
+ */
79
+ declare class ModalAnchorEditor {
80
+ /**
81
+ * @constructor
82
+ * @param {SunEditor.Deps} $ Kernel dependencies
83
+ * @param {HTMLElement} modalForm Modal <form>
84
+ * @param {ModalAnchorEditorParams} params ModalAnchorEditor options
85
+ */
86
+ constructor($: SunEditor.Deps, modalForm: HTMLElement, params: ModalAnchorEditorParams);
87
+ openNewWindow: boolean;
88
+ relList: string[];
89
+ defaultRel: {
90
+ default?: string;
91
+ check_new_window?: string;
92
+ check_bookmark?: string;
93
+ };
94
+ noAutoPrefix: boolean;
95
+ uploadUrl: string;
96
+ uploadHeaders: {
97
+ [x: string]: string;
98
+ };
99
+ uploadSizeLimit: number;
100
+ uploadSingleSizeLimit: number;
101
+ input: HTMLElement;
102
+ fileManager: FileManager;
103
+ host: string;
104
+ /** @type {HTMLInputElement} */
105
+ urlInput: HTMLInputElement;
106
+ /** @type {HTMLInputElement} */
107
+ displayInput: HTMLInputElement;
108
+ /** @type {HTMLInputElement} */
109
+ titleInput: HTMLInputElement;
110
+ /** @type {HTMLInputElement} */
111
+ newWindowCheck: HTMLInputElement;
112
+ /** @type {HTMLInputElement} */
113
+ downloadCheck: HTMLInputElement;
114
+ /** @type {HTMLElement} */
115
+ download: HTMLElement;
116
+ /** @type {HTMLElement} */
117
+ preview: HTMLElement;
118
+ /** @type {HTMLElement} */
119
+ bookmark: HTMLElement;
120
+ /** @type {HTMLButtonElement} */
121
+ bookmarkButton: HTMLButtonElement;
122
+ currentRel: any[];
123
+ currentTarget: HTMLAnchorElement;
124
+ linkValue: string;
125
+ /** @type {HTMLButtonElement} */
126
+ relButton: HTMLButtonElement;
127
+ /** @type {HTMLElement} */
128
+ relPreview: HTMLElement;
129
+ /**
130
+ * @description Initialize.
131
+ * - Sets the current anchor element to be edited.
132
+ * @param {Node} element Modal target element
133
+ */
134
+ set(element: Node): void;
135
+ /**
136
+ * @description Opens the anchor editor modal and populates it with data.
137
+ * @param {boolean} isUpdate - Indicates whether an existing anchor is being updated (`true`) or a new one is being created (`false`).
138
+ */
139
+ on(isUpdate: boolean): void;
140
+ /**
141
+ * @description Creates an anchor (`<a>`) element with the specified attributes.
142
+ * @param {boolean} notText - If `true`, the anchor will not contain text content.
143
+ * @returns {HTMLElement|null} - The newly created anchor element, or `null` if the URL is empty.
144
+ */
145
+ create(notText: boolean): HTMLElement | null;
146
+ /**
147
+ * @description Resets the ModalAnchorEditor to its initial state.
148
+ */
149
+ init(): void;
150
+ #private;
151
+ }
152
+ import FileManager from '../manager/FileManager';
@@ -0,0 +1,107 @@
1
+ import type {} from '../../typedef';
2
+ export default SelectMenu;
3
+ export type SelectMenuParams = {
4
+ /**
5
+ * Position of the select menu, specified as `"[left|right]-[middle|top|bottom]"` or `"[top|bottom]-[center|left|right]"`
6
+ */
7
+ position: string;
8
+ /**
9
+ * Flag to determine if the checklist is enabled (`true` or `false`)
10
+ */
11
+ checkList?: boolean;
12
+ /**
13
+ * Optional text direction: `"rtl"` for right-to-left, `"ltr"` for left-to-right
14
+ */
15
+ dir?: 'rtl' | 'ltr';
16
+ /**
17
+ * Optional split number for horizontal positioning; defines how many items per row
18
+ */
19
+ splitNum?: number;
20
+ /**
21
+ * Optional method to call when the menu is opened
22
+ */
23
+ openMethod?: () => void;
24
+ /**
25
+ * Optional method to call when the menu is closed
26
+ */
27
+ closeMethod?: () => void;
28
+ };
29
+ /**
30
+ * @typedef {Object} SelectMenuParams
31
+ * @property {string} position Position of the select menu, specified as `"[left|right]-[middle|top|bottom]"` or `"[top|bottom]-[center|left|right]"`
32
+ * @property {boolean} [checkList=false] Flag to determine if the checklist is enabled (`true` or `false`)
33
+ * @property {"rtl" | "ltr"} [dir="ltr"] Optional text direction: `"rtl"` for right-to-left, `"ltr"` for left-to-right
34
+ * @property {number} [splitNum=0] Optional split number for horizontal positioning; defines how many items per row
35
+ * @property {() => void} [openMethod] Optional method to call when the menu is opened
36
+ * @property {() => void} [closeMethod] Optional method to call when the menu is closed
37
+ */
38
+ /**
39
+ * @class
40
+ * @description Creates a select menu
41
+ */
42
+ declare class SelectMenu {
43
+ /**
44
+ * @constructor
45
+ * @param {SunEditor.Deps} $ Kernel dependencies
46
+ * @param {SelectMenuParams} params SelectMenu options
47
+ */
48
+ constructor($: SunEditor.Deps, params: SelectMenuParams);
49
+ form: HTMLElement;
50
+ items: any[];
51
+ /** @type {HTMLLIElement[]} */
52
+ menus: HTMLLIElement[];
53
+ menuLen: number;
54
+ index: number;
55
+ item: any;
56
+ isOpen: boolean;
57
+ checkList: boolean;
58
+ position: string;
59
+ subPosition: string;
60
+ splitNum: number;
61
+ horizontal: boolean;
62
+ openMethod: () => void;
63
+ closeMethod: () => void;
64
+ /**
65
+ * @description Creates the select menu items.
66
+ * @param {Array<string>|SunEditor.NodeCollection} items - Command list of selectable items.
67
+ * @param {Array<string>|SunEditor.NodeCollection} [menus] - Optional list of menu display elements; defaults to `items`.
68
+ */
69
+ create(items: Array<string> | SunEditor.NodeCollection, menus?: Array<string> | SunEditor.NodeCollection): void;
70
+ /**
71
+ * @description Initializes the select menu and attaches it to a reference element.
72
+ * @param {Node} referElement - The element that triggers the select menu.
73
+ * @param {(command: string) => void} selectMethod - The function to execute when an item is selected.
74
+ * @param {{class?: string, style?: string}} [attr={}] - Additional attributes for the select menu container.
75
+ */
76
+ on(
77
+ referElement: Node,
78
+ selectMethod: (command: string) => void,
79
+ attr?: {
80
+ class?: string;
81
+ style?: string;
82
+ },
83
+ ): void;
84
+ /**
85
+ * @description Select menu open
86
+ * @param {?string} [position] `"[left|right]-[middle|top|bottom] | [top|bottom]-[center|left|right]"`
87
+ * @param {?string} [onItemQuerySelector] The querySelector string of the menu to be activated
88
+ */
89
+ open(position?: string | null, onItemQuerySelector?: string | null): void;
90
+ /**
91
+ * @description Select menu close
92
+ */
93
+ close(): void;
94
+ /**
95
+ * @description Get the index of the selected item
96
+ * @param {number} index Item index
97
+ * @returns
98
+ */
99
+ getItem(index: number): any;
100
+ /**
101
+ * @description Set the index of the selected item
102
+ * @param {number} index Item index
103
+ */
104
+ setItem(index: number): void;
105
+ _onItem: Element;
106
+ #private;
107
+ }
@@ -1,3 +1,4 @@
1
+ import type {} from '../../typedef';
1
2
  /**
2
3
  * @module _DragHandle
3
4
  * @description A module that handles drag and drop events.
@@ -0,0 +1,4 @@
1
+ import type {} from '../../typedef';
2
+ export { default as _DragHandle } from './_DragHandle.js';
3
+ export { default as ModalAnchorEditor } from './ModalAnchorEditor.js';
4
+ export { default as SelectMenu } from './SelectMenu.js';
@@ -1,55 +1,47 @@
1
+ import type {} from '../../typedef';
1
2
  export default AudioGallery;
2
- export type BrowserFile_audioGallery = import('../../modules/Browser').BrowserFile;
3
+ export type AudioGalleryPluginOptions = {
4
+ /**
5
+ * - Direct data without server calls
6
+ */
7
+ data?: Array<SunEditor.Module.Browser.File>;
8
+ /**
9
+ * - Server request URL
10
+ */
11
+ url?: string;
12
+ /**
13
+ * - Server request headers
14
+ */
15
+ headers?: {
16
+ [x: string]: string;
17
+ };
18
+ /**
19
+ * - Default thumbnail
20
+ */
21
+ thumbnail?: string | ((item: SunEditor.Module.Browser.File) => string);
22
+ };
3
23
  /**
4
- * @typedef {import('../../modules/Browser').BrowserFile} BrowserFile_audioGallery
24
+ * @typedef {Object} AudioGalleryPluginOptions
25
+ * @property {Array<SunEditor.Module.Browser.File>} [data] - Direct data without server calls
26
+ * @property {string} [url] - Server request URL
27
+ * @property {Object<string, string>} [headers] - Server request headers
28
+ * @property {string|((item: SunEditor.Module.Browser.File) => string)} [thumbnail] - Default thumbnail
5
29
  */
6
30
  /**
7
31
  * @class
8
- * @extends EditorInjector
9
32
  * @description Audio gallery plugin
10
33
  */
11
- declare class AudioGallery extends EditorInjector {
12
- static key: string;
13
- static type: string;
14
- static className: string;
34
+ declare class AudioGallery extends PluginBrowser {
15
35
  /**
16
36
  * @constructor
17
- * @param {__se__EditorCore} editor - The root editor instance
18
- * @param {Object} pluginOptions
19
- * @param {Array<*>=} pluginOptions.data - direct data without server calls
20
- * @param {string} pluginOptions.url - server request url
21
- * @param {Object<string, string>=} pluginOptions.headers - server request headers
22
- * @param {string|((item: BrowserFile_audioGallery) => string)} pluginOptions.thumbnail - default thumbnail
37
+ * @param {SunEditor.Kernel} kernel - The core kernel
38
+ * @param {AudioGalleryPluginOptions} pluginOptions
23
39
  */
24
- constructor(
25
- editor: __se__EditorCore,
26
- pluginOptions: {
27
- data?: Array<any> | undefined;
28
- url: string;
29
- headers?:
30
- | {
31
- [x: string]: string;
32
- }
33
- | undefined;
34
- thumbnail: string | ((item: BrowserFile_audioGallery) => string);
35
- }
36
- );
40
+ constructor(kernel: SunEditor.Kernel, pluginOptions: AudioGalleryPluginOptions);
37
41
  title: any;
38
- icon: string;
39
- onSelectfunction: (targe: Node) => any;
42
+ onSelectfunction: (target: Node) => any;
40
43
  browser: Browser;
41
- /**
42
- * @editorMethod Modules.Browser
43
- * @description Executes the method that is called when a "Browser" module's is opened.
44
- * @param {?(targe: Node) => *=} onSelectfunction method to be executed after selecting an item in the gallery
45
- */
46
- open(onSelectfunction?: (((targe: Node) => any) | null) | undefined): void;
47
- /**
48
- * @editorMethod Modules.Browser
49
- * @description Executes the method that is called when a "Browser" module's is closed.
50
- */
51
- close(): void;
52
44
  #private;
53
45
  }
54
- import EditorInjector from '../../editorInjector';
55
- import { Browser } from '../../modules';
46
+ import { PluginBrowser } from '../../interfaces';
47
+ import { Browser } from '../../modules/contract';