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,134 @@
1
+ import type {} from '../../../../typedef';
2
+ export const ROW_SELECT_MARGIN: 6;
3
+ export const CELL_SELECT_MARGIN: 6;
4
+ export const CELL_DECIMAL_END: 0;
5
+ export const RESIZE_CELL_CLASS: '.se-table-resize-line';
6
+ export const RESIZE_CELL_PREV_CLASS: '.se-table-resize-line-prev';
7
+ export const RESIZE_ROW_CLASS: '.se-table-resize-row';
8
+ export const RESIZE_ROW_PREV_CLASS: '.se-table-resize-row-prev';
9
+ export const BORDER_LIST: string[];
10
+ export namespace BORDER_FORMATS {
11
+ let all: string;
12
+ let inside: string;
13
+ let horizon: string;
14
+ let vertical: string;
15
+ let outside: string;
16
+ let left: string;
17
+ let top: string;
18
+ let right: string;
19
+ let bottom: string;
20
+ let none: string;
21
+ }
22
+ export const BORDER_FORMAT_INSIDE: string[];
23
+ export namespace BORDER_NS {
24
+ let l: string;
25
+ let t: string;
26
+ let r: string;
27
+ let b: string;
28
+ }
29
+ export const DEFAULT_BORDER_UNIT: 'px';
30
+ export const DEFAULT_COLOR_LIST: string[];
31
+ /**
32
+ * @typedef {Object} TableState
33
+ * @property {number} physical_cellCnt The number of physical cells in the current row.
34
+ * @property {number} logical_cellCnt The number of logical cells (columns) in the table.
35
+ * @property {number} cellCnt Alias for `logical_cellCnt`.
36
+ * @property {number} rowCnt The total number of rows in the table.
37
+ * @property {number} rowIndex The index of the current row.
38
+ * @property {number} physical_cellIndex The physical index of the current cell.
39
+ * @property {number} logical_cellIndex The logical index of the current cell (taking colspan into account).
40
+ * @property {number} current_colSpan The colspan of the current cell.
41
+ * @property {number} current_rowSpan The rowspan of the current cell.
42
+ * @property {boolean} isShiftPressed Whether the shift key is pressed (multi-selection mode).
43
+ * @property {Object|null} ref Reference object for multi-selection range calculation.
44
+ * @property {HTMLElement|null} figureElement The figure element wrapping the table.
45
+ * @property {HTMLTableElement|null} selectedTable The selected table element.
46
+ * @property {HTMLTableRowElement|null} trElement The currently active row element.
47
+ * @property {HTMLCollectionOf<HTMLTableRowElement>|HTMLTableRowElement[]|null} trElements The collection of rows in the table.
48
+ * @property {HTMLTableCellElement|null} tdElement The currently active cell element.
49
+ * @property {HTMLTableCellElement|null} fixedCell The anchor cell for selection.
50
+ * @property {HTMLTableCellElement|null} selectedCell The last selected cell.
51
+ * @property {HTMLTableCellElement[]|null} selectedCells Array of currently selected cells.
52
+ */
53
+ /**
54
+ * @type {TableState}
55
+ */
56
+ export const INITIAL_STATE: TableState;
57
+ export type TableState = {
58
+ /**
59
+ * The number of physical cells in the current row.
60
+ */
61
+ physical_cellCnt: number;
62
+ /**
63
+ * The number of logical cells (columns) in the table.
64
+ */
65
+ logical_cellCnt: number;
66
+ /**
67
+ * Alias for `logical_cellCnt`.
68
+ */
69
+ cellCnt: number;
70
+ /**
71
+ * The total number of rows in the table.
72
+ */
73
+ rowCnt: number;
74
+ /**
75
+ * The index of the current row.
76
+ */
77
+ rowIndex: number;
78
+ /**
79
+ * The physical index of the current cell.
80
+ */
81
+ physical_cellIndex: number;
82
+ /**
83
+ * The logical index of the current cell (taking colspan into account).
84
+ */
85
+ logical_cellIndex: number;
86
+ /**
87
+ * The colspan of the current cell.
88
+ */
89
+ current_colSpan: number;
90
+ /**
91
+ * The rowspan of the current cell.
92
+ */
93
+ current_rowSpan: number;
94
+ /**
95
+ * Whether the shift key is pressed (multi-selection mode).
96
+ */
97
+ isShiftPressed: boolean;
98
+ /**
99
+ * Reference object for multi-selection range calculation.
100
+ */
101
+ ref: any | null;
102
+ /**
103
+ * The figure element wrapping the table.
104
+ */
105
+ figureElement: HTMLElement | null;
106
+ /**
107
+ * The selected table element.
108
+ */
109
+ selectedTable: HTMLTableElement | null;
110
+ /**
111
+ * The currently active row element.
112
+ */
113
+ trElement: HTMLTableRowElement | null;
114
+ /**
115
+ * The collection of rows in the table.
116
+ */
117
+ trElements: HTMLCollectionOf<HTMLTableRowElement> | HTMLTableRowElement[] | null;
118
+ /**
119
+ * The currently active cell element.
120
+ */
121
+ tdElement: HTMLTableCellElement | null;
122
+ /**
123
+ * The anchor cell for selection.
124
+ */
125
+ fixedCell: HTMLTableCellElement | null;
126
+ /**
127
+ * The last selected cell.
128
+ */
129
+ selectedCell: HTMLTableCellElement | null;
130
+ /**
131
+ * Array of currently selected cells.
132
+ */
133
+ selectedCells: HTMLTableCellElement[] | null;
134
+ };
@@ -0,0 +1,91 @@
1
+ import type {} from '../../../../typedef';
2
+ /** ================================================================================================================================ */
3
+ /**
4
+ * @description Checks if the given node is a resizable table element.
5
+ * @param {Node} node The DOM node to check.
6
+ * @returns {boolean} True if the node is a table-related resizable element.
7
+ */
8
+ export function IsResizeEls(node: Node): boolean;
9
+ /**
10
+ * @description Check table caption
11
+ * @param {Node} node The DOM node to check.
12
+ * @returns {boolean}
13
+ */
14
+ export function IsTableCaption(node: Node): boolean;
15
+ /**
16
+ * @description Checks if a table cell is at its edge based on the mouse event.
17
+ * @param {MouseEvent} event The mouse event.
18
+ * @param {Element} tableCell The table cell to check.
19
+ * @returns {Object} An object containing edge detection details.
20
+ */
21
+ export function CheckCellEdge(event: MouseEvent, tableCell: Element): any;
22
+ /**
23
+ * @description Checks if a row is at its edge based on the mouse event.
24
+ * @param {MouseEvent} event The mouse event.
25
+ * @param {Element} tableCell The table row cell to check.
26
+ * @returns {Object} An object containing row edge detection details.
27
+ */
28
+ export function CheckRowEdge(event: MouseEvent, tableCell: Element): any;
29
+ /**
30
+ * @description Creates table cells as elements strings.
31
+ * @param {string} nodeName The tag name of the cell (`TD` or `TH`).
32
+ * @param {number} cnt The number of cells to create.
33
+ * @returns {string} The created cells string.
34
+ */
35
+ export function CreateCellsString(nodeName: string, cnt: number): string;
36
+ /**
37
+ * @description Creates table cells as element HTML.
38
+ * @param {string} nodeName The tag name of the cell (`TD` or `TH`).
39
+ * @returns {HTMLTableCellElement} The created cell element.
40
+ */
41
+ export function CreateCellsHTML(nodeName: string): HTMLTableCellElement;
42
+ /**
43
+ * @description Gets the maximum number of columns in a table.
44
+ * @param {HTMLTableElement} table The table element.
45
+ * @returns {number} The maximum number of columns in the table.
46
+ */
47
+ export function GetMaxColumns(table: HTMLTableElement): number;
48
+ /**
49
+ * @description Gets the logical cell index for a cell in a table.
50
+ * @param {HTMLTableElement} table The table element.
51
+ * @param {number} rowIndex The physical row index.
52
+ * @param {number} cellIndex The physical cell index.
53
+ * @returns {number} The logical cell index.
54
+ */
55
+ export function GetLogicalCellIndex(table: HTMLTableElement, rowIndex: number, cellIndex: number): number;
56
+ /**
57
+ * @description Clone a table element and map selected cells to the cloned table
58
+ * @param {HTMLTableElement} table `<table>` element
59
+ * @param {HTMLTableCellElement[]} selectedCells Selected cells array
60
+ * @returns {{ clonedTable: HTMLTableElement, clonedSelectedCells: HTMLTableCellElement[] }}
61
+ */
62
+ export function CloneTable(
63
+ table: HTMLTableElement,
64
+ selectedCells: HTMLTableCellElement[],
65
+ ): {
66
+ clonedTable: HTMLTableElement;
67
+ clonedSelectedCells: HTMLTableCellElement[];
68
+ };
69
+ /**
70
+ * @description Clear table cache
71
+ * @param {HTMLTableElement} table The table element.
72
+ */
73
+ export function InvalidateTableCache(table: HTMLTableElement): void;
74
+ /**
75
+ * @description Cache for selected cell range references. (Use drag cells)
76
+ * - Stores the calculated logical start/end positions (row, col) for a given selection.
77
+ * @type {WeakMap<HTMLTableElement, Map<string, {cs: number, ce: number, rs: number, re: number, _i: number}>>}
78
+ */
79
+ export const refCache: WeakMap<
80
+ HTMLTableElement,
81
+ Map<
82
+ string,
83
+ {
84
+ cs: number;
85
+ ce: number;
86
+ rs: number;
87
+ re: number;
88
+ _i: number;
89
+ }
90
+ >
91
+ >;
@@ -1,40 +1,34 @@
1
+ import type {} from '../../typedef';
1
2
  export default Template;
