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,64 +1,46 @@
1
+ import type {} from '../../typedef';
1
2
  export default FontColor;
3
+ export type FontColorPluginOptions = {
4
+ /**
5
+ * - Color list
6
+ */
7
+ items?: Array<
8
+ | string
9
+ | {
10
+ value: string;
11
+ name: string;
12
+ }
13
+ >;
14
+ /**
15
+ * - Number of colors per line
16
+ */
17
+ splitNum?: number;
18
+ /**
19
+ * - Disable HEX input
20
+ */
21
+ disableHEXInput?: boolean;
22
+ };
23
+ /**
24
+ * @typedef {Object} FontColorPluginOptions
25
+ * @property {Array<string|{value: string, name: string}>} [items] - Color list
26
+ * @property {number} [splitNum] - Number of colors per line
27
+ * @property {boolean} [disableHEXInput] - Disable HEX input
28
+ */
2
29
  /**
3
30
  * @class
4
31
  * @description Font color plugin
5
32
  */
6
- declare class FontColor extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
33
+ declare class FontColor extends PluginDropdownFree {
10
34
  /**
11
35
  * @constructor
12
- * @param {__se__EditorCore} editor - The root editor instance
13
- * @param {Object} pluginOptions
14
- * @param {Array<string|{value: string, name: string}>} pluginOptions.items - Color list
15
- * @param {number} pluginOptions.splitNum - Number of colors per line
16
- * @param {boolean} pluginOptions.disableHEXInput - Disable HEX input
36
+ * @param {SunEditor.Kernel} editor - The core kernel
37
+ * @param {FontColorPluginOptions} pluginOptions - Plugin options
17
38
  */
18
- constructor(
19
- editor: __se__EditorCore,
20
- pluginOptions: {
21
- items: Array<
22
- | string
23
- | {
24
- value: string;
25
- name: string;
26
- }
27
- >;
28
- splitNum: number;
29
- disableHEXInput: boolean;
30
- }
31
- );
39
+ constructor(editor: SunEditor.Kernel, pluginOptions: FontColorPluginOptions);
32
40
  title: any;
33
- icon: string;
34
41
  colorPicker: ColorPicker;
35
- /**
36
- * @editorMethod Editor.EventManager
37
- * @description Executes the method that is called whenever the cursor position changes.
38
- * @param {?HTMLElement=} element - Node element where the cursor is currently located
39
- * @param {?HTMLElement=} target - The plugin's toolbar button element
40
- * @returns {boolean} - Whether the plugin is active
41
- * - If it returns "undefined", it will no longer be called in this scope.
42
- */
43
- active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
44
- /**
45
- * @editorMethod Modules.Dropdown
46
- * @description Executes the method that is called when a plugin's dropdown menu is opened.
47
- * @param {HTMLElement} target Line element at the current cursor position
48
- */
49
- on(target: HTMLElement): void;
50
- /**
51
- * @editorMethod Modules.Dropdown
52
- * @Override Executes the method that is called when a plugin's dropdown menu is closed.
53
- */
54
- off(): void;
55
- /**
56
- * @editorMethod Modules.ColorPicker
57
- * @description Executes the method called when a button of "ColorPicker" module is clicked.
58
- * - This plugin is by applying the "ColorPicker" module globally to the "dropdown" menu, the default "action" method is not called.
59
- * @param {string} color - Color code (hex)
60
- */
61
- colorPickerAction(color: string): void;
42
+ active(element: HTMLElement | null, target: HTMLElement | null): boolean | void;
43
+ colorPickerAction(color: SunEditor.Module.HueSlider.Color): void;
62
44
  }
63
- import EditorInjector from '../../editorInjector';
64
- import ColorPicker from '../../modules/ColorPicker';
45
+ import { PluginDropdownFree } from '../../interfaces';
46
+ import { ColorPicker } from '../../modules/contract';
@@ -1,71 +1,45 @@
1
+ import type {} from '../../typedef';
1
2
  export default HR;
