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,71 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Creates the initial HTML structure for the table plugin.
4
+ * @returns {HTMLDivElement}
5
+ */
6
+ export function CreateHTML(): HTMLDivElement;
7
+ /**
8
+ * @description Creates the table controller HTML.
9
+ * @param {SunEditor.Deps} $ - Kernel dependencies
10
+ * @returns {HTMLDivElement}
11
+ */
12
+ export function CreateHTML_controller_table({ lang, icons }: SunEditor.Deps): HTMLDivElement;
13
+ /**
14
+ * @param {SunEditor.Deps} $ - Kernel dependencies
15
+ * @param {boolean} cellControllerTop - Whether to position cell controller on top
16
+ * @returns {{ html: HTMLElement, splitButton: HTMLButtonElement, columnButton: HTMLButtonElement, rowButton: HTMLButtonElement, mergeButton: HTMLButtonElement, unmergeButton: HTMLButtonElement }}
17
+ */
18
+ export function CreateHTML_controller_cell(
19
+ { lang, icons }: SunEditor.Deps,
20
+ cellControllerTop: boolean,
21
+ ): {
22
+ html: HTMLElement;
23
+ splitButton: HTMLButtonElement;
24
+ columnButton: HTMLButtonElement;
25
+ rowButton: HTMLButtonElement;
26
+ mergeButton: HTMLButtonElement;
27
+ unmergeButton: HTMLButtonElement;
28
+ };
29
+ /**
30
+ * @typedef {Object} TableCtrlProps
31
+ * @property {HTMLElement} html
32
+ * @property {HTMLElement} controller_props_title
33
+ * @property {HTMLButtonElement} borderButton
34
+ * @property {HTMLButtonElement} borderFormatButton
35
+ * @property {HTMLElement} cell_alignment
36
+ * @property {HTMLElement} cell_alignment_vertical
37
+ * @property {HTMLElement} cell_alignment_table_text
38
+ * @property {HTMLButtonElement} border_style
39
+ * @property {HTMLInputElement} border_color
40
+ * @property {HTMLInputElement} border_width
41
+ * @property {HTMLInputElement} back_color
42
+ * @property {HTMLInputElement} font_color
43
+ * @property {HTMLButtonElement} palette_border_button
44
+ * @property {HTMLButtonElement} font_bold
45
+ * @property {HTMLButtonElement} font_underline
46
+ * @property {HTMLButtonElement} font_italic
47
+ * @property {HTMLButtonElement} font_strike
48
+ *
49
+ * @param {SunEditor.Deps} $ - Kernel deps
50
+ * @returns {TableCtrlProps}
51
+ */
52
+ export function CreateHTML_controller_properties({ lang, icons, options }: SunEditor.Deps): TableCtrlProps;
53
+ export type TableCtrlProps = {
54
+ html: HTMLElement;
55
+ controller_props_title: HTMLElement;
56
+ borderButton: HTMLButtonElement;
57
+ borderFormatButton: HTMLButtonElement;
58
+ cell_alignment: HTMLElement;
59
+ cell_alignment_vertical: HTMLElement;
60
+ cell_alignment_table_text: HTMLElement;
61
+ border_style: HTMLButtonElement;
62
+ border_color: HTMLInputElement;
63
+ border_width: HTMLInputElement;
64
+ back_color: HTMLInputElement;
65
+ font_color: HTMLInputElement;
66
+ palette_border_button: HTMLButtonElement;
67
+ font_bold: HTMLButtonElement;
68
+ font_underline: HTMLButtonElement;
69
+ font_italic: HTMLButtonElement;
70
+ font_strike: HTMLButtonElement;
71
+ };
@@ -0,0 +1,59 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Creates the split menu items.
4
+ * @param {Object} lang - Language object.
5
+ * @returns {{items: string[], menus: NodeListOf<Element>}}
6
+ */
7
+ export function CreateSplitMenu(lang: any): {
8
+ items: string[];
9
+ menus: NodeListOf<Element>;
10
+ };
11
+ /**
12
+ * @description Creates the column menu items.
13
+ * @param {Object} lang - Language object.
14
+ * @param {Object} icons - Icons object.
15
+ * @returns {{items: string[], menus: NodeListOf<Element>}}
16
+ */
17
+ export function CreateColumnMenu(
18
+ lang: any,
19
+ icons: any,
20
+ ): {
21
+ items: string[];
22
+ menus: NodeListOf<Element>;
23
+ };
24
+ /**
25
+ * @description Creates the row menu items.
26
+ * @param {Object} lang - Language object.
27
+ * @param {Object} icons - Icons object.
28
+ * @returns {{items: string[], menus: NodeListOf<Element>}}
29
+ */
30
+ export function CreateRowMenu(
31
+ lang: any,
32
+ icons: any,
33
+ ): {
34
+ items: string[];
35
+ menus: NodeListOf<Element>;
36
+ };
37
+ /**
38
+ * @description Creates the border style menu items.
39
+ * @returns {{items: string[], menus: NodeListOf<Element>}}
40
+ */
41
+ export function CreateBorderMenu(): {
42
+ items: string[];
43
+ menus: NodeListOf<Element>;
44
+ };
45
+ /**
46
+ * @description Creates the border format menu items.
47
+ * @param {Object} langs - Language object.
48
+ * @param {Object} icons - Icons object.
49
+ * @param {string[]} indideFormats - Formats to exclude.
50
+ * @returns {{items: string[], menus: NodeListOf<Element>}}
51
+ */
52
+ export function CreateBorderFormatMenu(
53
+ langs: any,
54
+ icons: any,
55
+ indideFormats: string[],
56
+ ): {
57
+ items: string[];
58
+ menus: NodeListOf<Element>;
59
+ };
@@ -0,0 +1,76 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Handles table cell operations including merging, splitting,
4
+ * - and multi-cell selection management.
5
+ */
6
+ export class TableCellService {
7
+ /**
8
+ * @param {import('../index').default} main Table index
9
+ * @param {{
10
+ * mergeButton: HTMLButtonElement,
11
+ * unmergeButton: HTMLButtonElement,
12
+ * splitButton: HTMLButtonElement,
13
+ * openCellMenuFunc: ()=>void,
14
+ * closeCellMenuFunc: ()=>void
15
+ * }} options Options for table service
16
+ */
17
+ constructor(
18
+ main: import('../index').default,
19
+ {
20
+ mergeButton,
21
+ unmergeButton,
22
+ splitButton,
23
+ openCellMenuFunc,
24
+ closeCellMenuFunc,
25
+ }: {
26
+ mergeButton: HTMLButtonElement;
27
+ unmergeButton: HTMLButtonElement;
28
+ splitButton: HTMLButtonElement;
29
+ openCellMenuFunc: () => void;
30
+ closeCellMenuFunc: () => void;
31
+ },
32
+ );
33
+ mergeButton: HTMLButtonElement;
34
+ unmergeButton: HTMLButtonElement;
35
+ splitButton: HTMLButtonElement;
36
+ selectMenu_split: SelectMenu;
37
+ /**
38
+ * @description Opens the split menu.
39
+ */
40
+ openSplitMenu(): void;
41
+ /**
42
+ * @description Merges the selected table cells into one cell by combining their contents and adjusting their row and column spans.
43
+ * - This method removes the selected cells, consolidates their contents, and applies the appropriate row and column spans to the merged cell.
44
+ * @param {HTMLTableCellElement[]} selectedCells Cells array
45
+ * @param {boolean} [skipPostProcess=false] - If `true`, skips table cloning, cell re-selection, history stack push, and rendering.
46
+ */
47
+ mergeCells(selectedCells: HTMLTableCellElement[], skipPostProcess?: boolean): void;
48
+ /**
49
+ * @description Unmerges a table cell that has been merged using rowspan and/or colspan.
50
+ * @param {HTMLTableCellElement[]} selectedCells - Cells array
51
+ * @param {boolean} [skipPostProcess=false] - If `true`, skips table cloning, cell re-selection, history stack push, and rendering.
52
+ */
53
+ unmergeCells(selectedCells: HTMLTableCellElement[], skipPostProcess?: boolean): void;
54
+ /**
55
+ * @description Find merged cells
56
+ * @param {HTMLTableCellElement[]} cells - Cells array
57
+ */
58
+ findMergedCells(cells: HTMLTableCellElement[]): any[];
59
+ /**
60
+ * @description Sets the merge/split button visibility.
61
+ */
62
+ setMergeSplitButton(): void;
63
+ /**
64
+ * @description Sets the unmerge button visibility.
65
+ */
66
+ setUnMergeButton(): void;
67
+ /**
68
+ * @internal
69
+ * @description Splits a table cell either vertically or horizontally.
70
+ * @param {"vertical"|"horizontal"} direction The direction to split the cell.
71
+ */
72
+ _OnSplitCells(direction: 'vertical' | 'horizontal'): void;
73
+ #private;
74
+ }
75
+ export default TableCellService;
76
+ import { SelectMenu } from '../../../../modules/ui';
@@ -0,0 +1,26 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Table clipboard service for handling copy and paste operations within tables.
4
+ */
5
+ export class TableClipboardService {
6
+ /**
7
+ * @param {import('../index').default} main Table index
8
+ */
9
+ constructor(main: import('../index').default);
10
+ /**
11
+ * @description Copies the selected table cells to the clipboard.
12
+ * @param {ClipboardEvent} e - Event object
13
+ * @param {HTMLElement} container - The container element
14
+ * @param {NodeListOf<HTMLTableCellElement>} selectedCells - The selected table cells
15
+ */
16
+ copySelectedTableCells(e: ClipboardEvent, container: HTMLElement, selectedCells: NodeListOf<HTMLTableCellElement>): void;
17
+ /**
18
+ * @description Updates the target table's cells with the data from the copied table.
19
+ * @param {HTMLTableElement} copyTable The table containing the copied data.
20
+ * @param {HTMLTableCellElement} targetTD The starting cell in the target table where data will be pasted.
21
+ * @returns {HTMLTableCellElement[]} The array of cells that were updated with pasted data.
22
+ */
23
+ pasteTableCellMatrix(copyTable: HTMLTableElement, targetTD: HTMLTableCellElement): HTMLTableCellElement[];
24
+ #private;
25
+ }
26
+ export default TableClipboardService;
@@ -0,0 +1,77 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Manages table grid operations including row and column insertion, deletion, and header toggling.
4
+ */
5
+ export class TableGridService {
6
+ /**
7
+ * @param {import('../index').default} main Table index
8
+ * @param {{
9
+ * columnButton: HTMLButtonElement,
10
+ * rowButton: HTMLButtonElement,
11
+ * openCellMenuFunc: ()=>void,
12
+ * closeCellMenuFunc: ()=>void
13
+ * }} options Options for table service
14
+ */
15
+ constructor(
16
+ main: import('../index').default,
17
+ {
18
+ columnButton,
19
+ rowButton,
20
+ openCellMenuFunc,
21
+ closeCellMenuFunc,
22
+ }: {
23
+ columnButton: HTMLButtonElement;
24
+ rowButton: HTMLButtonElement;
25
+ openCellMenuFunc: () => void;
26
+ closeCellMenuFunc: () => void;
27
+ },
28
+ );
29
+ selectMenu_column: SelectMenu;
30
+ selectMenu_row: SelectMenu;
31
+ /**
32
+ * @description Opens the column menu.
33
+ */
34
+ openColumnMenu(): void;
35
+ /**
36
+ * @description Opens the row menu.
37
+ */
38
+ openRowMenu(): void;
39
+ /**
40
+ * @description Edits the table by adding, removing, or modifying rows and cells, based on the provided options. Supports both single and multi-cell/row editing.
41
+ * @param {"row"|"cell"} type The type of element to edit (`row` or `cell`).
42
+ * @param {?"up"|"down"|"left"|"right"} option The action to perform: `up`, `down`, `left`, `right`, or `null` for removing.
43
+ */
44
+ editTable(type: 'row' | 'cell', option: ('up' | 'down' | 'left' | 'right') | null): void;
45
+ /**
46
+ * @description Edits a table cell(column), either adding, removing, or modifying the cell based on the provided option.
47
+ * @param {?string} option The action to perform on the cell (`left`|`right`|`null`)
48
+ * - `null`: to remove the cell
49
+ * - `left`: to insert a new cell to the left
50
+ * - `right`: to insert a new cell to the right
51
+ * @param {?HTMLTableCellElement} [targetCell] Target cell, (default: current selected cell)
52
+ * @param {?HTMLTableCellElement} [positionResetElement] The element to reset the position of (optional). This can be the cell that triggered the column edit.
53
+ * @returns {HTMLTableCellElement} Target table cell
54
+ */
55
+ editColumn(option: string | null, targetCell?: HTMLTableCellElement | null, positionResetElement?: HTMLTableCellElement | null): HTMLTableCellElement;
56
+ /**
57
+ * @description Edits a table row, either adding, removing, the row
58
+ * @param {?string} option The action to perform on the row (`up`|`down`|`null`)
59
+ * - `null`: to remove the row
60
+ * - `up`: to insert the row up
61
+ * - `down`: to insert the row down, or `null` to remove.
62
+ * @param {?HTMLTableCellElement} [targetCell] Target cell, (default: current selected cell)
63
+ * @param {?HTMLTableCellElement} [positionResetElement] The element to reset the position of (optional). This can be the cell that triggered the row edit.
64
+ */
65
+ editRow(option: string | null, targetCell?: HTMLTableCellElement | null, positionResetElement?: HTMLTableCellElement | null): void;
66
+ /**
67
+ * @description Inserts a new row into the table at the specified index to it.
68
+ * @param {HTMLTableElement} table The table element to insert the row into.
69
+ * @param {number} rowIndex The index at which to insert the new row.
70
+ * @param {number} cellCnt The number of cells to create in the new row.
71
+ * @returns {HTMLTableRowElement} The newly inserted row element.
72
+ */
73
+ insertBodyRow(table: HTMLTableElement, rowIndex: number, cellCnt: number): HTMLTableRowElement;
74
+ #private;
75
+ }
76
+ export default TableGridService;
77
+ import { SelectMenu } from '../../../../modules/ui';
@@ -0,0 +1,72 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Manages table and cell resizing with drag-based dimension adjustments and visual guide lines.
4
+ */
5
+ export class TableResizeService {
6
+ /**
7
+ * @param {import('../index').default} main Table index
8
+ */
9
+ constructor(main: import('../index').default);
10
+ /**
11
+ * @description Checks if the table is currently being resized.
12
+ * @returns {boolean}
13
+ */
14
+ isResizing(): boolean;
15
+ /**
16
+ * @description Display a guide line during resize operations logic.
17
+ * @param {MouseEvent} event - Mouse event
18
+ * @param {HTMLElement} target - Target element (table cell or row)
19
+ * @returns {boolean|undefined} Returns `false` if resizing started, otherwise `undefined`.
20
+ */
21
+ onResizeGuide(event: MouseEvent, target: HTMLElement): boolean | undefined;
22
+ /**
23
+ * @description Hides the resize guide line.
24
+ */
25
+ offResizeGuide(): void;
26
+ /**
27
+ * @description Prepares for resizing from the edge of a cell or row.
28
+ * @param {MouseEvent} event - Mouse event
29
+ * @param {HTMLTableCellElement} target - Target element
30
+ * @returns {boolean|undefined} Returns `false` if resizing started.
31
+ */
32
+ readyResizeFromEdge(event: MouseEvent, target: HTMLTableCellElement): boolean | undefined;
33
+ /**
34
+ * @internal
35
+ * @description Starts resizing a table cell.
36
+ * @param {HTMLElement} col The column element.
37
+ * @param {number} startX The starting X position.
38
+ * @param {number} startWidth The initial width of the column.
39
+ * @param {boolean} isLeftEdge Whether the resizing is on the left edge.
40
+ */
41
+ _startCellResizing(col: HTMLElement, startX: number, startWidth: number, isLeftEdge: boolean): void;
42
+ /**
43
+ * @internal
44
+ * @description Starts resizing a table row.
45
+ * @param {HTMLElement} row The table row element.
46
+ * @param {number} startY The starting Y position.
47
+ * @param {number} startHeight The initial height of the row.
48
+ */
49
+ _startRowResizing(row: HTMLElement, startY: number, startHeight: number): void;
50
+ /**
51
+ * @internal
52
+ * @description Starts resizing the table figure.
53
+ * @param {number} startX The starting X position.
54
+ * @param {boolean} isLeftEdge Whether the resizing is on the left edge.
55
+ */
56
+ _startFigureResizing(startX: number, isLeftEdge: boolean): void;
57
+ /**
58
+ * @internal
59
+ * @description Stops resizing the table.
60
+ * @param {HTMLElement} target The target element.
61
+ * @param {string} prevValue The previous style value.
62
+ * @param {string} styleProp The CSS property being changed.
63
+ * @param {KeyboardEvent} e The keyboard event.
64
+ */
65
+ _stopResize(target: HTMLElement, prevValue: string, styleProp: string, e: KeyboardEvent): void;
66
+ /**
67
+ * @description Initialize the resize service (remove global events).
68
+ */
69
+ init(): void;
70
+ #private;
71
+ }
72
+ export default TableResizeService;
@@ -0,0 +1,59 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Manages table cell selection including multi-cell range selection with keyboard and mouse events.
4
+ */
5
+ export class TableSelectionService {
6
+ /**
7
+ * @param {import('../index').default} main Table index
8
+ */
9
+ constructor(main: import('../index').default);
10
+ /**
11
+ * @description Selects a group of table cells and sets internal state related to multi-cell selection.
12
+ * @param {HTMLTableCellElement[]} cells - An array of table cell elements to be selected.
13
+ * @returns {{ fixedCell: HTMLTableCellElement, selectedCell: HTMLTableCellElement }} The fixed and selected cells.
14
+ */
15
+ selectCells(cells: HTMLTableCellElement[]): {
16
+ fixedCell: HTMLTableCellElement;
17
+ selectedCell: HTMLTableCellElement;
18
+ };
19
+ /**
20
+ * @internal
21
+ * @description Selects multiple table cells and applies selection styles.
22
+ * @param {Node} startCell The first cell in the selection.
23
+ * @param {Node} endCell The last cell in the selection.
24
+ */
25
+ setMultiCells(startCell: Node, endCell: Node): void;
26
+ /**
27
+ * @description Initializes cell selection state and applies visual styles.
28
+ * Sets up the fixed cell, selected cells array, and table reference.
29
+ * @param {HTMLTableCellElement} tdElement The target table cell element.
30
+ */
31
+ initCellSelection(tdElement: HTMLTableCellElement): void;
32
+ /**
33
+ * @description Starts cell selection with global event listeners for drag/shift selection.
34
+ * **WARNING**: Registers global events (mousemove/mousedown, mouseup, touchmove).
35
+ * These events are auto-removed on mouseup/touchmove, or call `#removeGlobalEvents()` manually.
36
+ * @param {HTMLTableCellElement} tdElement The target table cell element.
37
+ * @param {boolean} shift If `true`, enables shift+click range selection mode.
38
+ */
39
+ startCellSelection(tdElement: HTMLTableCellElement, shift: boolean): void;
40
+ /**
41
+ * @description Deletes styles from selected table cells.
42
+ */
43
+ deleteStyleSelectedCells(): void;
44
+ /**
45
+ * @description Restores styles for selected table cells.
46
+ */
47
+ recallStyleSelectedCells(): void;
48
+ /**
49
+ * @description Focus cell
50
+ * @param {HTMLElement} cell Target node
51
+ */
52
+ focusCellEdge(cell: HTMLElement): void;
53
+ /**
54
+ * @description Initialize the selection service (remove global events).
55
+ */
56
+ init(): void;
57
+ #private;
58
+ }
59
+ export default TableSelectionService;
@@ -0,0 +1,162 @@
1
+ import type {} from '../../../../typedef';
2
+ /**
3
+ * @description Manages table and cell styling including borders, colors, alignment, and property controllers.
4
+ */
5
+ export class TableStyleService {
6
+ /**
7
+ * @constructor
8
+ * @param {import('../index').default} main Table index
9
+ * @param {Object} options - Options
10
+ * @param {import('../index').TablePluginOptions} options.pluginOptions - Plugin options
11
+ * @param {HTMLElement} options.controller_table - Controller table element
12
+ */
13
+ constructor(
14
+ main: import('../index').default,
15
+ {
16
+ pluginOptions,
17
+ controller_table,
18
+ }: {
19
+ pluginOptions: import('../index').TablePluginOptions;
20
+ controller_table: HTMLElement;
21
+ },
22
+ );
23
+ sliderType: string;
24
+ /** @type {HTMLButtonElement} */
25
+ resizeButton: HTMLButtonElement;
26
+ /** @type {HTMLSpanElement} */
27
+ resizeText: HTMLSpanElement;
28
+ /** @type {HTMLButtonElement} */
29
+ columnFixedButton: HTMLButtonElement;
30
+ /** @type {HTMLButtonElement} */
31
+ headerButton: HTMLButtonElement;
32
+ /** @type {HTMLButtonElement} */
33
+ captionButton: HTMLButtonElement;
34
+ controller_props: Controller;
35
+ controller_props_title: HTMLElement;
36
+ controller_colorPicker: Controller;
37
+ colorPicker: ColorPicker;
38
+ selectMenu_props_border: SelectMenu;
39
+ selectMenu_props_border_format: SelectMenu;
40
+ selectMenu_props_border_format_oneCell: SelectMenu;
41
+ maxText: any;
42
+ minText: any;
43
+ propTargets: {
44
+ cell_alignment: HTMLElement;
45
+ cell_alignment_vertical: HTMLElement;
46
+ cell_alignment_table_text: HTMLElement;
47
+ border_format: HTMLButtonElement;
48
+ border_style: HTMLButtonElement;
49
+ border_color: HTMLInputElement;
50
+ border_width: HTMLInputElement;
51
+ back_color: HTMLInputElement;
52
+ font_color: HTMLInputElement;
53
+ palette_border_button: HTMLButtonElement;
54
+ font_bold: HTMLButtonElement;
55
+ font_underline: HTMLButtonElement;
56
+ font_italic: HTMLButtonElement;
57
+ font_strike: HTMLButtonElement;
58
+ };
59
+ _propsCache: any[];
60
+ _currentFontStyles: any[];
61
+ _propsAlignCache: string;
62
+ _propsVerticalAlignCache: string;
63
+ _typeCache: string;
64
+ colorPickerAction(color: SunEditor.Module.HueSlider.Color): void;
65
+ controllerAction(target: HTMLButtonElement): void;
66
+ /**
67
+ * @description Opens the table properties dialog.
68
+ * @param {HTMLElement} target - The target element (usually the table).
69
+ */
70
+ openTableProps(target: HTMLElement): void;
71
+ /**
72
+ * @description Opens the cell properties dialog.
73
+ * @param {HTMLElement} target - The target element (usually the table cell).
74
+ */
75
+ openCellProps(target: HTMLElement): void;
76
+ /**
77
+ * @description Opens the border format menu.
78
+ */
79
+ openBorderFormatMenu(): void;
80
+ /**
81
+ * @description Opens the border style menu.
82
+ */
83
+ openBorderStyleMenu(): void;
84
+ /**
85
+ * @description Handles color selection from the color palette.
86
+ * @param {Node} button The button triggering the color palette.
87
+ * @param {string} type The type of color selection.
88
+ */
89
+ openColorPalette(button: Node, type: string): void;
90
+ /**
91
+ * @description Toggles the font style.
92
+ * @param {string} value - The style to toggle (`bold`|`underline`|`italic`|`strike`).
93
+ */
94
+ toggleFontStyle(value: string): void;
95
+ /**
96
+ * @description Toggles the visibility of the table header (`<thead>`). If the header is present, it is removed; if absent, it is added.
97
+ */
98
+ toggleHeader(): void;
99
+ /**
100
+ * @description Toggles the visibility of the table caption (`<caption>`). If the caption is present, it is removed; if absent, it is added.
101
+ */
102
+ toggleCaption(): void;
103
+ /**
104
+ * @description Resets the header button state.
105
+ * @param {HTMLTableElement} table - The table element.
106
+ */
107
+ resetHeaderButton(table: HTMLTableElement): void;
108
+ /**
109
+ * @description Resets the caption button state.
110
+ * @param {HTMLTableElement} table - The table element.
111
+ */
112
+ resetCaptionButton(table: HTMLTableElement): void;
113
+ /**
114
+ * @description Resets the alignment properties for table cells.
115
+ */
116
+ resetPropsAlign(): void;
117
+ /**
118
+ * @description Reverts the properties to their previous state.
119
+ */
120
+ revertProps(): void;
121
+ /**
122
+ * @description Applies the color from the color picker.
123
+ * @param {any} color - The color string or object.
124
+ */
125
+ applyColorPicker(color: any): void;
126
+ /**
127
+ * @description Sets the alignment properties.
128
+ * @param {string} value - The alignment value.
129
+ */
130
+ setAlignProps(value: string): void;
131
+ /**
132
+ * @description Sets the vertical alignment properties.
133
+ * @param {string} value - The vertical alignment value.
134
+ */
135
+ setVerticalAlignProps(value: string): void;
136
+ /**
137
+ * @description Updates table layout styles.
138
+ * @param {string} styles - Styles to update.
139
+ * @param {boolean} isMaxWidth - Whether the table is set to maximum width.
140
+ * @param {boolean} isFixedColumn - Whether the table has fixed column width.
141
+ * @param {boolean} ondisplay - Whether to update display.
142
+ */
143
+ setTableLayout(styles: string, isMaxWidth: boolean, isFixedColumn: boolean, ondisplay: boolean): void;
144
+ /**
145
+ * @description Applies properties to table cells.
146
+ * @param {HTMLButtonElement} target The target element.
147
+ */
148
+ submitProps(target: HTMLButtonElement): void;
149
+ /**
150
+ * @description Closes the properties dialog.
151
+ */
152
+ closeProps(): void;
153
+ /**
154
+ * @description Initialize the style service (resets properties).
155
+ */
156
+ init(): void;
157
+ #private;
158
+ }
159
+ export default TableStyleService;
160
+ import { Controller } from '../../../../modules/contract';
161
+ import { ColorPicker } from '../../../../modules/contract';
162
+ import { SelectMenu } from '../../../../modules/ui';