3
+ export type TemplatePluginOptions = {
4
+ /**
5
+ * - Template list
6
+ */
7
+ items?: Array<{
8
+ name: string;
9
+ html: string;
10
+ }>;
11
+ };
12
+ /**
13
+ * @typedef {Object} TemplatePluginOptions
14
+ * @property {Array<{name: string, html: string}>} [items] - Template list
15
+ */
2
16
  /**
3
17
  * @class
4
18
  * @description Template Plugin, Apply a template to the selection.
5
19
  */
6
- declare class Template extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
20
+ declare class Template extends PluginDropdown {
10
21
  /**
11
22
  * @constructor
12
- * @param {__se__EditorCore} editor - The root editor instance
13
- * @param {Object} pluginOptions
14
- * @param {Array<{name: string, html: string}>} pluginOptions.items - Template list
23
+ * @param {SunEditor.Kernel} editor - The core kernel
24
+ * @param {TemplatePluginOptions} pluginOptions - Plugin options
15
25
  */
16
- constructor(
17
- editor: __se__EditorCore,
18
- pluginOptions: {
19
- items: Array<{
20
- name: string;
21
- html: string;
22
- }>;
23
- }
24
- );
26
+ constructor(editor: SunEditor.Kernel, pluginOptions: TemplatePluginOptions);
25
27
  title: any;
26
- icon: string;
27
28
  selectedIndex: number;
28
29
  items: {
29
30
  name: string;
30
31
  html: string;
31
32
  }[];
32
- /**
33
- * @editorMethod Editor.core
34
- * @description Executes the main execution method of the plugin.
35
- * - Called when an item in the "dropdown" menu is clicked.
36
- * @param {HTMLElement} target - The plugin's toolbar button element
37
- */
38
- action(target: HTMLElement): void;
39
33
  }