3
+ export type HRPluginOptions = {
4
+ /**
5
+ * - HR list
6
+ */
7
+ items?: Array<{
8
+ name: string;
9
+ class: string;
10
+ style?: string;
11
+ }>;
12
+ };
13
+ /**
14
+ * @typedef {Object} HRPluginOptions
15
+ * @property {Array<{name: string, class: string, style?: string}>} [items] - HR list
16
+ */
2
17
  /**
3
18
  * @class
4
19
  * @description HR Plugin
5
20
  */
6
- declare class HR extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
21
+ declare class HR extends PluginDropdown {
10
22
  /**
11
- * @this {HR}
12
23
  * @param {HTMLElement} node - The node to check.
13
24
  * @returns {HTMLElement|null} Returns a node if the node is a valid component.
14
25
  */
15
- static component(this: HR, node: HTMLElement): HTMLElement | null;
26
+ static component(node: HTMLElement): HTMLElement | null;
16
27
  /**
17
28
  * @constructor
18
- * @param {__se__EditorCore} editor - The root editor instance
19
- * @param {Object} pluginOptions
20
- * @param {Array<{name: string, class: string}>} pluginOptions.items - HR list
29
+ * @param {SunEditor.Kernel} editor - The core kernel
30
+ * @param {HRPluginOptions} pluginOptions - Plugin options
21
31
  */
22
- constructor(
23
- editor: __se__EditorCore,
24
- pluginOptions: {
25
- items: Array<{
26
- name: string;
27
- class: string;
28
- }>;
29
- }
30
- );
32
+ constructor(editor: SunEditor.Kernel, pluginOptions: HRPluginOptions);
31
33
  title: any;
32
- icon: string;
33
34
  list: NodeListOf<HTMLButtonElement>;
35
+ componentSelect(target: HTMLElement): void | boolean;
36
+ componentDeselect(target: HTMLElement): void;
37
+ componentDestroy(target: HTMLElement): Promise<void>;
38
+ shortcut(params: SunEditor.HookParams.Shortcut): void;
34
39
  /**
35
- * @editorMethod Editor.Component
36
- * @description Executes the method that is called when a component of a plugin is selected.
37
- * @param {HTMLElement} target Target component element
38
- */
39
- select(target: HTMLElement): void;
40
- /**
41
- * @editorMethod Editor.Component
42
- * @description Called when a container is deselected.
43
- * @param {HTMLElement} element Target element
44
- */
45
- deselect(element: HTMLElement): void;
46
- /**
47
- * @editorMethod Editor.Component
48
- * @description Method to delete a component of a plugin, called by the "FileManager", "Controller" module.
49
- * @param {HTMLElement} target Target element
50
- */
51
- destroy(target: HTMLElement): void;
52
- /**
53
- * @editorMethod Editor.core
54
- * @description Executes the main execution method of the plugin.
55
- * - Called when an item in the "dropdown" menu is clicked.
56
- * @param {HTMLElement} target - The plugin's toolbar button element
57
- */
58
- action(target: HTMLElement): void;
59
- /**
60
- * @editorMethod Editor.core
61
- * @description Executes methods called by shortcut keys.
62
- * @param {__se__PluginShortcutInfo} params - Information of the "shortcut" plugin
63
- */
64
- shortcut({ line, range }: __se__PluginShortcutInfo): void;
65
- /**
66
- * @description Add a hr element
40
+ * @description Add a `hr` element
67
41
  * @param {string} className HR class name
68
42
  */
69
43
  submit(className: string): HTMLElement;
70
44
  }
71
- import EditorInjector from '../../editorInjector';
45
+ import { PluginDropdown } from '../../interfaces';
@@ -1,40 +1,34 @@
1
+ import type {} from '../../typedef';
1
2
  export default Layout;
