opentiny 6.9.0 → 6.9.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 (2183) hide show
  1. package/README.md +44 -58
  2. package/icons/default/icons.js +198 -0
  3. package/icons/default/icons.min.js +1 -0
  4. package/license.txt +21 -0
  5. package/models/dom/model.js +8051 -0
  6. package/models/dom/model.min.js +4 -0
  7. package/package.json +21 -32
  8. package/plugins/accordion/plugin.js +1054 -0
  9. package/plugins/accordion/plugin.min.js +4 -0
  10. package/plugins/advlist/plugin.js +259 -0
  11. package/plugins/advlist/plugin.min.js +4 -0
  12. package/plugins/anchor/plugin.js +214 -0
  13. package/plugins/anchor/plugin.min.js +4 -0
  14. package/plugins/autolink/plugin.js +228 -0
  15. package/plugins/autolink/plugin.min.js +4 -0
  16. package/plugins/autoresize/plugin.js +192 -0
  17. package/plugins/autoresize/plugin.min.js +4 -0
  18. package/plugins/autosave/plugin.js +233 -0
  19. package/plugins/autosave/plugin.min.js +4 -0
  20. package/plugins/charmap/plugin.js +3063 -0
  21. package/plugins/charmap/plugin.min.js +4 -0
  22. package/plugins/code/plugin.js +85 -0
  23. package/plugins/code/plugin.min.js +4 -0
  24. package/plugins/codesample/plugin.js +2463 -0
  25. package/plugins/codesample/plugin.min.js +4 -0
  26. package/plugins/directionality/plugin.js +395 -0
  27. package/plugins/directionality/plugin.min.js +4 -0
  28. package/plugins/emoticons/js/emojiimages.js +1 -0
  29. package/plugins/emoticons/js/emojiimages.min.js +3 -0
  30. package/plugins/emoticons/js/emojis.js +1 -0
  31. package/plugins/emoticons/js/emojis.min.js +2 -0
  32. package/plugins/emoticons/plugin.js +596 -0
  33. package/plugins/emoticons/plugin.min.js +4 -0
  34. package/plugins/fullscreen/plugin.js +1250 -0
  35. package/plugins/fullscreen/plugin.min.js +4 -0
  36. package/plugins/help/js/i18n/keynav/ar.js +90 -0
  37. package/plugins/help/js/i18n/keynav/bg_BG.js +90 -0
  38. package/plugins/help/js/i18n/keynav/ca.js +90 -0
  39. package/plugins/help/js/i18n/keynav/cs.js +90 -0
  40. package/plugins/help/js/i18n/keynav/da.js +90 -0
  41. package/plugins/help/js/i18n/keynav/de.js +90 -0
  42. package/plugins/help/js/i18n/keynav/el.js +90 -0
  43. package/plugins/help/js/i18n/keynav/en.js +90 -0
  44. package/plugins/help/js/i18n/keynav/es.js +90 -0
  45. package/plugins/help/js/i18n/keynav/eu.js +90 -0
  46. package/plugins/help/js/i18n/keynav/fa.js +90 -0
  47. package/plugins/help/js/i18n/keynav/fi.js +90 -0
  48. package/plugins/help/js/i18n/keynav/fr_FR.js +90 -0
  49. package/plugins/help/js/i18n/keynav/he_IL.js +90 -0
  50. package/plugins/help/js/i18n/keynav/hi.js +90 -0
  51. package/plugins/help/js/i18n/keynav/hr.js +90 -0
  52. package/plugins/help/js/i18n/keynav/hu_HU.js +90 -0
  53. package/plugins/help/js/i18n/keynav/id.js +90 -0
  54. package/plugins/help/js/i18n/keynav/it.js +90 -0
  55. package/plugins/help/js/i18n/keynav/ja.js +90 -0
  56. package/plugins/help/js/i18n/keynav/kk.js +90 -0
  57. package/plugins/help/js/i18n/keynav/ko_KR.js +90 -0
  58. package/plugins/help/js/i18n/keynav/ms.js +90 -0
  59. package/plugins/help/js/i18n/keynav/nb_NO.js +90 -0
  60. package/plugins/help/js/i18n/keynav/nl.js +90 -0
  61. package/plugins/help/js/i18n/keynav/pl.js +90 -0
  62. package/plugins/help/js/i18n/keynav/pt_BR.js +90 -0
  63. package/plugins/help/js/i18n/keynav/pt_PT.js +90 -0
  64. package/plugins/help/js/i18n/keynav/ro.js +90 -0
  65. package/plugins/help/js/i18n/keynav/ru.js +90 -0
  66. package/plugins/help/js/i18n/keynav/sk.js +90 -0
  67. package/plugins/help/js/i18n/keynav/sl_SI.js +90 -0
  68. package/plugins/help/js/i18n/keynav/sv_SE.js +90 -0
  69. package/plugins/help/js/i18n/keynav/th_TH.js +90 -0
  70. package/plugins/help/js/i18n/keynav/tr.js +90 -0
  71. package/plugins/help/js/i18n/keynav/uk.js +90 -0
  72. package/plugins/help/js/i18n/keynav/vi.js +90 -0
  73. package/plugins/help/js/i18n/keynav/zh_CN.js +84 -0
  74. package/plugins/help/js/i18n/keynav/zh_TW.js +90 -0
  75. package/plugins/help/plugin.js +908 -0
  76. package/plugins/help/plugin.min.js +4 -0
  77. package/plugins/image/plugin.js +1505 -0
  78. package/plugins/image/plugin.min.js +4 -0
  79. package/plugins/importcss/plugin.js +344 -0
  80. package/plugins/importcss/plugin.min.js +4 -0
  81. package/plugins/insertdatetime/plugin.js +187 -0
  82. package/plugins/insertdatetime/plugin.min.js +4 -0
  83. package/plugins/link/plugin.js +1243 -0
  84. package/plugins/link/plugin.min.js +4 -0
  85. package/plugins/lists/plugin.js +2172 -0
  86. package/plugins/lists/plugin.min.js +4 -0
  87. package/plugins/media/plugin.js +1217 -0
  88. package/plugins/media/plugin.min.js +4 -0
  89. package/plugins/nonbreaking/plugin.js +123 -0
  90. package/plugins/nonbreaking/plugin.min.js +4 -0
  91. package/plugins/pagebreak/plugin.js +117 -0
  92. package/plugins/pagebreak/plugin.min.js +4 -0
  93. package/plugins/preview/plugin.js +97 -0
  94. package/plugins/preview/plugin.min.js +4 -0
  95. package/plugins/quickbars/plugin.js +447 -0
  96. package/plugins/quickbars/plugin.min.js +4 -0
  97. package/plugins/save/plugin.js +119 -0
  98. package/plugins/save/plugin.min.js +4 -0
  99. package/plugins/searchreplace/plugin.js +1094 -0
  100. package/plugins/searchreplace/plugin.min.js +4 -0
  101. package/plugins/table/plugin.js +3465 -0
  102. package/plugins/table/plugin.min.js +4 -0
  103. package/plugins/visualblocks/plugin.js +98 -0
  104. package/plugins/visualblocks/plugin.min.js +4 -0
  105. package/plugins/visualchars/plugin.js +560 -0
  106. package/plugins/visualchars/plugin.min.js +4 -0
  107. package/plugins/wordcount/plugin.js +405 -0
  108. package/plugins/wordcount/plugin.min.js +4 -0
  109. package/skins/content/dark/content.css +66 -0
  110. package/skins/content/dark/content.js +2 -0
  111. package/skins/content/dark/content.js.map +1 -0
  112. package/skins/content/dark/content.min.css +2 -0
  113. package/skins/content/dark/content.min.css.map +1 -0
  114. package/skins/content/default/content.css +61 -0
  115. package/skins/content/default/content.js +2 -0
  116. package/skins/content/default/content.js.map +1 -0
  117. package/skins/content/default/content.min.css +2 -0
  118. package/skins/content/default/content.min.css.map +1 -0
  119. package/skins/content/document/content.css +66 -0
  120. package/skins/content/document/content.js +2 -0
  121. package/skins/content/document/content.js.map +1 -0
  122. package/skins/content/document/content.min.css +2 -0
  123. package/skins/content/document/content.min.css.map +1 -0
  124. package/skins/content/tinymce-5/content.css +61 -0
  125. package/skins/content/tinymce-5/content.js +2 -0
  126. package/skins/content/tinymce-5/content.js.map +1 -0
  127. package/skins/content/tinymce-5/content.min.css +2 -0
  128. package/skins/content/tinymce-5/content.min.css.map +1 -0
  129. package/skins/content/tinymce-5-dark/content.css +66 -0
  130. package/skins/content/tinymce-5-dark/content.js +2 -0
  131. package/skins/content/tinymce-5-dark/content.js.map +1 -0
  132. package/skins/content/tinymce-5-dark/content.min.css +2 -0
  133. package/skins/content/tinymce-5-dark/content.min.css.map +1 -0
  134. package/skins/content/writer/content.css +62 -0
  135. package/skins/content/writer/content.js +2 -0
  136. package/skins/content/writer/content.js.map +1 -0
  137. package/skins/content/writer/content.min.css +2 -0
  138. package/skins/content/writer/content.min.css.map +1 -0
  139. package/skins/ui/oxide/content.css +785 -0
  140. package/skins/ui/oxide/content.inline.css +779 -0
  141. package/skins/ui/oxide/content.inline.js +2 -0
  142. package/skins/ui/oxide/content.inline.js.map +1 -0
  143. package/skins/ui/oxide/content.inline.min.css +2 -0
  144. package/skins/ui/oxide/content.inline.min.css.map +1 -0
  145. package/skins/ui/oxide/content.js +2 -0
  146. package/skins/ui/oxide/content.js.map +1 -0
  147. package/skins/ui/oxide/content.min.css +2 -0
  148. package/skins/ui/oxide/content.min.css.map +1 -0
  149. package/skins/ui/oxide/skin.css +4052 -0
  150. package/skins/ui/oxide/skin.js +2 -0
  151. package/skins/ui/oxide/skin.js.map +1 -0
  152. package/skins/ui/oxide/skin.min.css +2 -0
  153. package/skins/ui/oxide/skin.min.css.map +1 -0
  154. package/skins/ui/oxide/skin.shadowdom.css +30 -0
  155. package/skins/ui/oxide/skin.shadowdom.js +2 -0
  156. package/skins/ui/oxide/skin.shadowdom.js.map +1 -0
  157. package/skins/ui/oxide/skin.shadowdom.min.css +2 -0
  158. package/skins/ui/oxide/skin.shadowdom.min.css.map +1 -0
  159. package/skins/ui/oxide-dark/content.css +766 -0
  160. package/skins/ui/oxide-dark/content.inline.css +779 -0
  161. package/skins/ui/oxide-dark/content.inline.js +2 -0
  162. package/skins/ui/oxide-dark/content.inline.js.map +1 -0
  163. package/skins/ui/oxide-dark/content.inline.min.css +2 -0
  164. package/skins/ui/oxide-dark/content.inline.min.css.map +1 -0
  165. package/skins/ui/oxide-dark/content.js +2 -0
  166. package/skins/ui/oxide-dark/content.js.map +1 -0
  167. package/skins/ui/oxide-dark/content.min.css +2 -0
  168. package/skins/ui/oxide-dark/content.min.css.map +1 -0
  169. package/skins/ui/oxide-dark/skin.css +4055 -0
  170. package/skins/ui/oxide-dark/skin.js +2 -0
  171. package/skins/ui/oxide-dark/skin.js.map +1 -0
  172. package/skins/ui/oxide-dark/skin.min.css +2 -0
  173. package/skins/ui/oxide-dark/skin.min.css.map +1 -0
  174. package/skins/ui/oxide-dark/skin.shadowdom.css +30 -0
  175. package/skins/ui/oxide-dark/skin.shadowdom.js +2 -0
  176. package/skins/ui/oxide-dark/skin.shadowdom.js.map +1 -0
  177. package/skins/ui/oxide-dark/skin.shadowdom.min.css +2 -0
  178. package/skins/ui/oxide-dark/skin.shadowdom.min.css.map +1 -0
  179. package/skins/ui/tinymce-5/content.css +785 -0
  180. package/skins/ui/tinymce-5/content.inline.css +779 -0
  181. package/skins/ui/tinymce-5/content.inline.js +2 -0
  182. package/skins/ui/tinymce-5/content.inline.js.map +1 -0
  183. package/skins/ui/tinymce-5/content.inline.min.css +2 -0
  184. package/skins/ui/tinymce-5/content.inline.min.css.map +1 -0
  185. package/skins/ui/tinymce-5/content.js +2 -0
  186. package/skins/ui/tinymce-5/content.js.map +1 -0
  187. package/skins/ui/tinymce-5/content.min.css +2 -0
  188. package/skins/ui/tinymce-5/content.min.css.map +1 -0
  189. package/skins/ui/tinymce-5/skin.css +4146 -0
  190. package/skins/ui/tinymce-5/skin.js +2 -0
  191. package/skins/ui/tinymce-5/skin.js.map +1 -0
  192. package/skins/ui/tinymce-5/skin.min.css +2 -0
  193. package/skins/ui/tinymce-5/skin.min.css.map +1 -0
  194. package/skins/ui/tinymce-5/skin.shadowdom.css +30 -0
  195. package/skins/ui/tinymce-5/skin.shadowdom.js +2 -0
  196. package/skins/ui/tinymce-5/skin.shadowdom.js.map +1 -0
  197. package/skins/ui/tinymce-5/skin.shadowdom.min.css +2 -0
  198. package/skins/ui/tinymce-5/skin.shadowdom.min.css.map +1 -0
  199. package/skins/ui/tinymce-5-dark/content.css +766 -0
  200. package/skins/ui/tinymce-5-dark/content.inline.css +779 -0
  201. package/skins/ui/tinymce-5-dark/content.inline.js +2 -0
  202. package/skins/ui/tinymce-5-dark/content.inline.js.map +1 -0
  203. package/skins/ui/tinymce-5-dark/content.inline.min.css +2 -0
  204. package/skins/ui/tinymce-5-dark/content.inline.min.css.map +1 -0
  205. package/skins/ui/tinymce-5-dark/content.js +2 -0
  206. package/skins/ui/tinymce-5-dark/content.js.map +1 -0
  207. package/skins/ui/tinymce-5-dark/content.min.css +2 -0
  208. package/skins/ui/tinymce-5-dark/content.min.css.map +1 -0
  209. package/skins/ui/tinymce-5-dark/skin.css +4146 -0
  210. package/skins/ui/tinymce-5-dark/skin.js +2 -0
  211. package/skins/ui/tinymce-5-dark/skin.js.map +1 -0
  212. package/skins/ui/tinymce-5-dark/skin.min.css +2 -0
  213. package/skins/ui/tinymce-5-dark/skin.min.css.map +1 -0
  214. package/skins/ui/tinymce-5-dark/skin.shadowdom.css +30 -0
  215. package/skins/ui/tinymce-5-dark/skin.shadowdom.js +2 -0
  216. package/skins/ui/tinymce-5-dark/skin.shadowdom.js.map +1 -0
  217. package/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +2 -0
  218. package/skins/ui/tinymce-5-dark/skin.shadowdom.min.css.map +1 -0
  219. package/themes/silver/theme.js +31084 -0
  220. package/themes/silver/theme.min.js +4 -0
  221. package/tinymce.d.ts +3255 -0
  222. package/tinymce.js +31957 -0
  223. package/tinymce.min.js +4 -0
  224. package/.eslintrc.json +0 -11
  225. package/CHANGELOG.md +0 -3443
  226. package/Gruntfile.js +0 -966
  227. package/project.json +0 -32
  228. package/src/core/demo/css/content_editable.css +0 -47
  229. package/src/core/demo/html/annotations_demo.html +0 -29
  230. package/src/core/demo/html/commands_demo.html +0 -16
  231. package/src/core/demo/html/content_editable_false_demo.html +0 -61
  232. package/src/core/demo/html/content_security_policy.html +0 -22
  233. package/src/core/demo/html/custom_theme_demo.html +0 -14
  234. package/src/core/demo/html/fixed_toolbar_container_demo.html +0 -22
  235. package/src/core/demo/html/full_demo.html +0 -48
  236. package/src/core/demo/html/iframe_demo.html +0 -15
  237. package/src/core/demo/html/iframe_demo_inner.html +0 -20
  238. package/src/core/demo/html/inline_demo.html +0 -423
  239. package/src/core/demo/html/jquery_integration.html +0 -21
  240. package/src/core/demo/html/responsive_demo.html +0 -126
  241. package/src/core/demo/html/shadow_dom_closed_demo.html +0 -14
  242. package/src/core/demo/html/shadow_dom_open_demo.html +0 -15
  243. package/src/core/demo/html/shadow_dom_open_inline_demo.html +0 -14
  244. package/src/core/demo/html/source_dump_demo.html +0 -17
  245. package/src/core/demo/html/sticky_toolbar_demo.html +0 -151
  246. package/src/core/demo/html/tiny_demo.html +0 -13
  247. package/src/core/demo/html/view_demo.html +0 -24
  248. package/src/core/demo/ts/demo/AnnotationsDemo.ts +0 -95
  249. package/src/core/demo/ts/demo/CommandsDemo.ts +0 -114
  250. package/src/core/demo/ts/demo/ContentEditableFalseDemo.ts +0 -88
  251. package/src/core/demo/ts/demo/ContentSecurityPolicyDemo.ts +0 -132
  252. package/src/core/demo/ts/demo/CustomThemeDemo.ts +0 -59
  253. package/src/core/demo/ts/demo/Demos.ts +0 -35
  254. package/src/core/demo/ts/demo/FixedToolbarContainerDemo.ts +0 -11
  255. package/src/core/demo/ts/demo/FullDemo.ts +0 -171
  256. package/src/core/demo/ts/demo/IframeDemo.ts +0 -49
  257. package/src/core/demo/ts/demo/InlineDemo.ts +0 -32
  258. package/src/core/demo/ts/demo/ResponsiveDemo.ts +0 -125
  259. package/src/core/demo/ts/demo/ShadowDomDemo.ts +0 -22
  260. package/src/core/demo/ts/demo/ShadowDomInlineDemo.ts +0 -27
  261. package/src/core/demo/ts/demo/SourceDumpDemo.ts +0 -33
  262. package/src/core/demo/ts/demo/StickyToolbarDemo.ts +0 -86
  263. package/src/core/demo/ts/demo/TinyMceDemo.ts +0 -36
  264. package/src/core/demo/ts/demo/ViewDemo.ts +0 -113
  265. package/src/core/main/js/GlobalsTemplate.js +0 -4
  266. package/src/core/main/json/globals.json +0 -54
  267. package/src/core/main/ts/Deprecations.ts +0 -127
  268. package/src/core/main/ts/DragDropOverrides.ts +0 -472
  269. package/src/core/main/ts/EditorRemove.ts +0 -113
  270. package/src/core/main/ts/EditorView.ts +0 -60
  271. package/src/core/main/ts/ErrorReporter.ts +0 -84
  272. package/src/core/main/ts/ForceBlocks.ts +0 -141
  273. package/src/core/main/ts/NodeChange.ts +0 -161
  274. package/src/core/main/ts/Rtc.ts +0 -455
  275. package/src/core/main/ts/SelectionOverrides.ts +0 -393
  276. package/src/core/main/ts/alien/Spot.ts +0 -13
  277. package/src/core/main/ts/alien/TextDescent.ts +0 -32
  278. package/src/core/main/ts/alien/TextSearch.ts +0 -85
  279. package/src/core/main/ts/annotate/AnnotationChanges.ts +0 -126
  280. package/src/core/main/ts/annotate/AnnotationContext.ts +0 -63
  281. package/src/core/main/ts/annotate/AnnotationFilter.ts +0 -49
  282. package/src/core/main/ts/annotate/AnnotationsRegistry.ts +0 -45
  283. package/src/core/main/ts/annotate/Identification.ts +0 -69
  284. package/src/core/main/ts/annotate/Markings.ts +0 -18
  285. package/src/core/main/ts/annotate/Wrapping.ts +0 -188
  286. package/src/core/main/ts/api/AddOnManager.ts +0 -302
  287. package/src/core/main/ts/api/Annotator.ts +0 -135
  288. package/src/core/main/ts/api/Editor.ts +0 -1146
  289. package/src/core/main/ts/api/EditorCommands.ts +0 -203
  290. package/src/core/main/ts/api/EditorManager.ts +0 -744
  291. package/src/core/main/ts/api/EditorObservable.ts +0 -221
  292. package/src/core/main/ts/api/EditorOptions.ts +0 -309
  293. package/src/core/main/ts/api/EditorUpload.ts +0 -363
  294. package/src/core/main/ts/api/Env.ts +0 -130
  295. package/src/core/main/ts/api/EventTypes.ts +0 -265
  296. package/src/core/main/ts/api/Events.ts +0 -133
  297. package/src/core/main/ts/api/FakeClipboard.ts +0 -82
  298. package/src/core/main/ts/api/FocusManager.ts +0 -34
  299. package/src/core/main/ts/api/Formatter.ts +0 -205
  300. package/src/core/main/ts/api/IconManager.ts +0 -39
  301. package/src/core/main/ts/api/Main.ts +0 -23
  302. package/src/core/main/ts/api/Mode.ts +0 -97
  303. package/src/core/main/ts/api/ModelManager.ts +0 -21
  304. package/src/core/main/ts/api/NotificationManager.ts +0 -197
  305. package/src/core/main/ts/api/OptionTypes.ts +0 -360
  306. package/src/core/main/ts/api/Options.ts +0 -1100
  307. package/src/core/main/ts/api/PluginManager.ts +0 -15
  308. package/src/core/main/ts/api/PublicApi.ts +0 -137
  309. package/src/core/main/ts/api/Resource.ts +0 -90
  310. package/src/core/main/ts/api/Shortcuts.ts +0 -266
  311. package/src/core/main/ts/api/ThemeManager.ts +0 -27
  312. package/src/core/main/ts/api/Tinymce.ts +0 -268
  313. package/src/core/main/ts/api/UndoManager.ts +0 -177
  314. package/src/core/main/ts/api/WindowManager.ts +0 -202
  315. package/src/core/main/ts/api/commands/AlignCommands.ts +0 -52
  316. package/src/core/main/ts/api/commands/ClipboardCommands.ts +0 -38
  317. package/src/core/main/ts/api/commands/Commands.ts +0 -55
  318. package/src/core/main/ts/api/commands/ContentCommands.ts +0 -45
  319. package/src/core/main/ts/api/commands/FormatCommands.ts +0 -78
  320. package/src/core/main/ts/api/commands/HistoryCommands.ts +0 -21
  321. package/src/core/main/ts/api/commands/IndentCommands.ts +0 -18
  322. package/src/core/main/ts/api/commands/LinkCommands.ts +0 -45
  323. package/src/core/main/ts/api/commands/NewBlockCommands.ts +0 -14
  324. package/src/core/main/ts/api/commands/NewlineCommands.ts +0 -20
  325. package/src/core/main/ts/api/commands/SelectionCommands.ts +0 -32
  326. package/src/core/main/ts/api/dom/BookmarkManager.ts +0 -74
  327. package/src/core/main/ts/api/dom/ControlSelection.ts +0 -512
  328. package/src/core/main/ts/api/dom/DOMUtils.ts +0 -1817
  329. package/src/core/main/ts/api/dom/EventUtils.ts +0 -482
  330. package/src/core/main/ts/api/dom/RangeUtils.ts +0 -120
  331. package/src/core/main/ts/api/dom/ScriptLoader.ts +0 -284
  332. package/src/core/main/ts/api/dom/Selection.ts +0 -618
  333. package/src/core/main/ts/api/dom/SelectorChanged.ts +0 -98
  334. package/src/core/main/ts/api/dom/Serializer.ts +0 -142
  335. package/src/core/main/ts/api/dom/StyleSheetLoader.ts +0 -256
  336. package/src/core/main/ts/api/dom/TextSeeker.ts +0 -92
  337. package/src/core/main/ts/api/dom/TreeWalker.ts +0 -129
  338. package/src/core/main/ts/api/file/BlobCache.ts +0 -143
  339. package/src/core/main/ts/api/fmt/Format.ts +0 -16
  340. package/src/core/main/ts/api/fmt/StyleFormat.ts +0 -30
  341. package/src/core/main/ts/api/geom/Rect.ts +0 -210
  342. package/src/core/main/ts/api/html/DomParser.ts +0 -517
  343. package/src/core/main/ts/api/html/Entities.ts +0 -279
  344. package/src/core/main/ts/api/html/Node.ts +0 -566
  345. package/src/core/main/ts/api/html/Schema.ts +0 -764
  346. package/src/core/main/ts/api/html/Serializer.ts +0 -171
  347. package/src/core/main/ts/api/html/StyleUtils.ts +0 -66
  348. package/src/core/main/ts/api/html/Styles.ts +0 -367
  349. package/src/core/main/ts/api/html/Writer.ts +0 -204
  350. package/src/core/main/ts/api/textpatterns/TextPatterns.ts +0 -15
  351. package/src/core/main/ts/api/ui/Registry.ts +0 -246
  352. package/src/core/main/ts/api/ui/Ui.ts +0 -31
  353. package/src/core/main/ts/api/util/Delay.ts +0 -73
  354. package/src/core/main/ts/api/util/EventDispatcher.ts +0 -341
  355. package/src/core/main/ts/api/util/FakeStorage.ts +0 -35
  356. package/src/core/main/ts/api/util/I18n.ts +0 -187
  357. package/src/core/main/ts/api/util/ImageUploader.ts +0 -51
  358. package/src/core/main/ts/api/util/LocalStorage.ts +0 -28
  359. package/src/core/main/ts/api/util/Observable.ts +0 -164
  360. package/src/core/main/ts/api/util/Tools.ts +0 -296
  361. package/src/core/main/ts/api/util/URI.ts +0 -522
  362. package/src/core/main/ts/api/util/VK.ts +0 -60
  363. package/src/core/main/ts/autocomplete/AutocompleteContext.ts +0 -76
  364. package/src/core/main/ts/autocomplete/AutocompleteLookup.ts +0 -73
  365. package/src/core/main/ts/autocomplete/AutocompleteTypes.ts +0 -21
  366. package/src/core/main/ts/autocomplete/AutocompleteUtils.ts +0 -12
  367. package/src/core/main/ts/autocomplete/Autocompleters.ts +0 -39
  368. package/src/core/main/ts/bookmark/BookmarkTypes.ts +0 -52
  369. package/src/core/main/ts/bookmark/Bookmarks.ts +0 -25
  370. package/src/core/main/ts/bookmark/CaretBookmark.ts +0 -242
  371. package/src/core/main/ts/bookmark/GetBookmark.ts +0 -231
  372. package/src/core/main/ts/bookmark/ResolveBookmark.ts +0 -268
  373. package/src/core/main/ts/caret/BlockBoundary.ts +0 -41
  374. package/src/core/main/ts/caret/CaretBr.ts +0 -34
  375. package/src/core/main/ts/caret/CaretCandidate.ts +0 -77
  376. package/src/core/main/ts/caret/CaretContainer.ts +0 -185
  377. package/src/core/main/ts/caret/CaretContainerInline.ts +0 -76
  378. package/src/core/main/ts/caret/CaretContainerInput.ts +0 -50
  379. package/src/core/main/ts/caret/CaretContainerRemove.ts +0 -95
  380. package/src/core/main/ts/caret/CaretFinder.ts +0 -102
  381. package/src/core/main/ts/caret/CaretPosition.ts +0 -407
  382. package/src/core/main/ts/caret/CaretPositionPredicates.ts +0 -55
  383. package/src/core/main/ts/caret/CaretUtils.ts +0 -323
  384. package/src/core/main/ts/caret/CaretWalker.ts +0 -245
  385. package/src/core/main/ts/caret/ClosestCaretCandidate.ts +0 -145
  386. package/src/core/main/ts/caret/FakeCaret.ts +0 -230
  387. package/src/core/main/ts/caret/FakeCaretUtils.ts +0 -60
  388. package/src/core/main/ts/caret/InsertText.ts +0 -37
  389. package/src/core/main/ts/caret/LineReader.ts +0 -133
  390. package/src/core/main/ts/caret/LineUtils.ts +0 -34
  391. package/src/core/main/ts/caret/LineWalker.ts +0 -165
  392. package/src/core/main/ts/caret/TableCells.ts +0 -90
  393. package/src/core/main/ts/commands/Font.ts +0 -60
  394. package/src/core/main/ts/commands/IndentOutdent.ts +0 -81
  395. package/src/core/main/ts/commands/LineHeight.ts +0 -24
  396. package/src/core/main/ts/content/ContentCleanup.ts +0 -28
  397. package/src/core/main/ts/content/ContentTypes.ts +0 -54
  398. package/src/core/main/ts/content/EditorContent.ts +0 -11
  399. package/src/core/main/ts/content/GetContent.ts +0 -24
  400. package/src/core/main/ts/content/GetContentImpl.ts +0 -67
  401. package/src/core/main/ts/content/InsertContent.ts +0 -62
  402. package/src/core/main/ts/content/InsertContentImpl.ts +0 -378
  403. package/src/core/main/ts/content/InsertList.ts +0 -212
  404. package/src/core/main/ts/content/NbspTrim.ts +0 -30
  405. package/src/core/main/ts/content/Placeholder.ts +0 -115
  406. package/src/core/main/ts/content/PrePostProcess.ts +0 -86
  407. package/src/core/main/ts/content/SetContent.ts +0 -23
  408. package/src/core/main/ts/content/SetContentImpl.ts +0 -98
  409. package/src/core/main/ts/content/TransparentElements.ts +0 -168
  410. package/src/core/main/ts/delete/BlockBoundaryDelete.ts +0 -25
  411. package/src/core/main/ts/delete/BlockMergeBoundary.ts +0 -92
  412. package/src/core/main/ts/delete/BlockRangeDelete.ts +0 -68
  413. package/src/core/main/ts/delete/CaretBoundaryDelete.ts +0 -81
  414. package/src/core/main/ts/delete/CefDelete.ts +0 -115
  415. package/src/core/main/ts/delete/CefDeleteAction.ts +0 -141
  416. package/src/core/main/ts/delete/DeleteCommands.ts +0 -74
  417. package/src/core/main/ts/delete/DeleteElement.ts +0 -168
  418. package/src/core/main/ts/delete/DeleteUtils.ts +0 -111
  419. package/src/core/main/ts/delete/DetailsDelete.ts +0 -258
  420. package/src/core/main/ts/delete/ImageBlockDelete.ts +0 -22
  421. package/src/core/main/ts/delete/InlineBoundaryDelete.ts +0 -127
  422. package/src/core/main/ts/delete/InlineFormatDelete.ts +0 -169
  423. package/src/core/main/ts/delete/MediaDelete.ts +0 -47
  424. package/src/core/main/ts/delete/MergeBlocks.ts +0 -128
  425. package/src/core/main/ts/delete/MergeText.ts +0 -66
  426. package/src/core/main/ts/delete/Outdent.ts +0 -25
  427. package/src/core/main/ts/delete/TableDelete.ts +0 -293
  428. package/src/core/main/ts/delete/TableDeleteAction.ts +0 -214
  429. package/src/core/main/ts/delete/TableDeleteUtils.ts +0 -67
  430. package/src/core/main/ts/dom/CefUtils.ts +0 -18
  431. package/src/core/main/ts/dom/Dimensions.ts +0 -39
  432. package/src/core/main/ts/dom/DomSerializerFilters.ts +0 -230
  433. package/src/core/main/ts/dom/DomSerializerImpl.ts +0 -132
  434. package/src/core/main/ts/dom/DomSerializerPreProcess.ts +0 -58
  435. package/src/core/main/ts/dom/ElementType.ts +0 -44
  436. package/src/core/main/ts/dom/ElementUtils.ts +0 -135
  437. package/src/core/main/ts/dom/Empty.ts +0 -122
  438. package/src/core/main/ts/dom/MousePosition.ts +0 -76
  439. package/src/core/main/ts/dom/NodePath.ts +0 -39
  440. package/src/core/main/ts/dom/NodeType.ts +0 -142
  441. package/src/core/main/ts/dom/PaddingBr.ts +0 -62
  442. package/src/core/main/ts/dom/Parents.ts +0 -24
  443. package/src/core/main/ts/dom/Position.ts +0 -74
  444. package/src/core/main/ts/dom/RangePoint.ts +0 -15
  445. package/src/core/main/ts/dom/RemoveTrailingBr.ts +0 -85
  446. package/src/core/main/ts/dom/ScrollIntoView.ts +0 -193
  447. package/src/core/main/ts/dom/StyleSheetLoaderRegistry.ts +0 -33
  448. package/src/core/main/ts/dom/TextWalker.ts +0 -34
  449. package/src/core/main/ts/dom/TrimBody.ts +0 -107
  450. package/src/core/main/ts/dom/TrimNode.ts +0 -76
  451. package/src/core/main/ts/events/DragEvents.ts +0 -99
  452. package/src/core/main/ts/events/EventUtils.ts +0 -141
  453. package/src/core/main/ts/events/InputEvents.ts +0 -46
  454. package/src/core/main/ts/events/TouchEvents.ts +0 -87
  455. package/src/core/main/ts/file/BlobCacheUtils.ts +0 -65
  456. package/src/core/main/ts/file/Conversions.ts +0 -110
  457. package/src/core/main/ts/file/ImageScanner.ts +0 -101
  458. package/src/core/main/ts/file/UploadStatus.ts +0 -79
  459. package/src/core/main/ts/file/Uploader.ts +0 -211
  460. package/src/core/main/ts/fmt/ApplyFormat.ts +0 -383
  461. package/src/core/main/ts/fmt/CaretFormat.ts +0 -375
  462. package/src/core/main/ts/fmt/DefaultFormats.ts +0 -264
  463. package/src/core/main/ts/fmt/ExpandRange.ts +0 -373
  464. package/src/core/main/ts/fmt/FontInfo.ts +0 -60
  465. package/src/core/main/ts/fmt/FormatChanged.ts +0 -205
  466. package/src/core/main/ts/fmt/FormatContainer.ts +0 -24
  467. package/src/core/main/ts/fmt/FormatRegistry.ts +0 -92
  468. package/src/core/main/ts/fmt/FormatTypes.ts +0 -82
  469. package/src/core/main/ts/fmt/FormatUtils.ts +0 -366
  470. package/src/core/main/ts/fmt/Hooks.ts +0 -69
  471. package/src/core/main/ts/fmt/ListItemFormat.ts +0 -55
  472. package/src/core/main/ts/fmt/MatchFormat.ts +0 -242
  473. package/src/core/main/ts/fmt/MergeFormats.ts +0 -108
  474. package/src/core/main/ts/fmt/MergeUtils.ts +0 -128
  475. package/src/core/main/ts/fmt/Preview.ts +0 -336
  476. package/src/core/main/ts/fmt/RemoveFormat.ts +0 -679
  477. package/src/core/main/ts/fmt/TableFormats.ts +0 -51
  478. package/src/core/main/ts/fmt/ToggleFormat.ts +0 -20
  479. package/src/core/main/ts/focus/CefFocus.ts +0 -33
  480. package/src/core/main/ts/focus/EditorFocus.ts +0 -139
  481. package/src/core/main/ts/focus/FocusController.ts +0 -151
  482. package/src/core/main/ts/focus/MediaFocus.ts +0 -25
  483. package/src/core/main/ts/frames/Frames.ts +0 -22
  484. package/src/core/main/ts/frames/Navigation.ts +0 -21
  485. package/src/core/main/ts/frames/OuterPosition.ts +0 -26
  486. package/src/core/main/ts/geom/ClientRect.ts +0 -154
  487. package/src/core/main/ts/html/AstNodeType.ts +0 -10
  488. package/src/core/main/ts/html/Embed.ts +0 -55
  489. package/src/core/main/ts/html/FilterNode.ts +0 -111
  490. package/src/core/main/ts/html/FilterRegistry.ts +0 -58
  491. package/src/core/main/ts/html/InvalidNodes.ts +0 -189
  492. package/src/core/main/ts/html/LegacyFilter.ts +0 -80
  493. package/src/core/main/ts/html/Namespace.ts +0 -47
  494. package/src/core/main/ts/html/NonEditableFilter.ts +0 -108
  495. package/src/core/main/ts/html/ParserFilters.ts +0 -176
  496. package/src/core/main/ts/html/ParserUtils.ts +0 -62
  497. package/src/core/main/ts/html/Sanitization.ts +0 -268
  498. package/src/core/main/ts/init/ContentCss.ts +0 -46
  499. package/src/core/main/ts/init/Init.ts +0 -195
  500. package/src/core/main/ts/init/InitContentBody.ts +0 -509
  501. package/src/core/main/ts/init/InitIframe.ts +0 -127
  502. package/src/core/main/ts/init/LicenseKeyValidation.ts +0 -21
  503. package/src/core/main/ts/init/Render.ts +0 -263
  504. package/src/core/main/ts/keyboard/ArrowKeys.ts +0 -58
  505. package/src/core/main/ts/keyboard/Autocompleter.ts +0 -158
  506. package/src/core/main/ts/keyboard/BoundaryCaret.ts +0 -67
  507. package/src/core/main/ts/keyboard/BoundaryLocation.ts +0 -195
  508. package/src/core/main/ts/keyboard/BoundarySelection.ts +0 -139
  509. package/src/core/main/ts/keyboard/CefNavigation.ts +0 -124
  510. package/src/core/main/ts/keyboard/CefUtils.ts +0 -24
  511. package/src/core/main/ts/keyboard/ContentEndpointNavigation.ts +0 -46
  512. package/src/core/main/ts/keyboard/DeleteBackspaceKeys.ts +0 -127
  513. package/src/core/main/ts/keyboard/DetailsNavigation.ts +0 -50
  514. package/src/core/main/ts/keyboard/EnterKey.ts +0 -87
  515. package/src/core/main/ts/keyboard/FormatShortcuts.ts +0 -21
  516. package/src/core/main/ts/keyboard/HomeEndKeys.ts +0 -40
  517. package/src/core/main/ts/keyboard/InlineUtils.ts +0 -77
  518. package/src/core/main/ts/keyboard/InputKeys.ts +0 -15
  519. package/src/core/main/ts/keyboard/InsertSpace.ts +0 -72
  520. package/src/core/main/ts/keyboard/KeyboardOverrides.ts +0 -44
  521. package/src/core/main/ts/keyboard/MatchKeys.ts +0 -65
  522. package/src/core/main/ts/keyboard/MediaNavigation.ts +0 -36
  523. package/src/core/main/ts/keyboard/NavigationUtils.ts +0 -168
  524. package/src/core/main/ts/keyboard/Nbsps.ts +0 -213
  525. package/src/core/main/ts/keyboard/PageUpDownKeys.ts +0 -68
  526. package/src/core/main/ts/keyboard/PreventNoneditableInput.ts +0 -14
  527. package/src/core/main/ts/keyboard/SpaceKey.ts +0 -34
  528. package/src/core/main/ts/keyboard/TabKey.ts +0 -37
  529. package/src/core/main/ts/keyboard/TableNavigation.ts +0 -182
  530. package/src/core/main/ts/mode/EditableRoot.ts +0 -18
  531. package/src/core/main/ts/mode/Mode.ts +0 -69
  532. package/src/core/main/ts/mode/Readonly.ts +0 -179
  533. package/src/core/main/ts/newline/ContextSelectors.ts +0 -24
  534. package/src/core/main/ts/newline/InsertBlock.ts +0 -442
  535. package/src/core/main/ts/newline/InsertBr.ts +0 -177
  536. package/src/core/main/ts/newline/InsertDetailsNewLine.ts +0 -46
  537. package/src/core/main/ts/newline/InsertLi.ts +0 -141
  538. package/src/core/main/ts/newline/InsertNewLine.ts +0 -64
  539. package/src/core/main/ts/newline/NewBlock.ts +0 -44
  540. package/src/core/main/ts/newline/NewLineAction.ts +0 -121
  541. package/src/core/main/ts/newline/NewLineUtils.ts +0 -236
  542. package/src/core/main/ts/options/NormalizeOptions.ts +0 -152
  543. package/src/core/main/ts/paste/Clipboard.ts +0 -337
  544. package/src/core/main/ts/paste/Commands.ts +0 -38
  545. package/src/core/main/ts/paste/CutCopy.ts +0 -116
  546. package/src/core/main/ts/paste/DragDrop.ts +0 -159
  547. package/src/core/main/ts/paste/InternalHtml.ts +0 -21
  548. package/src/core/main/ts/paste/Newlines.ts +0 -46
  549. package/src/core/main/ts/paste/Paste.ts +0 -33
  550. package/src/core/main/ts/paste/PasteBin.ts +0 -135
  551. package/src/core/main/ts/paste/PasteUtils.ts +0 -150
  552. package/src/core/main/ts/paste/PrePostProcess.ts +0 -25
  553. package/src/core/main/ts/paste/ProcessFilters.ts +0 -58
  554. package/src/core/main/ts/paste/Quirks.ts +0 -97
  555. package/src/core/main/ts/paste/SmartPaste.ts +0 -81
  556. package/src/core/main/ts/schema/CustomElementsRuleParser.ts +0 -24
  557. package/src/core/main/ts/schema/GlobalAttributesSet.ts +0 -25
  558. package/src/core/main/ts/schema/Presets.ts +0 -27
  559. package/src/core/main/ts/schema/SchemaElementSets.ts +0 -70
  560. package/src/core/main/ts/schema/SchemaLookupTable.ts +0 -230
  561. package/src/core/main/ts/schema/SchemaTypes.ts +0 -80
  562. package/src/core/main/ts/schema/SchemaUtils.ts +0 -31
  563. package/src/core/main/ts/schema/ValidChildrenRuleParser.ts +0 -51
  564. package/src/core/main/ts/schema/ValidElementsRuleParser.ts +0 -138
  565. package/src/core/main/ts/selection/CaretRangeFromPoint.ts +0 -15
  566. package/src/core/main/ts/selection/DetailsElement.ts +0 -41
  567. package/src/core/main/ts/selection/EditableRange.ts +0 -9
  568. package/src/core/main/ts/selection/ElementSelection.ts +0 -148
  569. package/src/core/main/ts/selection/EventProcessRanges.ts +0 -12
  570. package/src/core/main/ts/selection/FragmentReader.ts +0 -87
  571. package/src/core/main/ts/selection/GetSelectionContent.ts +0 -11
  572. package/src/core/main/ts/selection/GetSelectionContentImpl.ts +0 -104
  573. package/src/core/main/ts/selection/MultiClickSelection.ts +0 -86
  574. package/src/core/main/ts/selection/MultiRange.ts +0 -33
  575. package/src/core/main/ts/selection/NormalizeRange.ts +0 -299
  576. package/src/core/main/ts/selection/RangeCompare.ts +0 -13
  577. package/src/core/main/ts/selection/RangeInsertNode.ts +0 -40
  578. package/src/core/main/ts/selection/RangeMap.ts +0 -31
  579. package/src/core/main/ts/selection/RangeNodes.ts +0 -40
  580. package/src/core/main/ts/selection/RangeNormalizer.ts +0 -38
  581. package/src/core/main/ts/selection/RangeTypes.ts +0 -6
  582. package/src/core/main/ts/selection/RangeWalk.ts +0 -107
  583. package/src/core/main/ts/selection/SelectionBookmark.ts +0 -107
  584. package/src/core/main/ts/selection/SelectionRestore.ts +0 -63
  585. package/src/core/main/ts/selection/SelectionUtils.ts +0 -144
  586. package/src/core/main/ts/selection/SetSelectionContent.ts +0 -124
  587. package/src/core/main/ts/selection/SimpleTableModel.ts +0 -168
  588. package/src/core/main/ts/selection/SplitRange.ts +0 -55
  589. package/src/core/main/ts/selection/TableCellSelection.ts +0 -31
  590. package/src/core/main/ts/selection/WordSelection.ts +0 -37
  591. package/src/core/main/ts/text/Bidi.ts +0 -7
  592. package/src/core/main/ts/text/CharType.ts +0 -18
  593. package/src/core/main/ts/text/ExtendingChar.ts +0 -42
  594. package/src/core/main/ts/text/Whitespace.ts +0 -53
  595. package/src/core/main/ts/text/Zwsp.ts +0 -27
  596. package/src/core/main/ts/textpatterns/TextPatterns.ts +0 -10
  597. package/src/core/main/ts/textpatterns/core/BlockPattern.ts +0 -62
  598. package/src/core/main/ts/textpatterns/core/BlockPatternOnSpace.ts +0 -29
  599. package/src/core/main/ts/textpatterns/core/BlockPatternUtils.ts +0 -90
  600. package/src/core/main/ts/textpatterns/core/InlinePattern.ts +0 -326
  601. package/src/core/main/ts/textpatterns/core/Pattern.ts +0 -141
  602. package/src/core/main/ts/textpatterns/core/PatternTypes.ts +0 -86
  603. package/src/core/main/ts/textpatterns/keyboard/KeyHandler.ts +0 -97
  604. package/src/core/main/ts/textpatterns/keyboard/Keyboard.ts +0 -75
  605. package/src/core/main/ts/textpatterns/utils/Marker.ts +0 -50
  606. package/src/core/main/ts/textpatterns/utils/PathRange.ts +0 -81
  607. package/src/core/main/ts/textpatterns/utils/Utils.ts +0 -71
  608. package/src/core/main/ts/ui/NotificationManagerImpl.ts +0 -13
  609. package/src/core/main/ts/ui/WindowManagerImpl.ts +0 -15
  610. package/src/core/main/ts/undo/Diff.ts +0 -151
  611. package/src/core/main/ts/undo/Fragments.ts +0 -89
  612. package/src/core/main/ts/undo/Levels.ts +0 -99
  613. package/src/core/main/ts/undo/Locks.ts +0 -4
  614. package/src/core/main/ts/undo/Operations.ts +0 -167
  615. package/src/core/main/ts/undo/Setup.ts +0 -157
  616. package/src/core/main/ts/undo/TypingState.ts +0 -22
  617. package/src/core/main/ts/undo/UndoManagerTypes.ts +0 -50
  618. package/src/core/main/ts/util/ArrUtils.ts +0 -149
  619. package/src/core/main/ts/util/LazyEvaluator.ts +0 -16
  620. package/src/core/main/ts/util/Predicate.ts +0 -29
  621. package/src/core/main/ts/util/Quirks.ts +0 -739
  622. package/src/core/main/ts/util/Uuid.ts +0 -25
  623. package/src/core/main/ts/view/VisualAids.ts +0 -5
  624. package/src/core/main/ts/view/VisualAidsImpl.ts +0 -41
  625. package/src/core/test/assets/icons/custom/icons.js +0 -6
  626. package/src/core/test/assets/js/nested.js +0 -2
  627. package/src/core/test/assets/js/test.js +0 -1
  628. package/src/core/test/assets/langs/custom.js +0 -3
  629. package/src/core/test/json/routes.json +0 -395
  630. package/src/core/test/ts/atomic/autocomplete/ParserTest.ts +0 -54
  631. package/src/core/test/ts/atomic/file/ConversionsTest.ts +0 -34
  632. package/src/core/test/ts/atomic/html/FilterNodeTest.ts +0 -57
  633. package/src/core/test/ts/atomic/keyboard/MatchKeysTest.ts +0 -123
  634. package/src/core/test/ts/atomic/keyboard/NbspsTest.ts +0 -22
  635. package/src/core/test/ts/atomic/paste/InternalHtmlTest.ts +0 -25
  636. package/src/core/test/ts/atomic/paste/NewlinesTest.ts +0 -60
  637. package/src/core/test/ts/atomic/schema/CustomElementsRuleParserTest.ts +0 -53
  638. package/src/core/test/ts/atomic/schema/GlobalAttributesSetTest.ts +0 -42
  639. package/src/core/test/ts/atomic/schema/PresetsTest.ts +0 -42
  640. package/src/core/test/ts/atomic/schema/SchemaElementSetsTest.ts +0 -122
  641. package/src/core/test/ts/atomic/schema/SchemaLookupTableTest.ts +0 -37
  642. package/src/core/test/ts/atomic/schema/ValidChildrenRuleParserTest.ts +0 -175
  643. package/src/core/test/ts/atomic/schema/ValidElementsRuleParserTest.ts +0 -331
  644. package/src/core/test/ts/atomic/text/BidiTest.ts +0 -12
  645. package/src/core/test/ts/atomic/text/ExtendingCharTest.ts +0 -11
  646. package/src/core/test/ts/atomic/text/WhitespaceTest.ts +0 -32
  647. package/src/core/test/ts/atomic/text/ZwspTest.ts +0 -12
  648. package/src/core/test/ts/atomic/textpatterns/FindBlockPatternsTest.ts +0 -47
  649. package/src/core/test/ts/atomic/util/LazyEvaluatorTest.ts +0 -26
  650. package/src/core/test/ts/atomic/util/PredicateTest.ts +0 -25
  651. package/src/core/test/ts/browser/AddOnManagerTest.ts +0 -90
  652. package/src/core/test/ts/browser/ClickContentEditableFalseTest.ts +0 -76
  653. package/src/core/test/ts/browser/DragDropOverridesTest.ts +0 -801
  654. package/src/core/test/ts/browser/EditableRootTest.ts +0 -97
  655. package/src/core/test/ts/browser/EditorAutoFocusTest.ts +0 -84
  656. package/src/core/test/ts/browser/EditorCleanupTest.ts +0 -65
  657. package/src/core/test/ts/browser/EditorManagerCommandsTest.ts +0 -87
  658. package/src/core/test/ts/browser/EditorManagerSetupTest.ts +0 -40
  659. package/src/core/test/ts/browser/EditorManagerTest.ts +0 -206
  660. package/src/core/test/ts/browser/EditorOptionsTest.ts +0 -227
  661. package/src/core/test/ts/browser/EditorRemoveTest.ts +0 -101
  662. package/src/core/test/ts/browser/EditorRemovedApiTest.ts +0 -43
  663. package/src/core/test/ts/browser/EditorRtlTest.ts +0 -36
  664. package/src/core/test/ts/browser/EditorTest.ts +0 -543
  665. package/src/core/test/ts/browser/EditorUploadTest.ts +0 -663
  666. package/src/core/test/ts/browser/EditorViewTest.ts +0 -101
  667. package/src/core/test/ts/browser/FakeClipboardTest.ts +0 -83
  668. package/src/core/test/ts/browser/FontSelectCustomTest.ts +0 -63
  669. package/src/core/test/ts/browser/FontSelectTest.ts +0 -172
  670. package/src/core/test/ts/browser/ForceBlocksTest.ts +0 -167
  671. package/src/core/test/ts/browser/FormatterApplyTest.ts +0 -2563
  672. package/src/core/test/ts/browser/FormatterCheckTest.ts +0 -358
  673. package/src/core/test/ts/browser/FormatterClosestTest.ts +0 -79
  674. package/src/core/test/ts/browser/FormatterRemoveTest.ts +0 -619
  675. package/src/core/test/ts/browser/FormattingCommandsTest.ts +0 -554
  676. package/src/core/test/ts/browser/InlineEditorRemoveTest.ts +0 -28
  677. package/src/core/test/ts/browser/InlineEditorSaveTest.ts +0 -27
  678. package/src/core/test/ts/browser/MiscCommandsTest.ts +0 -75
  679. package/src/core/test/ts/browser/ModeTest.ts +0 -111
  680. package/src/core/test/ts/browser/NotificationManagerTest.ts +0 -256
  681. package/src/core/test/ts/browser/PadEmptyWithBrTest.ts +0 -38
  682. package/src/core/test/ts/browser/ReadOnlyModeTest.ts +0 -305
  683. package/src/core/test/ts/browser/ResourceTest.ts +0 -86
  684. package/src/core/test/ts/browser/SelectionOverridesTest.ts +0 -338
  685. package/src/core/test/ts/browser/ShortcutsTest.ts +0 -106
  686. package/src/core/test/ts/browser/UndoManagerTest.ts +0 -759
  687. package/src/core/test/ts/browser/WindowManagerTest.ts +0 -46
  688. package/src/core/test/ts/browser/annotate/AnnotateBlocksTest.ts +0 -723
  689. package/src/core/test/ts/browser/annotate/AnnotateTest.ts +0 -209
  690. package/src/core/test/ts/browser/annotate/AnnotationChangedTest.ts +0 -352
  691. package/src/core/test/ts/browser/annotate/AnnotationPersistenceTest.ts +0 -129
  692. package/src/core/test/ts/browser/annotate/AnnotationRemovedTest.ts +0 -211
  693. package/src/core/test/ts/browser/annotate/AnnotationStylingTest.ts +0 -311
  694. package/src/core/test/ts/browser/api/EditorCommandsTest.ts +0 -341
  695. package/src/core/test/ts/browser/api/OptionsTest.ts +0 -34
  696. package/src/core/test/ts/browser/api/commands/ContentCommandsTest.ts +0 -91
  697. package/src/core/test/ts/browser/api/commands/NewBlockCommandsTest.ts +0 -251
  698. package/src/core/test/ts/browser/api/commands/NewlineCommandsTest.ts +0 -131
  699. package/src/core/test/ts/browser/api/dom/RangeExpandTest.ts +0 -77
  700. package/src/core/test/ts/browser/api/dom/RangeUtilsTest.ts +0 -45
  701. package/src/core/test/ts/browser/bookmark/BookmarksTest.ts +0 -313
  702. package/src/core/test/ts/browser/bookmark/CaretBookmarkTest.ts +0 -163
  703. package/src/core/test/ts/browser/caret/CaretCandidateTest.ts +0 -60
  704. package/src/core/test/ts/browser/caret/CaretContainerRemoveTest.ts +0 -63
  705. package/src/core/test/ts/browser/caret/CaretContainerTest.ts +0 -163
  706. package/src/core/test/ts/browser/caret/CaretFinderTest.ts +0 -410
  707. package/src/core/test/ts/browser/caret/CaretPositionPredicatesTest.ts +0 -59
  708. package/src/core/test/ts/browser/caret/CaretPositionTest.ts +0 -202
  709. package/src/core/test/ts/browser/caret/CaretUtilsTest.ts +0 -249
  710. package/src/core/test/ts/browser/caret/CaretWalkerTest.ts +0 -308
  711. package/src/core/test/ts/browser/caret/ClosestCaretCandidateTest.ts +0 -717
  712. package/src/core/test/ts/browser/caret/FakeCaretTest.ts +0 -143
  713. package/src/core/test/ts/browser/caret/FakeCaretTypeTest.ts +0 -29
  714. package/src/core/test/ts/browser/caret/FirefoxFakeCaretBeforeTableTypeTest.ts +0 -54
  715. package/src/core/test/ts/browser/caret/LineReaderTest.ts +0 -539
  716. package/src/core/test/ts/browser/caret/LineUtilsTest.ts +0 -22
  717. package/src/core/test/ts/browser/caret/LineWalkerTest.ts +0 -93
  718. package/src/core/test/ts/browser/caret/TableCellsTest.ts +0 -249
  719. package/src/core/test/ts/browser/commands/ContentLangTest.ts +0 -83
  720. package/src/core/test/ts/browser/commands/LineHeightTest.ts +0 -95
  721. package/src/core/test/ts/browser/commands/OutdentCommandTest.ts +0 -151
  722. package/src/core/test/ts/browser/content/CustomElementsTest.ts +0 -39
  723. package/src/core/test/ts/browser/content/EditorContentEventsTest.ts +0 -153
  724. package/src/core/test/ts/browser/content/EditorContentForcedRootBlockTest.ts +0 -20
  725. package/src/core/test/ts/browser/content/EditorContentNotInitializedTest.ts +0 -86
  726. package/src/core/test/ts/browser/content/EditorContentTest.ts +0 -704
  727. package/src/core/test/ts/browser/content/EditorContentWsTest.ts +0 -18
  728. package/src/core/test/ts/browser/content/EditorGetContentRawTest.ts +0 -86
  729. package/src/core/test/ts/browser/content/EditorGetContentTextFormatTest.ts +0 -35
  730. package/src/core/test/ts/browser/content/EditorGetContentTreeTest.ts +0 -49
  731. package/src/core/test/ts/browser/content/EditorResetContentTest.ts +0 -97
  732. package/src/core/test/ts/browser/content/HTMLDataURLsTest.ts +0 -32
  733. package/src/core/test/ts/browser/content/InsertContentCommandTest.ts +0 -429
  734. package/src/core/test/ts/browser/content/InsertContentTest.ts +0 -869
  735. package/src/core/test/ts/browser/content/InsertContentWebKitBugs.ts +0 -21
  736. package/src/core/test/ts/browser/content/InsertListTest.ts +0 -48
  737. package/src/core/test/ts/browser/content/InsertUnsanitizedContentTest.ts +0 -40
  738. package/src/core/test/ts/browser/content/PlaceholderVisuallyEmptyTest.ts +0 -54
  739. package/src/core/test/ts/browser/content/TransparentElementsTest.ts +0 -242
  740. package/src/core/test/ts/browser/delete/BlockBoundaryDeleteTest.ts +0 -494
  741. package/src/core/test/ts/browser/delete/BlockMergeBoundaryTest.ts +0 -113
  742. package/src/core/test/ts/browser/delete/BlockRangeDeleteTest.ts +0 -162
  743. package/src/core/test/ts/browser/delete/CaretBoundaryDeleteTest.ts +0 -123
  744. package/src/core/test/ts/browser/delete/CefDeleteActionTest.ts +0 -336
  745. package/src/core/test/ts/browser/delete/CefDeleteNoneditableTest.ts +0 -106
  746. package/src/core/test/ts/browser/delete/CefDeleteTest.ts +0 -321
  747. package/src/core/test/ts/browser/delete/DeleteBeforeInputEventTest.ts +0 -23
  748. package/src/core/test/ts/browser/delete/DeleteCommandsTest.ts +0 -106
  749. package/src/core/test/ts/browser/delete/DeleteElementTest.ts +0 -242
  750. package/src/core/test/ts/browser/delete/DeleteUtilsTest.ts +0 -119
  751. package/src/core/test/ts/browser/delete/DetailsDeleteTest.ts +0 -162
  752. package/src/core/test/ts/browser/delete/ImageBlockDeleteTest.ts +0 -66
  753. package/src/core/test/ts/browser/delete/InlineBoundaryDeleteTest.ts +0 -126
  754. package/src/core/test/ts/browser/delete/InlineFormatDeleteTest.ts +0 -986
  755. package/src/core/test/ts/browser/delete/InlineFormatPostShortcutDeleteTest.ts +0 -324
  756. package/src/core/test/ts/browser/delete/MediaDeleteTest.ts +0 -83
  757. package/src/core/test/ts/browser/delete/MergeBlocksTest.ts +0 -243
  758. package/src/core/test/ts/browser/delete/OutdentTest.ts +0 -43
  759. package/src/core/test/ts/browser/delete/TableDeleteActionTest.ts +0 -197
  760. package/src/core/test/ts/browser/delete/TableDeleteTest.ts +0 -671
  761. package/src/core/test/ts/browser/dom/ContentCssCorsTest.ts +0 -129
  762. package/src/core/test/ts/browser/dom/ControlSelectionTest.ts +0 -265
  763. package/src/core/test/ts/browser/dom/DimensionsTest.ts +0 -45
  764. package/src/core/test/ts/browser/dom/DomUtilsTest.ts +0 -991
  765. package/src/core/test/ts/browser/dom/ElementTypeTest.ts +0 -78
  766. package/src/core/test/ts/browser/dom/EmptyTest.ts +0 -79
  767. package/src/core/test/ts/browser/dom/EventUtilsTest.ts +0 -497
  768. package/src/core/test/ts/browser/dom/NodePathTest.ts +0 -41
  769. package/src/core/test/ts/browser/dom/NodeTypeTest.ts +0 -123
  770. package/src/core/test/ts/browser/dom/PaddingBrTest.ts +0 -59
  771. package/src/core/test/ts/browser/dom/ParentsTest.ts +0 -99
  772. package/src/core/test/ts/browser/dom/RangePointTest.ts +0 -42
  773. package/src/core/test/ts/browser/dom/ReferrerPolicyTest.ts +0 -45
  774. package/src/core/test/ts/browser/dom/ScriptLoaderTest.ts +0 -113
  775. package/src/core/test/ts/browser/dom/ScrollIntoViewTest.ts +0 -305
  776. package/src/core/test/ts/browser/dom/SelectionEventsTest.ts +0 -116
  777. package/src/core/test/ts/browser/dom/SelectionQuirksTest.ts +0 -84
  778. package/src/core/test/ts/browser/dom/SelectionTest.ts +0 -1380
  779. package/src/core/test/ts/browser/dom/SerializerEventsTest.ts +0 -50
  780. package/src/core/test/ts/browser/dom/SerializerTest.ts +0 -926
  781. package/src/core/test/ts/browser/dom/StyleSheetLoaderRegistryTest.ts +0 -40
  782. package/src/core/test/ts/browser/dom/StyleSheetLoaderTest.ts +0 -70
  783. package/src/core/test/ts/browser/dom/TreeWalkerTest.ts +0 -97
  784. package/src/core/test/ts/browser/dom/TrimBodyTest.ts +0 -188
  785. package/src/core/test/ts/browser/dom/TrimNodeTest.ts +0 -52
  786. package/src/core/test/ts/browser/file/BlobCacheTest.ts +0 -98
  787. package/src/core/test/ts/browser/file/ConversionsTest.ts +0 -25
  788. package/src/core/test/ts/browser/file/ImageScannerTest.ts +0 -71
  789. package/src/core/test/ts/browser/file/UploadStatusTest.ts +0 -33
  790. package/src/core/test/ts/browser/fmt/BlockFormatsTest.ts +0 -75
  791. package/src/core/test/ts/browser/fmt/CaretFormatTest.ts +0 -894
  792. package/src/core/test/ts/browser/fmt/DefaultFormatsWithSchemaTest.ts +0 -79
  793. package/src/core/test/ts/browser/fmt/ExpandRangeTest.ts +0 -311
  794. package/src/core/test/ts/browser/fmt/FontInfoTest.ts +0 -158
  795. package/src/core/test/ts/browser/fmt/FontsizeFormatTest.ts +0 -25
  796. package/src/core/test/ts/browser/fmt/FormatChangeSelectionTest.ts +0 -111
  797. package/src/core/test/ts/browser/fmt/FormatChangeVarsTest.ts +0 -191
  798. package/src/core/test/ts/browser/fmt/FormatEmptyLineTest.ts +0 -428
  799. package/src/core/test/ts/browser/fmt/FormatNoneditableTest.ts +0 -762
  800. package/src/core/test/ts/browser/fmt/HooksTest.ts +0 -67
  801. package/src/core/test/ts/browser/fmt/ListItemFormatTest.ts +0 -377
  802. package/src/core/test/ts/browser/fmt/MediaAlignTest.ts +0 -81
  803. package/src/core/test/ts/browser/fmt/PreviewTest.ts +0 -255
  804. package/src/core/test/ts/browser/fmt/RemoveFormatTest.ts +0 -284
  805. package/src/core/test/ts/browser/fmt/RemoveHighlightFormatTest.ts +0 -48
  806. package/src/core/test/ts/browser/fmt/RemoveTrailingWhitespaceFormatTest.ts +0 -44
  807. package/src/core/test/ts/browser/fmt/TableFormatsTest.ts +0 -178
  808. package/src/core/test/ts/browser/fmt/TextDecorationColorTest.ts +0 -197
  809. package/src/core/test/ts/browser/focus/CefFocusTest.ts +0 -34
  810. package/src/core/test/ts/browser/focus/EditorFocusTest.ts +0 -89
  811. package/src/core/test/ts/browser/focus/FocusControllerTest.ts +0 -83
  812. package/src/core/test/ts/browser/focus/HighlightOnFocusTest.ts +0 -146
  813. package/src/core/test/ts/browser/focus/KeyboardShortcutElementPathFocusTest.ts +0 -30
  814. package/src/core/test/ts/browser/focus/KeyboardShortcutMenuFocusTest.ts +0 -31
  815. package/src/core/test/ts/browser/focus/MediaFocusTest.ts +0 -27
  816. package/src/core/test/ts/browser/geom/ClientRectTest.ts +0 -118
  817. package/src/core/test/ts/browser/geom/RectTest.ts +0 -94
  818. package/src/core/test/ts/browser/html/DomParserTest.ts +0 -1702
  819. package/src/core/test/ts/browser/html/EntitiesTest.ts +0 -127
  820. package/src/core/test/ts/browser/html/NamespaceTest.ts +0 -61
  821. package/src/core/test/ts/browser/html/NodeTest.ts +0 -443
  822. package/src/core/test/ts/browser/html/NonEditableFilterTest.ts +0 -42
  823. package/src/core/test/ts/browser/html/ParserUtilsTest.ts +0 -78
  824. package/src/core/test/ts/browser/html/SanitizationTest.ts +0 -75
  825. package/src/core/test/ts/browser/html/SchemaTest.ts +0 -887
  826. package/src/core/test/ts/browser/html/SerializerTest.ts +0 -70
  827. package/src/core/test/ts/browser/html/StylesTest.ts +0 -269
  828. package/src/core/test/ts/browser/html/WriterTest.ts +0 -155
  829. package/src/core/test/ts/browser/init/ContentCssTest.ts +0 -49
  830. package/src/core/test/ts/browser/init/ContentStylePositionTest.ts +0 -28
  831. package/src/core/test/ts/browser/init/EditorCustomThemeTest.ts +0 -141
  832. package/src/core/test/ts/browser/init/EditorInitializationTest.ts +0 -245
  833. package/src/core/test/ts/browser/init/InitContentBodyDirectionalityTest.ts +0 -48
  834. package/src/core/test/ts/browser/init/InitContentBodyEditInitialContentTest.ts +0 -43
  835. package/src/core/test/ts/browser/init/InitContentBodyFiltersTest.ts +0 -29
  836. package/src/core/test/ts/browser/init/InitContentBodySelectionTest.ts +0 -47
  837. package/src/core/test/ts/browser/init/InitDocumentWriteTest.ts +0 -21
  838. package/src/core/test/ts/browser/init/InitEditorIconTest.ts +0 -41
  839. package/src/core/test/ts/browser/init/InitEditorLanguageTest.ts +0 -27
  840. package/src/core/test/ts/browser/init/InitEditorNoThemeIframeTest.ts +0 -33
  841. package/src/core/test/ts/browser/init/InitEditorNoThemeInlineTest.ts +0 -42
  842. package/src/core/test/ts/browser/init/InitEditorOnHiddenElementTest.ts +0 -16
  843. package/src/core/test/ts/browser/init/InitEditorPluginInitErrorTest.ts +0 -50
  844. package/src/core/test/ts/browser/init/InitEditorThemeFunctionIframeTest.ts +0 -41
  845. package/src/core/test/ts/browser/init/InitEditorThemeFunctionInlineTest.ts +0 -49
  846. package/src/core/test/ts/browser/init/InitEventsOrderTest.ts +0 -45
  847. package/src/core/test/ts/browser/init/InitIframeAriaTextTest.ts +0 -34
  848. package/src/core/test/ts/browser/init/InitIframeEditorCookiesTest.ts +0 -22
  849. package/src/core/test/ts/browser/init/InitIframeEditorWithCustomAttrsTest.ts +0 -26
  850. package/src/core/test/ts/browser/init/InitIframeEditorWithTabindexTest.ts +0 -29
  851. package/src/core/test/ts/browser/init/InitUnsanitizedContentTest.ts +0 -28
  852. package/src/core/test/ts/browser/init/LicenseKeyValidationTest.ts +0 -143
  853. package/src/core/test/ts/browser/init/RegisterFormatsBeforeSetContentTest.ts +0 -33
  854. package/src/core/test/ts/browser/init/ShadowDomEditorTest.ts +0 -81
  855. package/src/core/test/ts/browser/keyboard/ArrowKeysAnchorTest.ts +0 -251
  856. package/src/core/test/ts/browser/keyboard/ArrowKeysCefTest.ts +0 -208
  857. package/src/core/test/ts/browser/keyboard/ArrowKeysContentEndpointTest.ts +0 -80
  858. package/src/core/test/ts/browser/keyboard/ArrowKeysEdgeCefTest.ts +0 -322
  859. package/src/core/test/ts/browser/keyboard/ArrowKeysInlineBoundariesTest.ts +0 -388
  860. package/src/core/test/ts/browser/keyboard/ArrowKeysTableTest.ts +0 -250
  861. package/src/core/test/ts/browser/keyboard/AutocompleterTest.ts +0 -197
  862. package/src/core/test/ts/browser/keyboard/BoundaryCaretTest.ts +0 -49
  863. package/src/core/test/ts/browser/keyboard/BoundaryLocationTest.ts +0 -216
  864. package/src/core/test/ts/browser/keyboard/CaretAfterKoreanTest.ts +0 -139
  865. package/src/core/test/ts/browser/keyboard/EnterKeyAnchorTest.ts +0 -180
  866. package/src/core/test/ts/browser/keyboard/EnterKeyCeFalseTest.ts +0 -105
  867. package/src/core/test/ts/browser/keyboard/EnterKeyHrTest.ts +0 -66
  868. package/src/core/test/ts/browser/keyboard/EnterKeyListsTest.ts +0 -520
  869. package/src/core/test/ts/browser/keyboard/EnterKeyTest.ts +0 -684
  870. package/src/core/test/ts/browser/keyboard/FormatShortcutsTest.ts +0 -117
  871. package/src/core/test/ts/browser/keyboard/HomeEndKeysTest.ts +0 -165
  872. package/src/core/test/ts/browser/keyboard/InlineUtilsTest.ts +0 -199
  873. package/src/core/test/ts/browser/keyboard/InsertKeysTest.ts +0 -331
  874. package/src/core/test/ts/browser/keyboard/KeyboardCellNavigationTest.ts +0 -88
  875. package/src/core/test/ts/browser/keyboard/KeyboardEventTest.ts +0 -26
  876. package/src/core/test/ts/browser/keyboard/MediaNavigationTest.ts +0 -113
  877. package/src/core/test/ts/browser/keyboard/PreventNoneditableInputTest.ts +0 -92
  878. package/src/core/test/ts/browser/keyboard/SpaceKeyBeforeInputEventTest.ts +0 -23
  879. package/src/core/test/ts/browser/keyboard/SpaceKeyTest.ts +0 -144
  880. package/src/core/test/ts/browser/keyboard/TableNavigationTest.ts +0 -92
  881. package/src/core/test/ts/browser/keyboard/TableTabKeyNavigationTest.ts +0 -228
  882. package/src/core/test/ts/browser/keyboard/TableTabNavigationDisabledTest.ts +0 -22
  883. package/src/core/test/ts/browser/keyboard/TypeTextAtCefTest.ts +0 -43
  884. package/src/core/test/ts/browser/newline/ForcedRootBlockTest.ts +0 -172
  885. package/src/core/test/ts/browser/newline/InsertBrTest.ts +0 -128
  886. package/src/core/test/ts/browser/newline/InsertNewLineTest.ts +0 -853
  887. package/src/core/test/ts/browser/newline/NewlineBeforeInputEventTest.ts +0 -22
  888. package/src/core/test/ts/browser/options/NormalizeOptionsTest.ts +0 -254
  889. package/src/core/test/ts/browser/paste/CutNoneditableTest.ts +0 -26
  890. package/src/core/test/ts/browser/paste/DragDropImageTest.ts +0 -69
  891. package/src/core/test/ts/browser/paste/DragDropSummaryTest.ts +0 -60
  892. package/src/core/test/ts/browser/paste/DragDropTransparentsTest.ts +0 -57
  893. package/src/core/test/ts/browser/paste/ImagePasteTest.ts +0 -195
  894. package/src/core/test/ts/browser/paste/InternalClipboardTest.ts +0 -248
  895. package/src/core/test/ts/browser/paste/PasteBinTest.ts +0 -91
  896. package/src/core/test/ts/browser/paste/PasteFormatToggleTest.ts +0 -31
  897. package/src/core/test/ts/browser/paste/PasteOptionsTest.ts +0 -24
  898. package/src/core/test/ts/browser/paste/PasteStylesTest.ts +0 -79
  899. package/src/core/test/ts/browser/paste/PasteTest.ts +0 -580
  900. package/src/core/test/ts/browser/paste/PlainTextPasteTest.ts +0 -60
  901. package/src/core/test/ts/browser/paste/ProcessFiltersTest.ts +0 -150
  902. package/src/core/test/ts/browser/paste/SmartPasteTest.ts +0 -241
  903. package/src/core/test/ts/browser/paste/UnsanitizedPasteTest.ts +0 -38
  904. package/src/core/test/ts/browser/selection/DetailsElementTest.ts +0 -156
  905. package/src/core/test/ts/browser/selection/FragmentReaderTest.ts +0 -236
  906. package/src/core/test/ts/browser/selection/GetSelectionContentTest.ts +0 -151
  907. package/src/core/test/ts/browser/selection/InlineBoundarySelectionTest.ts +0 -42
  908. package/src/core/test/ts/browser/selection/MultiClickSelectionTest.ts +0 -224
  909. package/src/core/test/ts/browser/selection/NoneditableRootElementSelectionTest.ts +0 -100
  910. package/src/core/test/ts/browser/selection/NormalizeRangeTest.ts +0 -347
  911. package/src/core/test/ts/browser/selection/RangeInsertNodeTest.ts +0 -82
  912. package/src/core/test/ts/browser/selection/RangeNormalizerTest.ts +0 -98
  913. package/src/core/test/ts/browser/selection/RangeWalkTest.ts +0 -112
  914. package/src/core/test/ts/browser/selection/SelectBeforeBlockTest.ts +0 -33
  915. package/src/core/test/ts/browser/selection/SelectionBookmarkInlineEditorTest.ts +0 -148
  916. package/src/core/test/ts/browser/selection/SelectionBookmarkTest.ts +0 -189
  917. package/src/core/test/ts/browser/selection/SelectionUtilsTest.ts +0 -72
  918. package/src/core/test/ts/browser/selection/SetSelectionContentTest.ts +0 -297
  919. package/src/core/test/ts/browser/selection/SimpleTableModelTest.ts +0 -132
  920. package/src/core/test/ts/browser/selection/TableCellSelectionTest.ts +0 -46
  921. package/src/core/test/ts/browser/text/ZwspInsertTest.ts +0 -42
  922. package/src/core/test/ts/browser/textpatterns/BlockPatternsOnSpaceTest.ts +0 -288
  923. package/src/core/test/ts/browser/textpatterns/FindBlockPatternsTest.ts +0 -232
  924. package/src/core/test/ts/browser/textpatterns/FindInlinePatternTest.ts +0 -470
  925. package/src/core/test/ts/browser/textpatterns/ReplacementTest.ts +0 -197
  926. package/src/core/test/ts/browser/textpatterns/TextPatternsFalseTest.ts +0 -36
  927. package/src/core/test/ts/browser/textpatterns/TextPatternsLookupTest.ts +0 -38
  928. package/src/core/test/ts/browser/textpatterns/TextPatternsPublicApiTest.ts +0 -124
  929. package/src/core/test/ts/browser/textpatterns/TextPatternsTest.ts +0 -377
  930. package/src/core/test/ts/browser/textpatterns/TextSearchTest.ts +0 -139
  931. package/src/core/test/ts/browser/textpatterns/TrailingPunctuationTest.ts +0 -55
  932. package/src/core/test/ts/browser/textpatterns/TriggerInlinePatternBeginningTest.ts +0 -33
  933. package/src/core/test/ts/browser/textpatterns/UndoTextPatternsTest.ts +0 -35
  934. package/src/core/test/ts/browser/undo/DiffTest.ts +0 -22
  935. package/src/core/test/ts/browser/undo/ForcedRootBlockTest.ts +0 -48
  936. package/src/core/test/ts/browser/undo/FragmentsTest.ts +0 -44
  937. package/src/core/test/ts/browser/undo/LevelsTest.ts +0 -214
  938. package/src/core/test/ts/browser/undo/UndoKeyboardShortcutsTest.ts +0 -41
  939. package/src/core/test/ts/browser/util/DelayTest.ts +0 -51
  940. package/src/core/test/ts/browser/util/EventDispatcherTest.ts +0 -373
  941. package/src/core/test/ts/browser/util/FakeStorageTest.ts +0 -95
  942. package/src/core/test/ts/browser/util/I18nTest.ts +0 -124
  943. package/src/core/test/ts/browser/util/ImageUploaderTest.ts +0 -81
  944. package/src/core/test/ts/browser/util/ObservableTest.ts +0 -76
  945. package/src/core/test/ts/browser/util/QuirksFirefoxTest.ts +0 -101
  946. package/src/core/test/ts/browser/util/QuirksWebkitTest.ts +0 -360
  947. package/src/core/test/ts/browser/util/ToolsTest.ts +0 -11
  948. package/src/core/test/ts/browser/util/UriTest.ts +0 -175
  949. package/src/core/test/ts/browser/util/UtilsTest.ts +0 -22
  950. package/src/core/test/ts/module/McAgar.ts +0 -10
  951. package/src/core/test/ts/module/test/AnnotationAsserts.ts +0 -83
  952. package/src/core/test/ts/module/test/BeforeInputEventUtils.ts +0 -49
  953. package/src/core/test/ts/module/test/CaretAsserts.ts +0 -49
  954. package/src/core/test/ts/module/test/DialogUtils.ts +0 -30
  955. package/src/core/test/ts/module/test/DragDropUtils.ts +0 -22
  956. package/src/core/test/ts/module/test/ErrorHelpers.ts +0 -30
  957. package/src/core/test/ts/module/test/HtmlUtils.ts +0 -13
  958. package/src/core/test/ts/module/test/InputEventUtils.ts +0 -42
  959. package/src/core/test/ts/module/test/KeyUtils.ts +0 -113
  960. package/src/core/test/ts/module/test/PasteEventUtils.ts +0 -102
  961. package/src/core/test/ts/module/test/PasteStrings.ts +0 -13
  962. package/src/core/test/ts/module/test/SingletonUtils.ts +0 -7
  963. package/src/core/test/ts/module/test/TableUtils.ts +0 -21
  964. package/src/core/test/ts/module/test/TextPatternsUtils.ts +0 -145
  965. package/src/core/test/ts/module/test/ViewBlock.ts +0 -61
  966. package/src/core/test/ts/webdriver/content/PlaceholderTest.ts +0 -134
  967. package/src/core/test/ts/webdriver/delete/InlineFormatRetentionTest.ts +0 -42
  968. package/src/core/test/ts/webdriver/delete/ShortcutDeleteTest.ts +0 -215
  969. package/src/core/test/ts/webdriver/keyboard/IframeTabfocusTest.ts +0 -73
  970. package/src/core/test/ts/webdriver/keyboard/PageUpDownKeysTest.ts +0 -89
  971. package/src/core/test/ts/webdriver/keyboard/SpaceKeyTest.ts +0 -139
  972. package/src/core/test/ts/webdriver/paste/CopyAndPasteTest.ts +0 -275
  973. package/src/core/test/ts/webdriver/paste/CutTest.ts +0 -42
  974. package/src/core/text/build-header.js +0 -3
  975. package/src/models/dom/demo/html/demo/basic-demo.html +0 -28
  976. package/src/models/dom/demo/ts/demo/Demo.ts +0 -14
  977. package/src/models/dom/main/ts/Main.ts +0 -9
  978. package/src/models/dom/main/ts/Model.ts +0 -16
  979. package/src/models/dom/main/ts/table/Table.ts +0 -33
  980. package/src/models/dom/main/ts/table/actions/Clipboard.ts +0 -76
  981. package/src/models/dom/main/ts/table/actions/InsertTable.ts +0 -84
  982. package/src/models/dom/main/ts/table/actions/TableActions.ts +0 -213
  983. package/src/models/dom/main/ts/table/api/Clipboard.ts +0 -67
  984. package/src/models/dom/main/ts/table/api/Commands.ts +0 -253
  985. package/src/models/dom/main/ts/table/api/Events.ts +0 -77
  986. package/src/models/dom/main/ts/table/api/Options.ts +0 -181
  987. package/src/models/dom/main/ts/table/api/QueryCommands.ts +0 -30
  988. package/src/models/dom/main/ts/table/api/TableCellSelectionHandler.ts +0 -210
  989. package/src/models/dom/main/ts/table/api/TableResizeHandler.ts +0 -240
  990. package/src/models/dom/main/ts/table/core/TableUtils.ts +0 -69
  991. package/src/models/dom/main/ts/table/core/TableWire.ts +0 -36
  992. package/src/models/dom/main/ts/table/queries/TableSize.ts +0 -19
  993. package/src/models/dom/main/ts/table/queries/TableTargets.ts +0 -42
  994. package/src/models/dom/main/ts/table/selection/Ephemera.ts +0 -28
  995. package/src/models/dom/main/ts/table/selection/TableSelection.ts +0 -45
  996. package/src/models/dom/test/ts/atomic/table/TableUtilsTest.ts +0 -35
  997. package/src/models/dom/test/ts/browser/table/DragEditorContentsOverTableTest.ts +0 -25
  998. package/src/models/dom/test/ts/browser/table/DragResizeTest.ts +0 -453
  999. package/src/models/dom/test/ts/browser/table/DragSelectionTest.ts +0 -46
  1000. package/src/models/dom/test/ts/browser/table/EmptyRowTableTest.ts +0 -28
  1001. package/src/models/dom/test/ts/browser/table/FakeSelectionTest.ts +0 -279
  1002. package/src/models/dom/test/ts/browser/table/InsertColumnTableSizeTest.ts +0 -175
  1003. package/src/models/dom/test/ts/browser/table/InsertRowTableResizeTest.ts +0 -185
  1004. package/src/models/dom/test/ts/browser/table/InsertTableTest.ts +0 -47
  1005. package/src/models/dom/test/ts/browser/table/InsertTableWidthsTest.ts +0 -58
  1006. package/src/models/dom/test/ts/browser/table/InvalidColCountTest.ts +0 -126
  1007. package/src/models/dom/test/ts/browser/table/ModifyColumnsTableResizeTest.ts +0 -677
  1008. package/src/models/dom/test/ts/browser/table/NestedFakeSelectionTest.ts +0 -289
  1009. package/src/models/dom/test/ts/browser/table/NewCellRowEventsTest.ts +0 -42
  1010. package/src/models/dom/test/ts/browser/table/PasteTableTest.ts +0 -65
  1011. package/src/models/dom/test/ts/browser/table/ResizeTableTest.ts +0 -1035
  1012. package/src/models/dom/test/ts/browser/table/SwitchTableSectionTest.ts +0 -352
  1013. package/src/models/dom/test/ts/browser/table/TableNoWidthTest.ts +0 -41
  1014. package/src/models/dom/test/ts/browser/table/TableSectionApiTest.ts +0 -406
  1015. package/src/models/dom/test/ts/browser/table/TableSizingModeTest.ts +0 -98
  1016. package/src/models/dom/test/ts/browser/table/TwoCellsSelectionTest.ts +0 -114
  1017. package/src/models/dom/test/ts/browser/table/UnmergeCellTableResizeTest.ts +0 -304
  1018. package/src/models/dom/test/ts/browser/table/command/ApplyCellStyleCommandTest.ts +0 -220
  1019. package/src/models/dom/test/ts/browser/table/command/CommandsOnLockedColumnsTest.ts +0 -185
  1020. package/src/models/dom/test/ts/browser/table/command/InsertCommandsTest.ts +0 -184
  1021. package/src/models/dom/test/ts/browser/table/command/InsertTableCommandTest.ts +0 -110
  1022. package/src/models/dom/test/ts/browser/table/command/InsertTableCommandWithColGroupsTest.ts +0 -97
  1023. package/src/models/dom/test/ts/browser/table/command/MergeCellCommandTest.ts +0 -353
  1024. package/src/models/dom/test/ts/browser/table/command/ModifyClassesCommandsTest.ts +0 -303
  1025. package/src/models/dom/test/ts/browser/table/command/TableDeleteColumnTest.ts +0 -154
  1026. package/src/models/dom/test/ts/browser/table/command/TableDeleteCommandTest.ts +0 -39
  1027. package/src/models/dom/test/ts/browser/table/command/TableDeleteRowTest.ts +0 -152
  1028. package/src/models/dom/test/ts/browser/table/command/TableSizingModeCommandTest.ts +0 -119
  1029. package/src/models/dom/test/ts/browser/table/command/TableSizingModeCommandWithColGroupsTest.ts +0 -77
  1030. package/src/models/dom/test/ts/module/table/TableSizingModeCommandUtil.ts +0 -92
  1031. package/src/models/dom/test/ts/module/table/TableTestUtils.ts +0 -302
  1032. package/src/plugins/accordion/demo/html/demo.html +0 -26
  1033. package/src/plugins/accordion/demo/ts/demo/Demo.ts +0 -14
  1034. package/src/plugins/accordion/main/ts/Main.ts +0 -9
  1035. package/src/plugins/accordion/main/ts/Plugin.ts +0 -17
  1036. package/src/plugins/accordion/main/ts/api/Commands.ts +0 -12
  1037. package/src/plugins/accordion/main/ts/api/Events.ts +0 -13
  1038. package/src/plugins/accordion/main/ts/core/Actions.ts +0 -90
  1039. package/src/plugins/accordion/main/ts/core/FilterContent.ts +0 -153
  1040. package/src/plugins/accordion/main/ts/core/Identifiers.ts +0 -14
  1041. package/src/plugins/accordion/main/ts/core/Keyboard.ts +0 -27
  1042. package/src/plugins/accordion/main/ts/core/Quirks.ts +0 -24
  1043. package/src/plugins/accordion/main/ts/core/Utils.ts +0 -79
  1044. package/src/plugins/accordion/main/ts/ui/Buttons.ts +0 -39
  1045. package/src/plugins/accordion/test/ts/browser/AccordionFormattingTest.ts +0 -36
  1046. package/src/plugins/accordion/test/ts/browser/AccordionNavigationTest.ts +0 -56
  1047. package/src/plugins/accordion/test/ts/browser/AccordionPluginTest.ts +0 -241
  1048. package/src/plugins/accordion/test/ts/browser/DirectionalityTest.ts +0 -58
  1049. package/src/plugins/accordion/test/ts/browser/FilterContentTest.ts +0 -373
  1050. package/src/plugins/accordion/test/ts/browser/QuirksTest.ts +0 -34
  1051. package/src/plugins/accordion/test/ts/module/AccordionUtils.ts +0 -18
  1052. package/src/plugins/accordion/test/ts/webdriver/AccordionBackspaceDeleteTest.ts +0 -649
  1053. package/src/plugins/accordion/test/ts/webdriver/AccordionEnterTest.ts +0 -80
  1054. package/src/plugins/advlist/demo/html/demo.html +0 -16
  1055. package/src/plugins/advlist/demo/ts/demo/Demo.ts +0 -12
  1056. package/src/plugins/advlist/main/ts/Main.ts +0 -9
  1057. package/src/plugins/advlist/main/ts/Plugin.ts +0 -18
  1058. package/src/plugins/advlist/main/ts/api/Commands.ts +0 -17
  1059. package/src/plugins/advlist/main/ts/api/Options.ts +0 -31
  1060. package/src/plugins/advlist/main/ts/core/Actions.ts +0 -10
  1061. package/src/plugins/advlist/main/ts/core/ListUtils.ts +0 -58
  1062. package/src/plugins/advlist/main/ts/ui/Buttons.ts +0 -97
  1063. package/src/plugins/advlist/test/ts/browser/AdvlistOptionsAndToolbarTest.ts +0 -356
  1064. package/src/plugins/advlist/test/ts/browser/AdvlistPluginTest.ts +0 -200
  1065. package/src/plugins/advlist/test/ts/browser/ChangeListStyleTest.ts +0 -107
  1066. package/src/plugins/advlist/test/ts/browser/ContentEditableFalseTest.ts +0 -97
  1067. package/src/plugins/advlist/test/ts/browser/ListUtilsTest.ts +0 -22
  1068. package/src/plugins/advlist/test/ts/browser/NoneditableRootTest.ts +0 -57
  1069. package/src/plugins/advlist/test/ts/browser/SplitButtonTest.ts +0 -234
  1070. package/src/plugins/anchor/demo/html/demo.html +0 -16
  1071. package/src/plugins/anchor/demo/ts/demo/Demo.ts +0 -12
  1072. package/src/plugins/anchor/main/ts/Main.ts +0 -9
  1073. package/src/plugins/anchor/main/ts/Plugin.ts +0 -20
  1074. package/src/plugins/anchor/main/ts/api/Commands.ts +0 -13
  1075. package/src/plugins/anchor/main/ts/api/Options.ts +0 -24
  1076. package/src/plugins/anchor/main/ts/core/Anchor.ts +0 -76
  1077. package/src/plugins/anchor/main/ts/core/FilterContent.ts +0 -32
  1078. package/src/plugins/anchor/main/ts/core/Formats.ts +0 -24
  1079. package/src/plugins/anchor/main/ts/core/Utils.ts +0 -25
  1080. package/src/plugins/anchor/main/ts/ui/Buttons.ts +0 -45
  1081. package/src/plugins/anchor/main/ts/ui/Dialog.ts +0 -60
  1082. package/src/plugins/anchor/test/ts/browser/AnchorAlertTest.ts +0 -32
  1083. package/src/plugins/anchor/test/ts/browser/AnchorAllowHtmlTest.ts +0 -104
  1084. package/src/plugins/anchor/test/ts/browser/AnchorEditTest.ts +0 -30
  1085. package/src/plugins/anchor/test/ts/browser/AnchorFormatsTest.ts +0 -57
  1086. package/src/plugins/anchor/test/ts/browser/AnchorInlineTest.ts +0 -26
  1087. package/src/plugins/anchor/test/ts/browser/AnchorSanityTest.ts +0 -63
  1088. package/src/plugins/anchor/test/ts/browser/NoneditableRootTest.ts +0 -40
  1089. package/src/plugins/anchor/test/ts/module/Helpers.ts +0 -21
  1090. package/src/plugins/autolink/demo/html/demo.html +0 -15
  1091. package/src/plugins/autolink/demo/ts/demo/Demo.ts +0 -12
  1092. package/src/plugins/autolink/main/ts/Main.ts +0 -9
  1093. package/src/plugins/autolink/main/ts/Plugin.ts +0 -11
  1094. package/src/plugins/autolink/main/ts/api/Options.ts +0 -42
  1095. package/src/plugins/autolink/main/ts/core/Keys.ts +0 -151
  1096. package/src/plugins/autolink/main/ts/core/Utils.ts +0 -50
  1097. package/src/plugins/autolink/test/ts/browser/AutoLinkPluginTest.ts +0 -225
  1098. package/src/plugins/autolink/test/ts/browser/ConsecutiveLinkTest.ts +0 -30
  1099. package/src/plugins/autolink/test/ts/browser/EnterKeyTest.ts +0 -24
  1100. package/src/plugins/autolink/test/ts/browser/FragmentedTextTest.ts +0 -60
  1101. package/src/plugins/autolink/test/ts/module/test/KeyUtils.ts +0 -159
  1102. package/src/plugins/autoresize/demo/html/demo.html +0 -15
  1103. package/src/plugins/autoresize/demo/ts/demo/Demo.ts +0 -13
  1104. package/src/plugins/autoresize/main/ts/Main.ts +0 -9
  1105. package/src/plugins/autoresize/main/ts/Plugin.ts +0 -30
  1106. package/src/plugins/autoresize/main/ts/api/Commands.ts +0 -15
  1107. package/src/plugins/autoresize/main/ts/api/Events.ts +0 -9
  1108. package/src/plugins/autoresize/main/ts/api/Options.ts +0 -35
  1109. package/src/plugins/autoresize/main/ts/core/Resize.ts +0 -187
  1110. package/src/plugins/autoresize/test/ts/browser/AutoresizePluginTest.ts +0 -230
  1111. package/src/plugins/autosave/demo/html/demo.html +0 -15
  1112. package/src/plugins/autosave/demo/ts/demo/Demo.ts +0 -16
  1113. package/src/plugins/autosave/main/ts/Main.ts +0 -9
  1114. package/src/plugins/autosave/main/ts/Plugin.ts +0 -30
  1115. package/src/plugins/autosave/main/ts/api/Api.ts +0 -23
  1116. package/src/plugins/autosave/main/ts/api/Events.ts +0 -17
  1117. package/src/plugins/autosave/main/ts/api/Options.ts +0 -72
  1118. package/src/plugins/autosave/main/ts/core/BeforeUnload.ts +0 -32
  1119. package/src/plugins/autosave/main/ts/core/Storage.ts +0 -91
  1120. package/src/plugins/autosave/main/ts/core/Time.ts +0 -13
  1121. package/src/plugins/autosave/main/ts/ui/Buttons.ts +0 -42
  1122. package/src/plugins/autosave/test/ts/browser/AutoSavePluginTest.ts +0 -141
  1123. package/src/plugins/autosave/test/ts/browser/ShouldRestoreWhenEmptyTest.ts +0 -63
  1124. package/src/plugins/charmap/demo/html/demo.html +0 -15
  1125. package/src/plugins/charmap/demo/ts/demo/Demo.ts +0 -13
  1126. package/src/plugins/charmap/main/ts/Main.ts +0 -9
  1127. package/src/plugins/charmap/main/ts/Plugin.ts +0 -21
  1128. package/src/plugins/charmap/main/ts/api/Api.ts +0 -28
  1129. package/src/plugins/charmap/main/ts/api/Commands.ts +0 -16
  1130. package/src/plugins/charmap/main/ts/api/Events.ts +0 -10
  1131. package/src/plugins/charmap/main/ts/api/Options.ts +0 -36
  1132. package/src/plugins/charmap/main/ts/core/Actions.ts +0 -12
  1133. package/src/plugins/charmap/main/ts/core/CharMap.ts +0 -414
  1134. package/src/plugins/charmap/main/ts/core/Scan.ts +0 -37
  1135. package/src/plugins/charmap/main/ts/ui/Autocompletion.ts +0 -26
  1136. package/src/plugins/charmap/main/ts/ui/Buttons.ts +0 -37
  1137. package/src/plugins/charmap/main/ts/ui/Dialog.ts +0 -99
  1138. package/src/plugins/charmap/test/ts/atomic/ScanTest.ts +0 -33
  1139. package/src/plugins/charmap/test/ts/browser/CharmapAutocompletionTest.ts +0 -23
  1140. package/src/plugins/charmap/test/ts/browser/CharmapDialogHeightTest.ts +0 -80
  1141. package/src/plugins/charmap/test/ts/browser/CharmapPluginTest.ts +0 -108
  1142. package/src/plugins/charmap/test/ts/browser/CharmapSearchTest.ts +0 -55
  1143. package/src/plugins/charmap/test/ts/browser/CharmapUserDefinedTest.ts +0 -30
  1144. package/src/plugins/charmap/test/ts/browser/InsertQuotationMarkTest.ts +0 -24
  1145. package/src/plugins/charmap/test/ts/browser/NoneditableRootTest.ts +0 -40
  1146. package/src/plugins/charmap/test/ts/module/Helpers.ts +0 -12
  1147. package/src/plugins/code/demo/html/demo.html +0 -15
  1148. package/src/plugins/code/demo/ts/demo/Demo.ts +0 -12
  1149. package/src/plugins/code/main/ts/Main.ts +0 -9
  1150. package/src/plugins/code/main/ts/Plugin.ts +0 -13
  1151. package/src/plugins/code/main/ts/api/Commands.ts +0 -13
  1152. package/src/plugins/code/main/ts/core/Content.ts +0 -24
  1153. package/src/plugins/code/main/ts/ui/Buttons.ts +0 -22
  1154. package/src/plugins/code/main/ts/ui/Dialog.ts +0 -45
  1155. package/src/plugins/code/test/ts/browser/CodeSanityTest.ts +0 -51
  1156. package/src/plugins/code/test/ts/browser/CodeTextareaTest.ts +0 -36
  1157. package/src/plugins/codesample/demo/html/demo.html +0 -16
  1158. package/src/plugins/codesample/demo/ts/demo/Demo.ts +0 -22
  1159. package/src/plugins/codesample/main/ts/Main.ts +0 -9
  1160. package/src/plugins/codesample/main/ts/Plugin.ts +0 -23
  1161. package/src/plugins/codesample/main/ts/api/Commands.ts +0 -19
  1162. package/src/plugins/codesample/main/ts/api/Options.ts +0 -32
  1163. package/src/plugins/codesample/main/ts/core/CodeSample.ts +0 -44
  1164. package/src/plugins/codesample/main/ts/core/FilterContent.ts +0 -70
  1165. package/src/plugins/codesample/main/ts/core/Languages.ts +0 -41
  1166. package/src/plugins/codesample/main/ts/prism/Prism.ts +0 -15
  1167. package/src/plugins/codesample/main/ts/prism/prismjs.d.ts +0 -4
  1168. package/src/plugins/codesample/main/ts/ui/Buttons.ts +0 -50
  1169. package/src/plugins/codesample/main/ts/ui/Dialog.ts +0 -62
  1170. package/src/plugins/codesample/main/ts/util/Utils.ts +0 -16
  1171. package/src/plugins/codesample/test/ts/browser/ChangeCodeSampleTest.ts +0 -28
  1172. package/src/plugins/codesample/test/ts/browser/CodeSampleSanityTest.ts +0 -52
  1173. package/src/plugins/codesample/test/ts/browser/CodeSampleSelectionTest.ts +0 -46
  1174. package/src/plugins/codesample/test/ts/browser/NoneditableRootTest.ts +0 -40
  1175. package/src/plugins/codesample/test/ts/module/CodeSampleTestUtils.ts +0 -89
  1176. package/src/plugins/codesample/test/ts/webdriver/CodeSampleCopyAndPasteTest.ts +0 -134
  1177. package/src/plugins/directionality/demo/html/demo.html +0 -15
  1178. package/src/plugins/directionality/demo/ts/demo/Demo.ts +0 -12
  1179. package/src/plugins/directionality/main/ts/Main.ts +0 -9
  1180. package/src/plugins/directionality/main/ts/Plugin.ts +0 -11
  1181. package/src/plugins/directionality/main/ts/api/Commands.ts +0 -17
  1182. package/src/plugins/directionality/main/ts/core/Direction.ts +0 -65
  1183. package/src/plugins/directionality/main/ts/ui/Buttons.ts +0 -38
  1184. package/src/plugins/directionality/test/ts/browser/CommandsTest.ts +0 -43
  1185. package/src/plugins/directionality/test/ts/browser/DirectionStyleTest.ts +0 -319
  1186. package/src/plugins/directionality/test/ts/browser/DirectionalitySanityTest.ts +0 -169
  1187. package/src/plugins/directionality/test/ts/browser/NoneditableRootTest.ts +0 -36
  1188. package/src/plugins/emoticons/demo/html/demo.html +0 -15
  1189. package/src/plugins/emoticons/demo/ts/demo/Demo.ts +0 -19
  1190. package/src/plugins/emoticons/main/ts/Main.ts +0 -9
  1191. package/src/plugins/emoticons/main/ts/Plugin.ts +0 -34
  1192. package/src/plugins/emoticons/main/ts/api/Commands.ts +0 -12
  1193. package/src/plugins/emoticons/main/ts/api/Options.ts +0 -60
  1194. package/src/plugins/emoticons/main/ts/core/Actions.ts +0 -9
  1195. package/src/plugins/emoticons/main/ts/core/EmojiDatabase.ts +0 -150
  1196. package/src/plugins/emoticons/main/ts/core/Filters.ts +0 -14
  1197. package/src/plugins/emoticons/main/ts/core/Lookup.ts +0 -31
  1198. package/src/plugins/emoticons/main/ts/ui/Autocompletion.ts +0 -28
  1199. package/src/plugins/emoticons/main/ts/ui/Buttons.ts +0 -37
  1200. package/src/plugins/emoticons/main/ts/ui/Dialog.ts +0 -134
  1201. package/src/plugins/emoticons/test/js/test-emojis-alt.js +0 -717
  1202. package/src/plugins/emoticons/test/js/test-emojis.js +0 -27
  1203. package/src/plugins/emoticons/test/ts/browser/DifferentEmojiDatabaseTest.ts +0 -50
  1204. package/src/plugins/emoticons/test/ts/browser/EmojiAppendTest.ts +0 -76
  1205. package/src/plugins/emoticons/test/ts/browser/EmojiSearchTest.ts +0 -54
  1206. package/src/plugins/emoticons/test/ts/browser/EmoticonAutocompletionTest.ts +0 -29
  1207. package/src/plugins/emoticons/test/ts/browser/EmoticonsPluginTest.ts +0 -21
  1208. package/src/plugins/emoticons/test/ts/browser/ImageEmojiTest.ts +0 -58
  1209. package/src/plugins/emoticons/test/ts/browser/NoneditableRootTest.ts +0 -40
  1210. package/src/plugins/emoticons/test/ts/module/test/Utils.ts +0 -12
  1211. package/src/plugins/fullscreen/demo/html/demo.html +0 -18
  1212. package/src/plugins/fullscreen/demo/ts/demo/Demo.ts +0 -20
  1213. package/src/plugins/fullscreen/main/ts/Main.ts +0 -9
  1214. package/src/plugins/fullscreen/main/ts/Plugin.ts +0 -27
  1215. package/src/plugins/fullscreen/main/ts/api/Api.ts +0 -15
  1216. package/src/plugins/fullscreen/main/ts/api/Commands.ts +0 -15
  1217. package/src/plugins/fullscreen/main/ts/api/Events.ts +0 -10
  1218. package/src/plugins/fullscreen/main/ts/api/Options.ts +0 -24
  1219. package/src/plugins/fullscreen/main/ts/core/Actions.ts +0 -202
  1220. package/src/plugins/fullscreen/main/ts/core/NativeFullscreen.ts +0 -58
  1221. package/src/plugins/fullscreen/main/ts/core/Thor.ts +0 -68
  1222. package/src/plugins/fullscreen/main/ts/ui/Buttons.ts +0 -38
  1223. package/src/plugins/fullscreen/test/ts/browser/FullScreenPluginTest.ts +0 -219
  1224. package/src/plugins/fullscreen/test/ts/browser/FullScreenSinkTest.ts +0 -27
  1225. package/src/plugins/fullscreen/test/ts/browser/FullscreenPluginInlineEditorTest.ts +0 -22
  1226. package/src/plugins/fullscreen/test/ts/browser/FullscreenRestoreScrollTest.ts +0 -52
  1227. package/src/plugins/fullscreen/test/ts/webdriver/FullscreenPluginNativeModeTest.ts +0 -38
  1228. package/src/plugins/help/demo/html/demo.html +0 -26
  1229. package/src/plugins/help/demo/ts/demo/Demo.ts +0 -149
  1230. package/src/plugins/help/i18n/keynav/ar.html +0 -89
  1231. package/src/plugins/help/i18n/keynav/bg_BG.html +0 -89
  1232. package/src/plugins/help/i18n/keynav/ca.html +0 -89
  1233. package/src/plugins/help/i18n/keynav/cs.html +0 -89
  1234. package/src/plugins/help/i18n/keynav/da.html +0 -89
  1235. package/src/plugins/help/i18n/keynav/de.html +0 -89
  1236. package/src/plugins/help/i18n/keynav/el.html +0 -89
  1237. package/src/plugins/help/i18n/keynav/en.html +0 -89
  1238. package/src/plugins/help/i18n/keynav/es.html +0 -89
  1239. package/src/plugins/help/i18n/keynav/eu.html +0 -89
  1240. package/src/plugins/help/i18n/keynav/fa.html +0 -89
  1241. package/src/plugins/help/i18n/keynav/fi.html +0 -89
  1242. package/src/plugins/help/i18n/keynav/fr_FR.html +0 -89
  1243. package/src/plugins/help/i18n/keynav/he_IL.html +0 -89
  1244. package/src/plugins/help/i18n/keynav/hi.html +0 -89
  1245. package/src/plugins/help/i18n/keynav/hr.html +0 -89
  1246. package/src/plugins/help/i18n/keynav/hu_HU.html +0 -89
  1247. package/src/plugins/help/i18n/keynav/id.html +0 -89
  1248. package/src/plugins/help/i18n/keynav/it.html +0 -89
  1249. package/src/plugins/help/i18n/keynav/ja.html +0 -89
  1250. package/src/plugins/help/i18n/keynav/kk.html +0 -89
  1251. package/src/plugins/help/i18n/keynav/ko_KR.html +0 -89
  1252. package/src/plugins/help/i18n/keynav/ms.html +0 -89
  1253. package/src/plugins/help/i18n/keynav/nb_NO.html +0 -89
  1254. package/src/plugins/help/i18n/keynav/nl.html +0 -89
  1255. package/src/plugins/help/i18n/keynav/pl.html +0 -89
  1256. package/src/plugins/help/i18n/keynav/pt_BR.html +0 -89
  1257. package/src/plugins/help/i18n/keynav/pt_PT.html +0 -89
  1258. package/src/plugins/help/i18n/keynav/ro.html +0 -89
  1259. package/src/plugins/help/i18n/keynav/ru.html +0 -89
  1260. package/src/plugins/help/i18n/keynav/sk.html +0 -89
  1261. package/src/plugins/help/i18n/keynav/sl_SI.html +0 -89
  1262. package/src/plugins/help/i18n/keynav/sv_SE.html +0 -89
  1263. package/src/plugins/help/i18n/keynav/th_TH.html +0 -89
  1264. package/src/plugins/help/i18n/keynav/tr.html +0 -89
  1265. package/src/plugins/help/i18n/keynav/uk.html +0 -89
  1266. package/src/plugins/help/i18n/keynav/vi.html +0 -89
  1267. package/src/plugins/help/i18n/keynav/zh_CN.html +0 -83
  1268. package/src/plugins/help/i18n/keynav/zh_TW.html +0 -89
  1269. package/src/plugins/help/main/ts/Main.ts +0 -9
  1270. package/src/plugins/help/main/ts/Plugin.ts +0 -30
  1271. package/src/plugins/help/main/ts/alien/ConvertShortcut.ts +0 -34
  1272. package/src/plugins/help/main/ts/api/Api.ts +0 -24
  1273. package/src/plugins/help/main/ts/api/Commands.ts +0 -9
  1274. package/src/plugins/help/main/ts/api/Options.ts +0 -28
  1275. package/src/plugins/help/main/ts/data/KeyboardShortcuts.ts +0 -33
  1276. package/src/plugins/help/main/ts/data/PluginUrls.ts +0 -92
  1277. package/src/plugins/help/main/ts/ui/Buttons.ts +0 -20
  1278. package/src/plugins/help/main/ts/ui/Dialog.ts +0 -98
  1279. package/src/plugins/help/main/ts/ui/KeyboardNavTab.ts +0 -21
  1280. package/src/plugins/help/main/ts/ui/KeyboardNavTabI18n.ts +0 -21
  1281. package/src/plugins/help/main/ts/ui/KeyboardShortcutsTab.ts +0 -36
  1282. package/src/plugins/help/main/ts/ui/PluginsTab.ts +0 -119
  1283. package/src/plugins/help/main/ts/ui/VersionTab.ts +0 -27
  1284. package/src/plugins/help/test/ts/browser/CustomTabsTest.ts +0 -146
  1285. package/src/plugins/help/test/ts/browser/DialogKeyboardNavTest.ts +0 -106
  1286. package/src/plugins/help/test/ts/browser/IgnoreForcedPluginsTest.ts +0 -31
  1287. package/src/plugins/help/test/ts/browser/KeyboardNavTabI18nTest.ts +0 -59
  1288. package/src/plugins/help/test/ts/browser/MetadataTest.ts +0 -33
  1289. package/src/plugins/help/test/ts/browser/PluginTabsOrderTest.ts +0 -59
  1290. package/src/plugins/help/test/ts/browser/PluginTest.ts +0 -28
  1291. package/src/plugins/help/test/ts/module/PluginAssert.ts +0 -11
  1292. package/src/plugins/help/test/ts/module/Selectors.ts +0 -10
  1293. package/src/plugins/help/test/ts/module/test/FakePlugin.ts +0 -17
  1294. package/src/plugins/help/test/ts/module/test/NoMetaFakePlugin.ts +0 -7
  1295. package/src/plugins/image/demo/html/demo.html +0 -18
  1296. package/src/plugins/image/demo/ts/demo/Demo.ts +0 -34
  1297. package/src/plugins/image/main/ts/Main.ts +0 -9
  1298. package/src/plugins/image/main/ts/Plugin.ts +0 -15
  1299. package/src/plugins/image/main/ts/api/Commands.ts +0 -19
  1300. package/src/plugins/image/main/ts/api/Options.ts +0 -100
  1301. package/src/plugins/image/main/ts/core/FilterContent.ts +0 -38
  1302. package/src/plugins/image/main/ts/core/ImageData.ts +0 -308
  1303. package/src/plugins/image/main/ts/core/ImageSelection.ts +0 -142
  1304. package/src/plugins/image/main/ts/core/ListUtils.ts +0 -68
  1305. package/src/plugins/image/main/ts/core/Utils.ts +0 -179
  1306. package/src/plugins/image/main/ts/ui/AdvTab.ts +0 -56
  1307. package/src/plugins/image/main/ts/ui/Buttons.ts +0 -56
  1308. package/src/plugins/image/main/ts/ui/Dialog.ts +0 -405
  1309. package/src/plugins/image/main/ts/ui/DialogInfo.ts +0 -62
  1310. package/src/plugins/image/main/ts/ui/DialogTypes.ts +0 -75
  1311. package/src/plugins/image/main/ts/ui/MainTab.ts +0 -99
  1312. package/src/plugins/image/main/ts/ui/UploadTab.ts +0 -21
  1313. package/src/plugins/image/test/ts/browser/A11yImageTest.ts +0 -156
  1314. package/src/plugins/image/test/ts/browser/ContextMenuTest.ts +0 -93
  1315. package/src/plugins/image/test/ts/browser/DecorativeImageDialogTest.ts +0 -95
  1316. package/src/plugins/image/test/ts/browser/DialogTest.ts +0 -139
  1317. package/src/plugins/image/test/ts/browser/DialogUpdateTest.ts +0 -67
  1318. package/src/plugins/image/test/ts/browser/FigureDeleteTest.ts +0 -39
  1319. package/src/plugins/image/test/ts/browser/FigureResizeTest.ts +0 -66
  1320. package/src/plugins/image/test/ts/browser/ImageListTest.ts +0 -29
  1321. package/src/plugins/image/test/ts/browser/ImagePluginTest.ts +0 -217
  1322. package/src/plugins/image/test/ts/browser/ImageResizeTest.ts +0 -34
  1323. package/src/plugins/image/test/ts/browser/NoneditableRootTest.ts +0 -40
  1324. package/src/plugins/image/test/ts/browser/UploadTabTest.ts +0 -205
  1325. package/src/plugins/image/test/ts/browser/api/CommandsTest.ts +0 -157
  1326. package/src/plugins/image/test/ts/browser/core/ImageAlignTest.ts +0 -207
  1327. package/src/plugins/image/test/ts/browser/core/ImageDataTest.ts +0 -688
  1328. package/src/plugins/image/test/ts/browser/core/ImageSelectionTest.ts +0 -290
  1329. package/src/plugins/image/test/ts/browser/plugin/DefaultEmptyTest.ts +0 -39
  1330. package/src/plugins/image/test/ts/browser/plugin/DimensionsFalseTest.ts +0 -31
  1331. package/src/plugins/image/test/ts/browser/plugin/MainTabTest.ts +0 -98
  1332. package/src/plugins/image/test/ts/browser/plugin/PrependAbsoluteTest.ts +0 -36
  1333. package/src/plugins/image/test/ts/browser/plugin/PrependRelativeTest.ts +0 -36
  1334. package/src/plugins/image/test/ts/module/Helpers.ts +0 -140
  1335. package/src/plugins/importcss/demo/css/rules.css +0 -92
  1336. package/src/plugins/importcss/demo/html/demo.html +0 -15
  1337. package/src/plugins/importcss/demo/ts/demo/Demo.ts +0 -16
  1338. package/src/plugins/importcss/main/ts/Main.ts +0 -9
  1339. package/src/plugins/importcss/main/ts/Plugin.ts +0 -13
  1340. package/src/plugins/importcss/main/ts/api/Api.ts +0 -22
  1341. package/src/plugins/importcss/main/ts/api/Options.ts +0 -78
  1342. package/src/plugins/importcss/main/ts/core/ImportCss.ts +0 -287
  1343. package/src/plugins/importcss/main/ts/core/SelectorModel.ts +0 -59
  1344. package/src/plugins/importcss/test/css/advanced.css +0 -7
  1345. package/src/plugins/importcss/test/css/basic.css +0 -11
  1346. package/src/plugins/importcss/test/css/clashing.css +0 -3
  1347. package/src/plugins/importcss/test/css/internal.css +0 -18
  1348. package/src/plugins/importcss/test/css/other-adv.css +0 -3
  1349. package/src/plugins/importcss/test/ts/browser/ImportCssGroupsPluginTest.ts +0 -191
  1350. package/src/plugins/importcss/test/ts/browser/ImportCssPluginTest.ts +0 -342
  1351. package/src/plugins/importcss/test/ts/module/MenuNavigationTestUtils.ts +0 -58
  1352. package/src/plugins/insertdatetime/demo/html/demo.html +0 -15
  1353. package/src/plugins/insertdatetime/demo/ts/demo/Demo.ts +0 -16
  1354. package/src/plugins/insertdatetime/main/ts/Main.ts +0 -9
  1355. package/src/plugins/insertdatetime/main/ts/Plugin.ts +0 -13
  1356. package/src/plugins/insertdatetime/main/ts/api/Commands.ts +0 -18
  1357. package/src/plugins/insertdatetime/main/ts/api/Options.ts +0 -51
  1358. package/src/plugins/insertdatetime/main/ts/core/Actions.ts +0 -76
  1359. package/src/plugins/insertdatetime/main/ts/ui/Buttons.ts +0 -67
  1360. package/src/plugins/insertdatetime/test/ts/browser/InsertDatetimeSanityTest.ts +0 -35
  1361. package/src/plugins/insertdatetime/test/ts/browser/NoneditableRootTest.ts +0 -40
  1362. package/src/plugins/link/demo/html/demo.html +0 -21
  1363. package/src/plugins/link/demo/ts/demo/Demo.ts +0 -33
  1364. package/src/plugins/link/main/ts/Main.ts +0 -9
  1365. package/src/plugins/link/main/ts/Plugin.ts +0 -20
  1366. package/src/plugins/link/main/ts/api/Commands.ts +0 -24
  1367. package/src/plugins/link/main/ts/api/Options.ts +0 -112
  1368. package/src/plugins/link/main/ts/api/Types.ts +0 -6
  1369. package/src/plugins/link/main/ts/core/Actions.ts +0 -114
  1370. package/src/plugins/link/main/ts/core/Keyboard.ts +0 -11
  1371. package/src/plugins/link/main/ts/core/ListOptions.ts +0 -57
  1372. package/src/plugins/link/main/ts/core/OpenUrl.ts +0 -21
  1373. package/src/plugins/link/main/ts/core/Utils.ts +0 -333
  1374. package/src/plugins/link/main/ts/ui/Controls.ts +0 -172
  1375. package/src/plugins/link/main/ts/ui/Dialog.ts +0 -165
  1376. package/src/plugins/link/main/ts/ui/DialogChanges.ts +0 -105
  1377. package/src/plugins/link/main/ts/ui/DialogConfirms.ts +0 -64
  1378. package/src/plugins/link/main/ts/ui/DialogInfo.ts +0 -62
  1379. package/src/plugins/link/main/ts/ui/DialogTypes.ts +0 -81
  1380. package/src/plugins/link/main/ts/ui/sections/AnchorListOptions.ts +0 -21
  1381. package/src/plugins/link/main/ts/ui/sections/ClassListOptions.ts +0 -22
  1382. package/src/plugins/link/main/ts/ui/sections/LinkListOptions.ts +0 -45
  1383. package/src/plugins/link/main/ts/ui/sections/RelOptions.ts +0 -24
  1384. package/src/plugins/link/main/ts/ui/sections/TargetOptions.ts +0 -31
  1385. package/src/plugins/link/test/ts/atomic/DialogChangesTest.ts +0 -132
  1386. package/src/plugins/link/test/ts/browser/AllowUnsafeLinkTargetTest.ts +0 -80
  1387. package/src/plugins/link/test/ts/browser/AnchorFalseTest.ts +0 -40
  1388. package/src/plugins/link/test/ts/browser/AssumeExternalTargetsTest.ts +0 -108
  1389. package/src/plugins/link/test/ts/browser/ContextMenuTest.ts +0 -58
  1390. package/src/plugins/link/test/ts/browser/ContextToolbarTest.ts +0 -73
  1391. package/src/plugins/link/test/ts/browser/DefaultLinkProtocolTest.ts +0 -73
  1392. package/src/plugins/link/test/ts/browser/DefaultLinkTargetTest.ts +0 -81
  1393. package/src/plugins/link/test/ts/browser/DialogFlowTest.ts +0 -136
  1394. package/src/plugins/link/test/ts/browser/DialogOpenTest.ts +0 -143
  1395. package/src/plugins/link/test/ts/browser/DialogSectionsTest.ts +0 -159
  1396. package/src/plugins/link/test/ts/browser/ImageFigureLinkTest.ts +0 -50
  1397. package/src/plugins/link/test/ts/browser/LinkContextMenuTest.ts +0 -50
  1398. package/src/plugins/link/test/ts/browser/LinkDialogOverrideTest.ts +0 -69
  1399. package/src/plugins/link/test/ts/browser/LinkJustFirstFieldTest.ts +0 -40
  1400. package/src/plugins/link/test/ts/browser/ListOptionsTest.ts +0 -140
  1401. package/src/plugins/link/test/ts/browser/NoneditableRootTest.ts +0 -67
  1402. package/src/plugins/link/test/ts/browser/PreventDefaultTest.ts +0 -47
  1403. package/src/plugins/link/test/ts/browser/QuickLinkTest.ts +0 -219
  1404. package/src/plugins/link/test/ts/browser/RemoveLinkTest.ts +0 -70
  1405. package/src/plugins/link/test/ts/browser/SelectedImageFigureLinkTest.ts +0 -44
  1406. package/src/plugins/link/test/ts/browser/SelectedImageLinkTest.ts +0 -72
  1407. package/src/plugins/link/test/ts/browser/SelectedLinkTest.ts +0 -83
  1408. package/src/plugins/link/test/ts/browser/SelectedTextLinkTest.ts +0 -174
  1409. package/src/plugins/link/test/ts/browser/UpdateLinkTest.ts +0 -108
  1410. package/src/plugins/link/test/ts/browser/UrlInputTest.ts +0 -50
  1411. package/src/plugins/link/test/ts/browser/UrlProtocolTest.ts +0 -99
  1412. package/src/plugins/link/test/ts/module/TestLinkUi.ts +0 -137
  1413. package/src/plugins/lists/demo/html/demo.html +0 -15
  1414. package/src/plugins/lists/demo/ts/demo/Demo.ts +0 -13
  1415. package/src/plugins/lists/main/ts/Main.ts +0 -9
  1416. package/src/plugins/lists/main/ts/Plugin.ts +0 -28
  1417. package/src/plugins/lists/main/ts/actions/Indendation.ts +0 -45
  1418. package/src/plugins/lists/main/ts/actions/ToggleList.ts +0 -420
  1419. package/src/plugins/lists/main/ts/actions/Update.ts +0 -27
  1420. package/src/plugins/lists/main/ts/api/Api.ts +0 -17
  1421. package/src/plugins/lists/main/ts/api/Commands.ts +0 -65
  1422. package/src/plugins/lists/main/ts/api/Events.ts +0 -7
  1423. package/src/plugins/lists/main/ts/api/Options.ts +0 -28
  1424. package/src/plugins/lists/main/ts/core/Bookmark.ts +0 -126
  1425. package/src/plugins/lists/main/ts/core/Delete.ts +0 -317
  1426. package/src/plugins/lists/main/ts/core/DlIndentation.ts +0 -36
  1427. package/src/plugins/lists/main/ts/core/FilterContent.ts +0 -46
  1428. package/src/plugins/lists/main/ts/core/Keyboard.ts +0 -33
  1429. package/src/plugins/lists/main/ts/core/ListAction.ts +0 -15
  1430. package/src/plugins/lists/main/ts/core/ListNumbering.ts +0 -108
  1431. package/src/plugins/lists/main/ts/core/NodeType.ts +0 -84
  1432. package/src/plugins/lists/main/ts/core/NormalizeLists.ts +0 -44
  1433. package/src/plugins/lists/main/ts/core/RangeUtils.ts +0 -51
  1434. package/src/plugins/lists/main/ts/core/Selection.ts +0 -117
  1435. package/src/plugins/lists/main/ts/core/SplitList.ts +0 -56
  1436. package/src/plugins/lists/main/ts/core/TextBlock.ts +0 -52
  1437. package/src/plugins/lists/main/ts/core/Util.ts +0 -47
  1438. package/src/plugins/lists/main/ts/listmodel/ComposeList.ts +0 -130
  1439. package/src/plugins/lists/main/ts/listmodel/Entry.ts +0 -84
  1440. package/src/plugins/lists/main/ts/listmodel/Indentation.ts +0 -23
  1441. package/src/plugins/lists/main/ts/listmodel/ListsIndendation.ts +0 -65
  1442. package/src/plugins/lists/main/ts/listmodel/NormalizeEntries.ts +0 -46
  1443. package/src/plugins/lists/main/ts/listmodel/ParseLists.ts +0 -97
  1444. package/src/plugins/lists/main/ts/listmodel/Util.ts +0 -24
  1445. package/src/plugins/lists/main/ts/ui/Buttons.ts +0 -42
  1446. package/src/plugins/lists/main/ts/ui/Dialog.ts +0 -68
  1447. package/src/plugins/lists/main/ts/ui/MenuItems.ts +0 -35
  1448. package/src/plugins/lists/test/ts/atomic/ListNumberingTest.ts +0 -81
  1449. package/src/plugins/lists/test/ts/browser/ApplyDlTest.ts +0 -136
  1450. package/src/plugins/lists/test/ts/browser/ApplyListOnCustomList.ts +0 -46
  1451. package/src/plugins/lists/test/ts/browser/ApplyListOnParagraphWithStylesTest.ts +0 -30
  1452. package/src/plugins/lists/test/ts/browser/ApplyTest.ts +0 -949
  1453. package/src/plugins/lists/test/ts/browser/ApplyToDivTest.ts +0 -46
  1454. package/src/plugins/lists/test/ts/browser/BackspaceDeleteFromBlockIntoLiTest.ts +0 -147
  1455. package/src/plugins/lists/test/ts/browser/BackspaceDeleteInlineTest.ts +0 -59
  1456. package/src/plugins/lists/test/ts/browser/BackspaceDeleteTest.ts +0 -1003
  1457. package/src/plugins/lists/test/ts/browser/ChangeListStyleTest.ts +0 -86
  1458. package/src/plugins/lists/test/ts/browser/ContentEditableFalseActionsTest.ts +0 -171
  1459. package/src/plugins/lists/test/ts/browser/CutDeleteTest.ts +0 -44
  1460. package/src/plugins/lists/test/ts/browser/FilterContentTest.ts +0 -41
  1461. package/src/plugins/lists/test/ts/browser/IndentTest.ts +0 -698
  1462. package/src/plugins/lists/test/ts/browser/InlineTest.ts +0 -43
  1463. package/src/plugins/lists/test/ts/browser/ListModelTest.ts +0 -78
  1464. package/src/plugins/lists/test/ts/browser/ListPropertiesTest.ts +0 -254
  1465. package/src/plugins/lists/test/ts/browser/NoneditableRootTest.ts +0 -209
  1466. package/src/plugins/lists/test/ts/browser/OutdentTest.ts +0 -486
  1467. package/src/plugins/lists/test/ts/browser/RemoveForcedRootBlockAttrsTest.ts +0 -43
  1468. package/src/plugins/lists/test/ts/browser/RemoveTest.ts +0 -431
  1469. package/src/plugins/lists/test/ts/browser/RetainContentTest.ts +0 -164
  1470. package/src/plugins/lists/test/ts/browser/StyleTest.ts +0 -76
  1471. package/src/plugins/lists/test/ts/browser/TableInListTest.ts +0 -62
  1472. package/src/plugins/lists/test/ts/browser/ToggleListInTableCell.ts +0 -91
  1473. package/src/plugins/lists/test/ts/browser/ToggleListWithEmptyLiTest.ts +0 -24
  1474. package/src/plugins/lists/test/ts/module/ArbList.ts +0 -204
  1475. package/src/plugins/lists/test/ts/webdriver/ContentEditableFalseTest.ts +0 -111
  1476. package/src/plugins/lists/test/ts/webdriver/ContextMenuTest.ts +0 -30
  1477. package/src/plugins/lists/test/ts/webdriver/DeleteTest.ts +0 -64
  1478. package/src/plugins/media/demo/html/demo.html +0 -16
  1479. package/src/plugins/media/demo/ts/demo/Demo.ts +0 -28
  1480. package/src/plugins/media/main/ts/Main.ts +0 -9
  1481. package/src/plugins/media/main/ts/Plugin.ts +0 -21
  1482. package/src/plugins/media/main/ts/api/Api.ts +0 -21
  1483. package/src/plugins/media/main/ts/api/Commands.ts +0 -15
  1484. package/src/plugins/media/main/ts/api/Options.ts +0 -79
  1485. package/src/plugins/media/main/ts/core/DataToHtml.ts +0 -129
  1486. package/src/plugins/media/main/ts/core/FilterContent.ts +0 -105
  1487. package/src/plugins/media/main/ts/core/HtmlToData.ts +0 -81
  1488. package/src/plugins/media/main/ts/core/Mime.ts +0 -19
  1489. package/src/plugins/media/main/ts/core/Nodes.ts +0 -196
  1490. package/src/plugins/media/main/ts/core/Parser.ts +0 -9
  1491. package/src/plugins/media/main/ts/core/ResolveName.ts +0 -15
  1492. package/src/plugins/media/main/ts/core/Sanitize.ts +0 -16
  1493. package/src/plugins/media/main/ts/core/Selection.ts +0 -43
  1494. package/src/plugins/media/main/ts/core/Service.ts +0 -59
  1495. package/src/plugins/media/main/ts/core/Types.ts +0 -36
  1496. package/src/plugins/media/main/ts/core/UpdateHtml.ts +0 -126
  1497. package/src/plugins/media/main/ts/core/UrlPatterns.ts +0 -112
  1498. package/src/plugins/media/main/ts/ui/Buttons.ts +0 -48
  1499. package/src/plugins/media/main/ts/ui/Dialog.ts +0 -343
  1500. package/src/plugins/media/test/ts/atomic/HtmlToDataTest.ts +0 -96
  1501. package/src/plugins/media/test/ts/atomic/UpdateHtmlTest.ts +0 -38
  1502. package/src/plugins/media/test/ts/atomic/UrlPatternsTest.ts +0 -66
  1503. package/src/plugins/media/test/ts/browser/ContentFormatsTest.ts +0 -187
  1504. package/src/plugins/media/test/ts/browser/DataAttributeTest.ts +0 -58
  1505. package/src/plugins/media/test/ts/browser/DataToHtmlTest.ts +0 -157
  1506. package/src/plugins/media/test/ts/browser/DataUnwrapTest.ts +0 -61
  1507. package/src/plugins/media/test/ts/browser/DimensionsFalseEmbedTest.ts +0 -74
  1508. package/src/plugins/media/test/ts/browser/EphoxEmbedTest.ts +0 -108
  1509. package/src/plugins/media/test/ts/browser/IsCachedResponseTest.ts +0 -46
  1510. package/src/plugins/media/test/ts/browser/LiveEmbedNodeTest.ts +0 -153
  1511. package/src/plugins/media/test/ts/browser/MediaAlignmentTest.ts +0 -89
  1512. package/src/plugins/media/test/ts/browser/MediaEmbedTest.ts +0 -40
  1513. package/src/plugins/media/test/ts/browser/MediaPluginSanityTest.ts +0 -104
  1514. package/src/plugins/media/test/ts/browser/NoAdvancedTabTest.ts +0 -34
  1515. package/src/plugins/media/test/ts/browser/NoneditableRootTest.ts +0 -40
  1516. package/src/plugins/media/test/ts/browser/PlaceholderTest.ts +0 -138
  1517. package/src/plugins/media/test/ts/browser/ReopenResizeTest.ts +0 -52
  1518. package/src/plugins/media/test/ts/browser/ScriptContentTest.ts +0 -22
  1519. package/src/plugins/media/test/ts/browser/SubmitTest.ts +0 -173
  1520. package/src/plugins/media/test/ts/browser/UpdateMediaPosterAttributeTest.ts +0 -52
  1521. package/src/plugins/media/test/ts/module/test/Utils.ts +0 -212
  1522. package/src/plugins/nonbreaking/demo/html/demo.html +0 -15
  1523. package/src/plugins/nonbreaking/demo/ts/demo/Demo.ts +0 -14
  1524. package/src/plugins/nonbreaking/main/ts/Main.ts +0 -9
  1525. package/src/plugins/nonbreaking/main/ts/Plugin.ts +0 -22
  1526. package/src/plugins/nonbreaking/main/ts/api/Commands.ts +0 -13
  1527. package/src/plugins/nonbreaking/main/ts/api/Options.ts +0 -41
  1528. package/src/plugins/nonbreaking/main/ts/core/Actions.ts +0 -29
  1529. package/src/plugins/nonbreaking/main/ts/core/Keyboard.ts +0 -27
  1530. package/src/plugins/nonbreaking/main/ts/ui/Buttons.ts +0 -37
  1531. package/src/plugins/nonbreaking/test/ts/browser/NonbreakingForceTabTest.ts +0 -33
  1532. package/src/plugins/nonbreaking/test/ts/browser/NonbreakingOptionsTest.ts +0 -32
  1533. package/src/plugins/nonbreaking/test/ts/browser/NonbreakingSanityTest.ts +0 -37
  1534. package/src/plugins/nonbreaking/test/ts/browser/NonbreakingVisualCharsTest.ts +0 -69
  1535. package/src/plugins/nonbreaking/test/ts/browser/NoneditableRootTest.ts +0 -40
  1536. package/src/plugins/nonbreaking/test/ts/webdriver/NonbreakingTypingTest.ts +0 -117
  1537. package/src/plugins/nonbreaking/test/ts/webdriver/NonbreakingVisualCharsTypingTest.ts +0 -215
  1538. package/src/plugins/nonbreaking/test/ts/webdriver/NonbreakingWrapTypingTest.ts +0 -216
  1539. package/src/plugins/pagebreak/demo/html/demo.html +0 -15
  1540. package/src/plugins/pagebreak/demo/ts/demo/Demo.ts +0 -14
  1541. package/src/plugins/pagebreak/main/ts/Main.ts +0 -9
  1542. package/src/plugins/pagebreak/main/ts/Plugin.ts +0 -17
  1543. package/src/plugins/pagebreak/main/ts/api/Commands.ts +0 -14
  1544. package/src/plugins/pagebreak/main/ts/api/Options.ts +0 -31
  1545. package/src/plugins/pagebreak/main/ts/core/FilterContent.ts +0 -56
  1546. package/src/plugins/pagebreak/main/ts/core/ResolveName.ts +0 -15
  1547. package/src/plugins/pagebreak/main/ts/ui/Buttons.ts +0 -37
  1548. package/src/plugins/pagebreak/test/ts/browser/NoneditableRootTest.ts +0 -40
  1549. package/src/plugins/pagebreak/test/ts/browser/PageBreakSanityTest.ts +0 -34
  1550. package/src/plugins/pagebreak/test/ts/browser/PageBreakSplitBlockTest.ts +0 -129
  1551. package/src/plugins/preview/demo/html/demo.html +0 -34
  1552. package/src/plugins/preview/demo/ts/demo/Demo.ts +0 -14
  1553. package/src/plugins/preview/main/ts/Main.ts +0 -9
  1554. package/src/plugins/preview/main/ts/Plugin.ts +0 -11
  1555. package/src/plugins/preview/main/ts/api/Commands.ts +0 -13
  1556. package/src/plugins/preview/main/ts/api/Options.ts +0 -20
  1557. package/src/plugins/preview/main/ts/core/IframeContent.ts +0 -62
  1558. package/src/plugins/preview/main/ts/ui/Buttons.ts +0 -21
  1559. package/src/plugins/preview/main/ts/ui/Dialog.ts +0 -39
  1560. package/src/plugins/preview/test/ts/browser/PreviewContentCssTest.ts +0 -33
  1561. package/src/plugins/preview/test/ts/browser/PreviewContentStyleTest.ts +0 -47
  1562. package/src/plugins/preview/test/ts/browser/PreviewSanityTest.ts +0 -40
  1563. package/src/plugins/quickbars/demo/html/demo.html +0 -68
  1564. package/src/plugins/quickbars/demo/ts/demo/Demo.ts +0 -56
  1565. package/src/plugins/quickbars/main/ts/Main.ts +0 -9
  1566. package/src/plugins/quickbars/main/ts/Plugin.ts +0 -16
  1567. package/src/plugins/quickbars/main/ts/api/Options.ts +0 -56
  1568. package/src/plugins/quickbars/main/ts/insert/Actions.ts +0 -20
  1569. package/src/plugins/quickbars/main/ts/insert/Buttons.ts +0 -35
  1570. package/src/plugins/quickbars/main/ts/insert/Conversions.ts +0 -15
  1571. package/src/plugins/quickbars/main/ts/insert/Picker.ts +0 -56
  1572. package/src/plugins/quickbars/main/ts/insert/Toolbars.ts +0 -34
  1573. package/src/plugins/quickbars/main/ts/selection/Bookmark.ts +0 -122
  1574. package/src/plugins/quickbars/main/ts/selection/Toolbars.ts +0 -39
  1575. package/src/plugins/quickbars/test/ts/browser/ContentEditableTest.ts +0 -122
  1576. package/src/plugins/quickbars/test/ts/browser/InsertToolbarPredicateTest.ts +0 -70
  1577. package/src/plugins/quickbars/test/ts/browser/KeyboardShortcutContextToolbarTest.ts +0 -30
  1578. package/src/plugins/quickbars/test/ts/browser/OptionsTest.ts +0 -84
  1579. package/src/plugins/quickbars/test/ts/browser/SelectionToolbarTest.ts +0 -106
  1580. package/src/plugins/quickbars/test/ts/browser/ToolbarFalseTest.ts +0 -45
  1581. package/src/plugins/quickbars/test/ts/browser/ToolbarPositionTest.ts +0 -384
  1582. package/src/plugins/quickbars/test/ts/module/test/Utils.ts +0 -15
  1583. package/src/plugins/save/demo/html/demo.html +0 -18
  1584. package/src/plugins/save/demo/ts/demo/Demo.ts +0 -15
  1585. package/src/plugins/save/main/ts/Main.ts +0 -9
  1586. package/src/plugins/save/main/ts/Plugin.ts +0 -13
  1587. package/src/plugins/save/main/ts/api/Commands.ts +0 -17
  1588. package/src/plugins/save/main/ts/api/Options.ts +0 -36
  1589. package/src/plugins/save/main/ts/core/Actions.ts +0 -69
  1590. package/src/plugins/save/main/ts/ui/Buttons.ts +0 -39
  1591. package/src/plugins/save/test/ts/browser/SaveSanityTest.ts +0 -29
  1592. package/src/plugins/searchreplace/demo/html/demo.html +0 -21
  1593. package/src/plugins/searchreplace/demo/ts/demo/Demo.ts +0 -16
  1594. package/src/plugins/searchreplace/main/ts/Main.ts +0 -9
  1595. package/src/plugins/searchreplace/main/ts/Plugin.ts +0 -26
  1596. package/src/plugins/searchreplace/main/ts/api/Api.ts +0 -47
  1597. package/src/plugins/searchreplace/main/ts/api/Commands.ts +0 -16
  1598. package/src/plugins/searchreplace/main/ts/core/Actions.ts +0 -280
  1599. package/src/plugins/searchreplace/main/ts/core/FindMark.ts +0 -67
  1600. package/src/plugins/searchreplace/main/ts/core/TextCollect.ts +0 -190
  1601. package/src/plugins/searchreplace/main/ts/core/TextPosition.ts +0 -69
  1602. package/src/plugins/searchreplace/main/ts/core/Types.ts +0 -21
  1603. package/src/plugins/searchreplace/main/ts/ui/Buttons.ts +0 -32
  1604. package/src/plugins/searchreplace/main/ts/ui/Dialog.ts +0 -263
  1605. package/src/plugins/searchreplace/test/ts/browser/SearchReplaceDialogCyclingTest.ts +0 -109
  1606. package/src/plugins/searchreplace/test/ts/browser/SearchReplaceDialogTest.ts +0 -144
  1607. package/src/plugins/searchreplace/test/ts/browser/SearchReplaceInSelectionTest.ts +0 -240
  1608. package/src/plugins/searchreplace/test/ts/browser/SearchReplaceKeyboardNavigationTest.ts +0 -100
  1609. package/src/plugins/searchreplace/test/ts/browser/SearchReplacePluginTest.ts +0 -212
  1610. package/src/plugins/searchreplace/test/ts/browser/SearchReplacePrevNextTest.ts +0 -64
  1611. package/src/plugins/searchreplace/test/ts/browser/UndoReplaceSpanTest.ts +0 -35
  1612. package/src/plugins/searchreplace/test/ts/module/test/Utils.ts +0 -77
  1613. package/src/plugins/table/demo/html/demo.html +0 -123
  1614. package/src/plugins/table/demo/ts/demo/Demo.ts +0 -43
  1615. package/src/plugins/table/main/ts/Main.ts +0 -9
  1616. package/src/plugins/table/main/ts/Plugin.ts +0 -23
  1617. package/src/plugins/table/main/ts/actions/Styles.ts +0 -54
  1618. package/src/plugins/table/main/ts/api/Clipboard.ts +0 -67
  1619. package/src/plugins/table/main/ts/api/Commands.ts +0 -27
  1620. package/src/plugins/table/main/ts/api/Events.ts +0 -34
  1621. package/src/plugins/table/main/ts/api/Options.ts +0 -183
  1622. package/src/plugins/table/main/ts/core/Utils.ts +0 -45
  1623. package/src/plugins/table/main/ts/queries/TableTargets.ts +0 -33
  1624. package/src/plugins/table/main/ts/selection/Ephemera.ts +0 -28
  1625. package/src/plugins/table/main/ts/selection/SelectionTargets.ts +0 -194
  1626. package/src/plugins/table/main/ts/selection/TableSelection.ts +0 -54
  1627. package/src/plugins/table/main/ts/ui/Buttons.ts +0 -334
  1628. package/src/plugins/table/main/ts/ui/CellAlignValues.ts +0 -22
  1629. package/src/plugins/table/main/ts/ui/CellDialog.ts +0 -204
  1630. package/src/plugins/table/main/ts/ui/CellDialogGeneralTab.ts +0 -70
  1631. package/src/plugins/table/main/ts/ui/DialogAdvancedTab.ts +0 -46
  1632. package/src/plugins/table/main/ts/ui/DomModifier.ts +0 -40
  1633. package/src/plugins/table/main/ts/ui/Helpers.ts +0 -243
  1634. package/src/plugins/table/main/ts/ui/MenuItems.ts +0 -374
  1635. package/src/plugins/table/main/ts/ui/RowDialog.ts +0 -168
  1636. package/src/plugins/table/main/ts/ui/RowDialogGeneralTab.ts +0 -52
  1637. package/src/plugins/table/main/ts/ui/TableDialog.ts +0 -255
  1638. package/src/plugins/table/main/ts/ui/TableDialogGeneralTab.ts +0 -92
  1639. package/src/plugins/table/main/ts/ui/UiUtils.ts +0 -165
  1640. package/src/plugins/table/test/ts/atomic/UtilsTest.ts +0 -30
  1641. package/src/plugins/table/test/ts/browser/AlignedCellRowStyleChangeTest.ts +0 -71
  1642. package/src/plugins/table/test/ts/browser/ClipboardTest.ts +0 -794
  1643. package/src/plugins/table/test/ts/browser/HelpersTest.ts +0 -288
  1644. package/src/plugins/table/test/ts/browser/IndentListsInTableTest.ts +0 -46
  1645. package/src/plugins/table/test/ts/browser/InlineEditorInsideTableTest.ts +0 -119
  1646. package/src/plugins/table/test/ts/browser/NoneditableRootTest.ts +0 -201
  1647. package/src/plugins/table/test/ts/browser/TableCellPropsStyleTest.ts +0 -34
  1648. package/src/plugins/table/test/ts/browser/TableRemoveTrailingBrTest.ts +0 -128
  1649. package/src/plugins/table/test/ts/browser/settings/CustomTableToolbarTest.ts +0 -26
  1650. package/src/plugins/table/test/ts/browser/settings/DefaultTableToolbarTest.ts +0 -25
  1651. package/src/plugins/table/test/ts/browser/settings/TableAppearanceOptionsTest.ts +0 -57
  1652. package/src/plugins/table/test/ts/browser/settings/TableCellClassListTest.ts +0 -125
  1653. package/src/plugins/table/test/ts/browser/settings/TableClassListTest.ts +0 -96
  1654. package/src/plugins/table/test/ts/browser/settings/TableDefaultAttributesTest.ts +0 -54
  1655. package/src/plugins/table/test/ts/browser/settings/TableDefaultAttributesWithColGroupsTest.ts +0 -54
  1656. package/src/plugins/table/test/ts/browser/settings/TableDefaultStylesTest.ts +0 -139
  1657. package/src/plugins/table/test/ts/browser/settings/TableGridFalseTest.ts +0 -32
  1658. package/src/plugins/table/test/ts/browser/settings/TableRowClassListTest.ts +0 -125
  1659. package/src/plugins/table/test/ts/browser/settings/TableToolbarTest.ts +0 -51
  1660. package/src/plugins/table/test/ts/browser/settings/ToolbarButtonDisplayTest.ts +0 -44
  1661. package/src/plugins/table/test/ts/browser/ui/ContextMenuTest.ts +0 -210
  1662. package/src/plugins/table/test/ts/browser/ui/ContextToolbarTest.ts +0 -153
  1663. package/src/plugins/table/test/ts/browser/ui/LockedColumnDisabledButtonsTest.ts +0 -236
  1664. package/src/plugins/table/test/ts/browser/ui/TableBorderStyleTest.ts +0 -72
  1665. package/src/plugins/table/test/ts/browser/ui/TableBorderWidthTest.ts +0 -54
  1666. package/src/plugins/table/test/ts/browser/ui/TableCaptionTest.ts +0 -199
  1667. package/src/plugins/table/test/ts/browser/ui/TableCellBackgroundColorTest.ts +0 -48
  1668. package/src/plugins/table/test/ts/browser/ui/TableCellBorderColorTest.ts +0 -50
  1669. package/src/plugins/table/test/ts/browser/ui/TableCellDialogTest.ts +0 -533
  1670. package/src/plugins/table/test/ts/browser/ui/TableClassListButtonsTest.ts +0 -116
  1671. package/src/plugins/table/test/ts/browser/ui/TableColumnHeaderUiTest.ts +0 -89
  1672. package/src/plugins/table/test/ts/browser/ui/TableDialogKeyboardNavTest.ts +0 -88
  1673. package/src/plugins/table/test/ts/browser/ui/TableDialogStyleWithCssTest.ts +0 -263
  1674. package/src/plugins/table/test/ts/browser/ui/TableDialogTest.ts +0 -632
  1675. package/src/plugins/table/test/ts/browser/ui/TableDialogWithoutCssTest.ts +0 -85
  1676. package/src/plugins/table/test/ts/browser/ui/TableRowDialogTest.ts +0 -667
  1677. package/src/plugins/table/test/ts/browser/ui/TableRowHeaderUiTest.ts +0 -105
  1678. package/src/plugins/table/test/ts/browser/ui/TableValignButtonsTest.ts +0 -96
  1679. package/src/plugins/table/test/ts/module/test/TableModifiersTestUtils.ts +0 -242
  1680. package/src/plugins/table/test/ts/module/test/TableTestUtils.ts +0 -273
  1681. package/src/plugins/visualblocks/demo/html/demo.html +0 -32
  1682. package/src/plugins/visualblocks/demo/ts/demo/Demo.ts +0 -33
  1683. package/src/plugins/visualblocks/main/img/address.gif +0 -0
  1684. package/src/plugins/visualblocks/main/img/article.gif +0 -0
  1685. package/src/plugins/visualblocks/main/img/aside.gif +0 -0
  1686. package/src/plugins/visualblocks/main/img/blockquote.gif +0 -0
  1687. package/src/plugins/visualblocks/main/img/div.gif +0 -0
  1688. package/src/plugins/visualblocks/main/img/dl.gif +0 -0
  1689. package/src/plugins/visualblocks/main/img/figure.gif +0 -0
  1690. package/src/plugins/visualblocks/main/img/h1.gif +0 -0
  1691. package/src/plugins/visualblocks/main/img/h2.gif +0 -0
  1692. package/src/plugins/visualblocks/main/img/h3.gif +0 -0
  1693. package/src/plugins/visualblocks/main/img/h4.gif +0 -0
  1694. package/src/plugins/visualblocks/main/img/h5.gif +0 -0
  1695. package/src/plugins/visualblocks/main/img/h6.gif +0 -0
  1696. package/src/plugins/visualblocks/main/img/hgroup.gif +0 -0
  1697. package/src/plugins/visualblocks/main/img/ol.gif +0 -0
  1698. package/src/plugins/visualblocks/main/img/p.gif +0 -0
  1699. package/src/plugins/visualblocks/main/img/pre.gif +0 -0
  1700. package/src/plugins/visualblocks/main/img/section.gif +0 -0
  1701. package/src/plugins/visualblocks/main/img/ul.gif +0 -0
  1702. package/src/plugins/visualblocks/main/ts/Main.ts +0 -9
  1703. package/src/plugins/visualblocks/main/ts/Plugin.ts +0 -19
  1704. package/src/plugins/visualblocks/main/ts/api/Commands.ts +0 -15
  1705. package/src/plugins/visualblocks/main/ts/api/Events.ts +0 -9
  1706. package/src/plugins/visualblocks/main/ts/api/Options.ts +0 -24
  1707. package/src/plugins/visualblocks/main/ts/core/Bindings.ts +0 -25
  1708. package/src/plugins/visualblocks/main/ts/core/VisualBlocks.ts +0 -18
  1709. package/src/plugins/visualblocks/main/ts/ui/Buttons.ts +0 -34
  1710. package/src/plugins/visualblocks/test/ts/browser/PreviewFormatTest.ts +0 -57
  1711. package/src/plugins/visualblocks/test/ts/browser/VisualBlocksSanityTest.ts +0 -41
  1712. package/src/plugins/visualchars/demo/html/demo.html +0 -15
  1713. package/src/plugins/visualchars/demo/ts/demo/Demo.ts +0 -14
  1714. package/src/plugins/visualchars/main/ts/Main.ts +0 -9
  1715. package/src/plugins/visualchars/main/ts/Plugin.ts +0 -24
  1716. package/src/plugins/visualchars/main/ts/api/Api.ts +0 -19
  1717. package/src/plugins/visualchars/main/ts/api/Commands.ts +0 -15
  1718. package/src/plugins/visualchars/main/ts/api/Events.ts +0 -10
  1719. package/src/plugins/visualchars/main/ts/api/Options.ts +0 -24
  1720. package/src/plugins/visualchars/main/ts/core/Actions.ts +0 -31
  1721. package/src/plugins/visualchars/main/ts/core/Bindings.ts +0 -26
  1722. package/src/plugins/visualchars/main/ts/core/Data.ts +0 -35
  1723. package/src/plugins/visualchars/main/ts/core/Html.ts +0 -8
  1724. package/src/plugins/visualchars/main/ts/core/Keyboard.ts +0 -23
  1725. package/src/plugins/visualchars/main/ts/core/Nodes.ts +0 -68
  1726. package/src/plugins/visualchars/main/ts/core/VisualChars.ts +0 -61
  1727. package/src/plugins/visualchars/main/ts/ui/Buttons.ts +0 -34
  1728. package/src/plugins/visualchars/test/ts/atomic/DataTest.ts +0 -22
  1729. package/src/plugins/visualchars/test/ts/atomic/HtmlTest.ts +0 -23
  1730. package/src/plugins/visualchars/test/ts/browser/DefaultStateTest.ts +0 -30
  1731. package/src/plugins/visualchars/test/ts/browser/InlinePluginTest.ts +0 -33
  1732. package/src/plugins/visualchars/test/ts/browser/NodesTest.ts +0 -121
  1733. package/src/plugins/visualchars/test/ts/browser/PluginTest.ts +0 -121
  1734. package/src/plugins/visualchars/test/ts/module/test/Utils.ts +0 -42
  1735. package/src/plugins/wordcount/demo/html/demo.html +0 -18
  1736. package/src/plugins/wordcount/demo/ts/demo/Demo.ts +0 -12
  1737. package/src/plugins/wordcount/main/ts/Main.ts +0 -9
  1738. package/src/plugins/wordcount/main/ts/Plugin.ts +0 -17
  1739. package/src/plugins/wordcount/main/ts/api/Api.ts +0 -44
  1740. package/src/plugins/wordcount/main/ts/api/Commands.ts +0 -12
  1741. package/src/plugins/wordcount/main/ts/api/Events.ts +0 -17
  1742. package/src/plugins/wordcount/main/ts/core/Count.ts +0 -38
  1743. package/src/plugins/wordcount/main/ts/core/GetText.ts +0 -35
  1744. package/src/plugins/wordcount/main/ts/core/WordCounter.ts +0 -28
  1745. package/src/plugins/wordcount/main/ts/ui/Buttons.ts +0 -21
  1746. package/src/plugins/wordcount/main/ts/ui/Dialog.ts +0 -47
  1747. package/src/plugins/wordcount/test/ts/browser/PluginTest.ts +0 -228
  1748. package/src/plugins/wordcount/test/ts/browser/api/ApiTest.ts +0 -88
  1749. package/src/plugins/wordcount/test/ts/browser/core/GetTextTest.ts +0 -33
  1750. package/src/themes/silver/demo/html/demo/demo-with-scrolling.html +0 -347
  1751. package/src/themes/silver/demo/html/demo/demo.html +0 -125
  1752. package/src/themes/silver/demo/html/demo/format-select-demo.html +0 -61
  1753. package/src/themes/silver/demo/html/demo/menu-item-demo.html +0 -96
  1754. package/src/themes/silver/demo/html/demo/sidebar-demo.html +0 -97
  1755. package/src/themes/silver/demo/html/demo/toolbar-button-demo.html +0 -97
  1756. package/src/themes/silver/demo/html/demo/tree-demo.html +0 -21
  1757. package/src/themes/silver/demo/ts/demo/ButtonSetupDemo.ts +0 -247
  1758. package/src/themes/silver/demo/ts/demo/Demos.ts +0 -19
  1759. package/src/themes/silver/demo/ts/demo/FormatSelectDemo.ts +0 -70
  1760. package/src/themes/silver/demo/ts/demo/MenuItemDemo.ts +0 -135
  1761. package/src/themes/silver/demo/ts/demo/MockDemo.ts +0 -34
  1762. package/src/themes/silver/demo/ts/demo/PlayDemo.ts +0 -142
  1763. package/src/themes/silver/demo/ts/demo/SidebarDemo.ts +0 -49
  1764. package/src/themes/silver/demo/ts/demo/ToolbarButtonDemo.ts +0 -97
  1765. package/src/themes/silver/demo/ts/demo/TreeDemo.ts +0 -177
  1766. package/src/themes/silver/main/resources/StatusbarLogo.d.ts +0 -1
  1767. package/src/themes/silver/main/resources/StatusbarLogo.js +0 -3
  1768. package/src/themes/silver/main/resources/statusbar-logo.svg +0 -3
  1769. package/src/themes/silver/main/ts/Autocompleter.ts +0 -215
  1770. package/src/themes/silver/main/ts/Channels.ts +0 -7
  1771. package/src/themes/silver/main/ts/Events.ts +0 -153
  1772. package/src/themes/silver/main/ts/Main.ts +0 -9
  1773. package/src/themes/silver/main/ts/ReadOnly.ts +0 -67
  1774. package/src/themes/silver/main/ts/Render.ts +0 -571
  1775. package/src/themes/silver/main/ts/Theme.ts +0 -88
  1776. package/src/themes/silver/main/ts/alien/NotificationManagerImpl.ts +0 -143
  1777. package/src/themes/silver/main/ts/api/Events.ts +0 -82
  1778. package/src/themes/silver/main/ts/api/Options.ts +0 -490
  1779. package/src/themes/silver/main/ts/autocomplete/AutocompleteEditorEvents.ts +0 -78
  1780. package/src/themes/silver/main/ts/backstage/Anchors.ts +0 -184
  1781. package/src/themes/silver/main/ts/backstage/Backstage.ts +0 -109
  1782. package/src/themes/silver/main/ts/backstage/ColorInputBackstage.ts +0 -31
  1783. package/src/themes/silver/main/ts/backstage/DialogBackstage.ts +0 -13
  1784. package/src/themes/silver/main/ts/backstage/HeaderBackstage.ts +0 -21
  1785. package/src/themes/silver/main/ts/backstage/StyleFormatsBackstage.ts +0 -53
  1786. package/src/themes/silver/main/ts/backstage/TooltipsBackstage.ts +0 -62
  1787. package/src/themes/silver/main/ts/backstage/UrlInputBackstage.ts +0 -106
  1788. package/src/themes/silver/main/ts/backstage/UrlInputHistory.ts +0 -72
  1789. package/src/themes/silver/main/ts/modes/Iframe.ts +0 -210
  1790. package/src/themes/silver/main/ts/modes/Inline.ts +0 -219
  1791. package/src/themes/silver/main/ts/modes/ScrollingContext.ts +0 -70
  1792. package/src/themes/silver/main/ts/modes/Toolbars.ts +0 -32
  1793. package/src/themes/silver/main/ts/modes/UiReferences.ts +0 -70
  1794. package/src/themes/silver/main/ts/ui/alien/ComposingConfigs.ts +0 -25
  1795. package/src/themes/silver/main/ts/ui/alien/ConvertShortcut.ts +0 -36
  1796. package/src/themes/silver/main/ts/ui/alien/DialogTabHeight.ts +0 -171
  1797. package/src/themes/silver/main/ts/ui/alien/DisablingConfigs.ts +0 -30
  1798. package/src/themes/silver/main/ts/ui/alien/FieldLabeller.ts +0 -56
  1799. package/src/themes/silver/main/ts/ui/alien/FlatgridAutodetect.ts +0 -28
  1800. package/src/themes/silver/main/ts/ui/alien/RepresentingConfigs.ts +0 -75
  1801. package/src/themes/silver/main/ts/ui/alien/SimpleBehaviours.ts +0 -17
  1802. package/src/themes/silver/main/ts/ui/alien/UiUtils.ts +0 -8
  1803. package/src/themes/silver/main/ts/ui/button/ButtonSlices.ts +0 -37
  1804. package/src/themes/silver/main/ts/ui/button/MenuButton.ts +0 -144
  1805. package/src/themes/silver/main/ts/ui/context/ContextEditorEvents.ts +0 -10
  1806. package/src/themes/silver/main/ts/ui/context/ContextForm.ts +0 -73
  1807. package/src/themes/silver/main/ts/ui/context/ContextFormButtons.ts +0 -98
  1808. package/src/themes/silver/main/ts/ui/context/ContextToolbar.ts +0 -315
  1809. package/src/themes/silver/main/ts/ui/context/ContextToolbarAnchor.ts +0 -146
  1810. package/src/themes/silver/main/ts/ui/context/ContextToolbarBounds.ts +0 -132
  1811. package/src/themes/silver/main/ts/ui/context/ContextToolbarLookup.ts +0 -134
  1812. package/src/themes/silver/main/ts/ui/context/ContextToolbarScopes.ts +0 -81
  1813. package/src/themes/silver/main/ts/ui/context/ContextUi.ts +0 -128
  1814. package/src/themes/silver/main/ts/ui/controls/Controls.ts +0 -40
  1815. package/src/themes/silver/main/ts/ui/core/AlignmentButtons.ts +0 -34
  1816. package/src/themes/silver/main/ts/ui/core/ChoiceControls.ts +0 -137
  1817. package/src/themes/silver/main/ts/ui/core/ComplexControls.ts +0 -20
  1818. package/src/themes/silver/main/ts/ui/core/ControlUtils.ts +0 -80
  1819. package/src/themes/silver/main/ts/ui/core/FormatControls.ts +0 -28
  1820. package/src/themes/silver/main/ts/ui/core/HtmlSanitizer.ts +0 -3
  1821. package/src/themes/silver/main/ts/ui/core/IndentOutdent.ts +0 -33
  1822. package/src/themes/silver/main/ts/ui/core/LinkTargets.ts +0 -144
  1823. package/src/themes/silver/main/ts/ui/core/PasteControls.ts +0 -47
  1824. package/src/themes/silver/main/ts/ui/core/SimpleControls.ts +0 -144
  1825. package/src/themes/silver/main/ts/ui/core/UndoRedo.ts +0 -58
  1826. package/src/themes/silver/main/ts/ui/core/VisualAid.ts +0 -34
  1827. package/src/themes/silver/main/ts/ui/core/color/ColorCache.ts +0 -90
  1828. package/src/themes/silver/main/ts/ui/core/color/ColorSwatch.ts +0 -303
  1829. package/src/themes/silver/main/ts/ui/core/color/Options.ts +0 -175
  1830. package/src/themes/silver/main/ts/ui/core/complex/AlignBespoke.ts +0 -74
  1831. package/src/themes/silver/main/ts/ui/core/complex/BespokeNumberInput.ts +0 -239
  1832. package/src/themes/silver/main/ts/ui/core/complex/BespokeSelect.ts +0 -245
  1833. package/src/themes/silver/main/ts/ui/core/complex/BlocksBespoke.ts +0 -74
  1834. package/src/themes/silver/main/ts/ui/core/complex/FontFamilyBespoke.ts +0 -125
  1835. package/src/themes/silver/main/ts/ui/core/complex/FontSizeBespoke.ts +0 -195
  1836. package/src/themes/silver/main/ts/ui/core/complex/SelectDatasets.ts +0 -67
  1837. package/src/themes/silver/main/ts/ui/core/complex/StyleFormat.ts +0 -131
  1838. package/src/themes/silver/main/ts/ui/core/complex/StylesBespoke.ts +0 -83
  1839. package/src/themes/silver/main/ts/ui/core/complex/utils/FormatDetection.ts +0 -14
  1840. package/src/themes/silver/main/ts/ui/core/complex/utils/FormatRegister.ts +0 -73
  1841. package/src/themes/silver/main/ts/ui/core/complex/utils/Tooltip.ts +0 -8
  1842. package/src/themes/silver/main/ts/ui/dialog/AlertDialog.ts +0 -65
  1843. package/src/themes/silver/main/ts/ui/dialog/Bar.ts +0 -15
  1844. package/src/themes/silver/main/ts/ui/dialog/BodyPanel.ts +0 -74
  1845. package/src/themes/silver/main/ts/ui/dialog/Collection.ts +0 -195
  1846. package/src/themes/silver/main/ts/ui/dialog/ColorInput.ts +0 -183
  1847. package/src/themes/silver/main/ts/ui/dialog/ColorPicker.ts +0 -107
  1848. package/src/themes/silver/main/ts/ui/dialog/ConfirmDialog.ts +0 -77
  1849. package/src/themes/silver/main/ts/ui/dialog/CustomEditor.ts +0 -79
  1850. package/src/themes/silver/main/ts/ui/dialog/Dialogs.ts +0 -207
  1851. package/src/themes/silver/main/ts/ui/dialog/Dropzone.ts +0 -154
  1852. package/src/themes/silver/main/ts/ui/dialog/Grid.ts +0 -15
  1853. package/src/themes/silver/main/ts/ui/dialog/IFrame.ts +0 -188
  1854. package/src/themes/silver/main/ts/ui/dialog/ImagePreview.ts +0 -156
  1855. package/src/themes/silver/main/ts/ui/dialog/Label.ts +0 -45
  1856. package/src/themes/silver/main/ts/ui/dialog/ListBox.ts +0 -139
  1857. package/src/themes/silver/main/ts/ui/dialog/Panel.ts +0 -21
  1858. package/src/themes/silver/main/ts/ui/dialog/SelectBox.ts +0 -78
  1859. package/src/themes/silver/main/ts/ui/dialog/SizeInput.ts +0 -169
  1860. package/src/themes/silver/main/ts/ui/dialog/Slider.ts +0 -69
  1861. package/src/themes/silver/main/ts/ui/dialog/TabPanel.ts +0 -168
  1862. package/src/themes/silver/main/ts/ui/dialog/Table.ts +0 -46
  1863. package/src/themes/silver/main/ts/ui/dialog/TextField.ts +0 -161
  1864. package/src/themes/silver/main/ts/ui/dialog/Tree.ts +0 -405
  1865. package/src/themes/silver/main/ts/ui/dialog/UrlInput.ts +0 -296
  1866. package/src/themes/silver/main/ts/ui/dialog/WindowManager.ts +0 -393
  1867. package/src/themes/silver/main/ts/ui/dropdown/CommonDropdown.ts +0 -275
  1868. package/src/themes/silver/main/ts/ui/general/AlertBanner.ts +0 -62
  1869. package/src/themes/silver/main/ts/ui/general/Button.ts +0 -309
  1870. package/src/themes/silver/main/ts/ui/general/Checkbox.ts +0 -110
  1871. package/src/themes/silver/main/ts/ui/general/FormEvents.ts +0 -63
  1872. package/src/themes/silver/main/ts/ui/general/FormValues.ts +0 -21
  1873. package/src/themes/silver/main/ts/ui/general/HtmlPanel.ts +0 -62
  1874. package/src/themes/silver/main/ts/ui/general/NavigableObject.ts +0 -76
  1875. package/src/themes/silver/main/ts/ui/general/Notification.ts +0 -222
  1876. package/src/themes/silver/main/ts/ui/general/OuterContainer.ts +0 -463
  1877. package/src/themes/silver/main/ts/ui/general/PanelButton.ts +0 -67
  1878. package/src/themes/silver/main/ts/ui/general/UiFactory.ts +0 -110
  1879. package/src/themes/silver/main/ts/ui/header/CommonHeader.ts +0 -26
  1880. package/src/themes/silver/main/ts/ui/header/InlineHeader.ts +0 -379
  1881. package/src/themes/silver/main/ts/ui/header/StaticHeader.ts +0 -11
  1882. package/src/themes/silver/main/ts/ui/header/StickyHeader.ts +0 -311
  1883. package/src/themes/silver/main/ts/ui/icons/Icons.ts +0 -110
  1884. package/src/themes/silver/main/ts/ui/menus/contextmenu/Coords.ts +0 -85
  1885. package/src/themes/silver/main/ts/ui/menus/contextmenu/Options.ts +0 -66
  1886. package/src/themes/silver/main/ts/ui/menus/contextmenu/SilverContextMenu.ts +0 -192
  1887. package/src/themes/silver/main/ts/ui/menus/contextmenu/platform/DesktopContextMenu.ts +0 -44
  1888. package/src/themes/silver/main/ts/ui/menus/contextmenu/platform/MobileContextMenu.ts +0 -169
  1889. package/src/themes/silver/main/ts/ui/menus/item/ItemClasses.ts +0 -57
  1890. package/src/themes/silver/main/ts/ui/menus/item/ItemEvents.ts +0 -29
  1891. package/src/themes/silver/main/ts/ui/menus/item/ItemResponse.ts +0 -6
  1892. package/src/themes/silver/main/ts/ui/menus/item/MenuItems.ts +0 -28
  1893. package/src/themes/silver/main/ts/ui/menus/item/build/AutocompleteMenuItem.ts +0 -111
  1894. package/src/themes/silver/main/ts/ui/menus/item/build/CardMenuItem.ts +0 -84
  1895. package/src/themes/silver/main/ts/ui/menus/item/build/ChoiceItem.ts +0 -82
  1896. package/src/themes/silver/main/ts/ui/menus/item/build/ColorSwatchItem.ts +0 -57
  1897. package/src/themes/silver/main/ts/ui/menus/item/build/CommonMenuItem.ts +0 -99
  1898. package/src/themes/silver/main/ts/ui/menus/item/build/FancyMenuItem.ts +0 -19
  1899. package/src/themes/silver/main/ts/ui/menus/item/build/InsertTableMenuItem.ts +0 -142
  1900. package/src/themes/silver/main/ts/ui/menus/item/build/NestedMenuItem.ts +0 -51
  1901. package/src/themes/silver/main/ts/ui/menus/item/build/NormalMenuItem.ts +0 -40
  1902. package/src/themes/silver/main/ts/ui/menus/item/build/SeparatorItem.ts +0 -17
  1903. package/src/themes/silver/main/ts/ui/menus/item/build/ToggleMenuItem.ts +0 -62
  1904. package/src/themes/silver/main/ts/ui/menus/item/structure/ItemSlices.ts +0 -121
  1905. package/src/themes/silver/main/ts/ui/menus/item/structure/ItemStructure.ts +0 -149
  1906. package/src/themes/silver/main/ts/ui/menus/menu/MenuChoice.ts +0 -61
  1907. package/src/themes/silver/main/ts/ui/menus/menu/MenuClasses.ts +0 -31
  1908. package/src/themes/silver/main/ts/ui/menus/menu/MenuConversion.ts +0 -131
  1909. package/src/themes/silver/main/ts/ui/menus/menu/MenuMovement.ts +0 -63
  1910. package/src/themes/silver/main/ts/ui/menus/menu/MenuParts.ts +0 -56
  1911. package/src/themes/silver/main/ts/ui/menus/menu/MenuStructures.ts +0 -235
  1912. package/src/themes/silver/main/ts/ui/menus/menu/MenuUtils.ts +0 -104
  1913. package/src/themes/silver/main/ts/ui/menus/menu/MenuWidgets.ts +0 -55
  1914. package/src/themes/silver/main/ts/ui/menus/menu/NestedMenus.ts +0 -82
  1915. package/src/themes/silver/main/ts/ui/menus/menu/SingleMenu.ts +0 -228
  1916. package/src/themes/silver/main/ts/ui/menus/menu/SingleMenuTypes.ts +0 -4
  1917. package/src/themes/silver/main/ts/ui/menus/menu/searchable/SearchableMenu.ts +0 -164
  1918. package/src/themes/silver/main/ts/ui/menus/menu/searchable/SearchableMenuEvents.ts +0 -32
  1919. package/src/themes/silver/main/ts/ui/menus/menu/searchable/SearchableMenuField.ts +0 -181
  1920. package/src/themes/silver/main/ts/ui/menus/menu/searchable/SearchableMenus.ts +0 -23
  1921. package/src/themes/silver/main/ts/ui/menus/menubar/Integration.ts +0 -86
  1922. package/src/themes/silver/main/ts/ui/menus/menubar/SilverMenubar.ts +0 -152
  1923. package/src/themes/silver/main/ts/ui/promotion/Promotion.ts +0 -29
  1924. package/src/themes/silver/main/ts/ui/selector/TableSelectorHandles.ts +0 -230
  1925. package/src/themes/silver/main/ts/ui/sidebar/Sidebar.ts +0 -251
  1926. package/src/themes/silver/main/ts/ui/sizeinput/SizeInputModel.ts +0 -87
  1927. package/src/themes/silver/main/ts/ui/sizing/EditorSize.ts +0 -32
  1928. package/src/themes/silver/main/ts/ui/sizing/Resize.ts +0 -41
  1929. package/src/themes/silver/main/ts/ui/sizing/Utils.ts +0 -24
  1930. package/src/themes/silver/main/ts/ui/skin/Loader.ts +0 -98
  1931. package/src/themes/silver/main/ts/ui/skin/SkinLoaded.ts +0 -26
  1932. package/src/themes/silver/main/ts/ui/statusbar/ElementPath.ts +0 -132
  1933. package/src/themes/silver/main/ts/ui/statusbar/ResizeHandle.ts +0 -70
  1934. package/src/themes/silver/main/ts/ui/statusbar/Statusbar.ts +0 -144
  1935. package/src/themes/silver/main/ts/ui/statusbar/WordCount.ts +0 -67
  1936. package/src/themes/silver/main/ts/ui/throbber/Throbber.ts +0 -170
  1937. package/src/themes/silver/main/ts/ui/toolbar/CommonToolbar.ts +0 -231
  1938. package/src/themes/silver/main/ts/ui/toolbar/Integration.ts +0 -210
  1939. package/src/themes/silver/main/ts/ui/toolbar/button/ButtonClasses.ts +0 -17
  1940. package/src/themes/silver/main/ts/ui/toolbar/button/ButtonEvents.ts +0 -45
  1941. package/src/themes/silver/main/ts/ui/toolbar/button/ToolbarButtons.ts +0 -438
  1942. package/src/themes/silver/main/ts/ui/urlinput/Completions.ts +0 -86
  1943. package/src/themes/silver/main/ts/ui/view/View.ts +0 -160
  1944. package/src/themes/silver/main/ts/ui/view/ViewButtons.ts +0 -88
  1945. package/src/themes/silver/main/ts/ui/view/ViewTypes.ts +0 -3
  1946. package/src/themes/silver/main/ts/ui/view/ViewWrapper.ts +0 -174
  1947. package/src/themes/silver/main/ts/ui/window/DialogChannels.ts +0 -17
  1948. package/src/themes/silver/main/ts/ui/window/SilverDialog.ts +0 -102
  1949. package/src/themes/silver/main/ts/ui/window/SilverDialogBody.ts +0 -121
  1950. package/src/themes/silver/main/ts/ui/window/SilverDialogCommon.ts +0 -163
  1951. package/src/themes/silver/main/ts/ui/window/SilverDialogEvents.ts +0 -137
  1952. package/src/themes/silver/main/ts/ui/window/SilverDialogFooter.ts +0 -94
  1953. package/src/themes/silver/main/ts/ui/window/SilverDialogHeader.ts +0 -127
  1954. package/src/themes/silver/main/ts/ui/window/SilverDialogInstanceApi.ts +0 -168
  1955. package/src/themes/silver/main/ts/ui/window/SilverInlineDialog.ts +0 -184
  1956. package/src/themes/silver/main/ts/ui/window/SilverUrlDialog.ts +0 -158
  1957. package/src/themes/silver/main/ts/ui/window/SilverUrlDialogInstanceApi.ts +0 -52
  1958. package/src/themes/silver/test/css/content.css +0 -4
  1959. package/src/themes/silver/test/html/iframe.html +0 -25
  1960. package/src/themes/silver/test/ts/atomic/components/sizeinput/SizeInputConvertTest.ts +0 -59
  1961. package/src/themes/silver/test/ts/atomic/components/sizeinput/SizeInputConverterTest.ts +0 -73
  1962. package/src/themes/silver/test/ts/atomic/components/sizeinput/SizeInputFormatTest.ts +0 -19
  1963. package/src/themes/silver/test/ts/atomic/components/sizeinput/SizeInputNuTest.ts +0 -12
  1964. package/src/themes/silver/test/ts/atomic/components/sizeinput/SizeInputParsingTest.ts +0 -75
  1965. package/src/themes/silver/test/ts/atomic/components/sizeinput/SizeInputShared.ts +0 -5
  1966. package/src/themes/silver/test/ts/atomic/context/ContextMenuTriggerTest.ts +0 -36
  1967. package/src/themes/silver/test/ts/atomic/menus/MenuConversionTest.ts +0 -91
  1968. package/src/themes/silver/test/ts/atomic/sizing/ResizeTest.ts +0 -64
  1969. package/src/themes/silver/test/ts/browser/editor/ContextFormTest.ts +0 -228
  1970. package/src/themes/silver/test/ts/browser/editor/DefaultHeightTest.ts +0 -54
  1971. package/src/themes/silver/test/ts/browser/editor/DisableTest.ts +0 -57
  1972. package/src/themes/silver/test/ts/browser/editor/EventsTest.ts +0 -90
  1973. package/src/themes/silver/test/ts/browser/editor/ForceHexColorTest.ts +0 -131
  1974. package/src/themes/silver/test/ts/browser/editor/MenuGroupHeadingTest.ts +0 -52
  1975. package/src/themes/silver/test/ts/browser/editor/NotificationManagerImplTest.ts +0 -259
  1976. package/src/themes/silver/test/ts/browser/editor/ResourceLoadingCssTest.ts +0 -41
  1977. package/src/themes/silver/test/ts/browser/editor/ShadowDomInlineTest.ts +0 -18
  1978. package/src/themes/silver/test/ts/browser/editor/ShowHideTest.ts +0 -93
  1979. package/src/themes/silver/test/ts/browser/editor/SilverDialogCancelTest.ts +0 -34
  1980. package/src/themes/silver/test/ts/browser/editor/SilverDialogCloseTest.ts +0 -34
  1981. package/src/themes/silver/test/ts/browser/editor/SilverDialogPopupsTest.ts +0 -113
  1982. package/src/themes/silver/test/ts/browser/editor/SilverDialogTreeTest.ts +0 -108
  1983. package/src/themes/silver/test/ts/browser/editor/SilverEditorDirectionalityTest.ts +0 -55
  1984. package/src/themes/silver/test/ts/browser/editor/SilverEditorTest.ts +0 -422
  1985. package/src/themes/silver/test/ts/browser/editor/SilverFixedToolbarContainerPriorityTest.ts +0 -38
  1986. package/src/themes/silver/test/ts/browser/editor/SilverFixedToolbarContainerTargetNotInlineTest.ts +0 -34
  1987. package/src/themes/silver/test/ts/browser/editor/SilverFixedToolbarContainerTargetTest.ts +0 -34
  1988. package/src/themes/silver/test/ts/browser/editor/SilverFixedToolbarContainerTest.ts +0 -117
  1989. package/src/themes/silver/test/ts/browser/editor/SilverInlineEditorTest.ts +0 -430
  1990. package/src/themes/silver/test/ts/browser/editor/SilverInlineEditorWidthTest.ts +0 -113
  1991. package/src/themes/silver/test/ts/browser/editor/SilverPopupSinkBoundsTest.ts +0 -344
  1992. package/src/themes/silver/test/ts/browser/editor/SilverRenderTest.ts +0 -64
  1993. package/src/themes/silver/test/ts/browser/editor/SilverUiModeTest.ts +0 -218
  1994. package/src/themes/silver/test/ts/browser/editor/ToolbarBottomTest.ts +0 -166
  1995. package/src/themes/silver/test/ts/browser/editor/ToolbarPersistTest.ts +0 -40
  1996. package/src/themes/silver/test/ts/browser/editor/ToxWrappingTest.ts +0 -21
  1997. package/src/themes/silver/test/ts/browser/editor/autocomplete/AutocompleteAriaTest.ts +0 -179
  1998. package/src/themes/silver/test/ts/browser/editor/autocomplete/AutocompleteCancelTest.ts +0 -184
  1999. package/src/themes/silver/test/ts/browser/editor/autocomplete/AutocompleteReloadTest.ts +0 -117
  2000. package/src/themes/silver/test/ts/browser/editor/autocomplete/AutocompleteTest.ts +0 -769
  2001. package/src/themes/silver/test/ts/browser/editor/backstage/BackstageSinkTest.ts +0 -190
  2002. package/src/themes/silver/test/ts/browser/editor/bespoke/BespokeSelectAriaLabelTest.ts +0 -242
  2003. package/src/themes/silver/test/ts/browser/editor/bespoke/SilverBespokeButtonsTest.ts +0 -401
  2004. package/src/themes/silver/test/ts/browser/editor/bespoke/StyleSelectFormatNamesTest.ts +0 -114
  2005. package/src/themes/silver/test/ts/browser/editor/buttons/GroupToolbarButtonTest.ts +0 -148
  2006. package/src/themes/silver/test/ts/browser/editor/buttons/UpdateToolbarButtonTextAndIconTest.ts +0 -133
  2007. package/src/themes/silver/test/ts/browser/editor/color/ColorAriaLabelTest.ts +0 -285
  2008. package/src/themes/silver/test/ts/browser/editor/color/ColorCacheTest.ts +0 -64
  2009. package/src/themes/silver/test/ts/browser/editor/color/ColorPickerSanityTest.ts +0 -239
  2010. package/src/themes/silver/test/ts/browser/editor/color/ColorSettingsTest.ts +0 -115
  2011. package/src/themes/silver/test/ts/browser/editor/color/GetCurrentColorTest.ts +0 -32
  2012. package/src/themes/silver/test/ts/browser/editor/color/NoneditableRootTest.ts +0 -48
  2013. package/src/themes/silver/test/ts/browser/editor/color/TextColorCommandsTest.ts +0 -64
  2014. package/src/themes/silver/test/ts/browser/editor/color/TextColorFormattingTest.ts +0 -167
  2015. package/src/themes/silver/test/ts/browser/editor/color/TextColorSanityTest.ts +0 -504
  2016. package/src/themes/silver/test/ts/browser/editor/contextmenu/ContextMenuPositionTest.ts +0 -33
  2017. package/src/themes/silver/test/ts/browser/editor/contextmenu/ContextMenuSettingsTest.ts +0 -44
  2018. package/src/themes/silver/test/ts/browser/editor/contextmenu/CustomContextMenuTest.ts +0 -141
  2019. package/src/themes/silver/test/ts/browser/editor/contextmenu/DesktopContextMenuTest.ts +0 -183
  2020. package/src/themes/silver/test/ts/browser/editor/contextmenu/MobileContextMenuTest.ts +0 -212
  2021. package/src/themes/silver/test/ts/browser/editor/contextmenu/img/dogleft.jpg +0 -0
  2022. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarBoundsTest.ts +0 -332
  2023. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarDistractionFreePositionTest.ts +0 -120
  2024. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarIframePositionTest.ts +0 -385
  2025. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarInlinePositionTest.ts +0 -158
  2026. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarLookupPositionPriorityTest.ts +0 -51
  2027. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarLookupPrioritisationTest.ts +0 -76
  2028. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarLookupTest.ts +0 -160
  2029. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/ContextToolbarTest.ts +0 -41
  2030. package/src/themes/silver/test/ts/browser/editor/contexttoolbar/RemoveContextToolbarOnFocusoutTest.ts +0 -64
  2031. package/src/themes/silver/test/ts/browser/editor/core/AlignmentButtonsTest.ts +0 -67
  2032. package/src/themes/silver/test/ts/browser/editor/core/ChoiceControlsTest.ts +0 -397
  2033. package/src/themes/silver/test/ts/browser/editor/core/ContentLanguageHiddenTest.ts +0 -26
  2034. package/src/themes/silver/test/ts/browser/editor/core/PasteControlsTest.ts +0 -41
  2035. package/src/themes/silver/test/ts/browser/editor/core/SimpleControlsTest.ts +0 -171
  2036. package/src/themes/silver/test/ts/browser/editor/core/UndoRedoTest.ts +0 -90
  2037. package/src/themes/silver/test/ts/browser/editor/header/HeaderLocationTest.ts +0 -56
  2038. package/src/themes/silver/test/ts/browser/editor/header/InlineHeaderTest.ts +0 -99
  2039. package/src/themes/silver/test/ts/browser/editor/header/PromotionTest.ts +0 -65
  2040. package/src/themes/silver/test/ts/browser/editor/header/StickyHeaderBottomTest.ts +0 -11
  2041. package/src/themes/silver/test/ts/browser/editor/header/StickyHeaderInitialPlacementTest.ts +0 -33
  2042. package/src/themes/silver/test/ts/browser/editor/header/StickyHeaderScrollIntoViewTest.ts +0 -104
  2043. package/src/themes/silver/test/ts/browser/editor/header/StickyHeaderTopTest.ts +0 -11
  2044. package/src/themes/silver/test/ts/browser/editor/menubar/EditorMenubarOptionsTest.ts +0 -77
  2045. package/src/themes/silver/test/ts/browser/editor/menubar/EditorMenubarRenderTest.ts +0 -41
  2046. package/src/themes/silver/test/ts/browser/editor/scrolling/EditorInScrollingContainerTest.ts +0 -959
  2047. package/src/themes/silver/test/ts/browser/editor/sizing/GridSinkSizingTest.ts +0 -36
  2048. package/src/themes/silver/test/ts/browser/editor/sizing/ResizeNotInRootTest.ts +0 -37
  2049. package/src/themes/silver/test/ts/browser/editor/sizing/ResizeTest.ts +0 -110
  2050. package/src/themes/silver/test/ts/browser/editor/toolbar/EditorToolbarOptionsTest.ts +0 -464
  2051. package/src/themes/silver/test/ts/browser/editor/toolbar/IndentOutdentTest.ts +0 -29
  2052. package/src/themes/silver/test/ts/browser/editor/toolbar/InlineToolbarDrawerFloatingPositionTest.ts +0 -77
  2053. package/src/themes/silver/test/ts/browser/editor/toolbar/InlineToolbarPositionTest.ts +0 -390
  2054. package/src/themes/silver/test/ts/browser/editor/toolbar/MultipleInlineToolbarVisibilityTest.ts +0 -54
  2055. package/src/themes/silver/test/ts/browser/editor/toolbar/NumberInputTest.ts +0 -462
  2056. package/src/themes/silver/test/ts/browser/editor/toolbar/ReadonlyToolbarResizeTest.ts +0 -172
  2057. package/src/themes/silver/test/ts/browser/editor/toolbar/SplitFloatingToolbarKeyboardNavigationTest.ts +0 -43
  2058. package/src/themes/silver/test/ts/browser/editor/toolbar/ToolbarDrawerFloatingPositionTest.ts +0 -106
  2059. package/src/themes/silver/test/ts/browser/editor/toolbar/ToolbarDrawerToggleTest.ts +0 -160
  2060. package/src/themes/silver/test/ts/browser/editor/toolbar/ToolbarFocusTest.ts +0 -49
  2061. package/src/themes/silver/test/ts/browser/editor/tooltip/AutocompleterTooltipTest.ts +0 -157
  2062. package/src/themes/silver/test/ts/browser/editor/tooltip/CollectionTooltipTest.ts +0 -240
  2063. package/src/themes/silver/test/ts/browser/editor/tooltip/DynamicTooltipTest.ts +0 -289
  2064. package/src/themes/silver/test/ts/browser/editor/tooltip/TooltipShortcutTest.ts +0 -52
  2065. package/src/themes/silver/test/ts/browser/editor/tooltip/TooltipTest.ts +0 -505
  2066. package/src/themes/silver/test/ts/browser/icons/IconsTest.ts +0 -128
  2067. package/src/themes/silver/test/ts/browser/sidebar/SidebarRoleAttributeTest.ts +0 -83
  2068. package/src/themes/silver/test/ts/browser/sidebar/SidebarShowOptionTest.ts +0 -126
  2069. package/src/themes/silver/test/ts/browser/sidebar/SidebarTest.ts +0 -115
  2070. package/src/themes/silver/test/ts/browser/skin/OxideBlockedDialogTest.ts +0 -113
  2071. package/src/themes/silver/test/ts/browser/skin/OxideCollectionComponentTest.ts +0 -325
  2072. package/src/themes/silver/test/ts/browser/skin/OxideColorSwatchMenuTest.ts +0 -324
  2073. package/src/themes/silver/test/ts/browser/skin/OxideFontFormatMenuTest.ts +0 -209
  2074. package/src/themes/silver/test/ts/browser/skin/OxideGridCollectionMenuTest.ts +0 -79
  2075. package/src/themes/silver/test/ts/browser/skin/OxideListCollectionMenuTest.ts +0 -151
  2076. package/src/themes/silver/test/ts/browser/skin/OxideTablePickerMenuTest.ts +0 -124
  2077. package/src/themes/silver/test/ts/browser/skin/OxideToolbarCollectionMenuTest.ts +0 -156
  2078. package/src/themes/silver/test/ts/browser/statusbar/StatusbarTest.ts +0 -365
  2079. package/src/themes/silver/test/ts/browser/throbber/ThrobberEditorTest.ts +0 -82
  2080. package/src/themes/silver/test/ts/browser/throbber/ThrobberFocusTest.ts +0 -248
  2081. package/src/themes/silver/test/ts/browser/throbber/ThrobberPopupTest.ts +0 -121
  2082. package/src/themes/silver/test/ts/browser/throbber/ThrobberTest.ts +0 -93
  2083. package/src/themes/silver/test/ts/browser/view/ViewButtonsTest.ts +0 -134
  2084. package/src/themes/silver/test/ts/browser/view/ViewTest.ts +0 -504
  2085. package/src/themes/silver/test/ts/browser/window/SilverDialogApiAccessTest.ts +0 -175
  2086. package/src/themes/silver/test/ts/browser/window/SilverDialogAriaLabelTest.ts +0 -61
  2087. package/src/themes/silver/test/ts/browser/window/SilverDialogBeforeEditorRenderedTest.ts +0 -29
  2088. package/src/themes/silver/test/ts/browser/window/SilverDialogBlockTest.ts +0 -170
  2089. package/src/themes/silver/test/ts/browser/window/SilverDialogFooterTest.ts +0 -87
  2090. package/src/themes/silver/test/ts/browser/window/SilverDialogPositioningTest.ts +0 -191
  2091. package/src/themes/silver/test/ts/browser/window/SilverInlineDialogPersistenceTest.ts +0 -173
  2092. package/src/themes/silver/test/ts/browser/window/SilverInlineDialogPositionTest.ts +0 -451
  2093. package/src/themes/silver/test/ts/browser/window/SilverInlineDialogTest.ts +0 -270
  2094. package/src/themes/silver/test/ts/headless/components/alertbanner/AlertBannerTest.ts +0 -93
  2095. package/src/themes/silver/test/ts/headless/components/checkbox/BasicCheckboxTest.ts +0 -193
  2096. package/src/themes/silver/test/ts/headless/components/checkbox/CheckboxFormChangeTest.ts +0 -37
  2097. package/src/themes/silver/test/ts/headless/components/colorinput/ColorInputTest.ts +0 -202
  2098. package/src/themes/silver/test/ts/headless/components/colorpicker/ColorPickerTest.ts +0 -165
  2099. package/src/themes/silver/test/ts/headless/components/customeditor/BasicCustomEditorTest.ts +0 -101
  2100. package/src/themes/silver/test/ts/headless/components/customeditor/CustomEditorSchemaTest.ts +0 -92
  2101. package/src/themes/silver/test/ts/headless/components/dialogbutton/DialogButtonTest.ts +0 -99
  2102. package/src/themes/silver/test/ts/headless/components/dialogbutton/DialogFooterButtonTest.ts +0 -61
  2103. package/src/themes/silver/test/ts/headless/components/dropzone/DropzoneTest.ts +0 -76
  2104. package/src/themes/silver/test/ts/headless/components/grid/BasicGridTest.ts +0 -54
  2105. package/src/themes/silver/test/ts/headless/components/htmlpanel/HtmlPanelTest.ts +0 -62
  2106. package/src/themes/silver/test/ts/headless/components/iframe/IframeTest.ts +0 -343
  2107. package/src/themes/silver/test/ts/headless/components/imagepreview/BasicImagePreviewTest.ts +0 -119
  2108. package/src/themes/silver/test/ts/headless/components/input/InputTest.ts +0 -61
  2109. package/src/themes/silver/test/ts/headless/components/label/LabelTest.ts +0 -117
  2110. package/src/themes/silver/test/ts/headless/components/listbox/ListBoxTest.ts +0 -166
  2111. package/src/themes/silver/test/ts/headless/components/selectbox/SelectboxTest.ts +0 -85
  2112. package/src/themes/silver/test/ts/headless/components/selectbox/SelectboxWithSizeTest.ts +0 -67
  2113. package/src/themes/silver/test/ts/headless/components/sizeinput/SizeInputTest.ts +0 -131
  2114. package/src/themes/silver/test/ts/headless/components/slider/SliderTest.ts +0 -43
  2115. package/src/themes/silver/test/ts/headless/components/table/TableTest.ts +0 -49
  2116. package/src/themes/silver/test/ts/headless/components/textarea/TextareaTest.ts +0 -63
  2117. package/src/themes/silver/test/ts/headless/components/tree/TreeTest.ts +0 -286
  2118. package/src/themes/silver/test/ts/headless/components/urlinput/HistoryTest.ts +0 -35
  2119. package/src/themes/silver/test/ts/headless/components/urlinput/UrlInputTest.ts +0 -301
  2120. package/src/themes/silver/test/ts/headless/configs/ControlOnSetupTest.ts +0 -74
  2121. package/src/themes/silver/test/ts/headless/modes/ScrollingContextTest.ts +0 -271
  2122. package/src/themes/silver/test/ts/headless/modes/UiReferencesTest.ts +0 -73
  2123. package/src/themes/silver/test/ts/headless/sketchers/SilverMenubarTest.ts +0 -312
  2124. package/src/themes/silver/test/ts/headless/toolbar/SearchableMenuButtonPlaceholderTest.ts +0 -100
  2125. package/src/themes/silver/test/ts/headless/toolbar/SearchableMenuButtonTest.ts +0 -541
  2126. package/src/themes/silver/test/ts/headless/toolbar/ToolbarButtonsTest.ts +0 -384
  2127. package/src/themes/silver/test/ts/headless/toolbar/ToolbarTest.ts +0 -142
  2128. package/src/themes/silver/test/ts/headless/window/CustomDialogTest.ts +0 -271
  2129. package/src/themes/silver/test/ts/headless/window/SilverDialogEventTest.ts +0 -145
  2130. package/src/themes/silver/test/ts/headless/window/SilverDialogReuseTest.ts +0 -322
  2131. package/src/themes/silver/test/ts/headless/window/SilverDialogTest.ts +0 -90
  2132. package/src/themes/silver/test/ts/headless/window/SilverUrlDialogTest.ts +0 -80
  2133. package/src/themes/silver/test/ts/headless/window/TabbedDialogTest.ts +0 -128
  2134. package/src/themes/silver/test/ts/headless/window/WindowManagerAlertTest.ts +0 -225
  2135. package/src/themes/silver/test/ts/headless/window/WindowManagerConfirmTest.ts +0 -236
  2136. package/src/themes/silver/test/ts/headless/window/WindowManagerRedialTest.ts +0 -182
  2137. package/src/themes/silver/test/ts/headless/window/WindowManagerTest.ts +0 -396
  2138. package/src/themes/silver/test/ts/module/Assets.ts +0 -3
  2139. package/src/themes/silver/test/ts/module/AutocompleterUtils.ts +0 -153
  2140. package/src/themes/silver/test/ts/module/CommonMailMergeFetch.ts +0 -107
  2141. package/src/themes/silver/test/ts/module/CommonMenuTestStructures.ts +0 -80
  2142. package/src/themes/silver/test/ts/module/ContextMenuUtils.ts +0 -35
  2143. package/src/themes/silver/test/ts/module/DialogUtils.ts +0 -33
  2144. package/src/themes/silver/test/ts/module/DomUtils.ts +0 -21
  2145. package/src/themes/silver/test/ts/module/MenuUtils.ts +0 -75
  2146. package/src/themes/silver/test/ts/module/PageScroll.ts +0 -41
  2147. package/src/themes/silver/test/ts/module/RepresentingUtils.ts +0 -28
  2148. package/src/themes/silver/test/ts/module/StickyHeaderStep.ts +0 -226
  2149. package/src/themes/silver/test/ts/module/StickyHeaderUtils.ts +0 -250
  2150. package/src/themes/silver/test/ts/module/TestBackstage.ts +0 -88
  2151. package/src/themes/silver/test/ts/module/TestExtras.ts +0 -149
  2152. package/src/themes/silver/test/ts/module/TestProviders.ts +0 -25
  2153. package/src/themes/silver/test/ts/module/ToolbarUtils.ts +0 -44
  2154. package/src/themes/silver/test/ts/module/TooltipUtils.ts +0 -62
  2155. package/src/themes/silver/test/ts/module/UiUtils.ts +0 -55
  2156. package/src/themes/silver/test/ts/webdriver/components/urlinput/UrlInputTest.ts +0 -79
  2157. package/src/themes/silver/test/ts/webdriver/dialogs/DialogFocusTest.ts +0 -94
  2158. package/src/themes/silver/test/ts/webdriver/dialogs/IFrameDialogTest.ts +0 -169
  2159. package/src/themes/silver/test/ts/webdriver/dialogs/SizeInputSpaceTest.ts +0 -50
  2160. package/src/themes/silver/test/ts/webdriver/editor/AutocompleteDelayedResponseTest.ts +0 -101
  2161. package/src/themes/silver/test/ts/webdriver/editor/DisabledNestedMenuItemTest.ts +0 -115
  2162. package/src/themes/silver/test/ts/webdriver/editor/SimpleControlsInlineTest.ts +0 -30
  2163. package/src/themes/silver/test/ts/webdriver/editor/TabbingTest.ts +0 -26
  2164. package/src/themes/silver/test/ts/webdriver/throbber/ThrobberTabbingTest.ts +0 -120
  2165. package/src/themes/silver/test/ts/webdriver/toolbar/SearchableMenuTypingTest.ts +0 -369
  2166. package/src/themes/silver/test/ts/webdriver/tooltip/HtmlPanelTooltipTest.ts +0 -156
  2167. package/tools/docs/tinymce.Editor.js +0 -122
  2168. package/tools/docs/tinymce.EditorManager.js +0 -14
  2169. package/tools/docs/tinymce.Env.js +0 -174
  2170. package/tools/docs/tinymce.Event.js +0 -50
  2171. package/tools/docs/tinymce.editor.ui.Ui.js +0 -55
  2172. package/tools/docs/tinymce.js +0 -56
  2173. package/tools/modules/grunt-utils.js +0 -31
  2174. package/tools/modules/grunt-webpack.js +0 -204
  2175. package/tools/modules/zip-helper.js +0 -42
  2176. package/tools/nuget/build/TinyMCE.targets +0 -9
  2177. package/tools/tasks/bundle.js +0 -79
  2178. package/tools/tasks/globals.js +0 -97
  2179. package/tools/tasks/html-i18n.js +0 -35
  2180. package/tools/tasks/moxiezip.js +0 -98
  2181. package/tools/tasks/validateVersion.js +0 -20
  2182. package/tsconfig.json +0 -83
  2183. /package/{src/core/main/text/readme_lang.md → langs/README.md} +0 -0
@@ -0,0 +1,3465 @@
1
+ /**
2
+ * TinyMCE version 7.0.0 (TBD)
3
+ */
4
+
5
+ (function () {
6
+ 'use strict';
7
+
8
+ var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');
9
+
10
+ const hasProto = (v, constructor, predicate) => {
11
+ var _a;
12
+ if (predicate(v, constructor.prototype)) {
13
+ return true;
14
+ } else {
15
+ return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
16
+ }
17
+ };
18
+ const typeOf = x => {
19
+ const t = typeof x;
20
+ if (x === null) {
21
+ return 'null';
22
+ } else if (t === 'object' && Array.isArray(x)) {
23
+ return 'array';
24
+ } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {
25
+ return 'string';
26
+ } else {
27
+ return t;
28
+ }
29
+ };
30
+ const isType$1 = type => value => typeOf(value) === type;
31
+ const isSimpleType = type => value => typeof value === type;
32
+ const eq$1 = t => a => t === a;
33
+ const isString = isType$1('string');
34
+ const isArray = isType$1('array');
35
+ const isBoolean = isSimpleType('boolean');
36
+ const isUndefined = eq$1(undefined);
37
+ const isNullable = a => a === null || a === undefined;
38
+ const isNonNullable = a => !isNullable(a);
39
+ const isFunction = isSimpleType('function');
40
+ const isNumber = isSimpleType('number');
41
+
42
+ const noop = () => {
43
+ };
44
+ const compose1 = (fbc, fab) => a => fbc(fab(a));
45
+ const constant = value => {
46
+ return () => {
47
+ return value;
48
+ };
49
+ };
50
+ const identity = x => {
51
+ return x;
52
+ };
53
+ const tripleEquals = (a, b) => {
54
+ return a === b;
55
+ };
56
+ function curry(fn, ...initialArgs) {
57
+ return (...restArgs) => {
58
+ const all = initialArgs.concat(restArgs);
59
+ return fn.apply(null, all);
60
+ };
61
+ }
62
+ const call = f => {
63
+ f();
64
+ };
65
+ const never = constant(false);
66
+ const always = constant(true);
67
+
68
+ class Optional {
69
+ constructor(tag, value) {
70
+ this.tag = tag;
71
+ this.value = value;
72
+ }
73
+ static some(value) {
74
+ return new Optional(true, value);
75
+ }
76
+ static none() {
77
+ return Optional.singletonNone;
78
+ }
79
+ fold(onNone, onSome) {
80
+ if (this.tag) {
81
+ return onSome(this.value);
82
+ } else {
83
+ return onNone();
84
+ }
85
+ }
86
+ isSome() {
87
+ return this.tag;
88
+ }
89
+ isNone() {
90
+ return !this.tag;
91
+ }
92
+ map(mapper) {
93
+ if (this.tag) {
94
+ return Optional.some(mapper(this.value));
95
+ } else {
96
+ return Optional.none();
97
+ }
98
+ }
99
+ bind(binder) {
100
+ if (this.tag) {
101
+ return binder(this.value);
102
+ } else {
103
+ return Optional.none();
104
+ }
105
+ }
106
+ exists(predicate) {
107
+ return this.tag && predicate(this.value);
108
+ }
109
+ forall(predicate) {
110
+ return !this.tag || predicate(this.value);
111
+ }
112
+ filter(predicate) {
113
+ if (!this.tag || predicate(this.value)) {
114
+ return this;
115
+ } else {
116
+ return Optional.none();
117
+ }
118
+ }
119
+ getOr(replacement) {
120
+ return this.tag ? this.value : replacement;
121
+ }
122
+ or(replacement) {
123
+ return this.tag ? this : replacement;
124
+ }
125
+ getOrThunk(thunk) {
126
+ return this.tag ? this.value : thunk();
127
+ }
128
+ orThunk(thunk) {
129
+ return this.tag ? this : thunk();
130
+ }
131
+ getOrDie(message) {
132
+ if (!this.tag) {
133
+ throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
134
+ } else {
135
+ return this.value;
136
+ }
137
+ }
138
+ static from(value) {
139
+ return isNonNullable(value) ? Optional.some(value) : Optional.none();
140
+ }
141
+ getOrNull() {
142
+ return this.tag ? this.value : null;
143
+ }
144
+ getOrUndefined() {
145
+ return this.value;
146
+ }
147
+ each(worker) {
148
+ if (this.tag) {
149
+ worker(this.value);
150
+ }
151
+ }
152
+ toArray() {
153
+ return this.tag ? [this.value] : [];
154
+ }
155
+ toString() {
156
+ return this.tag ? `some(${ this.value })` : 'none()';
157
+ }
158
+ }
159
+ Optional.singletonNone = new Optional(false);
160
+
161
+ const keys = Object.keys;
162
+ const hasOwnProperty = Object.hasOwnProperty;
163
+ const each$1 = (obj, f) => {
164
+ const props = keys(obj);
165
+ for (let k = 0, len = props.length; k < len; k++) {
166
+ const i = props[k];
167
+ const x = obj[i];
168
+ f(x, i);
169
+ }
170
+ };
171
+ const objAcc = r => (x, i) => {
172
+ r[i] = x;
173
+ };
174
+ const internalFilter = (obj, pred, onTrue, onFalse) => {
175
+ each$1(obj, (x, i) => {
176
+ (pred(x, i) ? onTrue : onFalse)(x, i);
177
+ });
178
+ };
179
+ const filter$1 = (obj, pred) => {
180
+ const t = {};
181
+ internalFilter(obj, pred, objAcc(t), noop);
182
+ return t;
183
+ };
184
+ const mapToArray = (obj, f) => {
185
+ const r = [];
186
+ each$1(obj, (value, name) => {
187
+ r.push(f(value, name));
188
+ });
189
+ return r;
190
+ };
191
+ const values = obj => {
192
+ return mapToArray(obj, identity);
193
+ };
194
+ const size = obj => {
195
+ return keys(obj).length;
196
+ };
197
+ const get$4 = (obj, key) => {
198
+ return has(obj, key) ? Optional.from(obj[key]) : Optional.none();
199
+ };
200
+ const has = (obj, key) => hasOwnProperty.call(obj, key);
201
+ const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;
202
+ const isEmpty$1 = r => {
203
+ for (const x in r) {
204
+ if (hasOwnProperty.call(r, x)) {
205
+ return false;
206
+ }
207
+ }
208
+ return true;
209
+ };
210
+
211
+ const nativeIndexOf = Array.prototype.indexOf;
212
+ const nativePush = Array.prototype.push;
213
+ const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);
214
+ const contains = (xs, x) => rawIndexOf(xs, x) > -1;
215
+ const exists = (xs, pred) => {
216
+ for (let i = 0, len = xs.length; i < len; i++) {
217
+ const x = xs[i];
218
+ if (pred(x, i)) {
219
+ return true;
220
+ }
221
+ }
222
+ return false;
223
+ };
224
+ const range = (num, f) => {
225
+ const r = [];
226
+ for (let i = 0; i < num; i++) {
227
+ r.push(f(i));
228
+ }
229
+ return r;
230
+ };
231
+ const map = (xs, f) => {
232
+ const len = xs.length;
233
+ const r = new Array(len);
234
+ for (let i = 0; i < len; i++) {
235
+ const x = xs[i];
236
+ r[i] = f(x, i);
237
+ }
238
+ return r;
239
+ };
240
+ const each = (xs, f) => {
241
+ for (let i = 0, len = xs.length; i < len; i++) {
242
+ const x = xs[i];
243
+ f(x, i);
244
+ }
245
+ };
246
+ const eachr = (xs, f) => {
247
+ for (let i = xs.length - 1; i >= 0; i--) {
248
+ const x = xs[i];
249
+ f(x, i);
250
+ }
251
+ };
252
+ const partition = (xs, pred) => {
253
+ const pass = [];
254
+ const fail = [];
255
+ for (let i = 0, len = xs.length; i < len; i++) {
256
+ const x = xs[i];
257
+ const arr = pred(x, i) ? pass : fail;
258
+ arr.push(x);
259
+ }
260
+ return {
261
+ pass,
262
+ fail
263
+ };
264
+ };
265
+ const filter = (xs, pred) => {
266
+ const r = [];
267
+ for (let i = 0, len = xs.length; i < len; i++) {
268
+ const x = xs[i];
269
+ if (pred(x, i)) {
270
+ r.push(x);
271
+ }
272
+ }
273
+ return r;
274
+ };
275
+ const foldr = (xs, f, acc) => {
276
+ eachr(xs, (x, i) => {
277
+ acc = f(acc, x, i);
278
+ });
279
+ return acc;
280
+ };
281
+ const foldl = (xs, f, acc) => {
282
+ each(xs, (x, i) => {
283
+ acc = f(acc, x, i);
284
+ });
285
+ return acc;
286
+ };
287
+ const findUntil = (xs, pred, until) => {
288
+ for (let i = 0, len = xs.length; i < len; i++) {
289
+ const x = xs[i];
290
+ if (pred(x, i)) {
291
+ return Optional.some(x);
292
+ } else if (until(x, i)) {
293
+ break;
294
+ }
295
+ }
296
+ return Optional.none();
297
+ };
298
+ const find = (xs, pred) => {
299
+ return findUntil(xs, pred, never);
300
+ };
301
+ const flatten$1 = xs => {
302
+ const r = [];
303
+ for (let i = 0, len = xs.length; i < len; ++i) {
304
+ if (!isArray(xs[i])) {
305
+ throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
306
+ }
307
+ nativePush.apply(r, xs[i]);
308
+ }
309
+ return r;
310
+ };
311
+ const bind = (xs, f) => flatten$1(map(xs, f));
312
+ const forall = (xs, pred) => {
313
+ for (let i = 0, len = xs.length; i < len; ++i) {
314
+ const x = xs[i];
315
+ if (pred(x, i) !== true) {
316
+ return false;
317
+ }
318
+ }
319
+ return true;
320
+ };
321
+ const mapToObject = (xs, f) => {
322
+ const r = {};
323
+ for (let i = 0, len = xs.length; i < len; i++) {
324
+ const x = xs[i];
325
+ r[String(x)] = f(x, i);
326
+ }
327
+ return r;
328
+ };
329
+ const get$3 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();
330
+ const head = xs => get$3(xs, 0);
331
+ const last = xs => get$3(xs, xs.length - 1);
332
+ const findMap = (arr, f) => {
333
+ for (let i = 0; i < arr.length; i++) {
334
+ const r = f(arr[i], i);
335
+ if (r.isSome()) {
336
+ return r;
337
+ }
338
+ }
339
+ return Optional.none();
340
+ };
341
+
342
+ const COMMENT = 8;
343
+ const DOCUMENT = 9;
344
+ const DOCUMENT_FRAGMENT = 11;
345
+ const ELEMENT = 1;
346
+ const TEXT = 3;
347
+
348
+ const fromHtml = (html, scope) => {
349
+ const doc = scope || document;
350
+ const div = doc.createElement('div');
351
+ div.innerHTML = html;
352
+ if (!div.hasChildNodes() || div.childNodes.length > 1) {
353
+ const message = 'HTML does not have a single root node';
354
+ console.error(message, html);
355
+ throw new Error(message);
356
+ }
357
+ return fromDom$1(div.childNodes[0]);
358
+ };
359
+ const fromTag = (tag, scope) => {
360
+ const doc = scope || document;
361
+ const node = doc.createElement(tag);
362
+ return fromDom$1(node);
363
+ };
364
+ const fromText = (text, scope) => {
365
+ const doc = scope || document;
366
+ const node = doc.createTextNode(text);
367
+ return fromDom$1(node);
368
+ };
369
+ const fromDom$1 = node => {
370
+ if (node === null || node === undefined) {
371
+ throw new Error('Node cannot be null or undefined');
372
+ }
373
+ return { dom: node };
374
+ };
375
+ const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);
376
+ const SugarElement = {
377
+ fromHtml,
378
+ fromTag,
379
+ fromText,
380
+ fromDom: fromDom$1,
381
+ fromPoint
382
+ };
383
+
384
+ const is$2 = (element, selector) => {
385
+ const dom = element.dom;
386
+ if (dom.nodeType !== ELEMENT) {
387
+ return false;
388
+ } else {
389
+ const elem = dom;
390
+ if (elem.matches !== undefined) {
391
+ return elem.matches(selector);
392
+ } else if (elem.msMatchesSelector !== undefined) {
393
+ return elem.msMatchesSelector(selector);
394
+ } else if (elem.webkitMatchesSelector !== undefined) {
395
+ return elem.webkitMatchesSelector(selector);
396
+ } else if (elem.mozMatchesSelector !== undefined) {
397
+ return elem.mozMatchesSelector(selector);
398
+ } else {
399
+ throw new Error('Browser lacks native selectors');
400
+ }
401
+ }
402
+ };
403
+ const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;
404
+ const all$1 = (selector, scope) => {
405
+ const base = scope === undefined ? document : scope.dom;
406
+ return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);
407
+ };
408
+ const one = (selector, scope) => {
409
+ const base = scope === undefined ? document : scope.dom;
410
+ return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom);
411
+ };
412
+
413
+ const eq = (e1, e2) => e1.dom === e2.dom;
414
+ const is$1 = is$2;
415
+
416
+ typeof window !== 'undefined' ? window : Function('return this;')();
417
+
418
+ const name = element => {
419
+ const r = element.dom.nodeName;
420
+ return r.toLowerCase();
421
+ };
422
+ const type = element => element.dom.nodeType;
423
+ const isType = t => element => type(element) === t;
424
+ const isComment = element => type(element) === COMMENT || name(element) === '#comment';
425
+ const isElement = isType(ELEMENT);
426
+ const isText = isType(TEXT);
427
+ const isDocument = isType(DOCUMENT);
428
+ const isDocumentFragment = isType(DOCUMENT_FRAGMENT);
429
+ const isTag = tag => e => isElement(e) && name(e) === tag;
430
+
431
+ const owner = element => SugarElement.fromDom(element.dom.ownerDocument);
432
+ const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);
433
+ const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
434
+ const parents = (element, isRoot) => {
435
+ const stop = isFunction(isRoot) ? isRoot : never;
436
+ let dom = element.dom;
437
+ const ret = [];
438
+ while (dom.parentNode !== null && dom.parentNode !== undefined) {
439
+ const rawParent = dom.parentNode;
440
+ const p = SugarElement.fromDom(rawParent);
441
+ ret.push(p);
442
+ if (stop(p) === true) {
443
+ break;
444
+ } else {
445
+ dom = rawParent;
446
+ }
447
+ }
448
+ return ret;
449
+ };
450
+ const prevSibling = element => Optional.from(element.dom.previousSibling).map(SugarElement.fromDom);
451
+ const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);
452
+ const children$3 = element => map(element.dom.childNodes, SugarElement.fromDom);
453
+ const child$3 = (element, index) => {
454
+ const cs = element.dom.childNodes;
455
+ return Optional.from(cs[index]).map(SugarElement.fromDom);
456
+ };
457
+ const firstChild = element => child$3(element, 0);
458
+
459
+ const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);
460
+ const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);
461
+ const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;
462
+ const getShadowRoot = e => {
463
+ const r = getRootNode(e);
464
+ return isShadowRoot(r) ? Optional.some(r) : Optional.none();
465
+ };
466
+ const getShadowHost = e => SugarElement.fromDom(e.dom.host);
467
+
468
+ const inBody = element => {
469
+ const dom = isText(element) ? element.dom.parentNode : element.dom;
470
+ if (dom === undefined || dom === null || dom.ownerDocument === null) {
471
+ return false;
472
+ }
473
+ const doc = dom.ownerDocument;
474
+ return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));
475
+ };
476
+
477
+ var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {
478
+ if (is(scope, a)) {
479
+ return Optional.some(scope);
480
+ } else if (isFunction(isRoot) && isRoot(scope)) {
481
+ return Optional.none();
482
+ } else {
483
+ return ancestor(scope, a, isRoot);
484
+ }
485
+ };
486
+
487
+ const ancestor$1 = (scope, predicate, isRoot) => {
488
+ let element = scope.dom;
489
+ const stop = isFunction(isRoot) ? isRoot : never;
490
+ while (element.parentNode) {
491
+ element = element.parentNode;
492
+ const el = SugarElement.fromDom(element);
493
+ if (predicate(el)) {
494
+ return Optional.some(el);
495
+ } else if (stop(el)) {
496
+ break;
497
+ }
498
+ }
499
+ return Optional.none();
500
+ };
501
+ const closest$2 = (scope, predicate, isRoot) => {
502
+ const is = (s, test) => test(s);
503
+ return ClosestOrAncestor(is, ancestor$1, scope, predicate, isRoot);
504
+ };
505
+ const child$2 = (scope, predicate) => {
506
+ const pred = node => predicate(SugarElement.fromDom(node));
507
+ const result = find(scope.dom.childNodes, pred);
508
+ return result.map(SugarElement.fromDom);
509
+ };
510
+
511
+ const ancestor = (scope, selector, isRoot) => ancestor$1(scope, e => is$2(e, selector), isRoot);
512
+ const child$1 = (scope, selector) => child$2(scope, e => is$2(e, selector));
513
+ const descendant = (scope, selector) => one(selector, scope);
514
+ const closest$1 = (scope, selector, isRoot) => {
515
+ const is = (element, selector) => is$2(element, selector);
516
+ return ClosestOrAncestor(is, ancestor, scope, selector, isRoot);
517
+ };
518
+
519
+ const closest = target => closest$1(target, '[contenteditable]');
520
+ const isEditable = (element, assumeEditable = false) => {
521
+ if (inBody(element)) {
522
+ return element.dom.isContentEditable;
523
+ } else {
524
+ return closest(element).fold(constant(assumeEditable), editable => getRaw$1(editable) === 'true');
525
+ }
526
+ };
527
+ const getRaw$1 = element => element.dom.contentEditable;
528
+
529
+ const getNodeName = elm => elm.nodeName.toLowerCase();
530
+ const getBody = editor => SugarElement.fromDom(editor.getBody());
531
+ const getIsRoot = editor => element => eq(element, getBody(editor));
532
+ const removePxSuffix = size => size ? size.replace(/px$/, '') : '';
533
+ const addPxSuffix = size => /^\d+(\.\d+)?$/.test(size) ? size + 'px' : size;
534
+ const getSelectionStart = editor => SugarElement.fromDom(editor.selection.getStart());
535
+ const getSelectionEnd = editor => SugarElement.fromDom(editor.selection.getEnd());
536
+ const isInEditableContext = cell => closest$2(cell, isTag('table')).forall(isEditable);
537
+
538
+ const children$2 = (scope, predicate) => filter(children$3(scope), predicate);
539
+ const descendants$1 = (scope, predicate) => {
540
+ let result = [];
541
+ each(children$3(scope), x => {
542
+ if (predicate(x)) {
543
+ result = result.concat([x]);
544
+ }
545
+ result = result.concat(descendants$1(x, predicate));
546
+ });
547
+ return result;
548
+ };
549
+
550
+ const children$1 = (scope, selector) => children$2(scope, e => is$2(e, selector));
551
+ const descendants = (scope, selector) => all$1(selector, scope);
552
+
553
+ const rawSet = (dom, key, value) => {
554
+ if (isString(value) || isBoolean(value) || isNumber(value)) {
555
+ dom.setAttribute(key, value + '');
556
+ } else {
557
+ console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);
558
+ throw new Error('Attribute value was not simple');
559
+ }
560
+ };
561
+ const set$2 = (element, key, value) => {
562
+ rawSet(element.dom, key, value);
563
+ };
564
+ const setAll = (element, attrs) => {
565
+ const dom = element.dom;
566
+ each$1(attrs, (v, k) => {
567
+ rawSet(dom, k, v);
568
+ });
569
+ };
570
+ const get$2 = (element, key) => {
571
+ const v = element.dom.getAttribute(key);
572
+ return v === null ? undefined : v;
573
+ };
574
+ const getOpt = (element, key) => Optional.from(get$2(element, key));
575
+ const remove$2 = (element, key) => {
576
+ element.dom.removeAttribute(key);
577
+ };
578
+ const clone = element => foldl(element.dom.attributes, (acc, attr) => {
579
+ acc[attr.name] = attr.value;
580
+ return acc;
581
+ }, {});
582
+
583
+ const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));
584
+ const cat = arr => {
585
+ const r = [];
586
+ const push = x => {
587
+ r.push(x);
588
+ };
589
+ for (let i = 0; i < arr.length; i++) {
590
+ arr[i].each(push);
591
+ }
592
+ return r;
593
+ };
594
+ const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();
595
+ const flatten = oot => oot.bind(identity);
596
+ const someIf = (b, a) => b ? Optional.some(a) : Optional.none();
597
+
598
+ const removeFromStart = (str, numChars) => {
599
+ return str.substring(numChars);
600
+ };
601
+
602
+ const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;
603
+ const removeLeading = (str, prefix) => {
604
+ return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str;
605
+ };
606
+ const startsWith = (str, prefix) => {
607
+ return checkRange(str, prefix, 0);
608
+ };
609
+ const blank = r => s => s.replace(r, '');
610
+ const trim = blank(/^\s+|\s+$/g);
611
+ const isNotEmpty = s => s.length > 0;
612
+ const isEmpty = s => !isNotEmpty(s);
613
+ const toInt = (value, radix = 10) => {
614
+ const num = parseInt(value, radix);
615
+ return isNaN(num) ? Optional.none() : Optional.some(num);
616
+ };
617
+ const toFloat = value => {
618
+ const num = parseFloat(value);
619
+ return isNaN(num) ? Optional.none() : Optional.some(num);
620
+ };
621
+
622
+ const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);
623
+
624
+ const internalSet = (dom, property, value) => {
625
+ if (!isString(value)) {
626
+ console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);
627
+ throw new Error('CSS value must be a string: ' + value);
628
+ }
629
+ if (isSupported(dom)) {
630
+ dom.style.setProperty(property, value);
631
+ }
632
+ };
633
+ const internalRemove = (dom, property) => {
634
+ if (isSupported(dom)) {
635
+ dom.style.removeProperty(property);
636
+ }
637
+ };
638
+ const set$1 = (element, property, value) => {
639
+ const dom = element.dom;
640
+ internalSet(dom, property, value);
641
+ };
642
+ const get$1 = (element, property) => {
643
+ const dom = element.dom;
644
+ const styles = window.getComputedStyle(dom);
645
+ const r = styles.getPropertyValue(property);
646
+ return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;
647
+ };
648
+ const getUnsafeProperty = (dom, property) => isSupported(dom) ? dom.style.getPropertyValue(property) : '';
649
+ const getRaw = (element, property) => {
650
+ const dom = element.dom;
651
+ const raw = getUnsafeProperty(dom, property);
652
+ return Optional.from(raw).filter(r => r.length > 0);
653
+ };
654
+ const remove$1 = (element, property) => {
655
+ const dom = element.dom;
656
+ internalRemove(dom, property);
657
+ if (is(getOpt(element, 'style').map(trim), '')) {
658
+ remove$2(element, 'style');
659
+ }
660
+ };
661
+
662
+ const getAttrValue = (cell, name, fallback = 0) => getOpt(cell, name).map(value => parseInt(value, 10)).getOr(fallback);
663
+
664
+ const firstLayer = (scope, selector) => {
665
+ return filterFirstLayer(scope, selector, always);
666
+ };
667
+ const filterFirstLayer = (scope, selector, predicate) => {
668
+ return bind(children$3(scope), x => {
669
+ if (is$2(x, selector)) {
670
+ return predicate(x) ? [x] : [];
671
+ } else {
672
+ return filterFirstLayer(x, selector, predicate);
673
+ }
674
+ });
675
+ };
676
+
677
+ const validSectionList = [
678
+ 'tfoot',
679
+ 'thead',
680
+ 'tbody',
681
+ 'colgroup'
682
+ ];
683
+ const isValidSection = parentName => contains(validSectionList, parentName);
684
+ const grid = (rows, columns) => ({
685
+ rows,
686
+ columns
687
+ });
688
+ const detail = (element, rowspan, colspan) => ({
689
+ element,
690
+ rowspan,
691
+ colspan
692
+ });
693
+ const extended = (element, rowspan, colspan, row, column, isLocked) => ({
694
+ element,
695
+ rowspan,
696
+ colspan,
697
+ row,
698
+ column,
699
+ isLocked
700
+ });
701
+ const rowdetail = (element, cells, section) => ({
702
+ element,
703
+ cells,
704
+ section
705
+ });
706
+ const bounds = (startRow, startCol, finishRow, finishCol) => ({
707
+ startRow,
708
+ startCol,
709
+ finishRow,
710
+ finishCol
711
+ });
712
+ const columnext = (element, colspan, column) => ({
713
+ element,
714
+ colspan,
715
+ column
716
+ });
717
+ const colgroup = (element, columns) => ({
718
+ element,
719
+ columns
720
+ });
721
+
722
+ const lookup = (tags, element, isRoot = never) => {
723
+ if (isRoot(element)) {
724
+ return Optional.none();
725
+ }
726
+ if (contains(tags, name(element))) {
727
+ return Optional.some(element);
728
+ }
729
+ const isRootOrUpperTable = elm => is$2(elm, 'table') || isRoot(elm);
730
+ return ancestor(element, tags.join(','), isRootOrUpperTable);
731
+ };
732
+ const cell = (element, isRoot) => lookup([
733
+ 'td',
734
+ 'th'
735
+ ], element, isRoot);
736
+ const cells = ancestor => firstLayer(ancestor, 'th,td');
737
+ const columns = ancestor => {
738
+ if (is$2(ancestor, 'colgroup')) {
739
+ return children$1(ancestor, 'col');
740
+ } else {
741
+ return bind(columnGroups(ancestor), columnGroup => children$1(columnGroup, 'col'));
742
+ }
743
+ };
744
+ const table = (element, isRoot) => closest$1(element, 'table', isRoot);
745
+ const rows = ancestor => firstLayer(ancestor, 'tr');
746
+ const columnGroups = ancestor => table(ancestor).fold(constant([]), table => children$1(table, 'colgroup'));
747
+
748
+ const fromRowsOrColGroups = (elems, getSection) => map(elems, row => {
749
+ if (name(row) === 'colgroup') {
750
+ const cells = map(columns(row), column => {
751
+ const colspan = getAttrValue(column, 'span', 1);
752
+ return detail(column, 1, colspan);
753
+ });
754
+ return rowdetail(row, cells, 'colgroup');
755
+ } else {
756
+ const cells$1 = map(cells(row), cell => {
757
+ const rowspan = getAttrValue(cell, 'rowspan', 1);
758
+ const colspan = getAttrValue(cell, 'colspan', 1);
759
+ return detail(cell, rowspan, colspan);
760
+ });
761
+ return rowdetail(row, cells$1, getSection(row));
762
+ }
763
+ });
764
+ const getParentSection = group => parent(group).map(parent => {
765
+ const parentName = name(parent);
766
+ return isValidSection(parentName) ? parentName : 'tbody';
767
+ }).getOr('tbody');
768
+ const fromTable$1 = table => {
769
+ const rows$1 = rows(table);
770
+ const columnGroups$1 = columnGroups(table);
771
+ const elems = [
772
+ ...columnGroups$1,
773
+ ...rows$1
774
+ ];
775
+ return fromRowsOrColGroups(elems, getParentSection);
776
+ };
777
+
778
+ const LOCKED_COL_ATTR = 'data-snooker-locked-cols';
779
+ const getLockedColumnsFromTable = table => getOpt(table, LOCKED_COL_ATTR).bind(lockedColStr => Optional.from(lockedColStr.match(/\d+/g))).map(lockedCols => mapToObject(lockedCols, always));
780
+
781
+ const key = (row, column) => {
782
+ return row + ',' + column;
783
+ };
784
+ const getAt = (warehouse, row, column) => Optional.from(warehouse.access[key(row, column)]);
785
+ const findItem = (warehouse, item, comparator) => {
786
+ const filtered = filterItems(warehouse, detail => {
787
+ return comparator(item, detail.element);
788
+ });
789
+ return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none();
790
+ };
791
+ const filterItems = (warehouse, predicate) => {
792
+ const all = bind(warehouse.all, r => {
793
+ return r.cells;
794
+ });
795
+ return filter(all, predicate);
796
+ };
797
+ const generateColumns = rowData => {
798
+ const columnsGroup = {};
799
+ let index = 0;
800
+ each(rowData.cells, column => {
801
+ const colspan = column.colspan;
802
+ range(colspan, columnIndex => {
803
+ const colIndex = index + columnIndex;
804
+ columnsGroup[colIndex] = columnext(column.element, colspan, colIndex);
805
+ });
806
+ index += colspan;
807
+ });
808
+ return columnsGroup;
809
+ };
810
+ const generate$1 = list => {
811
+ const access = {};
812
+ const cells = [];
813
+ const tableOpt = head(list).map(rowData => rowData.element).bind(table);
814
+ const lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({});
815
+ let maxRows = 0;
816
+ let maxColumns = 0;
817
+ let rowCount = 0;
818
+ const {
819
+ pass: colgroupRows,
820
+ fail: rows
821
+ } = partition(list, rowData => rowData.section === 'colgroup');
822
+ each(rows, rowData => {
823
+ const currentRow = [];
824
+ each(rowData.cells, rowCell => {
825
+ let start = 0;
826
+ while (access[key(rowCount, start)] !== undefined) {
827
+ start++;
828
+ }
829
+ const isLocked = hasNonNullableKey(lockedColumns, start.toString());
830
+ const current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked);
831
+ for (let occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) {
832
+ for (let occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) {
833
+ const rowPosition = rowCount + occupiedRowPosition;
834
+ const columnPosition = start + occupiedColumnPosition;
835
+ const newpos = key(rowPosition, columnPosition);
836
+ access[newpos] = current;
837
+ maxColumns = Math.max(maxColumns, columnPosition + 1);
838
+ }
839
+ }
840
+ currentRow.push(current);
841
+ });
842
+ maxRows++;
843
+ cells.push(rowdetail(rowData.element, currentRow, rowData.section));
844
+ rowCount++;
845
+ });
846
+ const {columns, colgroups} = last(colgroupRows).map(rowData => {
847
+ const columns = generateColumns(rowData);
848
+ const colgroup$1 = colgroup(rowData.element, values(columns));
849
+ return {
850
+ colgroups: [colgroup$1],
851
+ columns
852
+ };
853
+ }).getOrThunk(() => ({
854
+ colgroups: [],
855
+ columns: {}
856
+ }));
857
+ const grid$1 = grid(maxRows, maxColumns);
858
+ return {
859
+ grid: grid$1,
860
+ access,
861
+ all: cells,
862
+ columns,
863
+ colgroups
864
+ };
865
+ };
866
+ const fromTable = table => {
867
+ const list = fromTable$1(table);
868
+ return generate$1(list);
869
+ };
870
+ const justCells = warehouse => bind(warehouse.all, w => w.cells);
871
+ const justColumns = warehouse => values(warehouse.columns);
872
+ const hasColumns = warehouse => keys(warehouse.columns).length > 0;
873
+ const getColumnAt = (warehouse, columnIndex) => Optional.from(warehouse.columns[columnIndex]);
874
+ const Warehouse = {
875
+ fromTable,
876
+ generate: generate$1,
877
+ getAt,
878
+ findItem,
879
+ filterItems,
880
+ justCells,
881
+ justColumns,
882
+ hasColumns,
883
+ getColumnAt
884
+ };
885
+
886
+ var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
887
+
888
+ const getTDTHOverallStyle = (dom, elm, name) => {
889
+ const cells = dom.select('td,th', elm);
890
+ let firstChildStyle;
891
+ for (let i = 0; i < cells.length; i++) {
892
+ const currentStyle = dom.getStyle(cells[i], name);
893
+ if (isUndefined(firstChildStyle)) {
894
+ firstChildStyle = currentStyle;
895
+ }
896
+ if (firstChildStyle !== currentStyle) {
897
+ return '';
898
+ }
899
+ }
900
+ return firstChildStyle;
901
+ };
902
+ const setAlign = (editor, elm, name) => {
903
+ global$2.each('left center right'.split(' '), align => {
904
+ if (align !== name) {
905
+ editor.formatter.remove('align' + align, {}, elm);
906
+ }
907
+ });
908
+ if (name) {
909
+ editor.formatter.apply('align' + name, {}, elm);
910
+ }
911
+ };
912
+ const setVAlign = (editor, elm, name) => {
913
+ global$2.each('top middle bottom'.split(' '), align => {
914
+ if (align !== name) {
915
+ editor.formatter.remove('valign' + align, {}, elm);
916
+ }
917
+ });
918
+ if (name) {
919
+ editor.formatter.apply('valign' + name, {}, elm);
920
+ }
921
+ };
922
+
923
+ const fireTableModified = (editor, table, data) => {
924
+ editor.dispatch('TableModified', {
925
+ ...data,
926
+ table
927
+ });
928
+ };
929
+
930
+ const toNumber = (px, fallback) => toFloat(px).getOr(fallback);
931
+ const getProp = (element, name, fallback) => toNumber(get$1(element, name), fallback);
932
+ const calcContentBoxSize = (element, size, upper, lower) => {
933
+ const paddingUpper = getProp(element, `padding-${ upper }`, 0);
934
+ const paddingLower = getProp(element, `padding-${ lower }`, 0);
935
+ const borderUpper = getProp(element, `border-${ upper }-width`, 0);
936
+ const borderLower = getProp(element, `border-${ lower }-width`, 0);
937
+ return size - paddingUpper - paddingLower - borderUpper - borderLower;
938
+ };
939
+ const getCalculatedWidth = (element, boxSizing) => {
940
+ const dom = element.dom;
941
+ const width = dom.getBoundingClientRect().width || dom.offsetWidth;
942
+ return boxSizing === 'border-box' ? width : calcContentBoxSize(element, width, 'left', 'right');
943
+ };
944
+ const getInnerWidth = element => getCalculatedWidth(element, 'content-box');
945
+
946
+ const getInner = getInnerWidth;
947
+
948
+ var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
949
+
950
+ const defaultTableToolbar = 'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol';
951
+ const defaultCellBorderWidths = range(5, i => {
952
+ const size = `${ i + 1 }px`;
953
+ return {
954
+ title: size,
955
+ value: size
956
+ };
957
+ });
958
+ const defaultCellBorderStyles = map([
959
+ 'Solid',
960
+ 'Dotted',
961
+ 'Dashed',
962
+ 'Double',
963
+ 'Groove',
964
+ 'Ridge',
965
+ 'Inset',
966
+ 'Outset',
967
+ 'None',
968
+ 'Hidden'
969
+ ], type => {
970
+ return {
971
+ title: type,
972
+ value: type.toLowerCase()
973
+ };
974
+ });
975
+ const defaultWidth = '100%';
976
+ const getPixelForcedWidth = editor => {
977
+ var _a;
978
+ const dom = editor.dom;
979
+ const parentBlock = (_a = dom.getParent(editor.selection.getStart(), dom.isBlock)) !== null && _a !== void 0 ? _a : editor.getBody();
980
+ return getInner(SugarElement.fromDom(parentBlock)) + 'px';
981
+ };
982
+ const determineDefaultStyles = (editor, defaultStyles) => {
983
+ if (isResponsiveForced(editor) || !shouldStyleWithCss(editor)) {
984
+ return defaultStyles;
985
+ } else if (isPixelsForced(editor)) {
986
+ return {
987
+ ...defaultStyles,
988
+ width: getPixelForcedWidth(editor)
989
+ };
990
+ } else {
991
+ return {
992
+ ...defaultStyles,
993
+ width: defaultWidth
994
+ };
995
+ }
996
+ };
997
+ const determineDefaultAttributes = (editor, defaultAttributes) => {
998
+ if (isResponsiveForced(editor) || shouldStyleWithCss(editor)) {
999
+ return defaultAttributes;
1000
+ } else if (isPixelsForced(editor)) {
1001
+ return {
1002
+ ...defaultAttributes,
1003
+ width: getPixelForcedWidth(editor)
1004
+ };
1005
+ } else {
1006
+ return {
1007
+ ...defaultAttributes,
1008
+ width: defaultWidth
1009
+ };
1010
+ }
1011
+ };
1012
+ const option = name => editor => editor.options.get(name);
1013
+ const register = editor => {
1014
+ const registerOption = editor.options.register;
1015
+ registerOption('table_border_widths', {
1016
+ processor: 'object[]',
1017
+ default: defaultCellBorderWidths
1018
+ });
1019
+ registerOption('table_border_styles', {
1020
+ processor: 'object[]',
1021
+ default: defaultCellBorderStyles
1022
+ });
1023
+ registerOption('table_cell_advtab', {
1024
+ processor: 'boolean',
1025
+ default: true
1026
+ });
1027
+ registerOption('table_row_advtab', {
1028
+ processor: 'boolean',
1029
+ default: true
1030
+ });
1031
+ registerOption('table_advtab', {
1032
+ processor: 'boolean',
1033
+ default: true
1034
+ });
1035
+ registerOption('table_appearance_options', {
1036
+ processor: 'boolean',
1037
+ default: true
1038
+ });
1039
+ registerOption('table_grid', {
1040
+ processor: 'boolean',
1041
+ default: !global$1.deviceType.isTouch()
1042
+ });
1043
+ registerOption('table_cell_class_list', {
1044
+ processor: 'object[]',
1045
+ default: []
1046
+ });
1047
+ registerOption('table_row_class_list', {
1048
+ processor: 'object[]',
1049
+ default: []
1050
+ });
1051
+ registerOption('table_class_list', {
1052
+ processor: 'object[]',
1053
+ default: []
1054
+ });
1055
+ registerOption('table_toolbar', {
1056
+ processor: 'string',
1057
+ default: defaultTableToolbar
1058
+ });
1059
+ registerOption('table_background_color_map', {
1060
+ processor: 'object[]',
1061
+ default: []
1062
+ });
1063
+ registerOption('table_border_color_map', {
1064
+ processor: 'object[]',
1065
+ default: []
1066
+ });
1067
+ };
1068
+ const getTableSizingMode = option('table_sizing_mode');
1069
+ const getTableBorderWidths = option('table_border_widths');
1070
+ const getTableBorderStyles = option('table_border_styles');
1071
+ const hasAdvancedCellTab = option('table_cell_advtab');
1072
+ const hasAdvancedRowTab = option('table_row_advtab');
1073
+ const hasAdvancedTableTab = option('table_advtab');
1074
+ const hasAppearanceOptions = option('table_appearance_options');
1075
+ const hasTableGrid = option('table_grid');
1076
+ const shouldStyleWithCss = option('table_style_by_css');
1077
+ const getCellClassList = option('table_cell_class_list');
1078
+ const getRowClassList = option('table_row_class_list');
1079
+ const getTableClassList = option('table_class_list');
1080
+ const getToolbar = option('table_toolbar');
1081
+ const getTableBackgroundColorMap = option('table_background_color_map');
1082
+ const getTableBorderColorMap = option('table_border_color_map');
1083
+ const isPixelsForced = editor => getTableSizingMode(editor) === 'fixed';
1084
+ const isResponsiveForced = editor => getTableSizingMode(editor) === 'responsive';
1085
+ const getDefaultStyles = editor => {
1086
+ const options = editor.options;
1087
+ const defaultStyles = options.get('table_default_styles');
1088
+ return options.isSet('table_default_styles') ? defaultStyles : determineDefaultStyles(editor, defaultStyles);
1089
+ };
1090
+ const getDefaultAttributes = editor => {
1091
+ const options = editor.options;
1092
+ const defaultAttributes = options.get('table_default_attributes');
1093
+ return options.isSet('table_default_attributes') ? defaultAttributes : determineDefaultAttributes(editor, defaultAttributes);
1094
+ };
1095
+
1096
+ const isWithin = (bounds, detail) => {
1097
+ return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow;
1098
+ };
1099
+ const isRectangular = (warehouse, bounds) => {
1100
+ let isRect = true;
1101
+ const detailIsWithin = curry(isWithin, bounds);
1102
+ for (let i = bounds.startRow; i <= bounds.finishRow; i++) {
1103
+ for (let j = bounds.startCol; j <= bounds.finishCol; j++) {
1104
+ isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);
1105
+ }
1106
+ }
1107
+ return isRect ? Optional.some(bounds) : Optional.none();
1108
+ };
1109
+
1110
+ const getBounds = (detailA, detailB) => {
1111
+ return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1));
1112
+ };
1113
+ const getAnyBox = (warehouse, startCell, finishCell) => {
1114
+ const startCoords = Warehouse.findItem(warehouse, startCell, eq);
1115
+ const finishCoords = Warehouse.findItem(warehouse, finishCell, eq);
1116
+ return startCoords.bind(sc => {
1117
+ return finishCoords.map(fc => {
1118
+ return getBounds(sc, fc);
1119
+ });
1120
+ });
1121
+ };
1122
+ const getBox$1 = (warehouse, startCell, finishCell) => {
1123
+ return getAnyBox(warehouse, startCell, finishCell).bind(bounds => {
1124
+ return isRectangular(warehouse, bounds);
1125
+ });
1126
+ };
1127
+
1128
+ const getBox = (table, first, last) => {
1129
+ const warehouse = getWarehouse(table);
1130
+ return getBox$1(warehouse, first, last);
1131
+ };
1132
+ const getWarehouse = Warehouse.fromTable;
1133
+
1134
+ const before = (marker, element) => {
1135
+ const parent$1 = parent(marker);
1136
+ parent$1.each(v => {
1137
+ v.dom.insertBefore(element.dom, marker.dom);
1138
+ });
1139
+ };
1140
+ const after$1 = (marker, element) => {
1141
+ const sibling = nextSibling(marker);
1142
+ sibling.fold(() => {
1143
+ const parent$1 = parent(marker);
1144
+ parent$1.each(v => {
1145
+ append$1(v, element);
1146
+ });
1147
+ }, v => {
1148
+ before(v, element);
1149
+ });
1150
+ };
1151
+ const prepend = (parent, element) => {
1152
+ const firstChild$1 = firstChild(parent);
1153
+ firstChild$1.fold(() => {
1154
+ append$1(parent, element);
1155
+ }, v => {
1156
+ parent.dom.insertBefore(element.dom, v.dom);
1157
+ });
1158
+ };
1159
+ const append$1 = (parent, element) => {
1160
+ parent.dom.appendChild(element.dom);
1161
+ };
1162
+ const wrap = (element, wrapper) => {
1163
+ before(element, wrapper);
1164
+ append$1(wrapper, element);
1165
+ };
1166
+
1167
+ const after = (marker, elements) => {
1168
+ each(elements, (x, i) => {
1169
+ const e = i === 0 ? marker : elements[i - 1];
1170
+ after$1(e, x);
1171
+ });
1172
+ };
1173
+ const append = (parent, elements) => {
1174
+ each(elements, x => {
1175
+ append$1(parent, x);
1176
+ });
1177
+ };
1178
+
1179
+ const remove = element => {
1180
+ const dom = element.dom;
1181
+ if (dom.parentNode !== null) {
1182
+ dom.parentNode.removeChild(dom);
1183
+ }
1184
+ };
1185
+ const unwrap = wrapper => {
1186
+ const children = children$3(wrapper);
1187
+ if (children.length > 0) {
1188
+ after(wrapper, children);
1189
+ }
1190
+ remove(wrapper);
1191
+ };
1192
+
1193
+ const NodeValue = (is, name) => {
1194
+ const get = element => {
1195
+ if (!is(element)) {
1196
+ throw new Error('Can only get ' + name + ' value of a ' + name + ' node');
1197
+ }
1198
+ return getOption(element).getOr('');
1199
+ };
1200
+ const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();
1201
+ const set = (element, value) => {
1202
+ if (!is(element)) {
1203
+ throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');
1204
+ }
1205
+ element.dom.nodeValue = value;
1206
+ };
1207
+ return {
1208
+ get,
1209
+ getOption,
1210
+ set
1211
+ };
1212
+ };
1213
+
1214
+ const api = NodeValue(isText, 'text');
1215
+ const get = element => api.get(element);
1216
+ const set = (element, value) => api.set(element, value);
1217
+
1218
+ var TagBoundaries = [
1219
+ 'body',
1220
+ 'p',
1221
+ 'div',
1222
+ 'article',
1223
+ 'aside',
1224
+ 'figcaption',
1225
+ 'figure',
1226
+ 'footer',
1227
+ 'header',
1228
+ 'nav',
1229
+ 'section',
1230
+ 'ol',
1231
+ 'ul',
1232
+ 'li',
1233
+ 'table',
1234
+ 'thead',
1235
+ 'tbody',
1236
+ 'tfoot',
1237
+ 'caption',
1238
+ 'tr',
1239
+ 'td',
1240
+ 'th',
1241
+ 'h1',
1242
+ 'h2',
1243
+ 'h3',
1244
+ 'h4',
1245
+ 'h5',
1246
+ 'h6',
1247
+ 'blockquote',
1248
+ 'pre',
1249
+ 'address'
1250
+ ];
1251
+
1252
+ var DomUniverse = () => {
1253
+ const clone$1 = element => {
1254
+ return SugarElement.fromDom(element.dom.cloneNode(false));
1255
+ };
1256
+ const document = element => documentOrOwner(element).dom;
1257
+ const isBoundary = element => {
1258
+ if (!isElement(element)) {
1259
+ return false;
1260
+ }
1261
+ if (name(element) === 'body') {
1262
+ return true;
1263
+ }
1264
+ return contains(TagBoundaries, name(element));
1265
+ };
1266
+ const isEmptyTag = element => {
1267
+ if (!isElement(element)) {
1268
+ return false;
1269
+ }
1270
+ return contains([
1271
+ 'br',
1272
+ 'img',
1273
+ 'hr',
1274
+ 'input'
1275
+ ], name(element));
1276
+ };
1277
+ const isNonEditable = element => isElement(element) && get$2(element, 'contenteditable') === 'false';
1278
+ const comparePosition = (element, other) => {
1279
+ return element.dom.compareDocumentPosition(other.dom);
1280
+ };
1281
+ const copyAttributesTo = (source, destination) => {
1282
+ const as = clone(source);
1283
+ setAll(destination, as);
1284
+ };
1285
+ const isSpecial = element => {
1286
+ const tag = name(element);
1287
+ return contains([
1288
+ 'script',
1289
+ 'noscript',
1290
+ 'iframe',
1291
+ 'noframes',
1292
+ 'noembed',
1293
+ 'title',
1294
+ 'style',
1295
+ 'textarea',
1296
+ 'xmp'
1297
+ ], tag);
1298
+ };
1299
+ const getLanguage = element => isElement(element) ? getOpt(element, 'lang') : Optional.none();
1300
+ return {
1301
+ up: constant({
1302
+ selector: ancestor,
1303
+ closest: closest$1,
1304
+ predicate: ancestor$1,
1305
+ all: parents
1306
+ }),
1307
+ down: constant({
1308
+ selector: descendants,
1309
+ predicate: descendants$1
1310
+ }),
1311
+ styles: constant({
1312
+ get: get$1,
1313
+ getRaw: getRaw,
1314
+ set: set$1,
1315
+ remove: remove$1
1316
+ }),
1317
+ attrs: constant({
1318
+ get: get$2,
1319
+ set: set$2,
1320
+ remove: remove$2,
1321
+ copyTo: copyAttributesTo
1322
+ }),
1323
+ insert: constant({
1324
+ before: before,
1325
+ after: after$1,
1326
+ afterAll: after,
1327
+ append: append$1,
1328
+ appendAll: append,
1329
+ prepend: prepend,
1330
+ wrap: wrap
1331
+ }),
1332
+ remove: constant({
1333
+ unwrap: unwrap,
1334
+ remove: remove
1335
+ }),
1336
+ create: constant({
1337
+ nu: SugarElement.fromTag,
1338
+ clone: clone$1,
1339
+ text: SugarElement.fromText
1340
+ }),
1341
+ query: constant({
1342
+ comparePosition,
1343
+ prevSibling: prevSibling,
1344
+ nextSibling: nextSibling
1345
+ }),
1346
+ property: constant({
1347
+ children: children$3,
1348
+ name: name,
1349
+ parent: parent,
1350
+ document,
1351
+ isText: isText,
1352
+ isComment: isComment,
1353
+ isElement: isElement,
1354
+ isSpecial,
1355
+ getLanguage,
1356
+ getText: get,
1357
+ setText: set,
1358
+ isBoundary,
1359
+ isEmptyTag,
1360
+ isNonEditable
1361
+ }),
1362
+ eq: eq,
1363
+ is: is$1
1364
+ };
1365
+ };
1366
+
1367
+ const all = (universe, look, elements, f) => {
1368
+ const head = elements[0];
1369
+ const tail = elements.slice(1);
1370
+ return f(universe, look, head, tail);
1371
+ };
1372
+ const oneAll = (universe, look, elements) => {
1373
+ return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none();
1374
+ };
1375
+ const unsafeOne = (universe, look, head, tail) => {
1376
+ const start = look(universe, head);
1377
+ return foldr(tail, (b, a) => {
1378
+ const current = look(universe, a);
1379
+ return commonElement(universe, b, current);
1380
+ }, start);
1381
+ };
1382
+ const commonElement = (universe, start, end) => {
1383
+ return start.bind(s => {
1384
+ return end.filter(curry(universe.eq, s));
1385
+ });
1386
+ };
1387
+
1388
+ const sharedOne$1 = oneAll;
1389
+
1390
+ const universe = DomUniverse();
1391
+ const sharedOne = (look, elements) => {
1392
+ return sharedOne$1(universe, (_universe, element) => {
1393
+ return look(element);
1394
+ }, elements);
1395
+ };
1396
+
1397
+ const lookupTable = container => {
1398
+ return ancestor(container, 'table');
1399
+ };
1400
+ const retrieve$1 = (container, selector) => {
1401
+ const sels = descendants(container, selector);
1402
+ return sels.length > 0 ? Optional.some(sels) : Optional.none();
1403
+ };
1404
+ const getEdges = (container, firstSelectedSelector, lastSelectedSelector) => {
1405
+ return descendant(container, firstSelectedSelector).bind(first => {
1406
+ return descendant(container, lastSelectedSelector).bind(last => {
1407
+ return sharedOne(lookupTable, [
1408
+ first,
1409
+ last
1410
+ ]).map(table => {
1411
+ return {
1412
+ first,
1413
+ last,
1414
+ table
1415
+ };
1416
+ });
1417
+ });
1418
+ });
1419
+ };
1420
+
1421
+ const retrieve = (container, selector) => {
1422
+ return retrieve$1(container, selector);
1423
+ };
1424
+ const retrieveBox = (container, firstSelectedSelector, lastSelectedSelector) => {
1425
+ return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(edges => {
1426
+ const isRoot = ancestor => {
1427
+ return eq(container, ancestor);
1428
+ };
1429
+ const sectionSelector = 'thead,tfoot,tbody,table';
1430
+ const firstAncestor = ancestor(edges.first, sectionSelector, isRoot);
1431
+ const lastAncestor = ancestor(edges.last, sectionSelector, isRoot);
1432
+ return firstAncestor.bind(fA => {
1433
+ return lastAncestor.bind(lA => {
1434
+ return eq(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none();
1435
+ });
1436
+ });
1437
+ });
1438
+ };
1439
+
1440
+ const fromDom = nodes => map(nodes, SugarElement.fromDom);
1441
+
1442
+ const strSelected = 'data-mce-selected';
1443
+ const strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']';
1444
+ const strFirstSelected = 'data-mce-first-selected';
1445
+ const strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']';
1446
+ const strLastSelected = 'data-mce-last-selected';
1447
+ const strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']';
1448
+ const ephemera = {
1449
+ selected: strSelected,
1450
+ selectedSelector: strSelectedSelector,
1451
+ firstSelected: strFirstSelected,
1452
+ firstSelectedSelector: strFirstSelectedSelector,
1453
+ lastSelected: strLastSelected,
1454
+ lastSelectedSelector: strLastSelectedSelector
1455
+ };
1456
+
1457
+ const getSelectionCellFallback = element => table(element).bind(table => retrieve(table, ephemera.firstSelectedSelector)).fold(constant(element), cells => cells[0]);
1458
+ const getSelectionFromSelector = selector => (initCell, isRoot) => {
1459
+ const cellName = name(initCell);
1460
+ const cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell;
1461
+ return closest$1(cell, selector, isRoot);
1462
+ };
1463
+ const getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption');
1464
+ const getSelectionCell = getSelectionFromSelector('th,td');
1465
+ const getCellsFromSelection = editor => fromDom(editor.model.table.getSelectedCells());
1466
+ const getRowsFromSelection = (selected, selector) => {
1467
+ const cellOpt = getSelectionCell(selected);
1468
+ const rowsOpt = cellOpt.bind(cell => table(cell)).map(table => rows(table));
1469
+ return lift2(cellOpt, rowsOpt, (cell, rows) => filter(rows, row => exists(fromDom(row.dom.cells), rowCell => get$2(rowCell, selector) === '1' || eq(rowCell, cell)))).getOr([]);
1470
+ };
1471
+
1472
+ const verticalAlignValues = [
1473
+ {
1474
+ text: 'None',
1475
+ value: ''
1476
+ },
1477
+ {
1478
+ text: 'Top',
1479
+ value: 'top'
1480
+ },
1481
+ {
1482
+ text: 'Middle',
1483
+ value: 'middle'
1484
+ },
1485
+ {
1486
+ text: 'Bottom',
1487
+ value: 'bottom'
1488
+ }
1489
+ ];
1490
+
1491
+ const hexColour = value => ({ value: normalizeHex(value) });
1492
+ const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
1493
+ const longformRegex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;
1494
+ const isHexString = hex => shorthandRegex.test(hex) || longformRegex.test(hex);
1495
+ const normalizeHex = hex => removeLeading(hex, '#').toUpperCase();
1496
+ const fromString$1 = hex => isHexString(hex) ? Optional.some({ value: normalizeHex(hex) }) : Optional.none();
1497
+ const toHex = component => {
1498
+ const hex = component.toString(16);
1499
+ return (hex.length === 1 ? '0' + hex : hex).toUpperCase();
1500
+ };
1501
+ const fromRgba = rgbaColour => {
1502
+ const value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue);
1503
+ return hexColour(value);
1504
+ };
1505
+
1506
+ const rgbRegex = /^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)\s*$/i;
1507
+ const rgbaRegex = /^\s*rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?(?:\.\d+)?)\s*\)\s*$/i;
1508
+ const rgbaColour = (red, green, blue, alpha) => ({
1509
+ red,
1510
+ green,
1511
+ blue,
1512
+ alpha
1513
+ });
1514
+ const fromStringValues = (red, green, blue, alpha) => {
1515
+ const r = parseInt(red, 10);
1516
+ const g = parseInt(green, 10);
1517
+ const b = parseInt(blue, 10);
1518
+ const a = parseFloat(alpha);
1519
+ return rgbaColour(r, g, b, a);
1520
+ };
1521
+ const fromString = rgbaString => {
1522
+ if (rgbaString === 'transparent') {
1523
+ return Optional.some(rgbaColour(0, 0, 0, 0));
1524
+ }
1525
+ const rgbMatch = rgbRegex.exec(rgbaString);
1526
+ if (rgbMatch !== null) {
1527
+ return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1'));
1528
+ }
1529
+ const rgbaMatch = rgbaRegex.exec(rgbaString);
1530
+ if (rgbaMatch !== null) {
1531
+ return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4]));
1532
+ }
1533
+ return Optional.none();
1534
+ };
1535
+
1536
+ const anyToHex = color => fromString$1(color).orThunk(() => fromString(color).map(fromRgba)).getOrThunk(() => {
1537
+ const canvas = document.createElement('canvas');
1538
+ canvas.height = 1;
1539
+ canvas.width = 1;
1540
+ const canvasContext = canvas.getContext('2d');
1541
+ canvasContext.clearRect(0, 0, canvas.width, canvas.height);
1542
+ canvasContext.fillStyle = '#FFFFFF';
1543
+ canvasContext.fillStyle = color;
1544
+ canvasContext.fillRect(0, 0, 1, 1);
1545
+ const rgba = canvasContext.getImageData(0, 0, 1, 1).data;
1546
+ const r = rgba[0];
1547
+ const g = rgba[1];
1548
+ const b = rgba[2];
1549
+ const a = rgba[3];
1550
+ return fromRgba(rgbaColour(r, g, b, a));
1551
+ });
1552
+ const rgbaToHexString = color => fromString(color).map(fromRgba).map(h => '#' + h.value).getOr(color);
1553
+
1554
+ const Cell = initial => {
1555
+ let value = initial;
1556
+ const get = () => {
1557
+ return value;
1558
+ };
1559
+ const set = v => {
1560
+ value = v;
1561
+ };
1562
+ return {
1563
+ get,
1564
+ set
1565
+ };
1566
+ };
1567
+
1568
+ const singleton = doRevoke => {
1569
+ const subject = Cell(Optional.none());
1570
+ const revoke = () => subject.get().each(doRevoke);
1571
+ const clear = () => {
1572
+ revoke();
1573
+ subject.set(Optional.none());
1574
+ };
1575
+ const isSet = () => subject.get().isSome();
1576
+ const get = () => subject.get();
1577
+ const set = s => {
1578
+ revoke();
1579
+ subject.set(Optional.some(s));
1580
+ };
1581
+ return {
1582
+ clear,
1583
+ isSet,
1584
+ get,
1585
+ set
1586
+ };
1587
+ };
1588
+ const unbindable = () => singleton(s => s.unbind());
1589
+
1590
+ const onSetupToggle = (editor, formatName, formatValue) => {
1591
+ return api => {
1592
+ const boundCallback = unbindable();
1593
+ const isNone = isEmpty(formatValue);
1594
+ const init = () => {
1595
+ const selectedCells = getCellsFromSelection(editor);
1596
+ const checkNode = cell => editor.formatter.match(formatName, { value: formatValue }, cell.dom, isNone);
1597
+ if (isNone) {
1598
+ api.setActive(!exists(selectedCells, checkNode));
1599
+ boundCallback.set(editor.formatter.formatChanged(formatName, match => api.setActive(!match), true));
1600
+ } else {
1601
+ api.setActive(forall(selectedCells, checkNode));
1602
+ boundCallback.set(editor.formatter.formatChanged(formatName, api.setActive, false, { value: formatValue }));
1603
+ }
1604
+ };
1605
+ editor.initialized ? init() : editor.on('init', init);
1606
+ return boundCallback.clear;
1607
+ };
1608
+ };
1609
+ const isListGroup = item => hasNonNullableKey(item, 'menu');
1610
+ const buildListItems = items => map(items, item => {
1611
+ const text = item.text || item.title || '';
1612
+ if (isListGroup(item)) {
1613
+ return {
1614
+ text,
1615
+ items: buildListItems(item.menu)
1616
+ };
1617
+ } else {
1618
+ return {
1619
+ text,
1620
+ value: item.value
1621
+ };
1622
+ }
1623
+ });
1624
+ const buildClassList = classList => {
1625
+ if (!classList.length) {
1626
+ return Optional.none();
1627
+ }
1628
+ return Optional.some(buildListItems([
1629
+ {
1630
+ text: 'Select...',
1631
+ value: 'mce-no-match'
1632
+ },
1633
+ ...classList
1634
+ ]));
1635
+ };
1636
+ const buildMenuItems = (editor, items, format, onAction) => map(items, item => {
1637
+ const text = item.text || item.title;
1638
+ if (isListGroup(item)) {
1639
+ return {
1640
+ type: 'nestedmenuitem',
1641
+ text,
1642
+ getSubmenuItems: () => buildMenuItems(editor, item.menu, format, onAction)
1643
+ };
1644
+ } else {
1645
+ return {
1646
+ text,
1647
+ type: 'togglemenuitem',
1648
+ onAction: () => onAction(item.value),
1649
+ onSetup: onSetupToggle(editor, format, item.value)
1650
+ };
1651
+ }
1652
+ });
1653
+ const applyTableCellStyle = (editor, style) => value => {
1654
+ editor.execCommand('mceTableApplyCellStyle', false, { [style]: value });
1655
+ };
1656
+ const filterNoneItem = list => bind(list, item => {
1657
+ if (isListGroup(item)) {
1658
+ return [{
1659
+ ...item,
1660
+ menu: filterNoneItem(item.menu)
1661
+ }];
1662
+ } else {
1663
+ return isNotEmpty(item.value) ? [item] : [];
1664
+ }
1665
+ });
1666
+ const generateMenuItemsCallback = (editor, items, format, onAction) => callback => callback(buildMenuItems(editor, items, format, onAction));
1667
+ const buildColorMenu = (editor, colorList, style) => {
1668
+ const colorMap = map(colorList, entry => ({
1669
+ text: entry.title,
1670
+ value: '#' + anyToHex(entry.value).value,
1671
+ type: 'choiceitem'
1672
+ }));
1673
+ return [{
1674
+ type: 'fancymenuitem',
1675
+ fancytype: 'colorswatch',
1676
+ initData: {
1677
+ colors: colorMap.length > 0 ? colorMap : undefined,
1678
+ allowCustomColors: false
1679
+ },
1680
+ onAction: data => {
1681
+ const value = data.value === 'remove' ? '' : data.value;
1682
+ editor.execCommand('mceTableApplyCellStyle', false, { [style]: value });
1683
+ }
1684
+ }];
1685
+ };
1686
+ const changeRowHeader = editor => () => {
1687
+ const currentType = editor.queryCommandValue('mceTableRowType');
1688
+ const newType = currentType === 'header' ? 'body' : 'header';
1689
+ editor.execCommand('mceTableRowType', false, { type: newType });
1690
+ };
1691
+ const changeColumnHeader = editor => () => {
1692
+ const currentType = editor.queryCommandValue('mceTableColType');
1693
+ const newType = currentType === 'th' ? 'td' : 'th';
1694
+ editor.execCommand('mceTableColType', false, { type: newType });
1695
+ };
1696
+
1697
+ const getClassList$1 = editor => buildClassList(getCellClassList(editor)).map(items => ({
1698
+ name: 'class',
1699
+ type: 'listbox',
1700
+ label: 'Class',
1701
+ items
1702
+ }));
1703
+ const children = [
1704
+ {
1705
+ name: 'width',
1706
+ type: 'input',
1707
+ label: 'Width'
1708
+ },
1709
+ {
1710
+ name: 'celltype',
1711
+ type: 'listbox',
1712
+ label: 'Cell type',
1713
+ items: [
1714
+ {
1715
+ text: 'Cell',
1716
+ value: 'td'
1717
+ },
1718
+ {
1719
+ text: 'Header cell',
1720
+ value: 'th'
1721
+ }
1722
+ ]
1723
+ },
1724
+ {
1725
+ name: 'scope',
1726
+ type: 'listbox',
1727
+ label: 'Scope',
1728
+ items: [
1729
+ {
1730
+ text: 'None',
1731
+ value: ''
1732
+ },
1733
+ {
1734
+ text: 'Row',
1735
+ value: 'row'
1736
+ },
1737
+ {
1738
+ text: 'Column',
1739
+ value: 'col'
1740
+ },
1741
+ {
1742
+ text: 'Row group',
1743
+ value: 'rowgroup'
1744
+ },
1745
+ {
1746
+ text: 'Column group',
1747
+ value: 'colgroup'
1748
+ }
1749
+ ]
1750
+ },
1751
+ {
1752
+ name: 'halign',
1753
+ type: 'listbox',
1754
+ label: 'Horizontal align',
1755
+ items: [
1756
+ {
1757
+ text: 'None',
1758
+ value: ''
1759
+ },
1760
+ {
1761
+ text: 'Left',
1762
+ value: 'left'
1763
+ },
1764
+ {
1765
+ text: 'Center',
1766
+ value: 'center'
1767
+ },
1768
+ {
1769
+ text: 'Right',
1770
+ value: 'right'
1771
+ }
1772
+ ]
1773
+ },
1774
+ {
1775
+ name: 'valign',
1776
+ type: 'listbox',
1777
+ label: 'Vertical align',
1778
+ items: verticalAlignValues
1779
+ }
1780
+ ];
1781
+ const getItems$2 = editor => children.concat(getClassList$1(editor).toArray());
1782
+
1783
+ const getAdvancedTab = (editor, dialogName) => {
1784
+ const emptyBorderStyle = [{
1785
+ text: 'Select...',
1786
+ value: ''
1787
+ }];
1788
+ const advTabItems = [
1789
+ {
1790
+ name: 'borderstyle',
1791
+ type: 'listbox',
1792
+ label: 'Border style',
1793
+ items: emptyBorderStyle.concat(buildListItems(getTableBorderStyles(editor)))
1794
+ },
1795
+ {
1796
+ name: 'bordercolor',
1797
+ type: 'colorinput',
1798
+ label: 'Border color'
1799
+ },
1800
+ {
1801
+ name: 'backgroundcolor',
1802
+ type: 'colorinput',
1803
+ label: 'Background color'
1804
+ }
1805
+ ];
1806
+ const borderWidth = {
1807
+ name: 'borderwidth',
1808
+ type: 'input',
1809
+ label: 'Border width'
1810
+ };
1811
+ const items = dialogName === 'cell' ? [borderWidth].concat(advTabItems) : advTabItems;
1812
+ return {
1813
+ title: 'Advanced',
1814
+ name: 'advanced',
1815
+ items
1816
+ };
1817
+ };
1818
+
1819
+ const normal = (editor, element) => {
1820
+ const dom = editor.dom;
1821
+ const setAttrib = (attr, value) => {
1822
+ dom.setAttrib(element, attr, value);
1823
+ };
1824
+ const setStyle = (prop, value) => {
1825
+ dom.setStyle(element, prop, value);
1826
+ };
1827
+ const setFormat = (formatName, value) => {
1828
+ if (value === '') {
1829
+ editor.formatter.remove(formatName, { value: null }, element, true);
1830
+ } else {
1831
+ editor.formatter.apply(formatName, { value }, element);
1832
+ }
1833
+ };
1834
+ return {
1835
+ setAttrib,
1836
+ setStyle,
1837
+ setFormat
1838
+ };
1839
+ };
1840
+ const DomModifier = { normal };
1841
+
1842
+ const isHeaderCell = isTag('th');
1843
+ const getRowHeaderType = (isHeaderRow, isHeaderCells) => {
1844
+ if (isHeaderRow && isHeaderCells) {
1845
+ return 'sectionCells';
1846
+ } else if (isHeaderRow) {
1847
+ return 'section';
1848
+ } else {
1849
+ return 'cells';
1850
+ }
1851
+ };
1852
+ const getRowType$1 = row => {
1853
+ const isHeaderRow = row.section === 'thead';
1854
+ const isHeaderCells = is(findCommonCellType(row.cells), 'th');
1855
+ if (row.section === 'tfoot') {
1856
+ return { type: 'footer' };
1857
+ } else if (isHeaderRow || isHeaderCells) {
1858
+ return {
1859
+ type: 'header',
1860
+ subType: getRowHeaderType(isHeaderRow, isHeaderCells)
1861
+ };
1862
+ } else {
1863
+ return { type: 'body' };
1864
+ }
1865
+ };
1866
+ const findCommonCellType = cells => {
1867
+ const headerCells = filter(cells, cell => isHeaderCell(cell.element));
1868
+ if (headerCells.length === 0) {
1869
+ return Optional.some('td');
1870
+ } else if (headerCells.length === cells.length) {
1871
+ return Optional.some('th');
1872
+ } else {
1873
+ return Optional.none();
1874
+ }
1875
+ };
1876
+ const findCommonRowType = rows => {
1877
+ const rowTypes = map(rows, row => getRowType$1(row).type);
1878
+ const hasHeader = contains(rowTypes, 'header');
1879
+ const hasFooter = contains(rowTypes, 'footer');
1880
+ if (!hasHeader && !hasFooter) {
1881
+ return Optional.some('body');
1882
+ } else {
1883
+ const hasBody = contains(rowTypes, 'body');
1884
+ if (hasHeader && !hasBody && !hasFooter) {
1885
+ return Optional.some('header');
1886
+ } else if (!hasHeader && !hasBody && hasFooter) {
1887
+ return Optional.some('footer');
1888
+ } else {
1889
+ return Optional.none();
1890
+ }
1891
+ }
1892
+ };
1893
+
1894
+ const cached = f => {
1895
+ let called = false;
1896
+ let r;
1897
+ return (...args) => {
1898
+ if (!called) {
1899
+ called = true;
1900
+ r = f.apply(null, args);
1901
+ }
1902
+ return r;
1903
+ };
1904
+ };
1905
+
1906
+ const findInWarehouse = (warehouse, element) => findMap(warehouse.all, r => find(r.cells, e => eq(element, e.element)));
1907
+ const extractCells = (warehouse, target, predicate) => {
1908
+ const details = map(target.selection, cell$1 => {
1909
+ return cell(cell$1).bind(lc => findInWarehouse(warehouse, lc)).filter(predicate);
1910
+ });
1911
+ const cells = cat(details);
1912
+ return someIf(cells.length > 0, cells);
1913
+ };
1914
+ const onMergable = (_warehouse, target) => target.mergable;
1915
+ const onUnmergable = (_warehouse, target) => target.unmergable;
1916
+ const onCells = (warehouse, target) => extractCells(warehouse, target, always);
1917
+ const isUnlockedTableCell = (warehouse, cell) => findInWarehouse(warehouse, cell).exists(detail => !detail.isLocked);
1918
+ const allUnlocked = (warehouse, cells) => forall(cells, cell => isUnlockedTableCell(warehouse, cell));
1919
+ const onUnlockedMergable = (warehouse, target) => onMergable(warehouse, target).filter(mergeable => allUnlocked(warehouse, mergeable.cells));
1920
+ const onUnlockedUnmergable = (warehouse, target) => onUnmergable(warehouse, target).filter(cells => allUnlocked(warehouse, cells));
1921
+
1922
+ const generate = cases => {
1923
+ if (!isArray(cases)) {
1924
+ throw new Error('cases must be an array');
1925
+ }
1926
+ if (cases.length === 0) {
1927
+ throw new Error('there must be at least one case');
1928
+ }
1929
+ const constructors = [];
1930
+ const adt = {};
1931
+ each(cases, (acase, count) => {
1932
+ const keys$1 = keys(acase);
1933
+ if (keys$1.length !== 1) {
1934
+ throw new Error('one and only one name per case');
1935
+ }
1936
+ const key = keys$1[0];
1937
+ const value = acase[key];
1938
+ if (adt[key] !== undefined) {
1939
+ throw new Error('duplicate key detected:' + key);
1940
+ } else if (key === 'cata') {
1941
+ throw new Error('cannot have a case named cata (sorry)');
1942
+ } else if (!isArray(value)) {
1943
+ throw new Error('case arguments must be an array');
1944
+ }
1945
+ constructors.push(key);
1946
+ adt[key] = (...args) => {
1947
+ const argLength = args.length;
1948
+ if (argLength !== value.length) {
1949
+ throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);
1950
+ }
1951
+ const match = branches => {
1952
+ const branchKeys = keys(branches);
1953
+ if (constructors.length !== branchKeys.length) {
1954
+ throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\nActual: ' + branchKeys.join(','));
1955
+ }
1956
+ const allReqd = forall(constructors, reqKey => {
1957
+ return contains(branchKeys, reqKey);
1958
+ });
1959
+ if (!allReqd) {
1960
+ throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', '));
1961
+ }
1962
+ return branches[key].apply(null, args);
1963
+ };
1964
+ return {
1965
+ fold: (...foldArgs) => {
1966
+ if (foldArgs.length !== cases.length) {
1967
+ throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length);
1968
+ }
1969
+ const target = foldArgs[count];
1970
+ return target.apply(null, args);
1971
+ },
1972
+ match,
1973
+ log: label => {
1974
+ console.log(label, {
1975
+ constructors,
1976
+ constructor: key,
1977
+ params: args
1978
+ });
1979
+ }
1980
+ };
1981
+ };
1982
+ });
1983
+ return adt;
1984
+ };
1985
+ const Adt = { generate };
1986
+
1987
+ const adt = Adt.generate([
1988
+ { none: [] },
1989
+ { only: ['index'] },
1990
+ {
1991
+ left: [
1992
+ 'index',
1993
+ 'next'
1994
+ ]
1995
+ },
1996
+ {
1997
+ middle: [
1998
+ 'prev',
1999
+ 'index',
2000
+ 'next'
2001
+ ]
2002
+ },
2003
+ {
2004
+ right: [
2005
+ 'prev',
2006
+ 'index'
2007
+ ]
2008
+ }
2009
+ ]);
2010
+ ({ ...adt });
2011
+
2012
+ const opGetRowsType = (table, target) => {
2013
+ const house = Warehouse.fromTable(table);
2014
+ const details = onCells(house, target);
2015
+ return details.bind(selectedCells => {
2016
+ const lastSelectedCell = selectedCells[selectedCells.length - 1];
2017
+ const minRowRange = selectedCells[0].row;
2018
+ const maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan;
2019
+ const selectedRows = house.all.slice(minRowRange, maxRowRange);
2020
+ return findCommonRowType(selectedRows);
2021
+ }).getOr('');
2022
+ };
2023
+ const getRowsType = opGetRowsType;
2024
+
2025
+ const rgbToHex = value => startsWith(value, 'rgb') ? rgbaToHexString(value) : value;
2026
+ const extractAdvancedStyles = elm => {
2027
+ const element = SugarElement.fromDom(elm);
2028
+ return {
2029
+ borderwidth: getRaw(element, 'border-width').getOr(''),
2030
+ borderstyle: getRaw(element, 'border-style').getOr(''),
2031
+ bordercolor: getRaw(element, 'border-color').map(rgbToHex).getOr(''),
2032
+ backgroundcolor: getRaw(element, 'background-color').map(rgbToHex).getOr('')
2033
+ };
2034
+ };
2035
+ const getSharedValues = data => {
2036
+ const baseData = data[0];
2037
+ const comparisonData = data.slice(1);
2038
+ each(comparisonData, items => {
2039
+ each(keys(baseData), key => {
2040
+ each$1(items, (itemValue, itemKey) => {
2041
+ const comparisonValue = baseData[key];
2042
+ if (comparisonValue !== '' && key === itemKey) {
2043
+ if (comparisonValue !== itemValue) {
2044
+ baseData[key] = key === 'class' ? 'mce-no-match' : '';
2045
+ }
2046
+ }
2047
+ });
2048
+ });
2049
+ });
2050
+ return baseData;
2051
+ };
2052
+ const getAlignment = (formats, formatName, editor, elm) => find(formats, name => !isUndefined(editor.formatter.matchNode(elm, formatName + name))).getOr('');
2053
+ const getHAlignment = curry(getAlignment, [
2054
+ 'left',
2055
+ 'center',
2056
+ 'right'
2057
+ ], 'align');
2058
+ const getVAlignment = curry(getAlignment, [
2059
+ 'top',
2060
+ 'middle',
2061
+ 'bottom'
2062
+ ], 'valign');
2063
+ const extractDataFromSettings = (editor, hasAdvTableTab) => {
2064
+ const style = getDefaultStyles(editor);
2065
+ const attrs = getDefaultAttributes(editor);
2066
+ const extractAdvancedStyleData = () => ({
2067
+ borderstyle: get$4(style, 'border-style').getOr(''),
2068
+ bordercolor: rgbToHex(get$4(style, 'border-color').getOr('')),
2069
+ backgroundcolor: rgbToHex(get$4(style, 'background-color').getOr(''))
2070
+ });
2071
+ const defaultData = {
2072
+ height: '',
2073
+ width: '100%',
2074
+ cellspacing: '',
2075
+ cellpadding: '',
2076
+ caption: false,
2077
+ class: '',
2078
+ align: '',
2079
+ border: ''
2080
+ };
2081
+ const getBorder = () => {
2082
+ const borderWidth = style['border-width'];
2083
+ if (shouldStyleWithCss(editor) && borderWidth) {
2084
+ return { border: borderWidth };
2085
+ }
2086
+ return get$4(attrs, 'border').fold(() => ({}), border => ({ border }));
2087
+ };
2088
+ const advStyle = hasAdvTableTab ? extractAdvancedStyleData() : {};
2089
+ const getCellPaddingCellSpacing = () => {
2090
+ const spacing = get$4(style, 'border-spacing').or(get$4(attrs, 'cellspacing')).fold(() => ({}), cellspacing => ({ cellspacing }));
2091
+ const padding = get$4(style, 'border-padding').or(get$4(attrs, 'cellpadding')).fold(() => ({}), cellpadding => ({ cellpadding }));
2092
+ return {
2093
+ ...spacing,
2094
+ ...padding
2095
+ };
2096
+ };
2097
+ const data = {
2098
+ ...defaultData,
2099
+ ...style,
2100
+ ...attrs,
2101
+ ...advStyle,
2102
+ ...getBorder(),
2103
+ ...getCellPaddingCellSpacing()
2104
+ };
2105
+ return data;
2106
+ };
2107
+ const getRowType = elm => table(SugarElement.fromDom(elm)).map(table => {
2108
+ const target = { selection: fromDom(elm.cells) };
2109
+ return getRowsType(table, target);
2110
+ }).getOr('');
2111
+ const extractDataFromTableElement = (editor, elm, hasAdvTableTab) => {
2112
+ const getBorder = (dom, elm) => {
2113
+ const optBorderWidth = getRaw(SugarElement.fromDom(elm), 'border-width');
2114
+ if (shouldStyleWithCss(editor) && optBorderWidth.isSome()) {
2115
+ return optBorderWidth.getOr('');
2116
+ }
2117
+ return dom.getAttrib(elm, 'border') || getTDTHOverallStyle(editor.dom, elm, 'border-width') || getTDTHOverallStyle(editor.dom, elm, 'border') || '';
2118
+ };
2119
+ const dom = editor.dom;
2120
+ const cellspacing = shouldStyleWithCss(editor) ? dom.getStyle(elm, 'border-spacing') || dom.getAttrib(elm, 'cellspacing') : dom.getAttrib(elm, 'cellspacing') || dom.getStyle(elm, 'border-spacing');
2121
+ const cellpadding = shouldStyleWithCss(editor) ? getTDTHOverallStyle(dom, elm, 'padding') || dom.getAttrib(elm, 'cellpadding') : dom.getAttrib(elm, 'cellpadding') || getTDTHOverallStyle(dom, elm, 'padding');
2122
+ return {
2123
+ width: dom.getStyle(elm, 'width') || dom.getAttrib(elm, 'width'),
2124
+ height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),
2125
+ cellspacing: cellspacing !== null && cellspacing !== void 0 ? cellspacing : '',
2126
+ cellpadding: cellpadding !== null && cellpadding !== void 0 ? cellpadding : '',
2127
+ border: getBorder(dom, elm),
2128
+ caption: !!dom.select('caption', elm)[0],
2129
+ class: dom.getAttrib(elm, 'class', ''),
2130
+ align: getHAlignment(editor, elm),
2131
+ ...hasAdvTableTab ? extractAdvancedStyles(elm) : {}
2132
+ };
2133
+ };
2134
+ const extractDataFromRowElement = (editor, elm, hasAdvancedRowTab) => {
2135
+ const dom = editor.dom;
2136
+ return {
2137
+ height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'),
2138
+ class: dom.getAttrib(elm, 'class', ''),
2139
+ type: getRowType(elm),
2140
+ align: getHAlignment(editor, elm),
2141
+ ...hasAdvancedRowTab ? extractAdvancedStyles(elm) : {}
2142
+ };
2143
+ };
2144
+ const extractDataFromCellElement = (editor, cell, hasAdvancedCellTab, column) => {
2145
+ const dom = editor.dom;
2146
+ const colElm = column.getOr(cell);
2147
+ const getStyle = (element, style) => dom.getStyle(element, style) || dom.getAttrib(element, style);
2148
+ return {
2149
+ width: getStyle(colElm, 'width'),
2150
+ scope: dom.getAttrib(cell, 'scope'),
2151
+ celltype: getNodeName(cell),
2152
+ class: dom.getAttrib(cell, 'class', ''),
2153
+ halign: getHAlignment(editor, cell),
2154
+ valign: getVAlignment(editor, cell),
2155
+ ...hasAdvancedCellTab ? extractAdvancedStyles(cell) : {}
2156
+ };
2157
+ };
2158
+
2159
+ const getSelectedCells = (table, cells) => {
2160
+ const warehouse = Warehouse.fromTable(table);
2161
+ const allCells = Warehouse.justCells(warehouse);
2162
+ const filtered = filter(allCells, cellA => exists(cells, cellB => eq(cellA.element, cellB)));
2163
+ return map(filtered, cell => ({
2164
+ element: cell.element.dom,
2165
+ column: Warehouse.getColumnAt(warehouse, cell.column).map(col => col.element.dom)
2166
+ }));
2167
+ };
2168
+ const updateSimpleProps$1 = (modifier, colModifier, data, shouldUpdate) => {
2169
+ if (shouldUpdate('scope')) {
2170
+ modifier.setAttrib('scope', data.scope);
2171
+ }
2172
+ if (shouldUpdate('class') && data.class !== 'mce-no-match') {
2173
+ modifier.setAttrib('class', data.class);
2174
+ }
2175
+ if (shouldUpdate('width')) {
2176
+ colModifier.setStyle('width', addPxSuffix(data.width));
2177
+ }
2178
+ };
2179
+ const updateAdvancedProps$1 = (modifier, data, shouldUpdate) => {
2180
+ if (shouldUpdate('backgroundcolor')) {
2181
+ modifier.setFormat('tablecellbackgroundcolor', data.backgroundcolor);
2182
+ }
2183
+ if (shouldUpdate('bordercolor')) {
2184
+ modifier.setFormat('tablecellbordercolor', data.bordercolor);
2185
+ }
2186
+ if (shouldUpdate('borderstyle')) {
2187
+ modifier.setFormat('tablecellborderstyle', data.borderstyle);
2188
+ }
2189
+ if (shouldUpdate('borderwidth')) {
2190
+ modifier.setFormat('tablecellborderwidth', addPxSuffix(data.borderwidth));
2191
+ }
2192
+ };
2193
+ const applyStyleData$1 = (editor, cells, data, wasChanged) => {
2194
+ const isSingleCell = cells.length === 1;
2195
+ each(cells, item => {
2196
+ const cellElm = item.element;
2197
+ const shouldOverrideCurrentValue = isSingleCell ? always : wasChanged;
2198
+ const modifier = DomModifier.normal(editor, cellElm);
2199
+ const colModifier = item.column.map(col => DomModifier.normal(editor, col)).getOr(modifier);
2200
+ updateSimpleProps$1(modifier, colModifier, data, shouldOverrideCurrentValue);
2201
+ if (hasAdvancedCellTab(editor)) {
2202
+ updateAdvancedProps$1(modifier, data, shouldOverrideCurrentValue);
2203
+ }
2204
+ if (wasChanged('halign')) {
2205
+ setAlign(editor, cellElm, data.halign);
2206
+ }
2207
+ if (wasChanged('valign')) {
2208
+ setVAlign(editor, cellElm, data.valign);
2209
+ }
2210
+ });
2211
+ };
2212
+ const applyStructureData$1 = (editor, data) => {
2213
+ editor.execCommand('mceTableCellType', false, {
2214
+ type: data.celltype,
2215
+ no_events: true
2216
+ });
2217
+ };
2218
+ const applyCellData = (editor, cells, oldData, data) => {
2219
+ const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);
2220
+ if (size(modifiedData) > 0 && cells.length >= 1) {
2221
+ table(cells[0]).each(table => {
2222
+ const selectedCells = getSelectedCells(table, cells);
2223
+ const styleModified = size(filter$1(modifiedData, (_value, key) => key !== 'scope' && key !== 'celltype')) > 0;
2224
+ const structureModified = has(modifiedData, 'celltype');
2225
+ if (styleModified || has(modifiedData, 'scope')) {
2226
+ applyStyleData$1(editor, selectedCells, data, curry(has, modifiedData));
2227
+ }
2228
+ if (structureModified) {
2229
+ applyStructureData$1(editor, data);
2230
+ }
2231
+ fireTableModified(editor, table.dom, {
2232
+ structure: structureModified,
2233
+ style: styleModified
2234
+ });
2235
+ });
2236
+ }
2237
+ };
2238
+ const onSubmitCellForm = (editor, cells, oldData, api) => {
2239
+ const data = api.getData();
2240
+ api.close();
2241
+ editor.undoManager.transact(() => {
2242
+ applyCellData(editor, cells, oldData, data);
2243
+ editor.focus();
2244
+ });
2245
+ };
2246
+ const getData$1 = (editor, cells) => {
2247
+ const cellsData = table(cells[0]).map(table => map(getSelectedCells(table, cells), item => extractDataFromCellElement(editor, item.element, hasAdvancedCellTab(editor), item.column)));
2248
+ return getSharedValues(cellsData.getOrDie());
2249
+ };
2250
+ const open$2 = editor => {
2251
+ const cells = getCellsFromSelection(editor);
2252
+ if (cells.length === 0) {
2253
+ return;
2254
+ }
2255
+ const data = getData$1(editor, cells);
2256
+ const dialogTabPanel = {
2257
+ type: 'tabpanel',
2258
+ tabs: [
2259
+ {
2260
+ title: 'General',
2261
+ name: 'general',
2262
+ items: getItems$2(editor)
2263
+ },
2264
+ getAdvancedTab(editor, 'cell')
2265
+ ]
2266
+ };
2267
+ const dialogPanel = {
2268
+ type: 'panel',
2269
+ items: [{
2270
+ type: 'grid',
2271
+ columns: 2,
2272
+ items: getItems$2(editor)
2273
+ }]
2274
+ };
2275
+ editor.windowManager.open({
2276
+ title: 'Cell Properties',
2277
+ size: 'normal',
2278
+ body: hasAdvancedCellTab(editor) ? dialogTabPanel : dialogPanel,
2279
+ buttons: [
2280
+ {
2281
+ type: 'cancel',
2282
+ name: 'cancel',
2283
+ text: 'Cancel'
2284
+ },
2285
+ {
2286
+ type: 'submit',
2287
+ name: 'save',
2288
+ text: 'Save',
2289
+ primary: true
2290
+ }
2291
+ ],
2292
+ initialData: data,
2293
+ onSubmit: curry(onSubmitCellForm, editor, cells, data)
2294
+ });
2295
+ };
2296
+
2297
+ const getClassList = editor => buildClassList(getRowClassList(editor)).map(items => ({
2298
+ name: 'class',
2299
+ type: 'listbox',
2300
+ label: 'Class',
2301
+ items
2302
+ }));
2303
+ const formChildren = [
2304
+ {
2305
+ type: 'listbox',
2306
+ name: 'type',
2307
+ label: 'Row type',
2308
+ items: [
2309
+ {
2310
+ text: 'Header',
2311
+ value: 'header'
2312
+ },
2313
+ {
2314
+ text: 'Body',
2315
+ value: 'body'
2316
+ },
2317
+ {
2318
+ text: 'Footer',
2319
+ value: 'footer'
2320
+ }
2321
+ ]
2322
+ },
2323
+ {
2324
+ type: 'listbox',
2325
+ name: 'align',
2326
+ label: 'Alignment',
2327
+ items: [
2328
+ {
2329
+ text: 'None',
2330
+ value: ''
2331
+ },
2332
+ {
2333
+ text: 'Left',
2334
+ value: 'left'
2335
+ },
2336
+ {
2337
+ text: 'Center',
2338
+ value: 'center'
2339
+ },
2340
+ {
2341
+ text: 'Right',
2342
+ value: 'right'
2343
+ }
2344
+ ]
2345
+ },
2346
+ {
2347
+ label: 'Height',
2348
+ name: 'height',
2349
+ type: 'input'
2350
+ }
2351
+ ];
2352
+ const getItems$1 = editor => formChildren.concat(getClassList(editor).toArray());
2353
+
2354
+ const updateSimpleProps = (modifier, data, shouldUpdate) => {
2355
+ if (shouldUpdate('class') && data.class !== 'mce-no-match') {
2356
+ modifier.setAttrib('class', data.class);
2357
+ }
2358
+ if (shouldUpdate('height')) {
2359
+ modifier.setStyle('height', addPxSuffix(data.height));
2360
+ }
2361
+ };
2362
+ const updateAdvancedProps = (modifier, data, shouldUpdate) => {
2363
+ if (shouldUpdate('backgroundcolor')) {
2364
+ modifier.setStyle('background-color', data.backgroundcolor);
2365
+ }
2366
+ if (shouldUpdate('bordercolor')) {
2367
+ modifier.setStyle('border-color', data.bordercolor);
2368
+ }
2369
+ if (shouldUpdate('borderstyle')) {
2370
+ modifier.setStyle('border-style', data.borderstyle);
2371
+ }
2372
+ };
2373
+ const applyStyleData = (editor, rows, data, wasChanged) => {
2374
+ const isSingleRow = rows.length === 1;
2375
+ const shouldOverrideCurrentValue = isSingleRow ? always : wasChanged;
2376
+ each(rows, rowElm => {
2377
+ const rowCells = children$1(SugarElement.fromDom(rowElm), 'td,th');
2378
+ const modifier = DomModifier.normal(editor, rowElm);
2379
+ updateSimpleProps(modifier, data, shouldOverrideCurrentValue);
2380
+ if (hasAdvancedRowTab(editor)) {
2381
+ updateAdvancedProps(modifier, data, shouldOverrideCurrentValue);
2382
+ }
2383
+ if (wasChanged('height')) {
2384
+ each(rowCells, cell => {
2385
+ editor.dom.setStyle(cell.dom, 'height', null);
2386
+ });
2387
+ }
2388
+ if (wasChanged('align')) {
2389
+ setAlign(editor, rowElm, data.align);
2390
+ }
2391
+ });
2392
+ };
2393
+ const applyStructureData = (editor, data) => {
2394
+ editor.execCommand('mceTableRowType', false, {
2395
+ type: data.type,
2396
+ no_events: true
2397
+ });
2398
+ };
2399
+ const applyRowData = (editor, rows, oldData, data) => {
2400
+ const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);
2401
+ if (size(modifiedData) > 0) {
2402
+ const typeModified = has(modifiedData, 'type');
2403
+ const styleModified = typeModified ? size(modifiedData) > 1 : true;
2404
+ if (styleModified) {
2405
+ applyStyleData(editor, rows, data, curry(has, modifiedData));
2406
+ }
2407
+ if (typeModified) {
2408
+ applyStructureData(editor, data);
2409
+ }
2410
+ table(SugarElement.fromDom(rows[0])).each(table => fireTableModified(editor, table.dom, {
2411
+ structure: typeModified,
2412
+ style: styleModified
2413
+ }));
2414
+ }
2415
+ };
2416
+ const onSubmitRowForm = (editor, rows, oldData, api) => {
2417
+ const data = api.getData();
2418
+ api.close();
2419
+ editor.undoManager.transact(() => {
2420
+ applyRowData(editor, rows, oldData, data);
2421
+ editor.focus();
2422
+ });
2423
+ };
2424
+ const open$1 = editor => {
2425
+ const rows = getRowsFromSelection(getSelectionStart(editor), ephemera.selected);
2426
+ if (rows.length === 0) {
2427
+ return;
2428
+ }
2429
+ const rowsData = map(rows, rowElm => extractDataFromRowElement(editor, rowElm.dom, hasAdvancedRowTab(editor)));
2430
+ const data = getSharedValues(rowsData);
2431
+ const dialogTabPanel = {
2432
+ type: 'tabpanel',
2433
+ tabs: [
2434
+ {
2435
+ title: 'General',
2436
+ name: 'general',
2437
+ items: getItems$1(editor)
2438
+ },
2439
+ getAdvancedTab(editor, 'row')
2440
+ ]
2441
+ };
2442
+ const dialogPanel = {
2443
+ type: 'panel',
2444
+ items: [{
2445
+ type: 'grid',
2446
+ columns: 2,
2447
+ items: getItems$1(editor)
2448
+ }]
2449
+ };
2450
+ editor.windowManager.open({
2451
+ title: 'Row Properties',
2452
+ size: 'normal',
2453
+ body: hasAdvancedRowTab(editor) ? dialogTabPanel : dialogPanel,
2454
+ buttons: [
2455
+ {
2456
+ type: 'cancel',
2457
+ name: 'cancel',
2458
+ text: 'Cancel'
2459
+ },
2460
+ {
2461
+ type: 'submit',
2462
+ name: 'save',
2463
+ text: 'Save',
2464
+ primary: true
2465
+ }
2466
+ ],
2467
+ initialData: data,
2468
+ onSubmit: curry(onSubmitRowForm, editor, map(rows, r => r.dom), data)
2469
+ });
2470
+ };
2471
+
2472
+ const getItems = (editor, classes, insertNewTable) => {
2473
+ const rowColCountItems = !insertNewTable ? [] : [
2474
+ {
2475
+ type: 'input',
2476
+ name: 'cols',
2477
+ label: 'Cols',
2478
+ inputMode: 'numeric'
2479
+ },
2480
+ {
2481
+ type: 'input',
2482
+ name: 'rows',
2483
+ label: 'Rows',
2484
+ inputMode: 'numeric'
2485
+ }
2486
+ ];
2487
+ const alwaysItems = [
2488
+ {
2489
+ type: 'input',
2490
+ name: 'width',
2491
+ label: 'Width'
2492
+ },
2493
+ {
2494
+ type: 'input',
2495
+ name: 'height',
2496
+ label: 'Height'
2497
+ }
2498
+ ];
2499
+ const appearanceItems = hasAppearanceOptions(editor) ? [
2500
+ {
2501
+ type: 'input',
2502
+ name: 'cellspacing',
2503
+ label: 'Cell spacing',
2504
+ inputMode: 'numeric'
2505
+ },
2506
+ {
2507
+ type: 'input',
2508
+ name: 'cellpadding',
2509
+ label: 'Cell padding',
2510
+ inputMode: 'numeric'
2511
+ },
2512
+ {
2513
+ type: 'input',
2514
+ name: 'border',
2515
+ label: 'Border width'
2516
+ },
2517
+ {
2518
+ type: 'label',
2519
+ label: 'Caption',
2520
+ items: [{
2521
+ type: 'checkbox',
2522
+ name: 'caption',
2523
+ label: 'Show caption'
2524
+ }]
2525
+ }
2526
+ ] : [];
2527
+ const alignmentItem = [{
2528
+ type: 'listbox',
2529
+ name: 'align',
2530
+ label: 'Alignment',
2531
+ items: [
2532
+ {
2533
+ text: 'None',
2534
+ value: ''
2535
+ },
2536
+ {
2537
+ text: 'Left',
2538
+ value: 'left'
2539
+ },
2540
+ {
2541
+ text: 'Center',
2542
+ value: 'center'
2543
+ },
2544
+ {
2545
+ text: 'Right',
2546
+ value: 'right'
2547
+ }
2548
+ ]
2549
+ }];
2550
+ const classListItem = classes.length > 0 ? [{
2551
+ name: 'class',
2552
+ type: 'listbox',
2553
+ label: 'Class',
2554
+ items: classes
2555
+ }] : [];
2556
+ return rowColCountItems.concat(alwaysItems).concat(appearanceItems).concat(alignmentItem).concat(classListItem);
2557
+ };
2558
+
2559
+ const styleTDTH = (dom, elm, name, value) => {
2560
+ if (elm.tagName === 'TD' || elm.tagName === 'TH') {
2561
+ if (isString(name) && isNonNullable(value)) {
2562
+ dom.setStyle(elm, name, value);
2563
+ } else {
2564
+ dom.setStyles(elm, name);
2565
+ }
2566
+ } else {
2567
+ if (elm.children) {
2568
+ for (let i = 0; i < elm.children.length; i++) {
2569
+ styleTDTH(dom, elm.children[i], name, value);
2570
+ }
2571
+ }
2572
+ }
2573
+ };
2574
+ const applyDataToElement = (editor, tableElm, data, shouldApplyOnCell) => {
2575
+ const dom = editor.dom;
2576
+ const attrs = {};
2577
+ const styles = {};
2578
+ const shouldStyleWithCss$1 = shouldStyleWithCss(editor);
2579
+ const hasAdvancedTableTab$1 = hasAdvancedTableTab(editor);
2580
+ const borderIsZero = parseFloat(data.border) === 0;
2581
+ if (!isUndefined(data.class) && data.class !== 'mce-no-match') {
2582
+ attrs.class = data.class;
2583
+ }
2584
+ styles.height = addPxSuffix(data.height);
2585
+ if (shouldStyleWithCss$1) {
2586
+ styles.width = addPxSuffix(data.width);
2587
+ } else if (dom.getAttrib(tableElm, 'width')) {
2588
+ attrs.width = removePxSuffix(data.width);
2589
+ }
2590
+ if (shouldStyleWithCss$1) {
2591
+ if (borderIsZero) {
2592
+ attrs.border = 0;
2593
+ styles['border-width'] = '';
2594
+ } else {
2595
+ styles['border-width'] = addPxSuffix(data.border);
2596
+ attrs.border = 1;
2597
+ }
2598
+ styles['border-spacing'] = addPxSuffix(data.cellspacing);
2599
+ } else {
2600
+ attrs.border = borderIsZero ? 0 : data.border;
2601
+ attrs.cellpadding = data.cellpadding;
2602
+ attrs.cellspacing = data.cellspacing;
2603
+ }
2604
+ if (shouldStyleWithCss$1 && tableElm.children) {
2605
+ const cellStyles = {};
2606
+ if (borderIsZero) {
2607
+ cellStyles['border-width'] = '';
2608
+ } else if (shouldApplyOnCell.border) {
2609
+ cellStyles['border-width'] = addPxSuffix(data.border);
2610
+ }
2611
+ if (shouldApplyOnCell.cellpadding) {
2612
+ cellStyles.padding = addPxSuffix(data.cellpadding);
2613
+ }
2614
+ if (hasAdvancedTableTab$1 && shouldApplyOnCell.bordercolor) {
2615
+ cellStyles['border-color'] = data.bordercolor;
2616
+ }
2617
+ if (!isEmpty$1(cellStyles)) {
2618
+ for (let i = 0; i < tableElm.children.length; i++) {
2619
+ styleTDTH(dom, tableElm.children[i], cellStyles);
2620
+ }
2621
+ }
2622
+ }
2623
+ if (hasAdvancedTableTab$1) {
2624
+ const advData = data;
2625
+ styles['background-color'] = advData.backgroundcolor;
2626
+ styles['border-color'] = advData.bordercolor;
2627
+ styles['border-style'] = advData.borderstyle;
2628
+ }
2629
+ dom.setStyles(tableElm, {
2630
+ ...getDefaultStyles(editor),
2631
+ ...styles
2632
+ });
2633
+ dom.setAttribs(tableElm, {
2634
+ ...getDefaultAttributes(editor),
2635
+ ...attrs
2636
+ });
2637
+ };
2638
+ const onSubmitTableForm = (editor, tableElm, oldData, api) => {
2639
+ const dom = editor.dom;
2640
+ const data = api.getData();
2641
+ const modifiedData = filter$1(data, (value, key) => oldData[key] !== value);
2642
+ api.close();
2643
+ editor.undoManager.transact(() => {
2644
+ if (!tableElm) {
2645
+ const cols = toInt(data.cols).getOr(1);
2646
+ const rows = toInt(data.rows).getOr(1);
2647
+ editor.execCommand('mceInsertTable', false, {
2648
+ rows,
2649
+ columns: cols
2650
+ });
2651
+ tableElm = getSelectionCell(getSelectionStart(editor), getIsRoot(editor)).bind(cell => table(cell, getIsRoot(editor))).map(table => table.dom).getOrDie();
2652
+ }
2653
+ if (size(modifiedData) > 0) {
2654
+ const applicableCellProperties = {
2655
+ border: has(modifiedData, 'border'),
2656
+ bordercolor: has(modifiedData, 'bordercolor'),
2657
+ cellpadding: has(modifiedData, 'cellpadding')
2658
+ };
2659
+ applyDataToElement(editor, tableElm, data, applicableCellProperties);
2660
+ const captionElm = dom.select('caption', tableElm)[0];
2661
+ if (captionElm && !data.caption || !captionElm && data.caption) {
2662
+ editor.execCommand('mceTableToggleCaption');
2663
+ }
2664
+ setAlign(editor, tableElm, data.align);
2665
+ }
2666
+ editor.focus();
2667
+ editor.addVisual();
2668
+ if (size(modifiedData) > 0) {
2669
+ const captionModified = has(modifiedData, 'caption');
2670
+ const styleModified = captionModified ? size(modifiedData) > 1 : true;
2671
+ fireTableModified(editor, tableElm, {
2672
+ structure: captionModified,
2673
+ style: styleModified
2674
+ });
2675
+ }
2676
+ });
2677
+ };
2678
+ const open = (editor, insertNewTable) => {
2679
+ const dom = editor.dom;
2680
+ let tableElm;
2681
+ let data = extractDataFromSettings(editor, hasAdvancedTableTab(editor));
2682
+ if (insertNewTable) {
2683
+ data.cols = '1';
2684
+ data.rows = '1';
2685
+ if (hasAdvancedTableTab(editor)) {
2686
+ data.borderstyle = '';
2687
+ data.bordercolor = '';
2688
+ data.backgroundcolor = '';
2689
+ }
2690
+ } else {
2691
+ tableElm = dom.getParent(editor.selection.getStart(), 'table', editor.getBody());
2692
+ if (tableElm) {
2693
+ data = extractDataFromTableElement(editor, tableElm, hasAdvancedTableTab(editor));
2694
+ } else {
2695
+ if (hasAdvancedTableTab(editor)) {
2696
+ data.borderstyle = '';
2697
+ data.bordercolor = '';
2698
+ data.backgroundcolor = '';
2699
+ }
2700
+ }
2701
+ }
2702
+ const classes = buildClassList(getTableClassList(editor));
2703
+ if (classes.isSome()) {
2704
+ if (data.class) {
2705
+ data.class = data.class.replace(/\s*mce\-item\-table\s*/g, '');
2706
+ }
2707
+ }
2708
+ const generalPanel = {
2709
+ type: 'grid',
2710
+ columns: 2,
2711
+ items: getItems(editor, classes.getOr([]), insertNewTable)
2712
+ };
2713
+ const nonAdvancedForm = () => ({
2714
+ type: 'panel',
2715
+ items: [generalPanel]
2716
+ });
2717
+ const advancedForm = () => ({
2718
+ type: 'tabpanel',
2719
+ tabs: [
2720
+ {
2721
+ title: 'General',
2722
+ name: 'general',
2723
+ items: [generalPanel]
2724
+ },
2725
+ getAdvancedTab(editor, 'table')
2726
+ ]
2727
+ });
2728
+ const dialogBody = hasAdvancedTableTab(editor) ? advancedForm() : nonAdvancedForm();
2729
+ editor.windowManager.open({
2730
+ title: 'Table Properties',
2731
+ size: 'normal',
2732
+ body: dialogBody,
2733
+ onSubmit: curry(onSubmitTableForm, editor, tableElm, data),
2734
+ buttons: [
2735
+ {
2736
+ type: 'cancel',
2737
+ name: 'cancel',
2738
+ text: 'Cancel'
2739
+ },
2740
+ {
2741
+ type: 'submit',
2742
+ name: 'save',
2743
+ text: 'Save',
2744
+ primary: true
2745
+ }
2746
+ ],
2747
+ initialData: data
2748
+ });
2749
+ };
2750
+
2751
+ const registerCommands = editor => {
2752
+ const runAction = f => {
2753
+ if (isInEditableContext(getSelectionStart(editor))) {
2754
+ f();
2755
+ }
2756
+ };
2757
+ each$1({
2758
+ mceTableProps: curry(open, editor, false),
2759
+ mceTableRowProps: curry(open$1, editor),
2760
+ mceTableCellProps: curry(open$2, editor),
2761
+ mceInsertTableDialog: curry(open, editor, true)
2762
+ }, (func, name) => editor.addCommand(name, () => runAction(func)));
2763
+ };
2764
+
2765
+ const child = (scope, selector) => child$1(scope, selector).isSome();
2766
+
2767
+ const selection = identity;
2768
+ const unmergable = selectedCells => {
2769
+ const hasSpan = (elem, type) => getOpt(elem, type).exists(span => parseInt(span, 10) > 1);
2770
+ const hasRowOrColSpan = elem => hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan');
2771
+ return selectedCells.length > 0 && forall(selectedCells, hasRowOrColSpan) ? Optional.some(selectedCells) : Optional.none();
2772
+ };
2773
+ const mergable = (table, selectedCells, ephemera) => {
2774
+ if (selectedCells.length <= 1) {
2775
+ return Optional.none();
2776
+ } else {
2777
+ return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(bounds => ({
2778
+ bounds,
2779
+ cells: selectedCells
2780
+ }));
2781
+ }
2782
+ };
2783
+
2784
+ const noMenu = cell => ({
2785
+ element: cell,
2786
+ mergable: Optional.none(),
2787
+ unmergable: Optional.none(),
2788
+ selection: [cell]
2789
+ });
2790
+ const forMenu = (selectedCells, table, cell) => ({
2791
+ element: cell,
2792
+ mergable: mergable(table, selectedCells, ephemera),
2793
+ unmergable: unmergable(selectedCells),
2794
+ selection: selection(selectedCells)
2795
+ });
2796
+
2797
+ const getSelectionTargets = editor => {
2798
+ const targets = Cell(Optional.none());
2799
+ const changeHandlers = Cell([]);
2800
+ let selectionDetails = Optional.none();
2801
+ const isCaption = isTag('caption');
2802
+ const isDisabledForSelection = key => selectionDetails.forall(details => !details[key]);
2803
+ const getStart = () => getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor));
2804
+ const getEnd = () => getSelectionCellOrCaption(getSelectionEnd(editor), getIsRoot(editor));
2805
+ const findTargets = () => getStart().bind(startCellOrCaption => flatten(lift2(table(startCellOrCaption), getEnd().bind(table), (startTable, endTable) => {
2806
+ if (eq(startTable, endTable)) {
2807
+ if (isCaption(startCellOrCaption)) {
2808
+ return Optional.some(noMenu(startCellOrCaption));
2809
+ } else {
2810
+ return Optional.some(forMenu(getCellsFromSelection(editor), startTable, startCellOrCaption));
2811
+ }
2812
+ }
2813
+ return Optional.none();
2814
+ })));
2815
+ const getExtractedDetails = targets => {
2816
+ const tableOpt = table(targets.element);
2817
+ return tableOpt.map(table => {
2818
+ const warehouse = Warehouse.fromTable(table);
2819
+ const selectedCells = onCells(warehouse, targets).getOr([]);
2820
+ const locked = foldl(selectedCells, (acc, cell) => {
2821
+ if (cell.isLocked) {
2822
+ acc.onAny = true;
2823
+ if (cell.column === 0) {
2824
+ acc.onFirst = true;
2825
+ } else if (cell.column + cell.colspan >= warehouse.grid.columns) {
2826
+ acc.onLast = true;
2827
+ }
2828
+ }
2829
+ return acc;
2830
+ }, {
2831
+ onAny: false,
2832
+ onFirst: false,
2833
+ onLast: false
2834
+ });
2835
+ return {
2836
+ mergeable: onUnlockedMergable(warehouse, targets).isSome(),
2837
+ unmergeable: onUnlockedUnmergable(warehouse, targets).isSome(),
2838
+ locked
2839
+ };
2840
+ });
2841
+ };
2842
+ const resetTargets = () => {
2843
+ targets.set(cached(findTargets)());
2844
+ selectionDetails = targets.get().bind(getExtractedDetails);
2845
+ each(changeHandlers.get(), call);
2846
+ };
2847
+ const setupHandler = handler => {
2848
+ handler();
2849
+ changeHandlers.set(changeHandlers.get().concat([handler]));
2850
+ return () => {
2851
+ changeHandlers.set(filter(changeHandlers.get(), h => h !== handler));
2852
+ };
2853
+ };
2854
+ const onSetup = (api, isDisabled) => setupHandler(() => targets.get().fold(() => {
2855
+ api.setEnabled(false);
2856
+ }, targets => {
2857
+ api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());
2858
+ }));
2859
+ const onSetupWithToggle = (api, isDisabled, isActive) => setupHandler(() => targets.get().fold(() => {
2860
+ api.setEnabled(false);
2861
+ api.setActive(false);
2862
+ }, targets => {
2863
+ api.setEnabled(!isDisabled(targets) && editor.selection.isEditable());
2864
+ api.setActive(isActive(targets));
2865
+ }));
2866
+ const isDisabledFromLocked = lockedDisable => selectionDetails.exists(details => details.locked[lockedDisable]);
2867
+ const onSetupTable = api => onSetup(api, _ => false);
2868
+ const onSetupCellOrRow = api => onSetup(api, targets => isCaption(targets.element));
2869
+ const onSetupColumn = lockedDisable => api => onSetup(api, targets => isCaption(targets.element) || isDisabledFromLocked(lockedDisable));
2870
+ const onSetupPasteable = getClipboardData => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone());
2871
+ const onSetupPasteableColumn = (getClipboardData, lockedDisable) => api => onSetup(api, targets => isCaption(targets.element) || getClipboardData().isNone() || isDisabledFromLocked(lockedDisable));
2872
+ const onSetupMergeable = api => onSetup(api, _targets => isDisabledForSelection('mergeable'));
2873
+ const onSetupUnmergeable = api => onSetup(api, _targets => isDisabledForSelection('unmergeable'));
2874
+ const onSetupTableWithCaption = api => {
2875
+ return onSetupWithToggle(api, never, targets => {
2876
+ const tableOpt = table(targets.element, getIsRoot(editor));
2877
+ return tableOpt.exists(table => child(table, 'caption'));
2878
+ });
2879
+ };
2880
+ const onSetupTableHeaders = (command, headerType) => api => {
2881
+ return onSetupWithToggle(api, targets => isCaption(targets.element), () => editor.queryCommandValue(command) === headerType);
2882
+ };
2883
+ const onSetupTableRowHeaders = onSetupTableHeaders('mceTableRowType', 'header');
2884
+ const onSetupTableColumnHeaders = onSetupTableHeaders('mceTableColType', 'th');
2885
+ editor.on('NodeChange ExecCommand TableSelectorChange', resetTargets);
2886
+ return {
2887
+ onSetupTable,
2888
+ onSetupCellOrRow,
2889
+ onSetupColumn,
2890
+ onSetupPasteable,
2891
+ onSetupPasteableColumn,
2892
+ onSetupMergeable,
2893
+ onSetupUnmergeable,
2894
+ resetTargets,
2895
+ onSetupTableWithCaption,
2896
+ onSetupTableRowHeaders,
2897
+ onSetupTableColumnHeaders,
2898
+ targets: targets.get
2899
+ };
2900
+ };
2901
+
2902
+ var global = tinymce.util.Tools.resolve('tinymce.FakeClipboard');
2903
+
2904
+ const tableTypeBase = 'x-tinymce/dom-table-';
2905
+ const tableTypeRow = tableTypeBase + 'rows';
2906
+ const tableTypeColumn = tableTypeBase + 'columns';
2907
+ const getData = type => {
2908
+ var _a;
2909
+ const items = (_a = global.read()) !== null && _a !== void 0 ? _a : [];
2910
+ return findMap(items, item => Optional.from(item.getType(type)));
2911
+ };
2912
+ const getRows = () => getData(tableTypeRow);
2913
+ const getColumns = () => getData(tableTypeColumn);
2914
+
2915
+ const onSetupEditable$1 = editor => api => {
2916
+ const nodeChanged = () => {
2917
+ api.setEnabled(editor.selection.isEditable());
2918
+ };
2919
+ editor.on('NodeChange', nodeChanged);
2920
+ nodeChanged();
2921
+ return () => {
2922
+ editor.off('NodeChange', nodeChanged);
2923
+ };
2924
+ };
2925
+ const addButtons = (editor, selectionTargets) => {
2926
+ editor.ui.registry.addMenuButton('table', {
2927
+ tooltip: 'Table',
2928
+ icon: 'table',
2929
+ onSetup: onSetupEditable$1(editor),
2930
+ fetch: callback => callback('inserttable | cell row column | advtablesort | tableprops deletetable')
2931
+ });
2932
+ const cmd = command => () => editor.execCommand(command);
2933
+ const addButtonIfRegistered = (name, spec) => {
2934
+ if (editor.queryCommandSupported(spec.command)) {
2935
+ editor.ui.registry.addButton(name, {
2936
+ ...spec,
2937
+ onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)
2938
+ });
2939
+ }
2940
+ };
2941
+ const addToggleButtonIfRegistered = (name, spec) => {
2942
+ if (editor.queryCommandSupported(spec.command)) {
2943
+ editor.ui.registry.addToggleButton(name, {
2944
+ ...spec,
2945
+ onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)
2946
+ });
2947
+ }
2948
+ };
2949
+ addButtonIfRegistered('tableprops', {
2950
+ tooltip: 'Table properties',
2951
+ command: 'mceTableProps',
2952
+ icon: 'table',
2953
+ onSetup: selectionTargets.onSetupTable
2954
+ });
2955
+ addButtonIfRegistered('tabledelete', {
2956
+ tooltip: 'Delete table',
2957
+ command: 'mceTableDelete',
2958
+ icon: 'table-delete-table',
2959
+ onSetup: selectionTargets.onSetupTable
2960
+ });
2961
+ addButtonIfRegistered('tablecellprops', {
2962
+ tooltip: 'Cell properties',
2963
+ command: 'mceTableCellProps',
2964
+ icon: 'table-cell-properties',
2965
+ onSetup: selectionTargets.onSetupCellOrRow
2966
+ });
2967
+ addButtonIfRegistered('tablemergecells', {
2968
+ tooltip: 'Merge cells',
2969
+ command: 'mceTableMergeCells',
2970
+ icon: 'table-merge-cells',
2971
+ onSetup: selectionTargets.onSetupMergeable
2972
+ });
2973
+ addButtonIfRegistered('tablesplitcells', {
2974
+ tooltip: 'Split cell',
2975
+ command: 'mceTableSplitCells',
2976
+ icon: 'table-split-cells',
2977
+ onSetup: selectionTargets.onSetupUnmergeable
2978
+ });
2979
+ addButtonIfRegistered('tableinsertrowbefore', {
2980
+ tooltip: 'Insert row before',
2981
+ command: 'mceTableInsertRowBefore',
2982
+ icon: 'table-insert-row-above',
2983
+ onSetup: selectionTargets.onSetupCellOrRow
2984
+ });
2985
+ addButtonIfRegistered('tableinsertrowafter', {
2986
+ tooltip: 'Insert row after',
2987
+ command: 'mceTableInsertRowAfter',
2988
+ icon: 'table-insert-row-after',
2989
+ onSetup: selectionTargets.onSetupCellOrRow
2990
+ });
2991
+ addButtonIfRegistered('tabledeleterow', {
2992
+ tooltip: 'Delete row',
2993
+ command: 'mceTableDeleteRow',
2994
+ icon: 'table-delete-row',
2995
+ onSetup: selectionTargets.onSetupCellOrRow
2996
+ });
2997
+ addButtonIfRegistered('tablerowprops', {
2998
+ tooltip: 'Row properties',
2999
+ command: 'mceTableRowProps',
3000
+ icon: 'table-row-properties',
3001
+ onSetup: selectionTargets.onSetupCellOrRow
3002
+ });
3003
+ addButtonIfRegistered('tableinsertcolbefore', {
3004
+ tooltip: 'Insert column before',
3005
+ command: 'mceTableInsertColBefore',
3006
+ icon: 'table-insert-column-before',
3007
+ onSetup: selectionTargets.onSetupColumn('onFirst')
3008
+ });
3009
+ addButtonIfRegistered('tableinsertcolafter', {
3010
+ tooltip: 'Insert column after',
3011
+ command: 'mceTableInsertColAfter',
3012
+ icon: 'table-insert-column-after',
3013
+ onSetup: selectionTargets.onSetupColumn('onLast')
3014
+ });
3015
+ addButtonIfRegistered('tabledeletecol', {
3016
+ tooltip: 'Delete column',
3017
+ command: 'mceTableDeleteCol',
3018
+ icon: 'table-delete-column',
3019
+ onSetup: selectionTargets.onSetupColumn('onAny')
3020
+ });
3021
+ addButtonIfRegistered('tablecutrow', {
3022
+ tooltip: 'Cut row',
3023
+ command: 'mceTableCutRow',
3024
+ icon: 'cut-row',
3025
+ onSetup: selectionTargets.onSetupCellOrRow
3026
+ });
3027
+ addButtonIfRegistered('tablecopyrow', {
3028
+ tooltip: 'Copy row',
3029
+ command: 'mceTableCopyRow',
3030
+ icon: 'duplicate-row',
3031
+ onSetup: selectionTargets.onSetupCellOrRow
3032
+ });
3033
+ addButtonIfRegistered('tablepasterowbefore', {
3034
+ tooltip: 'Paste row before',
3035
+ command: 'mceTablePasteRowBefore',
3036
+ icon: 'paste-row-before',
3037
+ onSetup: selectionTargets.onSetupPasteable(getRows)
3038
+ });
3039
+ addButtonIfRegistered('tablepasterowafter', {
3040
+ tooltip: 'Paste row after',
3041
+ command: 'mceTablePasteRowAfter',
3042
+ icon: 'paste-row-after',
3043
+ onSetup: selectionTargets.onSetupPasteable(getRows)
3044
+ });
3045
+ addButtonIfRegistered('tablecutcol', {
3046
+ tooltip: 'Cut column',
3047
+ command: 'mceTableCutCol',
3048
+ icon: 'cut-column',
3049
+ onSetup: selectionTargets.onSetupColumn('onAny')
3050
+ });
3051
+ addButtonIfRegistered('tablecopycol', {
3052
+ tooltip: 'Copy column',
3053
+ command: 'mceTableCopyCol',
3054
+ icon: 'duplicate-column',
3055
+ onSetup: selectionTargets.onSetupColumn('onAny')
3056
+ });
3057
+ addButtonIfRegistered('tablepastecolbefore', {
3058
+ tooltip: 'Paste column before',
3059
+ command: 'mceTablePasteColBefore',
3060
+ icon: 'paste-column-before',
3061
+ onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')
3062
+ });
3063
+ addButtonIfRegistered('tablepastecolafter', {
3064
+ tooltip: 'Paste column after',
3065
+ command: 'mceTablePasteColAfter',
3066
+ icon: 'paste-column-after',
3067
+ onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')
3068
+ });
3069
+ addButtonIfRegistered('tableinsertdialog', {
3070
+ tooltip: 'Insert table',
3071
+ command: 'mceInsertTableDialog',
3072
+ icon: 'table',
3073
+ onSetup: onSetupEditable$1(editor)
3074
+ });
3075
+ const tableClassList = filterNoneItem(getTableClassList(editor));
3076
+ if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {
3077
+ editor.ui.registry.addMenuButton('tableclass', {
3078
+ icon: 'table-classes',
3079
+ tooltip: 'Table styles',
3080
+ fetch: generateMenuItemsCallback(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),
3081
+ onSetup: selectionTargets.onSetupTable
3082
+ });
3083
+ }
3084
+ const tableCellClassList = filterNoneItem(getCellClassList(editor));
3085
+ if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {
3086
+ editor.ui.registry.addMenuButton('tablecellclass', {
3087
+ icon: 'table-cell-classes',
3088
+ tooltip: 'Cell styles',
3089
+ fetch: generateMenuItemsCallback(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),
3090
+ onSetup: selectionTargets.onSetupCellOrRow
3091
+ });
3092
+ }
3093
+ if (editor.queryCommandSupported('mceTableApplyCellStyle')) {
3094
+ editor.ui.registry.addMenuButton('tablecellvalign', {
3095
+ icon: 'vertical-align',
3096
+ tooltip: 'Vertical align',
3097
+ fetch: generateMenuItemsCallback(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),
3098
+ onSetup: selectionTargets.onSetupCellOrRow
3099
+ });
3100
+ editor.ui.registry.addMenuButton('tablecellborderwidth', {
3101
+ icon: 'border-width',
3102
+ tooltip: 'Border width',
3103
+ fetch: generateMenuItemsCallback(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),
3104
+ onSetup: selectionTargets.onSetupCellOrRow
3105
+ });
3106
+ editor.ui.registry.addMenuButton('tablecellborderstyle', {
3107
+ icon: 'border-style',
3108
+ tooltip: 'Border style',
3109
+ fetch: generateMenuItemsCallback(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),
3110
+ onSetup: selectionTargets.onSetupCellOrRow
3111
+ });
3112
+ editor.ui.registry.addMenuButton('tablecellbackgroundcolor', {
3113
+ icon: 'cell-background-color',
3114
+ tooltip: 'Background color',
3115
+ fetch: callback => callback(buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color')),
3116
+ onSetup: selectionTargets.onSetupCellOrRow
3117
+ });
3118
+ editor.ui.registry.addMenuButton('tablecellbordercolor', {
3119
+ icon: 'cell-border-color',
3120
+ tooltip: 'Border color',
3121
+ fetch: callback => callback(buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color')),
3122
+ onSetup: selectionTargets.onSetupCellOrRow
3123
+ });
3124
+ }
3125
+ addToggleButtonIfRegistered('tablecaption', {
3126
+ tooltip: 'Table caption',
3127
+ icon: 'table-caption',
3128
+ command: 'mceTableToggleCaption',
3129
+ onSetup: selectionTargets.onSetupTableWithCaption
3130
+ });
3131
+ addToggleButtonIfRegistered('tablerowheader', {
3132
+ tooltip: 'Row header',
3133
+ icon: 'table-top-header',
3134
+ command: 'mceTableRowType',
3135
+ onAction: changeRowHeader(editor),
3136
+ onSetup: selectionTargets.onSetupTableRowHeaders
3137
+ });
3138
+ addToggleButtonIfRegistered('tablecolheader', {
3139
+ tooltip: 'Column header',
3140
+ icon: 'table-left-header',
3141
+ command: 'mceTableColType',
3142
+ onAction: changeColumnHeader(editor),
3143
+ onSetup: selectionTargets.onSetupTableColumnHeaders
3144
+ });
3145
+ };
3146
+ const addToolbars = editor => {
3147
+ const isEditableTable = table => editor.dom.is(table, 'table') && editor.getBody().contains(table) && editor.dom.isEditable(table.parentNode);
3148
+ const toolbar = getToolbar(editor);
3149
+ if (toolbar.length > 0) {
3150
+ editor.ui.registry.addContextToolbar('table', {
3151
+ predicate: isEditableTable,
3152
+ items: toolbar,
3153
+ scope: 'node',
3154
+ position: 'node'
3155
+ });
3156
+ }
3157
+ };
3158
+
3159
+ const onSetupEditable = editor => api => {
3160
+ const nodeChanged = () => {
3161
+ api.setEnabled(editor.selection.isEditable());
3162
+ };
3163
+ editor.on('NodeChange', nodeChanged);
3164
+ nodeChanged();
3165
+ return () => {
3166
+ editor.off('NodeChange', nodeChanged);
3167
+ };
3168
+ };
3169
+ const addMenuItems = (editor, selectionTargets) => {
3170
+ const cmd = command => () => editor.execCommand(command);
3171
+ const addMenuIfRegistered = (name, spec) => {
3172
+ if (editor.queryCommandSupported(spec.command)) {
3173
+ editor.ui.registry.addMenuItem(name, {
3174
+ ...spec,
3175
+ onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)
3176
+ });
3177
+ return true;
3178
+ } else {
3179
+ return false;
3180
+ }
3181
+ };
3182
+ const addToggleMenuIfRegistered = (name, spec) => {
3183
+ if (editor.queryCommandSupported(spec.command)) {
3184
+ editor.ui.registry.addToggleMenuItem(name, {
3185
+ ...spec,
3186
+ onAction: isFunction(spec.onAction) ? spec.onAction : cmd(spec.command)
3187
+ });
3188
+ }
3189
+ };
3190
+ const insertTableAction = data => {
3191
+ editor.execCommand('mceInsertTable', false, {
3192
+ rows: data.numRows,
3193
+ columns: data.numColumns
3194
+ });
3195
+ };
3196
+ const hasRowMenuItems = [
3197
+ addMenuIfRegistered('tableinsertrowbefore', {
3198
+ text: 'Insert row before',
3199
+ icon: 'table-insert-row-above',
3200
+ command: 'mceTableInsertRowBefore',
3201
+ onSetup: selectionTargets.onSetupCellOrRow
3202
+ }),
3203
+ addMenuIfRegistered('tableinsertrowafter', {
3204
+ text: 'Insert row after',
3205
+ icon: 'table-insert-row-after',
3206
+ command: 'mceTableInsertRowAfter',
3207
+ onSetup: selectionTargets.onSetupCellOrRow
3208
+ }),
3209
+ addMenuIfRegistered('tabledeleterow', {
3210
+ text: 'Delete row',
3211
+ icon: 'table-delete-row',
3212
+ command: 'mceTableDeleteRow',
3213
+ onSetup: selectionTargets.onSetupCellOrRow
3214
+ }),
3215
+ addMenuIfRegistered('tablerowprops', {
3216
+ text: 'Row properties',
3217
+ icon: 'table-row-properties',
3218
+ command: 'mceTableRowProps',
3219
+ onSetup: selectionTargets.onSetupCellOrRow
3220
+ }),
3221
+ addMenuIfRegistered('tablecutrow', {
3222
+ text: 'Cut row',
3223
+ icon: 'cut-row',
3224
+ command: 'mceTableCutRow',
3225
+ onSetup: selectionTargets.onSetupCellOrRow
3226
+ }),
3227
+ addMenuIfRegistered('tablecopyrow', {
3228
+ text: 'Copy row',
3229
+ icon: 'duplicate-row',
3230
+ command: 'mceTableCopyRow',
3231
+ onSetup: selectionTargets.onSetupCellOrRow
3232
+ }),
3233
+ addMenuIfRegistered('tablepasterowbefore', {
3234
+ text: 'Paste row before',
3235
+ icon: 'paste-row-before',
3236
+ command: 'mceTablePasteRowBefore',
3237
+ onSetup: selectionTargets.onSetupPasteable(getRows)
3238
+ }),
3239
+ addMenuIfRegistered('tablepasterowafter', {
3240
+ text: 'Paste row after',
3241
+ icon: 'paste-row-after',
3242
+ command: 'mceTablePasteRowAfter',
3243
+ onSetup: selectionTargets.onSetupPasteable(getRows)
3244
+ })
3245
+ ];
3246
+ const hasColumnMenuItems = [
3247
+ addMenuIfRegistered('tableinsertcolumnbefore', {
3248
+ text: 'Insert column before',
3249
+ icon: 'table-insert-column-before',
3250
+ command: 'mceTableInsertColBefore',
3251
+ onSetup: selectionTargets.onSetupColumn('onFirst')
3252
+ }),
3253
+ addMenuIfRegistered('tableinsertcolumnafter', {
3254
+ text: 'Insert column after',
3255
+ icon: 'table-insert-column-after',
3256
+ command: 'mceTableInsertColAfter',
3257
+ onSetup: selectionTargets.onSetupColumn('onLast')
3258
+ }),
3259
+ addMenuIfRegistered('tabledeletecolumn', {
3260
+ text: 'Delete column',
3261
+ icon: 'table-delete-column',
3262
+ command: 'mceTableDeleteCol',
3263
+ onSetup: selectionTargets.onSetupColumn('onAny')
3264
+ }),
3265
+ addMenuIfRegistered('tablecutcolumn', {
3266
+ text: 'Cut column',
3267
+ icon: 'cut-column',
3268
+ command: 'mceTableCutCol',
3269
+ onSetup: selectionTargets.onSetupColumn('onAny')
3270
+ }),
3271
+ addMenuIfRegistered('tablecopycolumn', {
3272
+ text: 'Copy column',
3273
+ icon: 'duplicate-column',
3274
+ command: 'mceTableCopyCol',
3275
+ onSetup: selectionTargets.onSetupColumn('onAny')
3276
+ }),
3277
+ addMenuIfRegistered('tablepastecolumnbefore', {
3278
+ text: 'Paste column before',
3279
+ icon: 'paste-column-before',
3280
+ command: 'mceTablePasteColBefore',
3281
+ onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onFirst')
3282
+ }),
3283
+ addMenuIfRegistered('tablepastecolumnafter', {
3284
+ text: 'Paste column after',
3285
+ icon: 'paste-column-after',
3286
+ command: 'mceTablePasteColAfter',
3287
+ onSetup: selectionTargets.onSetupPasteableColumn(getColumns, 'onLast')
3288
+ })
3289
+ ];
3290
+ const hasCellMenuItems = [
3291
+ addMenuIfRegistered('tablecellprops', {
3292
+ text: 'Cell properties',
3293
+ icon: 'table-cell-properties',
3294
+ command: 'mceTableCellProps',
3295
+ onSetup: selectionTargets.onSetupCellOrRow
3296
+ }),
3297
+ addMenuIfRegistered('tablemergecells', {
3298
+ text: 'Merge cells',
3299
+ icon: 'table-merge-cells',
3300
+ command: 'mceTableMergeCells',
3301
+ onSetup: selectionTargets.onSetupMergeable
3302
+ }),
3303
+ addMenuIfRegistered('tablesplitcells', {
3304
+ text: 'Split cell',
3305
+ icon: 'table-split-cells',
3306
+ command: 'mceTableSplitCells',
3307
+ onSetup: selectionTargets.onSetupUnmergeable
3308
+ })
3309
+ ];
3310
+ if (!hasTableGrid(editor)) {
3311
+ editor.ui.registry.addMenuItem('inserttable', {
3312
+ text: 'Table',
3313
+ icon: 'table',
3314
+ onAction: cmd('mceInsertTableDialog'),
3315
+ onSetup: onSetupEditable(editor)
3316
+ });
3317
+ } else {
3318
+ editor.ui.registry.addNestedMenuItem('inserttable', {
3319
+ text: 'Table',
3320
+ icon: 'table',
3321
+ getSubmenuItems: () => [{
3322
+ type: 'fancymenuitem',
3323
+ fancytype: 'inserttable',
3324
+ onAction: insertTableAction
3325
+ }],
3326
+ onSetup: onSetupEditable(editor)
3327
+ });
3328
+ }
3329
+ editor.ui.registry.addMenuItem('inserttabledialog', {
3330
+ text: 'Insert table',
3331
+ icon: 'table',
3332
+ onAction: cmd('mceInsertTableDialog'),
3333
+ onSetup: onSetupEditable(editor)
3334
+ });
3335
+ addMenuIfRegistered('tableprops', {
3336
+ text: 'Table properties',
3337
+ onSetup: selectionTargets.onSetupTable,
3338
+ command: 'mceTableProps'
3339
+ });
3340
+ addMenuIfRegistered('deletetable', {
3341
+ text: 'Delete table',
3342
+ icon: 'table-delete-table',
3343
+ onSetup: selectionTargets.onSetupTable,
3344
+ command: 'mceTableDelete'
3345
+ });
3346
+ if (contains(hasRowMenuItems, true)) {
3347
+ editor.ui.registry.addNestedMenuItem('row', {
3348
+ type: 'nestedmenuitem',
3349
+ text: 'Row',
3350
+ getSubmenuItems: constant('tableinsertrowbefore tableinsertrowafter tabledeleterow tablerowprops | tablecutrow tablecopyrow tablepasterowbefore tablepasterowafter')
3351
+ });
3352
+ }
3353
+ if (contains(hasColumnMenuItems, true)) {
3354
+ editor.ui.registry.addNestedMenuItem('column', {
3355
+ type: 'nestedmenuitem',
3356
+ text: 'Column',
3357
+ getSubmenuItems: constant('tableinsertcolumnbefore tableinsertcolumnafter tabledeletecolumn | tablecutcolumn tablecopycolumn tablepastecolumnbefore tablepastecolumnafter')
3358
+ });
3359
+ }
3360
+ if (contains(hasCellMenuItems, true)) {
3361
+ editor.ui.registry.addNestedMenuItem('cell', {
3362
+ type: 'nestedmenuitem',
3363
+ text: 'Cell',
3364
+ getSubmenuItems: constant('tablecellprops tablemergecells tablesplitcells')
3365
+ });
3366
+ }
3367
+ editor.ui.registry.addContextMenu('table', {
3368
+ update: () => {
3369
+ selectionTargets.resetTargets();
3370
+ return selectionTargets.targets().fold(constant(''), targets => {
3371
+ if (name(targets.element) === 'caption') {
3372
+ return 'tableprops deletetable';
3373
+ } else {
3374
+ return 'cell row column | advtablesort | tableprops deletetable';
3375
+ }
3376
+ });
3377
+ }
3378
+ });
3379
+ const tableClassList = filterNoneItem(getTableClassList(editor));
3380
+ if (tableClassList.length !== 0 && editor.queryCommandSupported('mceTableToggleClass')) {
3381
+ editor.ui.registry.addNestedMenuItem('tableclass', {
3382
+ icon: 'table-classes',
3383
+ text: 'Table styles',
3384
+ getSubmenuItems: () => buildMenuItems(editor, tableClassList, 'tableclass', value => editor.execCommand('mceTableToggleClass', false, value)),
3385
+ onSetup: selectionTargets.onSetupTable
3386
+ });
3387
+ }
3388
+ const tableCellClassList = filterNoneItem(getCellClassList(editor));
3389
+ if (tableCellClassList.length !== 0 && editor.queryCommandSupported('mceTableCellToggleClass')) {
3390
+ editor.ui.registry.addNestedMenuItem('tablecellclass', {
3391
+ icon: 'table-cell-classes',
3392
+ text: 'Cell styles',
3393
+ getSubmenuItems: () => buildMenuItems(editor, tableCellClassList, 'tablecellclass', value => editor.execCommand('mceTableCellToggleClass', false, value)),
3394
+ onSetup: selectionTargets.onSetupCellOrRow
3395
+ });
3396
+ }
3397
+ if (editor.queryCommandSupported('mceTableApplyCellStyle')) {
3398
+ editor.ui.registry.addNestedMenuItem('tablecellvalign', {
3399
+ icon: 'vertical-align',
3400
+ text: 'Vertical align',
3401
+ getSubmenuItems: () => buildMenuItems(editor, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')),
3402
+ onSetup: selectionTargets.onSetupCellOrRow
3403
+ });
3404
+ editor.ui.registry.addNestedMenuItem('tablecellborderwidth', {
3405
+ icon: 'border-width',
3406
+ text: 'Border width',
3407
+ getSubmenuItems: () => buildMenuItems(editor, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')),
3408
+ onSetup: selectionTargets.onSetupCellOrRow
3409
+ });
3410
+ editor.ui.registry.addNestedMenuItem('tablecellborderstyle', {
3411
+ icon: 'border-style',
3412
+ text: 'Border style',
3413
+ getSubmenuItems: () => buildMenuItems(editor, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')),
3414
+ onSetup: selectionTargets.onSetupCellOrRow
3415
+ });
3416
+ editor.ui.registry.addNestedMenuItem('tablecellbackgroundcolor', {
3417
+ icon: 'cell-background-color',
3418
+ text: 'Background color',
3419
+ getSubmenuItems: () => buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color'),
3420
+ onSetup: selectionTargets.onSetupCellOrRow
3421
+ });
3422
+ editor.ui.registry.addNestedMenuItem('tablecellbordercolor', {
3423
+ icon: 'cell-border-color',
3424
+ text: 'Border color',
3425
+ getSubmenuItems: () => buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color'),
3426
+ onSetup: selectionTargets.onSetupCellOrRow
3427
+ });
3428
+ }
3429
+ addToggleMenuIfRegistered('tablecaption', {
3430
+ icon: 'table-caption',
3431
+ text: 'Table caption',
3432
+ command: 'mceTableToggleCaption',
3433
+ onSetup: selectionTargets.onSetupTableWithCaption
3434
+ });
3435
+ addToggleMenuIfRegistered('tablerowheader', {
3436
+ text: 'Row header',
3437
+ icon: 'table-top-header',
3438
+ command: 'mceTableRowType',
3439
+ onAction: changeRowHeader(editor),
3440
+ onSetup: selectionTargets.onSetupTableRowHeaders
3441
+ });
3442
+ addToggleMenuIfRegistered('tablecolheader', {
3443
+ text: 'Column header',
3444
+ icon: 'table-left-header',
3445
+ command: 'mceTableColType',
3446
+ onAction: changeColumnHeader(editor),
3447
+ onSetup: selectionTargets.onSetupTableRowHeaders
3448
+ });
3449
+ };
3450
+
3451
+ const Plugin = editor => {
3452
+ const selectionTargets = getSelectionTargets(editor);
3453
+ register(editor);
3454
+ registerCommands(editor);
3455
+ addMenuItems(editor, selectionTargets);
3456
+ addButtons(editor, selectionTargets);
3457
+ addToolbars(editor);
3458
+ };
3459
+ var Plugin$1 = () => {
3460
+ global$3.add('table', Plugin);
3461
+ };
3462
+
3463
+ Plugin$1();
3464
+
3465
+ })();