40
- import EditorInjector from '../../editorInjector';
34
+ import { PluginDropdown } from '../../interfaces';
@@ -1,41 +1,34 @@
1
+ import type {} from '../../typedef';
1
2
  export default TextStyle;
3
+ export type TextStylePluginOptions = {
4
+ /**
5
+ * - Text style item list
6
+ */
7
+ items?: Array<
8
+ | string
9
+ | {
10
+ name: string;
11
+ class: string;
12
+ tag?: string;
13
+ }
14
+ >;
15
+ };
16
+ /**
17
+ * @typedef {Object} TextStylePluginOptions
18
+ * @property {Array<string|{name: string, class: string, tag?: string}>} [items] - Text style item list
19
+ */
2
20
  /**
3
21
  * @class
4
22
  * @description Text style Plugin, Applies a tag that specifies text styles to a selection.
5
23
  */
6
- declare class TextStyle extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
24
+ declare class TextStyle extends PluginDropdown {
10
25
  /**
11
26
  * @constructor
12
- * @param {__se__EditorCore} editor - The root editor instance
13
- * @param {Object} pluginOptions
14
- * @param {Array<{name: string, html: string}>} pluginOptions.items - Template list
27
+ * @param {SunEditor.Kernel} editor - The core kernel
28
+ * @param {TextStylePluginOptions} pluginOptions - Plugin options
15
29
  */
16
- constructor(
17
- editor: __se__EditorCore,
18
- pluginOptions: {
19
- items: Array<{
20
- name: string;
21
- html: string;
22
- }>;
23
- }
24
- );
30
+ constructor(editor: SunEditor.Kernel, pluginOptions: TextStylePluginOptions);
25
31
  title: any;
26
- icon: string;
27
32
  styleList: NodeListOf<Element>;
28
- /**
29
- * @editorMethod Modules.Dropdown
30
- * @description Executes the method that is called when a plugin's dropdown menu is opened.
31
- */
32
- on(): void;
33
- /**
34
- * @editorMethod Editor.core
35
- * @description Executes the main execution method of the plugin.
36
- * - Called when an item in the "dropdown" menu is clicked.
37
- * @param {HTMLElement} target - The plugin's toolbar button element
38
- */
39
- action(target: HTMLElement): void;
40
33
  }