3
+ export type LayoutPluginOptions = {
4
+ /**
5
+ * - Layout list
6
+ */
7
+ items?: Array<{
8
+ name: string;
9
+ html: string;
10
+ }>;
11
+ };
12
+ /**
13
+ * @typedef {Object} LayoutPluginOptions
14
+ * @property {Array<{name: string, html: string}>} [items] - Layout list
15
+ */
2
16
  /**
3
17
  * @class
4
18
  * @description Layout Plugin, Apply layout to the entire editor.
5
19
  */
6
- declare class Layout extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
20
+ declare class Layout 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 - Layout list
23
+ * @param {SunEditor.Kernel} editor - The core kernel
24
+ * @param {LayoutPluginOptions} 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: LayoutPluginOptions);
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,51 +1,33 @@
1
+ import type {} from '../../typedef';
1
2
  export default LineHeight;
3
+ export type LineHeightPluginOptions = {
4
+ /**
5
+ * - Line height list
6
+ */
7
+ items?: Array<{
8
+ text: string;
9
+ value: string;
10
+ }>;
11
+ };
12
+ /**
13
+ * @typedef {Object} LineHeightPluginOptions
14
+ * @property {Array<{text: string, value: string}>} [items] - Line height list
15
+ */
2
16
  /**
3
17
  * @class
4
18
  * @description Line height Plugin
5
19
  */
6
- declare class LineHeight extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
20
+ declare class LineHeight extends PluginDropdown {
10
21
  /**
11
22
  * @constructor
12
- * @param {__se__EditorCore} editor - The root editor instance
13
- * @param {Object} pluginOptions
14
- * @param {Array<{text: string, value: number}>} pluginOptions.items - Line height list
23
+ * @param {SunEditor.Kernel} editor - The core kernel
24
+ * @param {LineHeightPluginOptions} pluginOptions - Plugin options
15
25
  */
16
- constructor(
17
- editor: __se__EditorCore,
18
- pluginOptions: {
19
- items: Array<{
20
- text: string;
21
- value: number;
22
- }>;
23
- }
24
- );
26
+ constructor(editor: SunEditor.Kernel, pluginOptions: LineHeightPluginOptions);
25
27
  title: any;
26
- icon: string;
27
28
  sizeList: NodeListOf<Element>;
28
29
  currentSize: any;
29
- /**
30
- * @editorMethod Editor.EventManager
31
- * @description Executes the method that is called whenever the cursor position changes.
32
- * @param {?HTMLElement=} element - Node element where the cursor is currently located
33
- * @param {?HTMLElement=} target - The plugin's toolbar button element
34
- * @returns {boolean} - Whether the plugin is active
35
- * - If it returns "undefined", it will no longer be called in this scope.
36
- */
37
- active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
38
- /**
39
- * @editorMethod Modules.Dropdown
40
- * @description Executes the method that is called when a plugin's dropdown menu is opened.
41
- */
42
- on(): void;
43
- /**
44
- * @editorMethod Editor.core
45
- * @description Executes the main execution method of the plugin.
46
- * - Called when an item in the "dropdown" menu is clicked.
47
- * @param {HTMLElement} target - The plugin's toolbar button element
48
- */
49
- action(target: HTMLElement): void;
30
+ active(element: HTMLElement | null, target: HTMLElement | null): boolean | void;
31
+ #private;
50
32
  }
51
- import EditorInjector from '../../editorInjector';
33
+ import { PluginDropdown } from '../../interfaces';
@@ -1,40 +1,12 @@
1
+ import type {} from '../../typedef';
1
2
  export default List;
2
3
  /**
3
4
  * @class
4
- * @description List Plugin (OL, UL)
5
+ * @description List Plugin (`OL`, `UL`)
5
6
  */
