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
@@ -1,1702 +0,0 @@
1
- import { context, describe, it } from '@ephox/bedrock-client';
2
- import { Arr, Fun, Obj } from '@ephox/katamari';
3
- import { PlatformDetection } from '@ephox/sand';
4
- import { assert } from 'chai';
5
-
6
- import Env from 'tinymce/core/api/Env';
7
- import { BlobCache, BlobInfo } from 'tinymce/core/api/file/BlobCache';
8
- import DomParser, { DomParserSettings, ParserArgs, ParserFilterCallback } from 'tinymce/core/api/html/DomParser';
9
- import AstNode, { Attributes } from 'tinymce/core/api/html/Node';
10
- import Schema, { SchemaElement, SchemaSettings } from 'tinymce/core/api/html/Schema';
11
- import HtmlSerializer from 'tinymce/core/api/html/Serializer';
12
-
13
- interface ParseTestResult {
14
- readonly nodes: AstNode[];
15
- readonly name: string;
16
- readonly args: ParserArgs;
17
- }
18
-
19
- describe('browser.tinymce.core.html.DomParserTest', () => {
20
- const browser = PlatformDetection.detect().browser;
21
- const schema = Schema({ valid_elements: '*[class|title]' });
22
- const serializer = HtmlSerializer({}, schema);
23
-
24
- const countNodes = (node: AstNode, counter: Record<string, number> = {}) => {
25
- if (node.name in counter) {
26
- counter[node.name]++;
27
- } else {
28
- counter[node.name] = 1;
29
- }
30
-
31
- for (let sibling = node.firstChild; sibling; sibling = sibling.next) {
32
- countNodes(sibling, counter);
33
- }
34
-
35
- return counter;
36
- };
37
-
38
- schema.addValidChildren('+body[style]');
39
-
40
- Arr.each([{
41
- name: 'sanitization enabled (default)',
42
- isSanitizeEnabled: true,
43
- settings: { }
44
- },
45
- {
46
- name: 'TINY-9635: sanitization disabled',
47
- isSanitizeEnabled: false,
48
- settings: { sanitize: false }
49
- }], (scenario) => {
50
- context(scenario.name, () => {
51
- it('Parse element', () => {
52
- const parser = DomParser(scenario.settings, schema);
53
- const root = parser.parse('<B title="title" class="class">test</B>');
54
- assert.equal(serializer.serialize(root), '<b class="class" title="title">test</b>', 'Inline element');
55
- assert.equal(root.firstChild?.type, 1, 'Element type');
56
- assert.equal(root.firstChild?.name, 'b', 'Element name');
57
- assert.deepEqual(
58
- root.firstChild?.attributes, [
59
- { name: 'title', value: 'title' },
60
- { name: 'class', value: 'class' },
61
- ] as unknown as Attributes,
62
- 'Element attributes'
63
- );
64
- assert.deepEqual(countNodes(root), { 'body': 1, 'b': 1, '#text': 1 }, 'Element attributes (count)');
65
- });
66
-
67
- it('Retains code inside a script', () => {
68
- const parser = DomParser(scenario.settings, schema);
69
- const root = parser.parse(' \t\r\n <SCRIPT> \t\r\n a < b > \t\r\n </S' + 'CRIPT> \t\r\n ');
70
- assert.equal(serializer.serialize(root), '<script> \t\n a < b > \t\n </s' + 'cript>', 'Retain code inside SCRIPT');
71
- assert.deepEqual(countNodes(root), { 'body': 1, 'script': 1, '#text': 1 }, 'Retain code inside SCRIPT (count)');
72
- });
73
-
74
- it('Whitespace', () => {
75
- let parser = DomParser(scenario.settings, schema);
76
- let root = parser.parse(' \t\r\n <B> \t\r\n test \t\r\n </B> \t\r\n ');
77
- assert.equal(serializer.serialize(root), ' <b> test </b> ', 'Redundant whitespace (inline element)');
78
- assert.deepEqual(countNodes(root), { 'body': 1, 'b': 1, '#text': 3 }, 'Redundant whitespace (inline element) (count)');
79
-
80
- parser = DomParser(scenario.settings, schema);
81
- root = parser.parse(' \t\r\n <P> \t\r\n test \t\r\n </P> \t\r\n ');
82
- assert.equal(serializer.serialize(root), '<p>test</p>', 'Redundant whitespace (block element)');
83
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 1, '#text': 1 }, 'Redundant whitespace (block element) (count)');
84
-
85
- parser = DomParser(scenario.settings, schema);
86
- root = parser.parse(' \t\r\n <SCRIPT> \t\r\n test \t\r\n </S' + 'CRIPT> \t\r\n ');
87
- assert.equal(
88
- serializer.serialize(root),
89
- '<script> \t\n test \t\n </s' + 'cript>',
90
- 'Whitespace around and inside SCRIPT'
91
- );
92
- assert.deepEqual(countNodes(root), { 'body': 1, 'script': 1, '#text': 1 }, 'Whitespace around and inside SCRIPT (count)');
93
-
94
- parser = DomParser(scenario.settings, schema);
95
- root = parser.parse(' \t\r\n <STYLE> \t\r\n test \t\r\n </STYLE> \t\r\n ');
96
- assert.equal(serializer.serialize(root), '<style> \t\n test \t\n </style>', 'Whitespace around and inside STYLE');
97
- assert.deepEqual(countNodes(root), { 'body': 1, 'style': 1, '#text': 1 }, 'Whitespace around and inside STYLE (count)');
98
-
99
- parser = DomParser(scenario.settings, schema);
100
- root = parser.parse('<ul>\n<li>Item 1\n<ul>\n<li>\n \t Indented \t \n</li>\n</ul>\n</li>\n</ul>\n');
101
- assert.equal(
102
- serializer.serialize(root),
103
- '<ul><li>Item 1<ul><li>Indented</li></ul></li></ul>',
104
- 'Whitespace around and inside blocks (ul/li)'
105
- );
106
- assert.deepEqual(countNodes(root), { 'body': 1, 'li': 2, 'ul': 2, '#text': 2 }, 'Whitespace around and inside blocks (ul/li) (count)');
107
-
108
- parser = DomParser(scenario.settings, Schema({ invalid_elements: 'hr,br' }));
109
- root = parser.parse(
110
- '\n<hr />\n<br />\n<div>\n<hr />\n<br />\n<img src="file.gif" data-mce-src="file.gif" />\n<hr />\n<br />\n</div>\n<hr />\n<br />\n'
111
- );
112
- assert.equal(
113
- serializer.serialize(root),
114
- '<div><img src="file.gif" data-mce-src="file.gif"></div>',
115
- 'Whitespace where the parser will produce multiple whitespace nodes'
116
- );
117
- assert.deepEqual(
118
- countNodes(root),
119
- { body: 1, div: 1, img: 1 },
120
- 'Whitespace where the parser will produce multiple whitespace nodes (count)'
121
- );
122
- });
123
-
124
- it('Whitespace before/after invalid element with text in block', () => {
125
- const parser = DomParser(scenario.settings, Schema({ invalid_elements: 'em' }));
126
- const root = parser.parse('<p>a <em>b</em> c</p>');
127
- assert.equal(serializer.serialize(root), '<p>a b c</p>');
128
- });
129
-
130
- it('Whitespace before/after invalid element whitespace element in block', () => {
131
- const parser = DomParser(scenario.settings, Schema({ invalid_elements: 'span' }));
132
- const root = parser.parse('<p> <span></span> </p>');
133
- assert.equal(serializer.serialize(root), '<p>\u00a0</p>');
134
- });
135
-
136
- it('Whitespace preserved in PRE', () => {
137
- let parser = DomParser(scenario.settings, schema);
138
- let root = parser.parse(' \t\r\n <PRE> \t\r\n test \t\r\n </PRE> \t\r\n ');
139
- assert.equal(serializer.serialize(root), '<pre> \t\n test \t\n </pre>', 'Whitespace around and inside PRE');
140
- assert.deepEqual(countNodes(root), { 'body': 1, 'pre': 1, '#text': 1 }, 'Whitespace around and inside PRE (count)');
141
-
142
- parser = DomParser(scenario.settings, schema);
143
- root = parser.parse('<PRE> </PRE>');
144
- assert.equal(serializer.serialize(root), '<pre> </pre>', 'Whitespace around and inside PRE');
145
- assert.deepEqual(countNodes(root), { 'body': 1, 'pre': 1, '#text': 1 }, 'Whitespace around and inside PRE (count)');
146
- });
147
-
148
- it('Whitespace preserved in SPAN inside PRE', () => {
149
- const parser = DomParser(scenario.settings, schema);
150
- const root = parser.parse(' \t\r\n <PRE> \t\r\n <span> test </span> \t\r\n </PRE> \t\r\n ');
151
- assert.equal(
152
- serializer.serialize(root),
153
- '<pre> \t\n <span> test </span> \t\n </pre>',
154
- 'Whitespace around and inside PRE'
155
- );
156
- assert.deepEqual(countNodes(root), { 'body': 1, 'pre': 1, 'span': 1, '#text': 3 }, 'Whitespace around and inside PRE (count)');
157
- });
158
-
159
- it('Whitespace preserved in code', () => {
160
- let parser = DomParser(scenario.settings, schema);
161
- let root = parser.parse('<code> a </code>');
162
- assert.equal(serializer.serialize(root), '<code> a </code>', 'Whitespace inside code');
163
- assert.deepEqual(countNodes(root), { 'body': 1, 'code': 1, '#text': 1 }, 'Whitespace inside code (count)');
164
-
165
- parser = DomParser(scenario.settings, schema);
166
- root = parser.parse('<code> </code>');
167
- assert.equal(serializer.serialize(root), '<code> </code>', 'Whitespace inside code');
168
- assert.deepEqual(countNodes(root), { 'body': 1, 'code': 1, '#text': 1 }, 'Whitespace inside code (count)');
169
- });
170
-
171
- it('Parse invalid contents', () => {
172
- let parser = DomParser(scenario.settings, schema);
173
- let root = parser.parse('<p class="a"><p class="b">123</p></p>');
174
- assert.equal(serializer.serialize(root), '<p class="a"></p><p class="b">123</p><p></p>', 'P in P, splits outer P');
175
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 3, '#text': 1 }, 'P in P, splits outer P (count)');
176
-
177
- parser = DomParser(scenario.settings, schema);
178
- root = parser.parse('<p class="a">a<p class="b">b</p><p class="c">c</p>d</p>');
179
- assert.equal(
180
- serializer.serialize(root),
181
- '<p class="a">a</p><p class="b">b</p><p class="c">c</p>d<p></p>',
182
- 'Two P in P, splits outer P'
183
- );
184
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 4, '#text': 4 }, 'Two P in P, splits outer P (count)');
185
-
186
- parser = DomParser(scenario.settings, schema);
187
- root = parser.parse('<p class="a">abc<p class="b">def</p></p>');
188
- assert.equal(serializer.serialize(root), '<p class="a">abc</p><p class="b">def</p><p></p>', 'P in P with nodes before');
189
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 3, '#text': 2 }, 'P in P with nodes before (count)');
190
-
191
- parser = DomParser(scenario.settings, schema);
192
- root = parser.parse('<p class="a"><p class="b">abc</p>def</p>');
193
- assert.equal(serializer.serialize(root), '<p class="a"></p><p class="b">abc</p>def<p></p>', 'P in P with nodes after');
194
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 3, '#text': 2 }, 'P in P with nodes after (count)');
195
-
196
- parser = DomParser(scenario.settings, schema);
197
- root = parser.parse('<p class="a"><p class="b">abc</p><br></p>');
198
- assert.equal(serializer.serialize(root), '<p class="a"></p><p class="b">abc</p><br><p></p>', 'P in P with BR after');
199
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 3, 'br': 1, '#text': 1 }, 'P in P with BR after (count)');
200
-
201
- parser = DomParser(scenario.settings, schema);
202
- root = parser.parse('<p class="a">a<strong>b<span>c<em>d<p class="b">e</p>f</em>g</span>h</strong>i</p>');
203
- assert.equal(
204
- serializer.serialize(root),
205
- '<p class="a">a<strong>b<span>c<em>d</em></span></strong></p>' +
206
- '<p class="b"><strong><em>e</em></strong></p>' +
207
- '<strong><em>f</em>gh</strong>i<p></p>',
208
- 'P in P wrapped in inline elements'
209
- );
210
- assert.deepEqual(
211
- countNodes(root),
212
- { 'body': 1, 'p': 3, '#text': 8, 'strong': 3, 'span': 1, 'em': 3 },
213
- 'P in P wrapped in inline elements (count)'
214
- );
215
-
216
- parser = DomParser(scenario.settings, schema);
217
- root = parser.parse('<p class="a">a<p class="b">b<p class="c">c</p>d</p>e</p>');
218
- assert.equal(
219
- serializer.serialize(root),
220
- '<p class="a">a</p><p class="b">b</p><p class="c">c</p>d<p></p>e<p></p>',
221
- 'P in P in P with text before/after'
222
- );
223
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 5, '#text': 5 }, 'P in P in P with text before/after (count)');
224
-
225
- parser = DomParser(scenario.settings, schema);
226
- root = parser.parse('<p>a<ul><li>b</li><li>c</li></ul>d</p>');
227
- assert.equal(serializer.serialize(root), '<p>a</p><ul><li>b</li><li>c</li></ul>d<p></p>', 'UL inside P');
228
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 2, 'ul': 1, 'li': 2, '#text': 4 }, 'UL inside P (count)');
229
-
230
- parser = DomParser(scenario.settings, schema);
231
- root = parser.parse('<table><tr><td><tr>a</tr></td></tr></table>');
232
- assert.equal(serializer.serialize(root), 'a<table><tbody><tr><td></td></tr><tr></tr></tbody></table>', 'TR inside TD');
233
- assert.deepEqual(countNodes(root), { 'body': 1, 'table': 1, 'tbody': 1, 'tr': 2, 'td': 1, '#text': 1 }, 'TR inside TD (count)');
234
-
235
- parser = DomParser(scenario.settings, Schema({ valid_elements: 'p,section,div' }));
236
- root = parser.parse('<div><section><p>a</p></section></div>');
237
- assert.equal(serializer.serialize(root), '<div><section><p>a</p></section></div>', 'P inside SECTION');
238
- assert.deepEqual(countNodes(root), { 'body': 1, 'div': 1, 'section': 1, 'p': 1, '#text': 1 }, 'P inside SECTION (count)');
239
- });
240
-
241
- it('Remove empty nodes', () => {
242
- const parser = DomParser(scenario.settings, Schema({ valid_elements: '-p,-span[id|style],-strong' }));
243
- let root = parser.parse(
244
- '<p>a<span></span><span> </span><span id="x">b</span><span id="y"></span></p><p></p><p><span></span></p><p> </p>'
245
- );
246
- assert.equal(serializer.serialize(root), '<p>a <span id="x">b</span><span id="y"></span></p>');
247
-
248
- root = parser.parse('<p>a&nbsp;<span style="text-decoration: underline"> </span>&nbsp;b</p>');
249
- assert.equal(serializer.serialize(root), '<p>a\u00a0<span style="text-decoration: underline"> </span>\u00a0b</p>');
250
-
251
- root = parser.parse('<p>a&nbsp;<strong> </strong>&nbsp;b</p>');
252
- assert.equal(serializer.serialize(root), '<p>a\u00a0<strong> </strong>\u00a0b</p>');
253
-
254
- root = parser.parse('<p>a&nbsp;<span style="text-decoration: underline"></span>&nbsp;b</p>');
255
- assert.equal(serializer.serialize(root), '<p>a\u00a0\u00a0b</p>');
256
-
257
- root = parser.parse('<p>a&nbsp;<span> </span>&nbsp;b</p>');
258
- assert.equal(serializer.serialize(root), '<p>a\u00a0 \u00a0b</p>');
259
- });
260
-
261
- it('Parse invalid contents with node filters', () => {
262
- const parser = DomParser(scenario.settings, schema);
263
- parser.addNodeFilter('p', (nodes) => {
264
- Arr.each(nodes, (node) => {
265
- node.attr('class', 'x');
266
- });
267
- });
268
- const root = parser.parse('<p>a<p>123</p>b</p>');
269
- assert.equal(serializer.serialize(root), '<p class="x">a</p><p class="x">123</p>b<p class="x"></p>', 'P should have class x');
270
- });
271
-
272
- it('Parse invalid contents with attribute filters', () => {
273
- const parser = DomParser(scenario.settings, schema);
274
- parser.addAttributeFilter('class', (nodes) => {
275
- Arr.each(nodes, (node) => {
276
- node.attr('class', 'x');
277
- });
278
- });
279
- const root = parser.parse('<p class="y">a<p class="y">123</p>b</p>');
280
- assert.equal(serializer.serialize(root), '<p class="x">a</p><p class="x">123</p>b<p></p>', 'P should have class x');
281
- });
282
-
283
- it('addNodeFilter', () => {
284
- let result: ParseTestResult | undefined;
285
-
286
- const parser = DomParser(scenario.settings, schema);
287
- parser.addNodeFilter('#comment', (nodes, name, args) => {
288
- result = { nodes, name, args };
289
- });
290
- parser.parse('text<!--text1-->text<!--text2-->');
291
-
292
- assert.deepEqual(result?.args, {}, 'Parser args');
293
- assert.equal(result?.name, '#comment', 'Parser filter result name');
294
- assert.equal(result?.nodes.length, 2, 'Parser filter result node');
295
- assert.equal(result?.nodes[0].name, '#comment', 'Parser filter result node(0) name');
296
- assert.equal(result?.nodes[0].value, 'text1', 'Parser filter result node(0) value');
297
- assert.equal(result?.nodes[1].name, '#comment', 'Parser filter result node(1) name');
298
- assert.equal(result?.nodes[1].value, 'text2', 'Parser filter result node(1) value');
299
- });
300
-
301
- it('addNodeFilter multiple names', () => {
302
- const results: Record<string, ParseTestResult> = {};
303
-
304
- const parser = DomParser(scenario.settings, schema);
305
- parser.addNodeFilter('#comment,#text', (nodes, name, args) => {
306
- results[name] = { nodes, name, args };
307
- });
308
- parser.parse('text1<!--text1-->text2<!--text2-->');
309
-
310
- assert.deepEqual(results['#comment'].args, {}, 'Parser args');
311
- assert.equal(results['#comment'].name, '#comment', 'Parser filter result name');
312
- assert.equal(results['#comment'].nodes.length, 2, 'Parser filter result node');
313
- assert.equal(results['#comment'].nodes[0].name, '#comment', 'Parser filter result node(0) name');
314
- assert.equal(results['#comment'].nodes[0].value, 'text1', 'Parser filter result node(0) value');
315
- assert.equal(results['#comment'].nodes[1].name, '#comment', 'Parser filter result node(1) name');
316
- assert.equal(results['#comment'].nodes[1].value, 'text2', 'Parser filter result node(1) value');
317
- assert.deepEqual(results['#text'].args, {}, 'Parser args');
318
- assert.equal(results['#text'].name, '#text', 'Parser filter result name');
319
- assert.equal(results['#text'].nodes.length, 2, 'Parser filter result node');
320
- assert.equal(results['#text'].nodes[0].name, '#text', 'Parser filter result node(0) name');
321
- assert.equal(results['#text'].nodes[0].value, 'text1', 'Parser filter result node(0) value');
322
- assert.equal(results['#text'].nodes[1].name, '#text', 'Parser filter result node(1) name');
323
- assert.equal(results['#text'].nodes[1].value, 'text2', 'Parser filter result node(1) value');
324
- });
325
-
326
- it('addNodeFilter with parser args', () => {
327
- let result: ParseTestResult | undefined;
328
-
329
- const parser = DomParser(scenario.settings, schema);
330
- parser.addNodeFilter('#comment', (nodes, name, args) => {
331
- result = { nodes, name, args };
332
- });
333
- parser.parse('text<!--text1-->text<!--text2-->', { value: 1 });
334
-
335
- assert.deepEqual(result?.args, { value: 1 }, 'Parser args');
336
- });
337
-
338
- it('TINY-7847: removeNodeFilter', () => {
339
- const parser = DomParser(scenario.settings);
340
- const numFilters = parser.getNodeFilters().length;
341
- let called = false;
342
-
343
- const filter = (_nodes: AstNode[]) => {
344
- called = true;
345
- };
346
- parser.addNodeFilter('th,td', filter);
347
- parser.addNodeFilter('th,td', Fun.noop);
348
-
349
- assert.lengthOf(parser.getNodeFilters(), numFilters + 2, 'Before removing filters');
350
- parser.removeNodeFilter('th', filter);
351
- assert.lengthOf(parser.getNodeFilters(), numFilters + 2, 'After removing the first th node filter');
352
- assert.lengthOf(parser.getNodeFilters()[numFilters].callbacks, 1, 'th node callbacks');
353
- parser.removeNodeFilter('th', Fun.noop);
354
- assert.lengthOf(parser.getNodeFilters(), numFilters + 1, 'After removing the second th node filter');
355
- parser.removeNodeFilter('th,td');
356
- assert.lengthOf(parser.getNodeFilters(), numFilters, 'After removing all th and td node filters');
357
-
358
- // Ensure that after being removed the filters aren't called
359
- parser.parse('<table><tr><th></th><td></td></tr></table>');
360
- assert.isFalse(called);
361
- });
362
-
363
- it('addAttributeFilter', () => {
364
- let result: ParseTestResult | undefined;
365
-
366
- const parser = DomParser(scenario.settings);
367
- parser.addAttributeFilter('src', (nodes, name, args) => {
368
- result = { nodes, name, args };
369
- });
370
- parser.parse('<b>a<img src="1.gif" />b<img src="1.gif" />c</b>');
371
-
372
- assert.deepEqual(result?.args, {}, 'Parser args');
373
- assert.equal(result?.name, 'src', 'Parser filter result name');
374
- assert.equal(result?.nodes.length, 2, 'Parser filter result node');
375
- assert.equal(result?.nodes[0].name, 'img', 'Parser filter result node(0) name');
376
- assert.equal(result?.nodes[0].attr('src'), '1.gif', 'Parser filter result node(0) attr');
377
- assert.equal(result?.nodes[1].name, 'img', 'Parser filter result node(1) name');
378
- assert.equal(result?.nodes[1].attr('src'), '1.gif', 'Parser filter result node(1) attr');
379
- });
380
-
381
- it('addAttributeFilter multiple', () => {
382
- const results: any = {};
383
-
384
- const parser = DomParser(scenario.settings);
385
- parser.addAttributeFilter('src,href', (nodes, name, args) => {
386
- results[name] = { nodes, name, args };
387
- });
388
- parser.parse('<b><a href="1.gif">a</a><img src="1.gif" />b<img src="1.gif" /><a href="2.gif">c</a></b>');
389
-
390
- assert.deepEqual(results.src.args, {}, 'Parser args');
391
- assert.equal(results.src.name, 'src', 'Parser filter result name');
392
- assert.equal(results.src.nodes.length, 2, 'Parser filter result node');
393
- assert.equal(results.src.nodes[0].name, 'img', 'Parser filter result node(0) name');
394
- assert.equal(results.src.nodes[0].attr('src'), '1.gif', 'Parser filter result node(0) attr');
395
- assert.equal(results.src.nodes[1].name, 'img', 'Parser filter result node(1) name');
396
- assert.equal(results.src.nodes[1].attr('src'), '1.gif', 'Parser filter result node(1) attr');
397
- assert.deepEqual(results.href.args, {}, 'Parser args');
398
- assert.equal(results.href.name, 'href', 'Parser filter result name');
399
- assert.equal(results.href.nodes.length, 2, 'Parser filter result node');
400
- assert.equal(results.href.nodes[0].name, 'a', 'Parser filter result node(0) name');
401
- assert.equal(results.href.nodes[0].attr('href'), '1.gif', 'Parser filter result node(0) attr');
402
- assert.equal(results.href.nodes[1].name, 'a', 'Parser filter result node(1) name');
403
- assert.equal(results.href.nodes[1].attr('href'), '2.gif', 'Parser filter result node(1) attr');
404
- });
405
-
406
- it('TINY-8888: mutating addNodeFilter -> addAttributeFilter', () => {
407
- const parser = DomParser(scenario.settings);
408
- parser.addNodeFilter('img', (nodes) => {
409
- Arr.each(nodes, (node) => node.attr('src', null));
410
- });
411
- parser.addAttributeFilter('src', () => {
412
- assert.fail('second src filter should not run, because src was removed');
413
- });
414
- parser.parse('<b>a<img src="1.gif" />b</b>');
415
- });
416
-
417
- it('TINY-8888: mutating addNodeFilter -> addNodeFilter', () => {
418
- const parser = DomParser(scenario.settings);
419
- parser.addNodeFilter('img', (nodes) => {
420
- Arr.each(nodes, (node) => node.remove());
421
- });
422
- parser.addNodeFilter('img', () => {
423
- assert.fail('second img filter should not run, because img was removed');
424
- });
425
- parser.parse('<b>a<img src="1.gif" />b</b>');
426
- });
427
-
428
- it('TINY-8888: mutating addAttributeFilter -> addAttributeFilter', () => {
429
- const parser = DomParser(scenario.settings);
430
- parser.addAttributeFilter('src', (nodes) => {
431
- Arr.each(nodes, (node) => node.attr('src', null));
432
- });
433
- parser.addAttributeFilter('src', () => {
434
- assert.fail('second src filter should not run, because src was removed');
435
- });
436
- parser.parse('<b>a<img src="1.gif" />b</b>');
437
- });
438
-
439
- it('TINY-8888: mutating addAttributeFilter only removes matching nodes', () => {
440
- const parser = DomParser(scenario.settings);
441
- parser.addAttributeFilter('src', (nodes) => {
442
- nodes[0].attr('src', null);
443
- });
444
- let ranIdFilter = false;
445
- parser.addAttributeFilter('src', (nodes) => {
446
- ranIdFilter = true;
447
- assert.lengthOf(nodes, 1);
448
- assert.equal(nodes[0].attr('src'), '2.gif');
449
- });
450
- parser.parse('<b>a<img src="1.gif" />b<img src="2.gif" />c</b>');
451
- assert.isTrue(ranIdFilter, 'second filter should run, because only one src attribute was removed');
452
- });
453
-
454
- it('TINY-7847: removeAttributeFilter', () => {
455
- const parser = DomParser(scenario.settings);
456
- const numFilters = parser.getAttributeFilters().length;
457
- let called = false;
458
-
459
- const filter = (_nodes: AstNode[]) => {
460
- called = true;
461
- };
462
- parser.addAttributeFilter('controls,poster', filter);
463
- parser.addAttributeFilter('controls,poster', Fun.noop);
464
-
465
- assert.lengthOf(parser.getAttributeFilters(), numFilters + 2, 'Before removing filters');
466
- parser.removeAttributeFilter('controls', filter);
467
- assert.lengthOf(parser.getAttributeFilters(), numFilters + 2, 'After removing the first controls attribute filter');
468
- assert.lengthOf(parser.getAttributeFilters()[numFilters].callbacks, 1, 'controls attribute node callbacks');
469
- parser.removeAttributeFilter('controls', Fun.noop);
470
- assert.lengthOf(parser.getAttributeFilters(), numFilters + 1, 'After removing the second controls attribute filter');
471
- parser.removeAttributeFilter('controls,poster');
472
- assert.lengthOf(parser.getAttributeFilters(), numFilters, 'After removing all controls and poster attribute filter');
473
-
474
- // Ensure that after being removed the filters aren't called
475
- parser.parse('<video controls poster="about:blank"></video>');
476
- assert.isFalse(called);
477
- });
478
-
479
- it('Fix orphan LI elements', () => {
480
- let parser = DomParser(scenario.settings, schema);
481
- let root = parser.parse('<ul><li>a</li></ul><li>b</li>');
482
- assert.equal(serializer.serialize(root), '<ul><li>a</li><li>b</li></ul>', 'LI moved to previous sibling UL');
483
-
484
- parser = DomParser(scenario.settings, schema);
485
- root = parser.parse('<li>a</li><ul><li>b</li></ul>');
486
- assert.equal(serializer.serialize(root), '<ul><li>a</li><li>b</li></ul>', 'LI moved to next sibling UL');
487
-
488
- parser = DomParser(scenario.settings, schema);
489
- root = parser.parse('<ol><li>a</li></ol><li>b</li>');
490
- assert.equal(serializer.serialize(root), '<ol><li>a</li><li>b</li></ol>', 'LI moved to previous sibling OL');
491
-
492
- parser = DomParser(scenario.settings, schema);
493
- root = parser.parse('<li>a</li><ol><li>b</li></ol>');
494
- assert.equal(serializer.serialize(root), '<ol><li>a</li><li>b</li></ol>', 'LI moved to next sibling OL');
495
-
496
- parser = DomParser(scenario.settings, schema);
497
- root = parser.parse('<li>a</li>');
498
- assert.equal(serializer.serialize(root), '<ul><li>a</li></ul>', 'LI wrapped in new UL');
499
- });
500
-
501
- it('Remove empty elements', () => {
502
- const schema = Schema({ valid_elements: 'span,-a,img' });
503
-
504
- let parser = DomParser(scenario.settings, schema);
505
- let root = parser.parse('<span></span><a href="#"></a>');
506
- assert.equal(serializer.serialize(root), '<span></span>', 'Remove empty a element');
507
-
508
- parser = DomParser(scenario.settings, Schema({ valid_elements: 'span,a[name],img' }));
509
- root = parser.parse('<span></span><a name="anchor"></a>');
510
- assert.equal(serializer.serialize(root), '<span></span><a name="anchor"></a>', 'Leave a with name attribute');
511
-
512
- parser = DomParser(scenario.settings, Schema({ valid_elements: 'span,a[href],img[src]' }));
513
- root = parser.parse('<span></span><a href="#"><img src="about:blank" /></a>');
514
- assert.equal(
515
- serializer.serialize(root),
516
- '<span></span><a href="#"><img src="about:blank"></a>',
517
- 'Leave elements with img in it'
518
- );
519
- });
520
-
521
- it('Self closing list elements', () => {
522
- const schema = Schema();
523
-
524
- const parser = DomParser(scenario.settings, schema);
525
- const root = parser.parse('<ul><li>1<li><b>2</b><li><em><b>3</b></em></ul>');
526
- assert.equal(
527
- serializer.serialize(root),
528
- '<ul><li>1</li><li><strong>2</strong></li><li><em><strong>3</strong></em></li></ul>',
529
- 'Split out LI elements in LI elements.'
530
- );
531
- });
532
-
533
- it('Forced root blocks', () => {
534
- const schema = Schema();
535
-
536
- const parser = DomParser({ forced_root_block: 'p', ...scenario.settings }, schema);
537
- const root = parser.parse(
538
- '<!-- a -->' +
539
- 'b' +
540
- '<b>c</b>' +
541
- '<p>d</p>' +
542
- '<p>e</p>' +
543
- 'f' +
544
- '<b>g</b>' +
545
- 'h'
546
- );
547
- assert.equal(
548
- serializer.serialize(root),
549
- '<!-- a --><p>b<strong>c</strong></p><p>d</p><p>e</p><p>f<strong>g</strong>h</p>',
550
- 'Mixed text nodes, inline elements and blocks.'
551
- );
552
- });
553
-
554
- it('Forced root blocks attrs', () => {
555
- const schema = Schema();
556
-
557
- const parser = DomParser({ forced_root_block: 'p', forced_root_block_attrs: { class: 'class1' }, ...scenario.settings }, schema);
558
- const root = parser.parse(
559
- '<!-- a -->' +
560
- 'b' +
561
- '<b>c</b>' +
562
- '<p>d</p>' +
563
- '<p>e</p>' +
564
- 'f' +
565
- '<b>g</b>' +
566
- 'h'
567
- );
568
- assert.equal(serializer.serialize(root), '<!-- a -->' +
569
- '<p class="class1">b<strong>c</strong></p>' +
570
- '<p>d</p>' +
571
- '<p>e</p>' +
572
- '<p class="class1">f<strong>g</strong>h</p>',
573
- 'Mixed text nodes, inline elements and blocks.');
574
- });
575
-
576
- it('Parse html4 lists into html5 lists', () => {
577
- const schema = Schema();
578
-
579
- const parser = DomParser({ fix_list_elements: true, ...scenario.settings }, schema);
580
- const root = parser.parse('<ul><ul><li>a</li></ul></ul><ul><li>a</li><ul><li>b</li></ul></ul>');
581
- assert.equal(
582
- serializer.serialize(root),
583
- '<ul><li style="list-style-type: none"><ul><li>a</li></ul></li></ul><ul><li>a<ul><li>b</li></ul></li></ul>'
584
- );
585
- });
586
-
587
- it('Parse contents with html4 anchors and allow_html_in_named_anchor: false', () => {
588
- const schema = Schema();
589
-
590
- const parser = DomParser({ allow_html_in_named_anchor: false, ...scenario.settings }, schema);
591
- const root = parser.parse('<a name="x">a</a><a href="x">x</a>');
592
- assert.equal(serializer.serialize(root), '<a name="x"></a>a<a href="x">x</a>');
593
- });
594
-
595
- it('Parse contents with html5 anchors and allow_html_in_named_anchor: false', () => {
596
- const schema = Schema({ schema: 'html5' });
597
-
598
- const parser = DomParser({ allow_html_in_named_anchor: false, ...scenario.settings }, schema);
599
- const root = parser.parse('<a id="x">a</a><a href="x">x</a>');
600
- assert.equal(serializer.serialize(root), '<a id="x"></a>a<a href="x">x</a>');
601
- });
602
-
603
- it('Parse contents with html4 anchors and allow_html_in_named_anchor: true', () => {
604
- const schema = Schema();
605
-
606
- const parser = DomParser({ allow_html_in_named_anchor: true, ...scenario.settings }, schema);
607
- const root = parser.parse('<a name="x">a</a><a href="x">x</a>');
608
- assert.equal(serializer.serialize(root), '<a name="x">a</a><a href="x">x</a>');
609
- });
610
-
611
- it('Parse contents with html5 anchors and allow_html_in_named_anchor: true', () => {
612
- const schema = Schema({ schema: 'html5' });
613
-
614
- const parser = DomParser({ allow_html_in_named_anchor: true, ...scenario.settings }, schema);
615
- const root = parser.parse('<a id="x">a</a><a href="x">x</a>');
616
- assert.equal(serializer.serialize(root), '<a id="x">a</a><a href="x">x</a>');
617
- });
618
-
619
- it('Parse contents with html5 self closing datalist options', () => {
620
- const schema = Schema({ schema: 'html5' });
621
-
622
- const parser = DomParser(scenario.settings, schema);
623
- const root = parser.parse(
624
- '<datalist><option label="a1" value="b1"><option label="a2" value="b2"><option label="a3" value="b3"></datalist>'
625
- );
626
- assert.equal(
627
- serializer.serialize(root),
628
- '<datalist><option label="a1" value="b1"></option><option label="a2" value="b2"></option>' +
629
- '<option label="a3" value="b3"></option></datalist>'
630
- );
631
- });
632
-
633
- it('Parse inline contents before block bug #5424', () => {
634
- const schema = Schema({ schema: 'html5' });
635
-
636
- const parser = DomParser(scenario.settings, schema);
637
- const root = parser.parse('<strong>1</strong> 2<p>3</p>');
638
- assert.equal(serializer.serialize(root), '<strong>1</strong> 2<p>3</p>');
639
- });
640
-
641
- it('Invalid text blocks within a li', () => {
642
- const schema = Schema({ schema: 'html5', valid_children: '-li[p]' });
643
-
644
- const parser = DomParser(scenario.settings, schema);
645
- const root = parser.parse('<ul><li>1<p>2</p></li><li>a<p>b</p><p>c</p></li></ul>');
646
- assert.equal(serializer.serialize(root), '<ul><li>12</li><li>ab</li><li>c</li></ul>');
647
- });
648
-
649
- it('Invalid inline element with space before', () => {
650
- const schema = Schema();
651
-
652
- const parser = DomParser(scenario.settings, schema);
653
- const root = parser.parse('<p><span>1</span> <strong>2</strong></p>');
654
- assert.equal(serializer.serialize(root), '<p>1 <strong>2</strong></p>');
655
- });
656
-
657
- it('Valid classes', () => {
658
- const schema = Schema({ valid_classes: 'classA classB' });
659
-
660
- const parser = DomParser(scenario.settings, schema);
661
- const root = parser.parse('<p class="classA classB classC">a</p>');
662
- assert.equal(serializer.serialize(root), '<p class="classA classB">a</p>');
663
- });
664
-
665
- it('Valid classes multiple elements', () => {
666
- const schema = Schema({ valid_classes: { '*': 'classA classB', 'strong': 'classC' }});
667
-
668
- const parser = DomParser(scenario.settings, schema);
669
- const root = parser.parse('<p class="classA classB classC"><strong class="classA classB classC classD">a</strong></p>');
670
- assert.equal(serializer.serialize(root), '<p class="classA classB"><strong class="classA classB classC">a</strong></p>');
671
- });
672
-
673
- it('Pad empty list blocks', () => {
674
- const schema = Schema();
675
-
676
- const parser = DomParser(scenario.settings, schema);
677
- const root = parser.parse('<ul><li></li></ul><ul><li> </li></ul>');
678
- assert.equal(serializer.serialize(root), '<ul><li>\u00a0</li></ul><ul><li>\u00a0</li></ul>');
679
- });
680
-
681
- it('TINY-9861: Pad empty with br', () => {
682
- const schema = Schema();
683
- const serializer = HtmlSerializer({ }, schema);
684
-
685
- const parser1 = DomParser({ pad_empty_with_br: true }, schema);
686
- const root1 = parser1.parse('<p>a</p><p></p>');
687
- assert.equal(serializer.serialize(root1), '<p>a</p><p><br></p>');
688
-
689
- const parser2 = DomParser({ pad_empty_with_br: false }, schema);
690
- const root2 = parser2.parse('<p>a</p><p></p>');
691
- assert.equal(serializer.serialize(root2), '<p>a</p><p>\u00A0</p>');
692
- });
693
-
694
- it('Pad empty and prefer br on insert', () => {
695
- const schema = Schema();
696
-
697
- const parser = DomParser(scenario.settings, schema);
698
- const root = parser.parse('<ul><li></li><li> </li><li><br /></li><li>\u00a0</li><li>a</li></ul>', { insert: true });
699
- assert.equal(serializer.serialize(root), '<ul><li><br data-mce-bogus="1"></li><li><br data-mce-bogus="1"></li><li><br></li><li><br data-mce-bogus="1"></li><li>a</li></ul>');
700
- });
701
-
702
- it('Preserve space in inline span', () => {
703
- const schema = Schema();
704
-
705
- const parser = DomParser(scenario.settings, schema);
706
- const root = parser.parse('a<span> </span>b');
707
- assert.equal(serializer.serialize(root), 'a b');
708
- });
709
-
710
- it('Bug #7543 removes whitespace between bogus elements before a block', () => {
711
- const serializer = HtmlSerializer();
712
-
713
- assert.equal(
714
- serializer.serialize(DomParser(scenario.settings).parse(
715
- '<div><b data-mce-bogus="1">a</b> <b data-mce-bogus="1">b</b><p>c</p></div>')
716
- ),
717
- '<div>a b<p>c</p></div>'
718
- );
719
- });
720
-
721
- it('Bug #7582 removes whitespace between bogus elements before a block', () => {
722
- const serializer = HtmlSerializer();
723
-
724
- assert.equal(
725
- serializer.serialize(DomParser(scenario.settings).parse(
726
- '<div>1 <span data-mce-bogus="1">2</span><div>3</div></div>')
727
- ),
728
- '<div>1 2<div>3</div></div>'
729
- );
730
- });
731
-
732
- it('do not replace starting linebreak with space', () => {
733
- const serializer = HtmlSerializer();
734
-
735
- assert.equal(
736
- serializer.serialize(DomParser(scenario.settings).parse('<p>a<br />\nb</p>')),
737
- '<p>a<br>b</p>'
738
- );
739
- });
740
-
741
- it('Preserve internal elements', () => {
742
- const html = '<span id="id" class="class"><b>text</b></span><span id="test" data-mce-type="something"></span>';
743
-
744
- const parser1 = DomParser(scenario.settings, Schema({ valid_elements: 'b' }));
745
- const serializerHtml1 = serializer.serialize(parser1.parse(html));
746
- assert.equal(
747
- serializerHtml1,
748
- '<b>text</b><span id="test" data-mce-type="something"></span>',
749
- 'Preserve internal span element without any span schema rule.'
750
- );
751
-
752
- const parser2 = DomParser(scenario.settings, Schema({ valid_elements: 'b,span[class]' }));
753
- const serializerHtml2 = serializer.serialize(parser2.parse(html));
754
- assert.equal(
755
- serializerHtml2,
756
- '<span class="class"><b>text</b></span><span id="test" data-mce-type="something"></span>',
757
- 'Preserve internal span element with a span schema rule.'
758
- );
759
-
760
- const serializedHtml3 = serializer.serialize(parser1.parse('<b data-mce-type="test" id="x" style="color: red" src="1" data="2" onclick="3"></b>'));
761
- assert.equal(
762
- serializedHtml3,
763
- '<b data-mce-type="test" id="x" style="color: red"></b>',
764
- 'Removes disallowed elements'
765
- );
766
- });
767
-
768
- // TINY-9624: Safari encodes the iframe innerHTML is `&lt;textarea&gt;`. On Chrome and Firefox, the innerHTML is `<textarea>`, causing
769
- // the mXSS cleaner in DOMPurify to run and remove the iframe.
770
- it('parse iframe XSS', () => {
771
- const serializer = HtmlSerializer();
772
-
773
- assert.equal(
774
- serializer.serialize(DomParser(scenario.settings).parse('<iframe><textarea></iframe><img src="a" onerror="alert(document.domain)" />')),
775
- browser.isSafari() || !scenario.isSanitizeEnabled ? '<iframe><textarea></iframe><img src="a">' : '<img src="a">'
776
- );
777
- });
778
-
779
- it('Conditional comments (allowed)', () => {
780
- const parser = DomParser({ allow_conditional_comments: true, validate: false, ...scenario.settings }, schema);
781
- const html = '<!--[if gte IE 4]>alert(1)<![endif]-->';
782
- const serializedHtml = serializer.serialize(parser.parse(html));
783
- assert.equal(serializedHtml, '<!--[if gte IE 4]>alert(1)<![endif]-->');
784
- });
785
-
786
- it('Conditional comments (denied)', () => {
787
- const parser = DomParser({ allow_conditional_comments: false, validate: false, ...scenario.settings }, schema);
788
-
789
- let serializedHtml = serializer.serialize(parser.parse('<!--[if gte IE 4]>alert(1)<![endif]-->'));
790
- assert.equal(serializedHtml, '<!-- [if gte IE 4]>alert(1)<![endif]-->');
791
-
792
- serializedHtml = serializer.serialize(parser.parse('<!--[if !IE]>alert(1)<![endif]-->'));
793
- assert.equal(serializedHtml, '<!-- [if !IE]>alert(1)<![endif]-->');
794
-
795
- serializedHtml = serializer.serialize(parser.parse('<!--[iF !IE]>alert(1)<![endif]-->'));
796
- assert.equal(serializedHtml, '<!-- [iF !IE]>alert(1)<![endif]-->');
797
- });
798
-
799
- it('allow_script_urls should allow any URIs', () => {
800
- const parser = DomParser({ allow_script_urls: true, ...scenario.settings });
801
- const html = '<a href="javascript:alert(1)">1</a>' +
802
- '<a href="data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">3</a>';
803
- const serializedHtml = serializer.serialize(parser.parse(html));
804
-
805
- assert.equal(serializedHtml,
806
- '<a href="javascript:alert(1)">1</a>' +
807
- '<a href="data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">3</a>'
808
- );
809
- });
810
-
811
- it('allow_html_data_urls should allow any data URIs, but not script URIs', () => {
812
- const parser = DomParser({ allow_html_data_urls: true, ...scenario.settings });
813
- const html = '<a href="javascript:alert(1)">1</a>' +
814
- '<a href="data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">2</a>' +
815
- '<a href="data:image/svg+xml;base64,x">3</a>';
816
- const serializedHtml = serializer.serialize(parser.parse(html));
817
-
818
- assert.equal(serializedHtml,
819
- '<a>1</a>' +
820
- '<a href="data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">2</a>' +
821
- '<a href="data:image/svg+xml;base64,x">3</a>'
822
- );
823
- });
824
-
825
- it('Parse script urls (disallow svg data image uris)', () => {
826
- const parser = DomParser({ allow_svg_data_urls: false, allow_html_data_urls: false, validate: false, ...scenario.settings }, schema);
827
- const html = '<a href="data:image/svg+xml;base64,x">1</a>' +
828
- '<img src="data:image/svg+xml;base64,x">';
829
- const serializedHtml = serializer.serialize(parser.parse(html));
830
-
831
- assert.equal(
832
- serializedHtml,
833
- '<a>1</a>' +
834
- '<img>'
835
- );
836
- });
837
-
838
- it('Parse script urls (denied)', () => {
839
- const parser = DomParser({ allow_script_urls: false, validate: false, ...scenario.settings }, schema);
840
- const html = '<a href="jAvaScript:alert(1)">1</a>' +
841
- '<a href="vbscript:alert(2)">2</a>' +
842
- '<a href="javascript:alert(3)">3</a>' +
843
- '<a href="\njavascript:alert(4)">4</a>' +
844
- '<a href="java\nscript:alert(5)">5</a>' +
845
- '<a href="java\tscript:alert(6)">6</a>' +
846
- '<a href="%6aavascript:alert(7)">7</a>' +
847
- '<a href="data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">8</a>' +
848
- '<a href=" dAt%61: tExt/html ; bAse64 , PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">9</a>' +
849
- '<object data="data:text/html;base64,PHN2Zy9vbmxvYWQ9YWxlcnQoMik+">10</object>' +
850
- '<button formaction="javascript:alert(11)">11</button>' +
851
- '<form action="javascript:alert(12)">12</form>' +
852
- '<table background="javascript:alert(13)"><tbody><tr><td>13</td></tr></tbody></table>' +
853
- '<a href="mhtml:14">14</a>' +
854
- '<a xlink:href="jAvaScript:alert(15)">15</a>' +
855
- '<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">' +
856
- '<a href="%E3%82%AA%E3%83%BC%E3%83">Invalid url</a>';
857
- const serializedHtml = serializer.serialize(parser.parse(html));
858
-
859
- assert.equal(
860
- serializedHtml,
861
- '<a>1</a>' +
862
- '<a>2</a>' +
863
- '<a>3</a>' +
864
- '<a>4</a>' +
865
- '<a>5</a>' +
866
- '<a>6</a>' +
867
- '<a>7</a>' +
868
- '<a>8</a>' +
869
- '<a>9</a>' +
870
- '<object>10</object>' +
871
- '<button>11</button>' +
872
- '<form>12</form>' +
873
- '<table><tbody><tr><td>13</td></tr></tbody></table>' +
874
- '<a>14</a>' +
875
- '<a>15</a>' +
876
- '<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">' +
877
- '<a href="%E3%82%AA%E3%83%BC%E3%83">Invalid url</a>'
878
- );
879
- });
880
-
881
- it('Parse svg urls (default)', () => {
882
- const parser = DomParser(scenario.settings);
883
- const serializedHtml = serializer.serialize(parser.parse(
884
- '<iframe src="data:image/svg+xml;base64,x"></iframe>' +
885
- '<a href="data:image/svg+xml;base64,x">1</a>' +
886
- '<object data="data:image/svg+xml;base64,x"></object>' +
887
- '<img src="data:image/svg+xml;base64,x">' +
888
- '<video poster="data:image/svg+xml;base64,x"></video>'
889
- ));
890
- assert.equal(serializedHtml,
891
- '<iframe></iframe>' +
892
- '<a>1</a>' +
893
- '<object></object>' +
894
- '<img src="data:image/svg+xml;base64,x">' +
895
- // parser allows svg data urls in <img> and <video> by default but DOMPurify sanitization removes it for <video>
896
- (scenario.isSanitizeEnabled ? '<video></video>' : '<video poster="data:image/svg+xml;base64,x"></video>')
897
- );
898
- });
899
-
900
- it('Parse svg urls (allowed)', () => {
901
- const parser = DomParser({ allow_svg_data_urls: true, ...scenario.settings });
902
- const serializedHtml = serializer.serialize(parser.parse(
903
- '<iframe src="data:image/svg+xml;base64,x"></iframe>' +
904
- '<a href="data:image/svg+xml;base64,x">1</a>' +
905
- '<object data="data:image/svg+xml;base64,x"></object>' +
906
- '<img src="data:image/svg+xml;base64,x">' +
907
- '<video poster="data:image/svg+xml;base64,x"></video>'
908
- ));
909
- assert.equal(serializedHtml,
910
- '<iframe src="data:image/svg+xml;base64,x"></iframe>' +
911
- '<a href="data:image/svg+xml;base64,x">1</a>' +
912
- '<object data="data:image/svg+xml;base64,x"></object>' +
913
- '<img src="data:image/svg+xml;base64,x">' +
914
- '<video poster="data:image/svg+xml;base64,x"></video>'
915
- );
916
- });
917
-
918
- it('Parse svg urls (denied)', () => {
919
- const parser = DomParser({ allow_svg_data_urls: false, ...scenario.settings });
920
- const serializedHtml = serializer.serialize(parser.parse(
921
- '<iframe src="data:image/svg+xml;base64,x"></iframe>' +
922
- '<a href="data:image/svg+xml;base64,x">1</a>' +
923
- '<object data="data:image/svg+xml;base64,x"></object>' +
924
- '<img src="data:image/svg+xml;base64,x">' +
925
- '<video poster="data:image/svg+xml;base64,x"></video>'
926
- ));
927
- assert.equal(serializedHtml,
928
- '<iframe></iframe>' +
929
- '<a>1</a>' +
930
- '<object></object>' +
931
- '<img>' +
932
- '<video></video>'
933
- );
934
- });
935
-
936
- it('getAttributeFilters/getNodeFilters', () => {
937
- const parser = DomParser(scenario.settings);
938
- const cb1: ParserFilterCallback = (_nodes, _name, _args) => {};
939
- const cb2: ParserFilterCallback = (_nodes, _name, _args) => {};
940
-
941
- parser.addAttributeFilter('attr', cb1);
942
- parser.addNodeFilter('node', cb2);
943
-
944
- const attrFilters = parser.getAttributeFilters();
945
- const nodeFilters = parser.getNodeFilters();
946
-
947
- assert.deepEqual(attrFilters[attrFilters.length - 1], { name: 'attr', callbacks: [ cb1 ] }, 'Should be expected filter');
948
- assert.deepEqual(nodeFilters[nodeFilters.length - 1], { name: 'node', callbacks: [ cb2 ] }, 'Should be expected filter');
949
- });
950
-
951
- it('extract base64 uris to blobcache if blob cache is provided', () => {
952
- const blobCache = BlobCache();
953
- const parser = DomParser({ blob_cache: blobCache, ...scenario.settings });
954
- const base64 = 'R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==';
955
- const base64Uri = `data:image/gif;base64,${base64}`;
956
- const serializedHtml = serializer.serialize(parser.parse(`<p><img src="${base64Uri}" /></p>`));
957
- const blobInfo = blobCache.findFirst((bi) => bi.base64() === base64) as BlobInfo;
958
- const blobUri = blobInfo.blobUri();
959
-
960
- assert.equal(
961
- serializedHtml,
962
- `<p><img src="${blobUri}"></p>`,
963
- 'Should be html with blob uri'
964
- );
965
-
966
- blobCache.destroy();
967
- });
968
-
969
- it('duplicate base64 uris added only once to blobcache if blob cache is provided', () => {
970
- const blobCache = BlobCache();
971
- const parser = DomParser({ blob_cache: blobCache, ...scenario.settings });
972
- const base64 = 'R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==';
973
- const gifBase64Uri = `data:image/gif;base64,${base64}`;
974
- const pngBase64Uri = `data:image/png;base64,${base64}`;
975
- const images = `<img src="${gifBase64Uri}" /><img src="${pngBase64Uri}" />`;
976
- const serializedHtml = serializer.serialize(parser.parse(`<p>${images}</p><p>${images}</p>`));
977
- let count = 0;
978
- blobCache.findFirst((bi) => {
979
- if (bi.base64() === base64) {
980
- count++;
981
- }
982
- return false;
983
- });
984
-
985
- assert.equal(count, 2, 'Only one image per mime type should be in the blob cache');
986
- assert.notInclude(serializedHtml, base64, 'HTML shouldn\'t include a base64 data URI');
987
- blobCache.destroy();
988
- });
989
-
990
- it('do not extract base64 uris for transparent or placeholder images used by for example the page break plugin', () => {
991
- const blobCache = BlobCache();
992
- const placeholderImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFklEQVR42mNk+P//PwMRgHFUIX0VAgAE3B3t0SaZ0AAAAABJRU5ErkJggg==';
993
- const parser = DomParser({ blob_cache: blobCache, ...scenario.settings });
994
- const html = `<p><img src="${Env.transparentSrc}" /><img src="${placeholderImg}" data-mce-placeholder="1"></p>`;
995
- const root = parser.parse(html);
996
-
997
- assert.equal(
998
- root.getAll('img')[0].attr('src'),
999
- Env.transparentSrc,
1000
- 'Should be the unchanged transparent image source'
1001
- );
1002
- assert.equal(
1003
- root.getAll('img')[1].attr('src'),
1004
- placeholderImg,
1005
- 'Should be the unchanged placeholder image source'
1006
- );
1007
-
1008
- blobCache.destroy();
1009
- });
1010
-
1011
- it('do not extract base64 uris if blob cache is not provided', () => {
1012
- const parser = DomParser(scenario.settings);
1013
- const html = '<p><img src="data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw=="></p>';
1014
- const serializedHtml = serializer.serialize(parser.parse(html));
1015
-
1016
- assert.equal(serializedHtml, html, 'Should be html with base64 uri retained');
1017
- });
1018
-
1019
- it('Parse away bogus elements', () => {
1020
- const testBogusParsing = (inputHtml: string, outputHtml: string) => {
1021
- const parser = DomParser(scenario.settings, schema);
1022
- const serializedHtml = serializer.serialize(parser.parse(inputHtml));
1023
- assert.equal(serializedHtml, outputHtml);
1024
- };
1025
-
1026
- testBogusParsing('a<b data-mce-bogus="1">b</b>c', 'abc');
1027
- testBogusParsing('a<b data-mce-bogus="true">b</b>c', 'abc');
1028
- testBogusParsing('a<b data-mce-bogus="1"></b>c', 'ac');
1029
- testBogusParsing('a<b data-mce-bogus="all">b</b>c', 'ac');
1030
- testBogusParsing('a<b data-mce-bogus="all"><!-- x --><?xml?></b>c', 'ac');
1031
- testBogusParsing('a<b data-mce-bogus="all"><b>b</b></b>c', 'ac');
1032
- testBogusParsing('a<b data-mce-bogus="all"><br>b</b><b>c</b>', 'a<b>c</b>');
1033
- testBogusParsing('a<b data-mce-bogus="all"><img>b</b><b>c</b>', 'a<b>c</b>');
1034
- testBogusParsing('a<b data-mce-bogus="all"><b attr="x">b</b></b>c', 'ac');
1035
- testBogusParsing('a<b data-mce-bogus="all"></b>c', 'ac');
1036
- testBogusParsing('a<b data-mce-bogus="all"></b><b>c</b>', 'a<b>c</b>');
1037
- });
1038
-
1039
- it('remove bogus elements even if not part of valid_elements', () => {
1040
- const parser = DomParser(scenario.settings, Schema({ valid_elements: 'p,span,' }));
1041
- const html = '<p>a <span data-mce-bogus="all">&nbsp;<span contenteditable="false">X</span>&nbsp;</span>b</p>';
1042
- const serializedHtml = serializer.serialize(parser.parse(html));
1043
-
1044
- assert.equal(serializedHtml, '<p>a b</p>');
1045
- });
1046
-
1047
- it('Parse cdata with comments', () => {
1048
- const parser = DomParser(scenario.settings, schema);
1049
-
1050
- const serializedHtml = serializer.serialize(parser.parse('<div><![CDATA[<!--x--><!--y--!>-->]]></div>', { format: 'html' }));
1051
- assert.equal(serializedHtml, '<div><!--[CDATA[<!--x----><!--y-->--&gt;]]&gt;</div>');
1052
-
1053
- const serializedXHtml = serializer.serialize(parser.parse('<div><![CDATA[<!--x--><!--y-->--><!--]]></div>', { format: 'xhtml' }));
1054
- assert.equal(serializedXHtml, '<div><![CDATA[<!--x--><!--y-->--><!--]]></div>');
1055
- });
1056
-
1057
- it('TINY-7756: Parsing invalid nested children', () => {
1058
- const schema = Schema({ valid_children: '-td[button|a|div]' });
1059
- const parser = DomParser(scenario.settings, schema);
1060
- const html = '<table><tr><td><button><a><meta /></a></button></td></tr></table>';
1061
- const serializedHtml = serializer.serialize(parser.parse(html));
1062
-
1063
- assert.equal(serializedHtml, '<table><tbody><tr><td></td></tr></tbody></table>', 'Should remove all invalid children but keep empty table');
1064
- });
1065
-
1066
- it('TINY-7756: Parsing invalid nested children with a valid child between', () => {
1067
- const parser = DomParser(scenario.settings);
1068
- const html =
1069
- '<table>' +
1070
- '<tbody>' +
1071
- '<tr>' +
1072
- '<td>' +
1073
- '<meta>' +
1074
- '<button>' +
1075
- '<img />' +
1076
- '<button>' +
1077
- '<a>' +
1078
- '<meta />' +
1079
- '</a>' +
1080
- '</button>' +
1081
- '<img />' +
1082
- '</button>' +
1083
- '</meta>' +
1084
- '</td>' +
1085
- '</tr>' +
1086
- '</tbody>' +
1087
- '</table>';
1088
- const serializedHtml = serializer.serialize(parser.parse(html));
1089
-
1090
- assert.equal(
1091
- serializedHtml,
1092
- '<table>' +
1093
- '<tbody>' +
1094
- '<tr>' +
1095
- '<td>' +
1096
- '<button>' +
1097
- '<img>' +
1098
- '</button>' +
1099
- '<button>' +
1100
- '<a></a>' +
1101
- '</button>' +
1102
- '<img>' +
1103
- '</td>' +
1104
- '</tr>' +
1105
- '</tbody>' +
1106
- '</table>'
1107
- );
1108
- });
1109
-
1110
- it('TINY-8205: Fixes up invalid children even when top-level element does not fit the context', () => {
1111
- const parser = DomParser(scenario.settings);
1112
- const html = '<p>Hello world! <button>This is a button with a meta tag in it<meta /></button></p>';
1113
- const serializedHtml = serializer.serialize(parser.parse(html, { context: 'p' }));
1114
-
1115
- assert.equal(serializedHtml, '<p>Hello world! <button>This is a button with a meta tag in it</button></p>');
1116
- });
1117
-
1118
- it('TINY-7756: should prevent dom clobbering overriding document/form properties', () => {
1119
- const parser = DomParser(scenario.settings, Schema({ valid_elements: '*[id|src|name|class]' }));
1120
- const html = '<img src="x" name="getElementById" />' +
1121
- '<input id="attributes" />' +
1122
- '<output id="style"></output>' +
1123
- '<button name="action"></button>' +
1124
- '<select name="getElementsByName"></select>' +
1125
- '<fieldset name="method"></fieldset>' +
1126
- '<textarea name="click"></textarea>';
1127
- const serializedHtml = serializer.serialize(parser.parse(html));
1128
-
1129
- assert.equal(serializedHtml,
1130
- // dom clobbering prevention handled by DOMPurify sanitization
1131
- scenario.isSanitizeEnabled
1132
- ?
1133
- ('<img src="x">' +
1134
- '<input>' +
1135
- '<output></output>' +
1136
- '<button></button>' +
1137
- '<select></select>' +
1138
- '<fieldset></fieldset>' +
1139
- '<textarea></textarea>')
1140
- :
1141
- ('<img src="x" name="getElementById">' +
1142
- '<input id="attributes">' +
1143
- '<output id="style"></output>' +
1144
- '<button name="action"></button>' +
1145
- '<select name="getElementsByName"></select>' +
1146
- '<fieldset name="method"></fieldset>' +
1147
- '<textarea name="click"></textarea>')
1148
- );
1149
- });
1150
-
1151
- it('TINY-8639: handling empty text inline elements when root block is empty', () => {
1152
- const html = '<p><strong></strong></p>' +
1153
- '<p><s></s></p>' +
1154
- '<p><span class="test"></span></p>' +
1155
- '<p><span style="color: red;"></span></p>' +
1156
- '<p><span></span></p>';
1157
-
1158
- // Assert default behaviour when padd_empty_block_inline_children is not specified (should be equivalent to false)
1159
- let parser = DomParser(scenario.settings, Schema({}));
1160
- let serializedHtml = serializer.serialize(parser.parse(html));
1161
-
1162
- assert.equal(serializedHtml,
1163
- '<p>\u00a0</p>' +
1164
- '<p>\u00a0</p>' +
1165
- '<p>\u00a0</p>' +
1166
- '<p>\u00a0</p>' +
1167
- '<p>\u00a0</p>'
1168
- );
1169
-
1170
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: false }));
1171
- serializedHtml = serializer.serialize(parser.parse(html));
1172
-
1173
- assert.equal(serializedHtml,
1174
- '<p>\u00a0</p>' +
1175
- '<p>\u00a0</p>' +
1176
- '<p>\u00a0</p>' +
1177
- '<p>\u00a0</p>' +
1178
- '<p>\u00a0</p>'
1179
- );
1180
-
1181
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: true }));
1182
- serializedHtml = serializer.serialize(parser.parse(html));
1183
-
1184
- assert.equal(serializedHtml,
1185
- '<p><strong>\u00a0</strong></p>' +
1186
- '<p><s>\u00a0</s></p>' +
1187
- '<p><span class="test">\u00a0</span></p>' +
1188
- '<p><span style="color: red;">\u00a0</span></p>' +
1189
- '<p>\u00a0</p>'
1190
- );
1191
- });
1192
-
1193
- it('TINY-8639: handling single space text inline elements when root block is otherwise empty', () => {
1194
- const html = '<p><strong> </strong></p>' +
1195
- '<p><s> </s></p>' +
1196
- '<p><span class="test"> </span></p>' +
1197
- '<p><span style="color: red;"> </span></p>' +
1198
- '<p><span> </span></p>';
1199
-
1200
- // Assert default behaviour when padd_empty_block_inline_children is not specified (should be equivalent to false)
1201
- let parser = DomParser(scenario.settings, Schema({}));
1202
- let serializedHtml = serializer.serialize(parser.parse(html));
1203
-
1204
- assert.equal(serializedHtml,
1205
- '<p><strong> </strong></p>' +
1206
- '<p><s> </s></p>' +
1207
- // isEmpty node logic considers a span with no style attribute and a single space to be empty (Node.ts -> isEmpty -> isEmptyTextNode)
1208
- '<p> </p>' +
1209
- '<p><span style="color: red;"> </span></p>' +
1210
- '<p>\u00a0</p>'
1211
- );
1212
-
1213
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: false }));
1214
- serializedHtml = serializer.serialize(parser.parse(html));
1215
-
1216
- assert.equal(serializedHtml,
1217
- '<p><strong> </strong></p>' +
1218
- '<p><s> </s></p>' +
1219
- // isEmpty node logic considers a span with no style attribute and a single space to be empty (Node.ts -> isEmpty -> isEmptyTextNode)
1220
- '<p> </p>' +
1221
- '<p><span style="color: red;"> </span></p>' +
1222
- '<p>\u00a0</p>'
1223
- );
1224
-
1225
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: true }));
1226
- serializedHtml = serializer.serialize(parser.parse(html));
1227
-
1228
- assert.equal(serializedHtml,
1229
- '<p><strong> </strong></p>' +
1230
- '<p><s> </s></p>' +
1231
- '<p><span class="test">\u00a0</span></p>' +
1232
- '<p><span style="color: red;"> </span></p>' +
1233
- '<p>\u00a0</p>'
1234
- );
1235
- });
1236
-
1237
- it('TINY-8639: handling single nbsp text inline elements when root block is otherwise empty', () => {
1238
- const html = '<p><strong>&nbsp;</strong></p>' +
1239
- '<p><s>&nbsp;</s></p>' +
1240
- '<p><span class="test">&nbsp;</span></p>' +
1241
- '<p><span style="color: red;">&nbsp;</span></p>' +
1242
- '<p><span>&nbsp;</span></p>';
1243
-
1244
- // Assert default behaviour when padd_empty_block_inline_children is not specified (should be equivalent to false)
1245
- let parser = DomParser(scenario.settings, Schema({}));
1246
- let serializedHtml = serializer.serialize(parser.parse(html));
1247
-
1248
- assert.equal(serializedHtml,
1249
- '<p><strong>\u00a0</strong></p>' +
1250
- '<p><s>\u00a0</s></p>' +
1251
- '<p><span class="test">\u00a0</span></p>' +
1252
- '<p><span style="color: red;">\u00a0</span></p>' +
1253
- '<p>\u00a0</p>'
1254
- );
1255
-
1256
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: false }));
1257
- serializedHtml = serializer.serialize(parser.parse(html));
1258
-
1259
- assert.equal(serializedHtml,
1260
- '<p><strong>\u00a0</strong></p>' +
1261
- '<p><s>\u00a0</s></p>' +
1262
- '<p><span class="test">\u00a0</span></p>' +
1263
- '<p><span style="color: red;">\u00a0</span></p>' +
1264
- '<p>\u00a0</p>'
1265
- );
1266
-
1267
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: true }));
1268
- serializedHtml = serializer.serialize(parser.parse(html));
1269
-
1270
- assert.equal(serializedHtml,
1271
- '<p><strong>\u00a0</strong></p>' +
1272
- '<p><s>\u00a0</s></p>' +
1273
- '<p><span class="test">\u00a0</span></p>' +
1274
- '<p><span style="color: red;">\u00a0</span></p>' +
1275
- '<p>\u00a0</p>'
1276
- );
1277
- });
1278
-
1279
- it('TINY-8639: should always remove empty inline element if it is not in an empty block', () => {
1280
- const html = '<p>ab<strong></strong>cd</p>' +
1281
- '<p>ab<s></s>cd</p>' +
1282
- '<p>ab<span class="test"></span>cd</p>' +
1283
- '<p>ab<span style="color: red;"></span>cd</p>' +
1284
- '<p>ab<span></span>cd</p>';
1285
-
1286
- // Assert default behaviour when padd_empty_block_inline_children is not specified (should be equivalent to false)
1287
- let parser = DomParser(scenario.settings, Schema({}));
1288
- let serializedHtml = serializer.serialize(parser.parse(html));
1289
-
1290
- assert.equal(serializedHtml,
1291
- '<p>abcd</p>' +
1292
- '<p>abcd</p>' +
1293
- '<p>abcd</p>' +
1294
- '<p>abcd</p>' +
1295
- '<p>abcd</p>'
1296
- );
1297
-
1298
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: false }));
1299
- serializedHtml = serializer.serialize(parser.parse(html));
1300
-
1301
- assert.equal(serializedHtml,
1302
- '<p>abcd</p>' +
1303
- '<p>abcd</p>' +
1304
- '<p>abcd</p>' +
1305
- '<p>abcd</p>' +
1306
- '<p>abcd</p>'
1307
- );
1308
-
1309
- parser = DomParser(scenario.settings, Schema({ padd_empty_block_inline_children: true }));
1310
- serializedHtml = serializer.serialize(parser.parse(html));
1311
-
1312
- assert.equal(serializedHtml,
1313
- '<p>abcd</p>' +
1314
- '<p>abcd</p>' +
1315
- '<p>abcd</p>' +
1316
- '<p>abcd</p>' +
1317
- '<p>abcd</p>'
1318
- );
1319
- });
1320
-
1321
- it('TINY-8780: Invalid special elements are removed entirely instead of being unwrapped', () => {
1322
- const parser = DomParser({ forced_root_block: 'p', ...scenario.settings }, Schema({ invalid_elements: 'script,style,iframe,textarea,div' }));
1323
- const html = '<script>var x = 1;</script>' +
1324
- '<style>.red-text { color: red; }</style>' +
1325
- '<iframe src="about:blank">content</iframe>' +
1326
- '<textarea>content</textarea>' +
1327
- '<p>paragraph</p>' +
1328
- '<div>div</div>';
1329
-
1330
- const serializedHtml = serializer.serialize(parser.parse(html));
1331
- assert.equal(serializedHtml, '<p>paragraph</p><p>div</p>');
1332
- });
1333
-
1334
- context('validate: false', () => {
1335
- it('invalid elements and attributes should not be removed', () => {
1336
- const parser = DomParser({ validate: false, ...scenario.settings }, Schema({ valid_elements: 'span[id]' }));
1337
- const html = '<p>Hello world! <strong>This is bold</strong> and <span style="text-decoration: underline">this is underlined content</span>.</p>';
1338
- const serializedHtml = serializer.serialize(parser.parse(html));
1339
-
1340
- assert.equal(serializedHtml, html);
1341
- });
1342
-
1343
- it('empty elements should not be removed', () => {
1344
- const customSchema = Schema({ valid_elements: 'span[style],strong' });
1345
- (customSchema.getElementRule('span') as SchemaElement).removeEmptyAttrs = true;
1346
- (customSchema.getElementRule('strong') as SchemaElement).removeEmpty = true;
1347
- const parser = DomParser({ validate: false, ...scenario.settings }, customSchema);
1348
- const html = '<p>Hello world! This should keep empty <strong></strong>elements <span></span>.</p>';
1349
- const serializedHtml = serializer.serialize(parser.parse(html));
1350
-
1351
- assert.equal(serializedHtml, html);
1352
- });
1353
-
1354
- it('empty elements should not be padded', () => {
1355
- const customSchema = Schema({ valid_elements: 'span' });
1356
- (customSchema.getElementRule('span') as SchemaElement).paddEmpty = true;
1357
- const parser = DomParser({ validate: false, ...scenario.settings }, customSchema);
1358
- const html = '<p>Hello world! <span></span></p>';
1359
- const serializedHtml = serializer.serialize(parser.parse(html));
1360
-
1361
- assert.equal(serializedHtml, html);
1362
- });
1363
-
1364
- it('bogus elements should be removed', () => {
1365
- const parser = DomParser({ validate: false, ...scenario.settings }, schema);
1366
- const html = '<p>Hello world! <span data-mce-bogus="1">This is inside a bogus element.</span></p><div data-mce-bogus="all"><strong>This is bogus content</strong></div>';
1367
- const serializedHtml = serializer.serialize(parser.parse(html));
1368
-
1369
- assert.equal(serializedHtml, '<p>Hello world! This is inside a bogus element.</p>');
1370
- });
1371
-
1372
- it('redundant whitespace should still be removed', () => {
1373
- const parser = DomParser({ validate: false, ...scenario.settings }, schema);
1374
- let root = parser.parse(' \t\r\n <P> \t\r\n test \t\r\n </P> \t\r\n ');
1375
- assert.equal(serializer.serialize(root), '<p>test</p>', 'Redundant whitespace (block element)');
1376
- assert.deepEqual(countNodes(root), { 'body': 1, 'p': 1, '#text': 1 }, 'Redundant whitespace (block element) (count)');
1377
-
1378
- root = parser.parse(' \t\r\n <PRE> \t\r\n test \t\r\n </PRE> \t\r\n ');
1379
- assert.equal(serializer.serialize(root), '<pre> \t\n test \t\n </pre>', 'Whitespace around and inside PRE');
1380
- assert.deepEqual(countNodes(root), { 'body': 1, 'pre': 1, '#text': 1 }, 'Whitespace around and inside PRE (count)');
1381
- });
1382
-
1383
- it('unsafe content should still be removed', () => {
1384
- const parser = DomParser({ validate: false, ...scenario.settings }, schema);
1385
- const html = '<p>Hello world!<a href="javascript:alert(1)">XSS</a></p>';
1386
- const serializedHtml = serializer.serialize(parser.parse(html));
1387
-
1388
- assert.equal(serializedHtml, '<p>Hello world!<a>XSS</a></p>');
1389
- });
1390
-
1391
- it('data and aria attributes should always be retained', () => {
1392
- const parser = DomParser(scenario.settings);
1393
- const html = '<p><a href="http://www.google.com/fake1" data-custom="custom" aria-invalid="true">Hello world!</a></p>';
1394
- const serializedHtml = serializer.serialize(parser.parse(html));
1395
-
1396
- assert.equal(serializedHtml, html);
1397
- });
1398
-
1399
- context('Transparent elements', () => {
1400
- const getTransparentElements = (schema: Schema) => Arr.unique(Arr.map(Obj.keys(schema.getTransparentElements()), (s) => s.toLowerCase()));
1401
-
1402
- const testTransparentElementsParsing = (testCase: { input: string; expected: string; domParserSettings?: DomParserSettings }) => {
1403
- const parser = DomParser({ ...scenario.settings, ...testCase.domParserSettings });
1404
- const serializedHtml = serializer.serialize(parser.parse(testCase.input));
1405
-
1406
- assert.equal(serializedHtml, testCase.expected);
1407
- };
1408
-
1409
- it('TINY-9172: inline transparents should not get data-mce-block attribute', () => {
1410
- const parser = DomParser(scenario.settings);
1411
- const innerHtml = Arr.map(getTransparentElements(parser.schema), (name) => `<${name}>text</${name}>`).join('');
1412
- const html = `<p>${innerHtml}</p>`;
1413
- const serializedHtml = serializer.serialize(parser.parse(html));
1414
-
1415
- assert.equal(serializedHtml, html);
1416
- });
1417
-
1418
- it('TINY-9172: root level transparents should not get data-mce-block attribute', () => {
1419
- const parser = DomParser(scenario.settings);
1420
- const html = Arr.map(getTransparentElements(parser.schema), (name) => `<${name}>text</${name}>`).join('');
1421
- const expectedHtml = Arr.map(getTransparentElements(parser.schema), (name) => `<${name}>text</${name}>`).join('');
1422
- const serializedHtml = serializer.serialize(parser.parse(html));
1423
-
1424
- assert.equal(serializedHtml, expectedHtml);
1425
- });
1426
-
1427
- it('TINY-9172: transparents wrapping blocks should get data-mce-block attribute', () => {
1428
- const parser = DomParser(scenario.settings);
1429
- const innerHtml = Arr.map(getTransparentElements(parser.schema), (name) => `<${name}><p>text</p></${name}>`).join('');
1430
- const html = `<div>${innerHtml}</div>`;
1431
- const expectedInnerHtml = Arr.map(getTransparentElements(parser.schema), (name) => `<${name} data-mce-block="true"><p>text</p></${name}>`).join('');
1432
- const expectedHtml = `<div>${expectedInnerHtml}</div>`;
1433
- const serializedHtml = serializer.serialize(parser.parse(html));
1434
-
1435
- assert.equal(serializedHtml, expectedHtml);
1436
- });
1437
-
1438
- it('TINY-9232: H1 in H1 should unwrap to single H1', () => testTransparentElementsParsing({
1439
- input: '<h1><a href="#"><h1>foo</h1></a></h1>',
1440
- expected: '<h1>foo</h1>'
1441
- }));
1442
-
1443
- it('TINY-9232: H1 and H2 in H1 should unwrap', () => testTransparentElementsParsing({
1444
- input: '<h1><a href="#"><h1>a</h1><h2>b</h2></a></h1>',
1445
- expected: '<h1>a</h1><h2>b</h2>'
1446
- }));
1447
-
1448
- it('TINY-9232: H1 and H2 in H1 should unwrap but text should remain links', () => testTransparentElementsParsing({
1449
- input: '<h1><a href="#">a<h1>b</h1>c<h2>d</h2>e</a></h1>',
1450
- expected: '<h1><a href="#">a</a></h1><h1>b</h1><h1><a href="#">c</a></h1><h2>d</h2><h1><a href="#">e</a></h1>'
1451
- }));
1452
-
1453
- it('TINY-9232: H1 in H1 in DIV should unwrap down to DIV', () => testTransparentElementsParsing({
1454
- input: '<div>a<h1><a href="#"><h1>b</h1></a></h1>c</div>',
1455
- expected: '<div>a<h1>b</h1>c</div>'
1456
- }));
1457
-
1458
- it('TINY-9232: Nested anchors wrapped in H1 and H2 should all unwrap', () => testTransparentElementsParsing({
1459
- input: '<h1><a href="#1"><h2><a href="#2"><h3>foo</h3></a></h2></a></h1>',
1460
- expected: '<h3>foo</h3>'
1461
- }));
1462
-
1463
- it('TINY-9232: H1 with content before and after anchor should be retained but the anchor should be unwrapped', () => testTransparentElementsParsing({
1464
- input: '<h1>a<a href="#"><h1>foo</h1></a>b</h1>',
1465
- expected: '<h1>a</h1><h1>foo</h1><h1>b</h1>'
1466
- }));
1467
-
1468
- it('TINY-9761: Transparent elements should not get paragraphs between them', () => testTransparentElementsParsing({
1469
- input: '<a href="#"><p>foo</p></a>\n<a href="#"><p>bar</p></a> \t<a href="#"><p>baz</p></a>',
1470
- expected: '<a href="#" data-mce-block="true"><p>foo</p></a><a href="#" data-mce-block="true"><p>bar</p></a><a href="#" data-mce-block="true"><p>baz</p></a>',
1471
- domParserSettings: {
1472
- forced_root_block: 'p'
1473
- }
1474
- }));
1475
- });
1476
- });
1477
-
1478
- context('Sandboxing iframes', () => {
1479
- context('sandbox_iframes', () => {
1480
- const testSandboxIframe = (sandbox: boolean, expected: string) => () => {
1481
- const parser = DomParser({ ...scenario.settings, sandbox_iframes: sandbox });
1482
- const serialized = serializer.serialize(parser.parse('<iframe src="about:blank"></iframe>'));
1483
- assert.equal(serialized, expected);
1484
- };
1485
-
1486
- it('TINY-10348: iframes should be sandboxed when sandbox_iframes: false',
1487
- testSandboxIframe(false, '<iframe src="about:blank"></iframe>'));
1488
-
1489
- it('TINY-10348: iframes should be sandboxed when sandbox_iframes: true',
1490
- testSandboxIframe(true, '<iframe src="about:blank" sandbox=""></iframe>'));
1491
- });
1492
-
1493
- context('sandbox_iframes_exclusions', () => {
1494
- const exclusions = [ 'tiny.cloud' ];
1495
- const parser = DomParser({ ...scenario.settings, sandbox_iframes: true, sandbox_iframes_exclusions: exclusions });
1496
-
1497
- const testSandboxIframeExclusions = (src: string, expected: string) => () => {
1498
- const serialized = serializer.serialize(parser.parse(`<iframe src="${src}"></iframe>`));
1499
- assert.equal(serialized, expected);
1500
- };
1501
-
1502
- it('TINY-10350: iframes should be sandboxed when sandbox_iframes: true and host is not excluded',
1503
- testSandboxIframeExclusions('https://www.example.com', '<iframe src="https://www.example.com" sandbox=""></iframe>'));
1504
-
1505
- it('TINY-10350: iframes should not be sandboxed when sandbox_iframes: true and host is excluded',
1506
- testSandboxIframeExclusions('https://www.tiny.cloud', '<iframe src="https://www.tiny.cloud"></iframe>'));
1507
-
1508
- it('TINY-10350: iframes with non-URL src should be sandboxed when sandbox_iframes: true',
1509
- testSandboxIframeExclusions('abc', '<iframe src="abc" sandbox=""></iframe>'));
1510
-
1511
- it('TINY-10350: iframes with no src should be sandboxed when sandbox_iframes: true', () => {
1512
- const serialized = serializer.serialize(parser.parse('<iframe></iframe>'));
1513
- assert.equal(serialized, '<iframe sandbox=""></iframe>');
1514
- });
1515
- });
1516
- });
1517
-
1518
- context('Convert unsafe embeds', () => {
1519
- const serializeEmbedHtml = (embedHtml: string, convert: boolean): string => {
1520
- const parser = DomParser({ ...scenario.settings, convert_unsafe_embeds: convert });
1521
- return serializer.serialize(parser.parse(embedHtml));
1522
- };
1523
-
1524
- const testConversion = (embedHtml: string, expectedHtml: string) => () => {
1525
- const serializedHtml = serializeEmbedHtml(embedHtml, true);
1526
- assert.equal(serializedHtml, expectedHtml);
1527
- };
1528
-
1529
- context('convert_unsafe_embeds: false', () => {
1530
- const testNoConversion = (embedHtml: string) => () => {
1531
- const serializedHtml = serializeEmbedHtml(embedHtml, false);
1532
- assert.equal(serializedHtml, embedHtml);
1533
- };
1534
-
1535
- it('TINY-10349: Object elements should not be converted', testNoConversion('<object data="about:blank"></object>'));
1536
- it('TINY-10349: Object elements with a mime type should not be converted', testNoConversion('<object data="about:blank" type="image/png"></object>'));
1537
- it('TINY-10349: Embed elements should notr be converted', testNoConversion('<embed src="about:blank">'));
1538
- it('TINY-10349: Embed elements with a mime type should not be converted', testNoConversion('<embed src="about:blank" type="image/png">'));
1539
- });
1540
-
1541
- context('convert_unsafe_embeds: true', () => {
1542
- it('TINY-10349: Object elements without a mime type should be converted to iframe',
1543
- testConversion('<object data="about:blank"></object>', '<iframe src="about:blank"></iframe>'));
1544
- it('TINY-10349: Object elements with an image mime type should be converted to img',
1545
- testConversion('<object data="about:blank" type="image/png"></object>', '<img src="about:blank">'));
1546
- it('TINY-10349: Object elements with a video mime type should be converted to video',
1547
- testConversion('<object data="about:blank" type="video/mp4"></object>', '<video src="about:blank" controls=""></video>'));
1548
- it('TINY-10349: Object elements with an audio mime type should be converted to audio',
1549
- testConversion('<object data="about:blank" type="audio/mpeg"></object>', '<audio src="about:blank" controls=""></audio>'));
1550
- it('TINY-10349: Object elements with other mime type should be converted to iframe',
1551
- testConversion('<object data="about:blank" type="application/pdf"></object>', '<iframe src="about:blank"></iframe>'));
1552
-
1553
- it('TINY-10349: Embed elements without a mime type should be converted to iframe',
1554
- testConversion('<embed src="about:blank">', '<iframe src="about:blank"></iframe>'));
1555
- it('TINY-10349: Embed elements with an image mime type should be converted to img',
1556
- testConversion('<embed src="about:blank" type="image/png">', '<img src="about:blank">'));
1557
- it('TINY-10349: Embed elements with a video mime type should be converted to video',
1558
- testConversion('<embed src="about:blank" type="video/mp4">', '<video src="about:blank" controls=""></video>'));
1559
- it('TINY-10349: Embed elements with an audio mime type should be converted to audio',
1560
- testConversion('<embed src="about:blank" type="audio/mpeg">', '<audio src="about:blank" controls=""></audio>'));
1561
- it('TINY-10349: Embed elements with other mime type should be converted to iframe',
1562
- testConversion('<embed src="about:blank" type="application/pdf">', '<iframe src="about:blank"></iframe>'));
1563
- });
1564
-
1565
- context('convert_unsafe_embeds: true, sandbox_iframes: true', () => {
1566
- const testSandboxedConversion = (embedHtml: string, expectedHtml: string) => () => {
1567
- const parser = DomParser({ ...scenario.settings, convert_unsafe_embeds: true, sandbox_iframes: true });
1568
- const serializedHtml = serializer.serialize(parser.parse(embedHtml));
1569
- assert.equal(serializedHtml, expectedHtml);
1570
- };
1571
-
1572
- it('TINY-10349: Object elements without a mime type should be converted to sandboxed iframe',
1573
- testSandboxedConversion('<object data="about:blank"></object>', '<iframe src="about:blank" sandbox=""></iframe>'));
1574
-
1575
- it('TINY-10349: Embed elements without a mime type should be converted to sandboxed iframe',
1576
- testSandboxedConversion('<embed src="about:blank">', '<iframe src="about:blank" sandbox=""></iframe>'));
1577
- });
1578
-
1579
- context('convert_unsafe_embeds: true, attribute preservation', () => {
1580
- it('TINY-10349: Object elements should perserve width and height attributes only',
1581
- testConversion('<object data="about:blank" width="100" height="100" style="color: red;"></object>', '<iframe src="about:blank" width="100" height="100"></iframe>'));
1582
- it('TINY-10349: Object elements with an image mime type should perserve width and height attributes only',
1583
- testConversion('<object data="about:blank" type="image/png" width="100" height="100" style="color: red;"></object>', '<img src="about:blank" width="100" height="100">'));
1584
- it('TINY-10349: Object elements with a video mime type should perserve width and height attributes only',
1585
- testConversion('<object data="about:blank" type="video/mp4" width="100" height="100" style="color: red;"></object>', '<video src="about:blank" width="100" height="100" controls=""></video>'));
1586
- it('TINY-10349: Object elements with an audio mime type should not perserve other attributes only',
1587
- testConversion('<object data="about:blank" type="audio/mpeg" width="100" height="100" style="color: red;"></object>', '<audio src="about:blank" controls=""></audio>'));
1588
- it('TINY-10349: Object elements with other mime type should perserve width and height attributes only',
1589
- testConversion('<object data="about:blank" type="application/pdf" width="100" height="100" style="color: red;"></object>', '<iframe src="about:blank" width="100" height="100"></iframe>'));
1590
-
1591
- it('TINY-10349: Embed elements should preserve width and heigth attributes only',
1592
- testConversion('<embed src="about:blank" width="100" height="100" style="color: red;">', '<iframe src="about:blank" width="100" height="100"></iframe>'));
1593
- it('TINY-10349: Embed elements with an image mime type should preserve width and height attributes only',
1594
- testConversion('<embed src="about:blank" type="image/png" width="100" height="100" style="color: red;">', '<img src="about:blank" width="100" height="100">'));
1595
- it('TINY-10349: Embed elements with a video mime type should preserve width and height attributes only',
1596
- testConversion('<embed src="about:blank" type="video/mp4" width="100" height="100" style="color: red;">', '<video src="about:blank" width="100" height="100" controls=""></video>'));
1597
- it('TINY-10349: Embed elements with an audio mime type should not preserve other attributes',
1598
- testConversion('<embed src="about:blank" type="audio/mpeg" width="100" height="100" style="color: red;">', '<audio src="about:blank" controls=""></audio>'));
1599
- it('TINY-10349: Embed elements with other mime type should preserve width and height attributes only',
1600
- testConversion('<embed src="about:blank" type="application/pdf" width="100" height="100" style="color: red;">', '<iframe src="about:blank" width="100" height="100"></iframe>'));
1601
- });
1602
- });
1603
- });
1604
- });
1605
-
1606
- context('TINY-9600: sanitize: false with unsafe input', () => {
1607
- const getNoSanitizeParser = (settings: DomParserSettings, schema: Schema): DomParser =>
1608
- DomParser({ ...settings, sanitize: false }, schema);
1609
-
1610
- const testDisablingSanitization = (outputs: string[], schemaSettings: SchemaSettings) => {
1611
- Arr.each([
1612
- {
1613
- name: 'script tags',
1614
- input: '<script>alert(1)</script>'
1615
- }, {
1616
- name: 'iframe tags with child nodes',
1617
- input: '<iframe src="https://example.com"><p>Lorem ipsum</p></iframe>'
1618
- }, {
1619
- name: 'iframe tags with srcdoc attribute',
1620
- input: '<iframe srcdoc="Lorem ipsum"></iframe>'
1621
- }, {
1622
- name: 'unsafe href attributes',
1623
- input: '<p><a href="javascript:alert(1)">XSS</a></p>'
1624
- },
1625
- {
1626
- name: 'svg tags',
1627
- input: '<svg><circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow"></circle></svg>'
1628
- }
1629
- ], (testCase, i) => {
1630
- it(testCase.name, () => {
1631
- const schema = Schema(schemaSettings);
1632
- const serializedHtml = HtmlSerializer({}, schema).serialize(
1633
- getNoSanitizeParser({}, schema).parse(testCase.input)
1634
- );
1635
- assert.equal(serializedHtml, outputs[i]);
1636
- });
1637
- });
1638
- };
1639
-
1640
- context('with default schema', () => {
1641
- testDisablingSanitization([
1642
- '',
1643
- '<iframe src="https://example.com"><p>Lorem ipsum</p></iframe>',
1644
- '<iframe></iframe>',
1645
- '<p><a>XSS</a></p>',
1646
- ''
1647
- ], {});
1648
- });
1649
-
1650
- context('with valid_elements: \'*[*]\' schema', () => {
1651
- testDisablingSanitization([
1652
- '<script>alert(1)</script>',
1653
- '<iframe src="https://example.com"><p>Lorem ipsum</p></iframe>',
1654
- '<iframe srcdoc="Lorem ipsum"></iframe>',
1655
- '<p><a>XSS</a></p>',
1656
- '<svg><circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow"></circle></svg>'
1657
- ], { valid_elements: '*[*]' });
1658
- });
1659
- });
1660
-
1661
- context('SVG elements', () => {
1662
- it('TINY-10237: Should not wrap SVGs', () => {
1663
- const schema = Schema();
1664
- schema.addValidElements('svg[*]');
1665
- const input = '<svg></svg>foo';
1666
- const serializedHtml = HtmlSerializer({}, schema).serialize(DomParser({ forced_root_block: 'p' }, schema).parse(input));
1667
- assert.equal(serializedHtml, '<svg></svg><p>foo</p>');
1668
- });
1669
-
1670
- it('TINY-10237: Should retain SVG elements as is but filter out scripts', () => {
1671
- const schema = Schema();
1672
- schema.addValidElements('svg[*]');
1673
- const input = '<svg><circle><desc><b>foo</b><script>alert(1)</script></desc></circle></svg>foo';
1674
- const serializedHtml = HtmlSerializer({}, schema).serialize(DomParser({ forced_root_block: 'p' }, schema).parse(input));
1675
- assert.equal(serializedHtml, '<svg><circle><desc><b>foo</b></desc></circle></svg><p>foo</p>');
1676
- });
1677
-
1678
- it('TINY-10237: Should retain SVG elements and keep scripts if sanitize is set to false', () => {
1679
- const schema = Schema();
1680
- schema.addValidElements('svg[*]');
1681
- const input = '<svg><circle><desc>foo<script>alert(1)</script></desc></circle></svg>foo';
1682
- const serializedHtml = HtmlSerializer({}, schema).serialize(DomParser({ forced_root_block: 'p', sanitize: false }, schema).parse(input));
1683
- assert.equal(serializedHtml, '<svg><circle><desc>foo<script>alert(1)</script></desc></circle></svg><p>foo</p>');
1684
- });
1685
-
1686
- it('TINY-10273: Trim whitespace before or after but not inside SVG elements at root level', () => {
1687
- const schema = Schema();
1688
- schema.addValidElements('svg[*]');
1689
- const input = ' <svg> <circle> </circle> </svg> <svg> <circle> </circle> </svg> ';
1690
- const serializedHtml = HtmlSerializer({}, schema).serialize(DomParser({ forced_root_block: 'p' }, schema).parse(input));
1691
- assert.equal(serializedHtml, '<svg> <circle> </circle> </svg><svg> <circle> </circle> </svg>');
1692
- });
1693
-
1694
- it('TINY-10273: Trim whitespace before or after but not between or inside SVG elements when inside a block element', () => {
1695
- const schema = Schema();
1696
- schema.addValidElements('svg[*]');
1697
- const input = '<div> <svg> <circle> </circle> </svg> <svg> <circle> </circle> </svg> </div>';
1698
- const serializedHtml = HtmlSerializer({}, schema).serialize(DomParser({ forced_root_block: 'p' }, schema).parse(input));
1699
- assert.equal(serializedHtml, '<div><svg> <circle> </circle> </svg> <svg> <circle> </circle> </svg></div>');
1700
- });
1701
- });
1702
- });