41
- import EditorInjector from '../../editorInjector';
34
+ import { PluginDropdown } from '../../interfaces';
@@ -1,4 +1,61 @@
1
+ import type {} from '../../typedef';
1
2
  export default Mention;
3
+ export type MentionPluginOptions = {
4
+ /**
5
+ * - The character that triggers the mention list.
6
+ */
7
+ triggerText?: string;
8
+ /**
9
+ * - The number of items to display in the mention list
10
+ */
11
+ limitSize?: number;
12
+ /**
13
+ * - The number of characters to start searching for the mention list
14
+ */
15
+ searchStartLength?: number;
16
+ /**
17
+ * - The time to wait before displaying the mention list
18
+ */
19
+ delayTime?: number;
20
+ /**
21
+ * - Use data without using API
22
+ */
23
+ data?: Array<{
24
+ key: string;
25
+ name: string;
26
+ url: string;
27
+ }>;
28
+ /**
29
+ * - The URL to call the mention list
30
+ */
31
+ apiUrl?: string;
32
+ /**
33
+ * - The headers to send with the API call
34
+ */
35
+ apiHeaders?: {
36
+ [x: string]: string;
37
+ };
38
+ /**
39
+ * - Whether to cache the mention list data
40
+ */
41
+ useCachingData?: boolean;
42
+ /**
43
+ * - Whether to cache the mention list data in the field
44
+ */
45
+ useCachingFieldData?: boolean;
46
+ };
47
+ /**
48
+ * @typedef {Object} MentionPluginOptions
49
+ * @property {string} [triggerText="@"] - The character that triggers the mention list.
50
+ * @property {number} [limitSize=5] - The number of items to display in the mention list
51
+ * @property {number} [searchStartLength=0] - The number of characters to start searching for the mention list
52
+ * @property {number} [delayTime=200] - The time to wait before displaying the mention list
53
+ * @property {Array<{key: string, name: string, url: string}>} [data] - Use data without using API
54
+ * @property {string} [apiUrl] - The URL to call the mention list
55
+ * @property {Object<string, string>} [apiHeaders] - The headers to send with the API call
56
+ * @property {boolean} [useCachingData=true] - Whether to cache the mention list data
57
+ * @property {boolean} [useCachingFieldData=true] - Whether to cache the mention list data in the field
58
+ */
2
59
  /**
3
60
  * @class
4
61
  * @description Mention Plugin
@@ -7,50 +64,14 @@ export default Mention;
7
64
  * - Supports fetching mention data from an API or a predefined data array.
8
65
  * - Uses caching for optimized performance.
9
66
  */