6
- declare class List extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
7
+ declare class List extends PluginDropdown {
10
8
  title: any;
11
- icon: string;
12
- listItems: NodeListOf<Element>;
13
- icons: {
14
- bulleted: string;
15
- numbered: string;
16
- };
17
- /**
18
- * @editorMethod Editor.EventManager
19
- * @description Executes the method that is called whenever the cursor position changes.
20
- * @param {?HTMLElement=} element - Node element where the cursor is currently located
21
- * @param {?HTMLElement=} target - The plugin's toolbar button element
22
- * @returns {boolean} - Whether the plugin is active
23
- * - If it returns "undefined", it will no longer be called in this scope.
24
- */
25
- active(element?: (HTMLElement | null) | undefined, target?: (HTMLElement | null) | undefined): boolean;
26
- /**
27
- * @editorMethod Modules.Dropdown
28
- * @description Executes the method that is called when a plugin's dropdown menu is opened.
29
- * @param {HTMLElement} target Line element at the current cursor position
30
- */
31
- on(target: HTMLElement): void;
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;
9
+ active(element: HTMLElement | null, target: HTMLElement | null): boolean | void;
10
+ #private;
39
11
  }
40
- import EditorInjector from '../../editorInjector';
12
+ import { PluginDropdown } from '../../interfaces';
@@ -1,54 +1,43 @@
1
+ import type {} from '../../typedef';
1
2
  export default ParagraphStyle;
3
+ export type ParagraphStylePluginOptions = {
4
+ /**
5
+ * - Paragraph item list
6
+ */
7
+ items?: Array<
8
+ | string
9
+ | {
10
+ name: string;
11
+ class: string;
12
+ _class: string;
13
+ }
14
+ >;
15
+ };
16
+ /**
17
+ * @typedef {Object} ParagraphStylePluginOptions
18
+ * @property {Array<string|{name: string, class: string, _class: string}>} [items] - Paragraph item list
19
+ * @example
20
+ * use default paragraph styles
21
+ * ['spaced', 'bordered', 'neon']
22
+ * custom paragraph styles
23
+ * [
24
+ * { name: 'spaced', class: '__se__p-spaced', _class: '' },
25
+ * { name: 'bordered', class: '__se__p-bordered', _class: '' },
26
+ * { name: 'neon', class: '__se__p-neon', _class: '' }
27
+ * ]
28
+ */
2
29
  /**
3
30
  * @class
4
31
  * @description A plugin to style lines using classes.
5
32
  */
6
- declare class ParagraphStyle extends EditorInjector {
7
- static key: string;
8
- static type: string;
9
- static className: string;
33
+ declare class ParagraphStyle extends PluginDropdown {
10
34
  /**
11
- * @constructor
12
- * @param {__se__EditorCore} editor - The root editor instance
13
- * @param {Object} pluginOptions
14
- * @param {Array<string|{name: string, class: string, _class: string}>} pluginOptions.items - Paragraph item list
15
- * @example
16
- * use default paragraph styles
17
- * ['spaced', 'bordered', 'neon']
18
- * custom paragraph styles
19
- [
20
- { name: 'spaced', class: '__se__p-spaced', _class: '' },
21
- { name: 'bordered', class: '__se__p-bordered', _class: '' },
22
- { name: 'neon', class: '__se__p-neon', _class: ''}
23
- ]
24
- */
25
- constructor(
26
- editor: __se__EditorCore,
27
- pluginOptions: {
28
- items: Array<
29
- | string
30
- | {
31
- name: string;
32
- class: string;
33
- _class: string;
34
- }
35
- >;
36
- }
37
- );
35
+ * @constructor
36
+ * @param {SunEditor.Kernel} editor - The core kernel
37
+ * @param {ParagraphStylePluginOptions} pluginOptions - Plugin options
38
+ */
39
+ constructor(editor: SunEditor.Kernel, pluginOptions: ParagraphStylePluginOptions);
38
40
  title: any;
39
- icon: string;
40
41
  classList: NodeListOf<Element>;
41
- /**
42
- * @editorMethod Modules.Dropdown
43
- * @description Executes the method that is called when a plugin's dropdown menu is opened.
44
- */
45
- on(): void;
46
- /**
47
- * @editorMethod Editor.core
48
- * @description Executes the main execution method of the plugin.
49
- * - Called when an item in the "dropdown" menu is clicked.
50
- * @param {HTMLElement} target - The plugin's toolbar button element
51
- */
52
- action(target: HTMLElement): void;
53
42
  }
54
- import EditorInjector from '../../editorInjector';
43
+ import { PluginDropdown } from '../../interfaces';
@@ -0,0 +1,158 @@
1
+ import type {} from '../../../typedef';
2
+ export default Table;
3
+ export type TablePluginOptions = {
4
+ /**
5
+ * - Scroll type (`x`, `y`, `xy`)
6
+ */
7
+ scrollType?: 'x' | 'y' | 'xy';
8
+ /**
9
+ * - Caption position (`top`, `bottom`)
10
+ */
11
+ captionPosition?: 'top' | 'bottom';
12
+ /**
13
+ * - Cell controller position (`cell`, `table`)
14
+ */
15
+ cellControllerPosition?: 'cell' | 'table';
16
+ /**
17
+ * - Color list, used in cell color picker
18
+ */
19
+ colorList?: any[];
20
+ };
21
+ export type TableState = import('./shared/table.constants').TableState;
22
+ /**
23
+ * @typedef {Object} TablePluginOptions
24
+ * @property {"x"|"y"|"xy"} [scrollType='x'] - Scroll type (`x`, `y`, `xy`)
25
+ * @property {"top"|"bottom"} [captionPosition='bottom'] - Caption position (`top`, `bottom`)
26
+ * @property {"cell"|"table"} [cellControllerPosition='cell'] - Cell controller position (`cell`, `table`)
27
+ * @property {Array} [colorList] - Color list, used in cell color picker
28
+ */
29
+ /**
30
+ * @typedef {import('./shared/table.constants').TableState} TableState
31
+ */
32
+ /**
33
+ * @class
34
+ * @description Table Plugin
35
+ */
36
+ declare class Table extends PluginDropdownFree {
37
+ static options: {
38
+ isInputComponent: boolean;
39
+ };
40
+ /**
41
+ * @param {HTMLElement} node - The node to check.
42
+ * @returns {HTMLElement|null} Returns a node if the node is a valid component.
43
+ */
44
+ static component(node: HTMLElement): HTMLElement | null;
45
+ /**
46
+ * @constructor
47
+ * @param {SunEditor.Kernel} editor - The core kernel
48
+ * @param {TablePluginOptions} pluginOptions - Plugin options
49
+ */
50
+ constructor(editor: SunEditor.Kernel, pluginOptions: TablePluginOptions);
51
+ title: any;
52
+ figureScrollList: string[];
53
+ figureScroll: string;
54
+ captionPosition: string;
55
+ cellControllerTop: boolean;
56
+ controller_cell: Controller;
57
+ controller_table: Controller;
58
+ figure: Figure;
59
+ /**
60
+ * @description Same value as `this._selectedTable`, but it maintains the prev table element
61
+ * @type {HTMLTableElement}
62
+ */
63
+ _element: HTMLTableElement;
64
+ state: Constants.TableState;
65
+ cellService: TableCellService;
66
+ clipboardService: TableClipboardService;
67
+ gridService: TableGridService;
68
+ resizeService: TableResizeService;
69
+ selectionService: TableSelectionService;
70
+ styleService: TableStyleService;
71
+ /**
72
+ * @template {keyof import('./shared/table.constants').TableState} K
73
+ * @param {K} key
74
+ * @param {import('./shared/table.constants').TableState[K]} value
75
+ */
76
+ setState<K extends keyof import('./shared/table.constants').TableState>(key: K, value: import('./shared/table.constants').TableState[K]): void;
77
+ componentSelect(target: HTMLElement): void | boolean;
78
+ componentDeselect(target: HTMLElement): void;
79
+ componentDestroy(target: HTMLElement): Promise<void>;
80
+ componentCopy(params: SunEditor.HookParams.CopyComponent): boolean | void;
81
+ onPaste(params: SunEditor.HookParams.Paste): void | boolean;
82
+ retainFormat(): {
83
+ query: string;
84
+ method: (element: HTMLElement) => void;
85
+ };
86
+ setDir(dir: string): void;
87
+ onMouseMove(params: SunEditor.HookParams.MouseEvent): void;
88
+ onMouseDown(params: SunEditor.HookParams.MouseEvent): void | boolean;
89
+ onMouseUp(params: SunEditor.HookParams.MouseEvent): void;
90
+ onMouseLeave(params: SunEditor.HookParams.MouseEvent): void;
91
+ onKeyDown(params: SunEditor.HookParams.KeyEvent): void | boolean;
92
+ onKeyUp(params: SunEditor.HookParams.KeyEvent): void | boolean;
93
+ onScroll(params: SunEditor.HookParams.Scroll): void;
94
+ controllerAction(target: HTMLButtonElement): void;
95
+ /**
96
+ * @description Sets various table-related information based on the provided table cell element (`<td>`). This includes updating cell, row, and table attributes, handling spanning cells, and adjusting the UI for elements like headers and captions.
97
+ * @param {HTMLTableCellElement} tdElement The target table cell (`<td>`) element from which table information will be extracted.
98
+ * @param {boolean} reset A flag indicating whether to reset the cell information. If `true`, the cell information will be reset and recalculated.
99
+ */
100
+ setCellInfo(tdElement: HTMLTableCellElement, reset: boolean): void;
101
+ /**
102
+ * @description Sets row-related information based on the provided table row element (`<tr>`). This includes updating the row count and the index of the selected row.
103
+ * @param {HTMLTableRowElement} trElement The target table row (`<tr>`) element from which row information will be extracted.
104
+ */
105
+ setRowInfo(trElement: HTMLTableRowElement): void;
106
+ /**
107
+ * @description Sets the table and figure elements based on the provided cell element, and stores references to them for later use.
108
+ * @param {Node} element The target table cell (`<td>`) element from which the table info will be extracted.
109
+ * @returns {HTMLTableElement} The `<table>` element that is the parent of the provided `element`.
110
+ */
111
+ setTableInfo(element: Node): HTMLTableElement;
112
+ /**
113
+ * @description Resets the internal state related to table cell selection,
114
+ * - clearing any selected cells and removing associated styles and event listeners.
115
+ */
116
+ resetInfo(): void;
117
+ /**
118
+ * @description Adds a new entry to the history stack.
119
+ */
120
+ historyPush(): void;
121
+ /**
122
+ * @internal
123
+ * @description Sets the controller position for a cell.
124
+ * @param {HTMLTableCellElement} tdElement - The target table cell.
125
+ */
126
+ _setController(tdElement: HTMLTableCellElement): void;
127
+ /**
128
+ * @internal
129
+ * @description Sets the position of the cell controller.
130
+ * @param {HTMLTableCellElement} tdElement - The target table cell.
131
+ * @param {boolean} reset - Whether to reset the controller position.
132
+ */
133
+ _setCellControllerPosition(tdElement: HTMLTableCellElement, reset: boolean): void;
134
+ /**
135
+ * @description Enables or disables editor mode.
136
+ * @param {boolean} enabled Whether to enable or disable the editor.
137
+ */
138
+ _editorEnable(enabled: boolean): void;
139
+ /**
140
+ * @description Closes table-related controllers.
141
+ */
142
+ _closeController(): void;
143
+ /**
144
+ * @description Closes table-related controllers and table figure
145
+ */
146
+ _closeTableSelectInfo(): void;
147
+ #private;
148
+ }
149
+ import { PluginDropdownFree } from '../../../interfaces';
150
+ import { Controller } from '../../../modules/contract';
151
+ import { Figure } from '../../../modules/contract';
152
+ import TableCellService from './services/table.cell';
153
+ import TableClipboardService from './services/table.clipboard';
154
+ import TableGridService from './services/table.grid';
155
+ import TableResizeService from './services/table.resize';
156
+ import TableSelectionService from './services/table.selection';
157
+ import TableStyleService from './services/table.style';
158
+ import * as Constants from './shared/table.constants';