10
- declare class Mention extends EditorInjector {
11
- static key: string;
12
- static type: string;
13
- static className: string;
67
+ declare class Mention extends PluginField {
14
68
  /**
15
69
  * @constructor
16
- * @param {__se__EditorCore} editor - The root editor instance
17
- * @param {Object} pluginOptions
18
- * @param {string=} [pluginOptions.triggerText="@"] The character that triggers the mention list. Default is '@'.
19
- * @param {number=} [pluginOptions.limitSize=5] The number of items to display in the mention list. Default is 5.
20
- * @param {number=} [pluginOptions.searchStartLength=0] The number of characters to start searching for the mention list. Default is 0.
21
- * @param {number=} [pluginOptions.delayTime=200] The time to wait before displaying the mention list. Default is 200ms.
22
- * @param {Array<{key: string, name: string, url: string}>=} pluginOptions.data Use data without using API.
23
- * @param {string=} pluginOptions.apiUrl The URL to call the mention list. Default is ''.
24
- * @param {Object<string, string>=} pluginOptions.apiHeaders The headers to send with the API call. Default is {}.
25
- * @param {boolean=} [pluginOptions.useCachingData=true] Whether to cache the mention list data. Default is true.
26
- * @param {boolean=} [pluginOptions.useCachingFieldData=true] Whether to cache the mention list data in the field. Default is true.
70
+ * @param {SunEditor.Kernel} editor - The core kernel
71
+ * @param {MentionPluginOptions} pluginOptions
27
72
  */
28
- constructor(
29
- editor: __se__EditorCore,
30
- pluginOptions: {
31
- triggerText?: string | undefined;
32
- limitSize?: number | undefined;
33
- searchStartLength?: number | undefined;
34
- delayTime?: number | undefined;
35
- data?:
36
- | Array<{
37
- key: string;
38
- name: string;
39
- url: string;
40
- }>
41
- | undefined;
42
- apiUrl?: string | undefined;
43
- apiHeaders?:
44
- | {
45
- [x: string]: string;
46
- }
47
- | undefined;
48
- useCachingData?: boolean | undefined;
49
- useCachingFieldData?: boolean | undefined;
50
- }
51
- );
73
+ constructor(editor: SunEditor.Kernel, pluginOptions: MentionPluginOptions);
52
74
  title: any;
53
- icon: string;
54
75
  triggerText: string;
55
76
  limitSize: number;
56
77
  searchStartLength: number;
@@ -61,42 +82,15 @@ declare class Mention extends EditorInjector {
61
82
  url: string;
62
83
  }[];
63
84
  apiUrl: string;
64
- _delay: number;
65
- _lastAtPos: number;
66
- _anchorOffset: number;
67
- _anchorNode: Node;
68
85
  apiManager: ApiManager;
69
86
  cachingData: Map<any, any>;
70
87
  cachingFieldData: any[];
71
88
  selectMenu: SelectMenu;
72
89
  controller: Controller;
73
- /**
74
- * @editorMethod Editor.EventManager
75
- * @description Executes the event function of "input".
76
- * @returns {Promise<boolean>}
77
- */
78
- onInput(): Promise<boolean>;
79
- /**
80
- * @private
81
- * @description Generates the mention list based on user input.
82
- * - Fetches data from cache, direct data, or an API.
83
- * - Creates and opens the mention dropdown.
84
- * - Caches the fetched data for future use.
85
- * @param {string} value - The mention query text.
86
- * @param {Node} targetNode - The node where the mention is triggered.
87
- * @returns {Promise<boolean>} - Returns `true` if the mention list is displayed, `false` otherwise.
88
- */
89
- private _createMentionList;
90
- /**
91
- * @private
92
- * @description Constructs the API request URL with the mention query.
93
- * @param {string} key - The mention query text.
94
- * @returns {string} - The formatted API request URL.
95
- */
96
- private _createUrl;
90
+ onInput(params: SunEditor.HookParams.InputWithData): Promise<void>;
97
91
  #private;
98
92
  }
99
- import EditorInjector from '../../editorInjector';
100
- import { ApiManager } from '../../modules';
101
- import { SelectMenu } from '../../modules';
102
- import { Controller } from '../../modules';
93
+ import { PluginField } from '../../interfaces';
94
+ import { Controller } from '../../modules/contract';
95
+ import { ApiManager } from '../../modules/manager';
96
+ import { SelectMenu } from '../../modules/ui';
@@ -1,3 +1,4 @@
1
+ import type {} from '../typedef';
1
2
  declare namespace _default {
2
3
  export { blockquote };
3
4
  export { exportPDF };
@@ -11,7 +12,7 @@ declare namespace _default {
11
12
  export { backgroundColor };
12
13
  export { list };
13
14
  export { table };
14
- export { formatBlock };
15
+ export { blockStyle };
15
16
  export { hr };
16
17
  export { layout };
17
18
  export { lineHeight };
@@ -35,73 +36,73 @@ declare namespace _default {
35
36
  export { anchor };
36
37
  }
37
38
  export default _default;
39
+ import audioGallery from './browser/audioGallery';
40
+ import fileBrowser from './browser/fileBrowser';
41
+ import fileGallery from './browser/fileGallery';
42
+ import imageGallery from './browser/imageGallery';
43
+ import videoGallery from './browser/videoGallery';
38
44
  import blockquote from './command/blockquote';
39
45
  import exportPDF from './command/exportPDF';
40
46
  import fileUpload from './command/fileUpload';
41
47
  import list_bulleted from './command/list_bulleted';
42
48
  import list_numbered from './command/list_numbered';
43
- import mention from './field/mention';
44
49
  import align from './dropdown/align';
50
+ import backgroundColor from './dropdown/backgroundColor';
51
+ import blockStyle from './dropdown/blockStyle';
45
52
  import font from './dropdown/font';
46
53
  import fontColor from './dropdown/fontColor';
47
- import backgroundColor from './dropdown/backgroundColor';
48
- import list from './dropdown/list';
49
- import table from './dropdown/table';
50
- import formatBlock from './dropdown/formatBlock';
51
54
  import hr from './dropdown/hr';
52
55
  import layout from './dropdown/layout';
53
56
  import lineHeight from './dropdown/lineHeight';
54
- import template from './dropdown/template';
57
+ import list from './dropdown/list';
55
58
  import paragraphStyle from './dropdown/paragraphStyle';
59
+ import table from './dropdown/table';
60
+ import template from './dropdown/template';
56
61
  import textStyle from './dropdown/textStyle';
57
- import link from './modal/link';
58
- import image from './modal/image';
59
- import video from './modal/video';
62
+ import mention from './field/mention';
63
+ import fontSize from './input/fontSize';
64
+ import pageNavigator from './input/pageNavigator';
60
65
  import audio from './modal/audio';
66
+ import drawing from './modal/drawing';
61
67
  import embed from './modal/embed';
68
+ import image from './modal/image';
69
+ import link from './modal/link';
62
70
  import math from './modal/math';
63
- import drawing from './modal/drawing';
64
- import imageGallery from './browser/imageGallery';
65
- import videoGallery from './browser/videoGallery';
66
- import audioGallery from './browser/audioGallery';
67
- import fileGallery from './browser/fileGallery';
68
- import fileBrowser from './browser/fileBrowser';
69
- import fontSize from './input/fontSize';
70
- import pageNavigator from './input/pageNavigator';
71
+ import video from './modal/video';
71
72
  import anchor from './popup/anchor';
72
73
  export {
74
+ align,
75
+ anchor,
76
+ audio,
77
+ audioGallery,
78
+ backgroundColor,
73
79
  blockquote,
80
+ blockStyle,
81
+ drawing,
82
+ embed,
74
83
  exportPDF,
84
+ fileBrowser,
85
+ fileGallery,
75
86
  fileUpload,
76
- list_bulleted,
77
- list_numbered,
78
- mention,
79
- align,
80
87
  font,
81
88
  fontColor,
82
- backgroundColor,
83
- list,
84
- table,
85
- formatBlock,
89
+ fontSize,
86
90
  hr,
91
+ image,
92
+ imageGallery,
87
93
  layout,
88
94
  lineHeight,
89
- template,
95
+ link,
96
+ list,
97
+ list_bulleted,
98
+ list_numbered,
99
+ math,
100
+ mention,
101
+ pageNavigator,
90
102
  paragraphStyle,
103
+ table,
104
+ template,
91
105
  textStyle,
92
- link,
93
- image,
94
106
  video,
95
- audio,
96
- embed,
97
- math,
98
- drawing,
99
- imageGallery,
100
107
  videoGallery,
101
- audioGallery,
102
- fileGallery,
103
- fileBrowser,
104
- fontSize,
105
- pageNavigator,
106
- anchor
107
108
  };