@sapui5/sap.ui.richtexteditor 1.136.2 → 1.138.0

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 (448) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/richtexteditor/.library +1 -1
  3. package/src/sap/ui/richtexteditor/RTESplitButton.js +1 -1
  4. package/src/sap/ui/richtexteditor/RichTextEditor.js +43 -43
  5. package/src/sap/ui/richtexteditor/ToolbarWrapper.js +1 -1
  6. package/src/sap/ui/richtexteditor/js/tiny_mce7/icons/default/icons.js +234 -0
  7. package/src/sap/ui/richtexteditor/js/tiny_mce7/icons/default/icons.min.js +7 -0
  8. package/src/sap/ui/richtexteditor/js/tiny_mce7/icons/default/index.js +13 -0
  9. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ar.js +7 -0
  10. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/bg_BG.js +7 -0
  11. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ca.js +7 -0
  12. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/cs.js +7 -0
  13. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/cy.js +1 -0
  14. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/da.js +7 -0
  15. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/de.js +7 -0
  16. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/el.js +7 -0
  17. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/en_GB.js +261 -0
  18. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/es.js +7 -0
  19. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/es_MX.js +1 -0
  20. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/eu.js +7 -0
  21. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/fa.js +7 -0
  22. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/fi.js +7 -0
  23. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/fr_FR.js +7 -0
  24. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/he_IL.js +7 -0
  25. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/hi.js +7 -0
  26. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/hr.js +7 -0
  27. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/hu_HU.js +7 -0
  28. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/id.js +7 -0
  29. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/it.js +7 -0
  30. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ja.js +7 -0
  31. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/kk.js +7 -0
  32. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ko_KR.js +7 -0
  33. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/lt.js +1 -0
  34. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/lv.js +1 -0
  35. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ms.js +7 -0
  36. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/nb_NO.js +7 -0
  37. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/nl.js +7 -0
  38. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/pl.js +7 -0
  39. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/pt_BR.js +7 -0
  40. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/pt_PT.js +7 -0
  41. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ro.js +7 -0
  42. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/ru.js +7 -0
  43. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sk.js +7 -0
  44. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sl_SI.js +7 -0
  45. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sr.js +1 -0
  46. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/sv_SE.js +7 -0
  47. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/th_TH.js +7 -0
  48. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/tr.js +7 -0
  49. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/uk.js +7 -0
  50. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/vi.js +7 -0
  51. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/zh_CN.js +7 -0
  52. package/src/sap/ui/richtexteditor/js/tiny_mce7/langs/zh_TW.js +7 -0
  53. package/src/sap/ui/richtexteditor/js/tiny_mce7/license.txt +5 -0
  54. package/src/sap/ui/richtexteditor/js/tiny_mce7/models/dom/index.js +13 -0
  55. package/src/sap/ui/richtexteditor/js/tiny_mce7/models/dom/model.js +8147 -0
  56. package/src/sap/ui/richtexteditor/js/tiny_mce7/models/dom/model.min.js +9 -0
  57. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/accordion/index.js +13 -0
  58. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/accordion/plugin.js +1062 -0
  59. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/accordion/plugin.min.js +9 -0
  60. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/CHANGELOG.md +45 -0
  61. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/codemirror.min.js +13 -0
  62. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/customeditor.js +10 -0
  63. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/customeditor.min.js +10 -0
  64. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/index.js +3 -0
  65. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ar.js +35 -0
  66. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/bg_BG.js +35 -0
  67. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ca.js +35 -0
  68. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/cs.js +35 -0
  69. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/da.js +35 -0
  70. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/de.js +35 -0
  71. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/el.js +35 -0
  72. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/es.js +35 -0
  73. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/eu.js +35 -0
  74. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/fa.js +35 -0
  75. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/fi.js +35 -0
  76. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/fr_FR.js +35 -0
  77. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/he_IL.js +35 -0
  78. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/hi.js +35 -0
  79. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/hr.js +35 -0
  80. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/hu_HU.js +35 -0
  81. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/id.js +35 -0
  82. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/it.js +35 -0
  83. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ja.js +35 -0
  84. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/kk.js +35 -0
  85. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ko_KR.js +35 -0
  86. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ms.js +35 -0
  87. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/nb_NO.js +35 -0
  88. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/nl.js +35 -0
  89. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/pl.js +35 -0
  90. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/pt_BR.js +35 -0
  91. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/pt_PT.js +35 -0
  92. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ro.js +35 -0
  93. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/ru.js +35 -0
  94. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/sk.js +35 -0
  95. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/sl_SI.js +35 -0
  96. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/sv_SE.js +35 -0
  97. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/th_TH.js +35 -0
  98. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/tr.js +35 -0
  99. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/uk.js +35 -0
  100. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/vi.js +35 -0
  101. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/zh_CN.js +35 -0
  102. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/langs/zh_TW.js +35 -0
  103. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/license.txt +5 -0
  104. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/plugin.js +10 -0
  105. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/plugin.min.js +10 -0
  106. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/readme.txt +10 -0
  107. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advcode/version.txt +1 -0
  108. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advlist/index.js +13 -0
  109. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advlist/plugin.js +298 -0
  110. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/advlist/plugin.min.js +9 -0
  111. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/anchor/index.js +13 -0
  112. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/anchor/plugin.js +219 -0
  113. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/anchor/plugin.min.js +9 -0
  114. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autolink/index.js +13 -0
  115. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autolink/plugin.js +233 -0
  116. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autolink/plugin.min.js +9 -0
  117. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autoresize/index.js +13 -0
  118. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autoresize/plugin.js +184 -0
  119. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autoresize/plugin.min.js +9 -0
  120. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autosave/index.js +13 -0
  121. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autosave/plugin.js +239 -0
  122. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/autosave/plugin.min.js +9 -0
  123. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/charmap/index.js +13 -0
  124. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/charmap/plugin.js +1663 -0
  125. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/charmap/plugin.min.js +9 -0
  126. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/code/index.js +13 -0
  127. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/code/plugin.js +90 -0
  128. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/code/plugin.min.js +9 -0
  129. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/codesample/index.js +13 -0
  130. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/codesample/plugin.js +2468 -0
  131. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/codesample/plugin.min.js +9 -0
  132. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/directionality/index.js +13 -0
  133. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/directionality/plugin.js +395 -0
  134. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/directionality/plugin.min.js +9 -0
  135. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/index.js +13 -0
  136. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojiimages.js +7 -0
  137. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojiimages.min.js +9 -0
  138. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojis.js +7 -0
  139. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/js/emojis.min.js +8 -0
  140. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/plugin.js +601 -0
  141. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/emoticons/plugin.min.js +9 -0
  142. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/fullscreen/index.js +13 -0
  143. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/fullscreen/plugin.js +1266 -0
  144. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/fullscreen/plugin.min.js +9 -0
  145. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/index.js +13 -0
  146. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ar.js +99 -0
  147. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/bg_BG.js +99 -0
  148. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ca.js +99 -0
  149. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/cs.js +99 -0
  150. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/da.js +99 -0
  151. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/de.js +99 -0
  152. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/el.js +99 -0
  153. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/en.js +99 -0
  154. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/es.js +99 -0
  155. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/eu.js +99 -0
  156. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/fa.js +99 -0
  157. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/fi.js +99 -0
  158. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/fr_FR.js +99 -0
  159. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/he_IL.js +99 -0
  160. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/hi.js +99 -0
  161. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/hr.js +99 -0
  162. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/hu_HU.js +99 -0
  163. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/id.js +99 -0
  164. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/it.js +99 -0
  165. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ja.js +99 -0
  166. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/kk.js +99 -0
  167. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ko_KR.js +99 -0
  168. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ms.js +99 -0
  169. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/nb_NO.js +99 -0
  170. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/nl.js +99 -0
  171. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/pl.js +99 -0
  172. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/pt_BR.js +99 -0
  173. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/pt_PT.js +99 -0
  174. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ro.js +99 -0
  175. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/ru.js +99 -0
  176. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/sk.js +99 -0
  177. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/sl_SI.js +99 -0
  178. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/sv_SE.js +99 -0
  179. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/th_TH.js +99 -0
  180. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/tr.js +99 -0
  181. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/uk.js +99 -0
  182. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/vi.js +99 -0
  183. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/zh_CN.js +93 -0
  184. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/js/i18n/keynav/zh_TW.js +99 -0
  185. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/plugin.js +931 -0
  186. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/help/plugin.min.js +9 -0
  187. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/image/index.js +13 -0
  188. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/image/plugin.js +1513 -0
  189. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/image/plugin.min.js +9 -0
  190. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/importcss/index.js +13 -0
  191. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/importcss/plugin.js +350 -0
  192. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/importcss/plugin.min.js +9 -0
  193. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/insertdatetime/index.js +13 -0
  194. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/insertdatetime/plugin.js +192 -0
  195. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/insertdatetime/plugin.min.js +9 -0
  196. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/link/index.js +13 -0
  197. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/link/plugin.js +1337 -0
  198. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/link/plugin.min.js +9 -0
  199. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/lists/index.js +13 -0
  200. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/lists/plugin.js +2186 -0
  201. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/lists/plugin.min.js +9 -0
  202. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/media/index.js +13 -0
  203. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/media/plugin.js +1229 -0
  204. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/media/plugin.min.js +9 -0
  205. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/index.js +1 -0
  206. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ar.js +12 -0
  207. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/bg_BG.js +12 -0
  208. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ca.js +12 -0
  209. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/cs.js +12 -0
  210. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/da.js +12 -0
  211. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/de.js +12 -0
  212. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/el.js +12 -0
  213. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/es.js +12 -0
  214. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/eu.js +12 -0
  215. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/fa.js +12 -0
  216. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/fi.js +12 -0
  217. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/fr_FR.js +12 -0
  218. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/he_IL.js +12 -0
  219. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/hi.js +12 -0
  220. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/hr.js +12 -0
  221. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/hu_HU.js +12 -0
  222. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/id.js +12 -0
  223. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/it.js +12 -0
  224. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ja.js +12 -0
  225. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/kk.js +12 -0
  226. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ko_KR.js +12 -0
  227. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ms.js +12 -0
  228. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/nb_NO.js +12 -0
  229. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/nl.js +12 -0
  230. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/pl.js +12 -0
  231. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/pt_BR.js +12 -0
  232. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/pt_PT.js +12 -0
  233. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ro.js +12 -0
  234. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/ru.js +12 -0
  235. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/sk.js +12 -0
  236. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/sl_SI.js +12 -0
  237. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/sv_SE.js +12 -0
  238. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/th_TH.js +12 -0
  239. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/tr.js +12 -0
  240. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/uk.js +12 -0
  241. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/vi.js +12 -0
  242. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/zh_CN.js +12 -0
  243. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/langs/zh_TW.js +12 -0
  244. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/license.txt +5 -0
  245. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/plugin.js +10 -0
  246. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/plugin.min.js +10 -0
  247. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/readme.txt +10 -0
  248. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/mergetags/version.txt +1 -0
  249. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/nonbreaking/index.js +13 -0
  250. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/nonbreaking/plugin.js +128 -0
  251. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/nonbreaking/plugin.min.js +9 -0
  252. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/pagebreak/index.js +13 -0
  253. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/pagebreak/plugin.js +122 -0
  254. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/pagebreak/plugin.min.js +9 -0
  255. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/CHANGELOG.md +20 -0
  256. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/index.js +2 -0
  257. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/js/wordimport.js +23102 -0
  258. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ar.js +19 -0
  259. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/bg_BG.js +19 -0
  260. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ca.js +19 -0
  261. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/cs.js +19 -0
  262. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/da.js +19 -0
  263. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/de.js +19 -0
  264. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/el.js +19 -0
  265. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/es.js +19 -0
  266. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/eu.js +19 -0
  267. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/fa.js +19 -0
  268. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/fi.js +19 -0
  269. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/fr_FR.js +19 -0
  270. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/he_IL.js +19 -0
  271. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/hi.js +19 -0
  272. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/hr.js +19 -0
  273. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/hu_HU.js +19 -0
  274. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/id.js +19 -0
  275. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/it.js +19 -0
  276. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ja.js +19 -0
  277. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/kk.js +19 -0
  278. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ko_KR.js +19 -0
  279. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ms.js +19 -0
  280. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/nb_NO.js +19 -0
  281. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/nl.js +19 -0
  282. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/pl.js +19 -0
  283. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/pt_BR.js +19 -0
  284. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/pt_PT.js +19 -0
  285. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ro.js +19 -0
  286. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/ru.js +19 -0
  287. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/sk.js +19 -0
  288. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/sl_SI.js +19 -0
  289. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/sv_SE.js +19 -0
  290. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/th_TH.js +19 -0
  291. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/tr.js +19 -0
  292. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/uk.js +19 -0
  293. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/vi.js +19 -0
  294. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/zh_CN.js +19 -0
  295. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/langs/zh_TW.js +19 -0
  296. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/license.txt +5 -0
  297. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/plugin.js +10 -0
  298. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/plugin.min.js +10 -0
  299. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/readme.txt +17 -0
  300. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/powerpaste/version.txt +1 -0
  301. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/preview/index.js +13 -0
  302. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/preview/plugin.js +598 -0
  303. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/preview/plugin.min.js +9 -0
  304. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/quickbars/index.js +13 -0
  305. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/quickbars/plugin.js +463 -0
  306. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/quickbars/plugin.min.js +9 -0
  307. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/save/index.js +13 -0
  308. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/save/plugin.js +124 -0
  309. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/save/plugin.min.js +9 -0
  310. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/searchreplace/index.js +13 -0
  311. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/searchreplace/plugin.js +1103 -0
  312. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/searchreplace/plugin.min.js +9 -0
  313. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/table/index.js +13 -0
  314. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/table/plugin.js +3466 -0
  315. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/table/plugin.min.js +9 -0
  316. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/CHANGELOG.md +56 -0
  317. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/css/tinycomments.css +9 -0
  318. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/css/tinycomments.js +10 -0
  319. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/index.js +3 -0
  320. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/js/tinycomments-sidebar.js +10 -0
  321. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/js/tinycomments-sidebar.min.js +10 -0
  322. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ar.js +58 -0
  323. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/bg_BG.js +58 -0
  324. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ca.js +58 -0
  325. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/cs.js +58 -0
  326. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/da.js +58 -0
  327. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/de.js +58 -0
  328. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/el.js +58 -0
  329. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/es.js +58 -0
  330. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/eu.js +58 -0
  331. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/fa.js +58 -0
  332. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/fi.js +58 -0
  333. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/fr_FR.js +58 -0
  334. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/he_IL.js +58 -0
  335. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/hi.js +58 -0
  336. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/hr.js +58 -0
  337. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/hu_HU.js +58 -0
  338. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/id.js +58 -0
  339. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/it.js +58 -0
  340. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ja.js +58 -0
  341. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/kk.js +58 -0
  342. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ko_KR.js +58 -0
  343. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ms.js +58 -0
  344. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/nb_NO.js +58 -0
  345. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/nl.js +58 -0
  346. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/pl.js +58 -0
  347. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/pt_BR.js +58 -0
  348. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/pt_PT.js +58 -0
  349. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ro.js +58 -0
  350. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/ru.js +58 -0
  351. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/sk.js +58 -0
  352. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/sl_SI.js +58 -0
  353. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/sv_SE.js +58 -0
  354. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/th_TH.js +58 -0
  355. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/tr.js +58 -0
  356. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/uk.js +58 -0
  357. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/vi.js +58 -0
  358. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/zh_CN.js +58 -0
  359. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/langs/zh_TW.js +58 -0
  360. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/license.txt +5 -0
  361. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/plugin.js +10 -0
  362. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/plugin.min.js +10 -0
  363. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/readme.txt +10 -0
  364. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/tinycomments/version.txt +1 -0
  365. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualblocks/index.js +13 -0
  366. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualblocks/plugin.js +105 -0
  367. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualblocks/plugin.min.js +9 -0
  368. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualchars/index.js +13 -0
  369. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualchars/plugin.js +567 -0
  370. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/visualchars/plugin.min.js +9 -0
  371. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/wordcount/index.js +13 -0
  372. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/wordcount/plugin.js +420 -0
  373. package/src/sap/ui/richtexteditor/js/tiny_mce7/plugins/wordcount/plugin.min.js +9 -0
  374. package/src/sap/ui/richtexteditor/js/tiny_mce7/readme.txt +12 -0
  375. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/dark/content.css +72 -0
  376. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/dark/content.js +7 -0
  377. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/dark/content.min.css +7 -0
  378. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/default/content.css +67 -0
  379. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/default/content.js +7 -0
  380. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/default/content.min.css +7 -0
  381. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/document/content.css +72 -0
  382. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/document/content.js +7 -0
  383. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/document/content.min.css +7 -0
  384. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5/content.css +67 -0
  385. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5/content.js +7 -0
  386. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5/content.min.css +7 -0
  387. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5-dark/content.css +72 -0
  388. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5-dark/content.js +7 -0
  389. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/tinymce-5-dark/content.min.css +7 -0
  390. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/writer/content.css +68 -0
  391. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/writer/content.js +7 -0
  392. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/content/writer/content.min.css +7 -0
  393. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.css +890 -0
  394. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.inline.css +884 -0
  395. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.inline.js +7 -0
  396. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.inline.min.css +7 -0
  397. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.js +7 -0
  398. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/content.min.css +7 -0
  399. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.css +4766 -0
  400. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.js +7 -0
  401. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.min.css +7 -0
  402. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.shadowdom.css +36 -0
  403. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.shadowdom.js +7 -0
  404. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  405. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.css +878 -0
  406. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.inline.css +884 -0
  407. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.inline.js +7 -0
  408. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.inline.min.css +7 -0
  409. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.js +7 -0
  410. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/content.min.css +7 -0
  411. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.css +4769 -0
  412. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.js +7 -0
  413. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.min.css +7 -0
  414. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.shadowdom.css +36 -0
  415. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.shadowdom.js +7 -0
  416. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  417. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.css +890 -0
  418. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.inline.css +884 -0
  419. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.inline.js +7 -0
  420. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.inline.min.css +7 -0
  421. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.js +7 -0
  422. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/content.min.css +7 -0
  423. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.css +4880 -0
  424. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.js +7 -0
  425. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.min.css +7 -0
  426. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.shadowdom.css +36 -0
  427. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.shadowdom.js +7 -0
  428. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5/skin.shadowdom.min.css +7 -0
  429. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.css +878 -0
  430. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.inline.css +884 -0
  431. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.inline.js +7 -0
  432. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.inline.min.css +7 -0
  433. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.js +7 -0
  434. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/content.min.css +7 -0
  435. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.css +4880 -0
  436. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.js +7 -0
  437. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.min.css +7 -0
  438. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.shadowdom.css +36 -0
  439. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.shadowdom.js +7 -0
  440. package/src/sap/ui/richtexteditor/js/tiny_mce7/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +7 -0
  441. package/src/sap/ui/richtexteditor/js/tiny_mce7/themes/silver/index.js +13 -0
  442. package/src/sap/ui/richtexteditor/js/tiny_mce7/themes/silver/theme.js +31928 -0
  443. package/src/sap/ui/richtexteditor/js/tiny_mce7/themes/silver/theme.min.js +337 -0
  444. package/src/sap/ui/richtexteditor/js/tiny_mce7/tinymce.d.ts +3313 -0
  445. package/src/sap/ui/richtexteditor/js/tiny_mce7/tinymce.js +32267 -0
  446. package/src/sap/ui/richtexteditor/js/tiny_mce7/tinymce.min.js +336 -0
  447. package/src/sap/ui/richtexteditor/js/tiny_mce7/version.txt +1 -0
  448. package/src/sap/ui/richtexteditor/library.js +9 -3
@@ -0,0 +1,1229 @@
1
+ /*!
2
+ * TinyMCE
3
+ *
4
+ * Copyright (c) 2025 Ephox Corporation DBA Tiny Technologies, Inc.
5
+ * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/
6
+ *
7
+ * Version: 7.7.2
8
+ */
9
+
10
+ (function () {
11
+ 'use strict';
12
+
13
+ var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager');
14
+
15
+ const hasProto = (v, constructor, predicate) => {
16
+ var _a;
17
+ if (predicate(v, constructor.prototype)) {
18
+ return true;
19
+ } else {
20
+ return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
21
+ }
22
+ };
23
+ const typeOf = x => {
24
+ const t = typeof x;
25
+ if (x === null) {
26
+ return 'null';
27
+ } else if (t === 'object' && Array.isArray(x)) {
28
+ return 'array';
29
+ } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {
30
+ return 'string';
31
+ } else {
32
+ return t;
33
+ }
34
+ };
35
+ const isType = type => value => typeOf(value) === type;
36
+ const isString = isType('string');
37
+ const isObject = isType('object');
38
+ const isArray = isType('array');
39
+ const isNullable = a => a === null || a === undefined;
40
+ const isNonNullable = a => !isNullable(a);
41
+
42
+ class Optional {
43
+ constructor(tag, value) {
44
+ this.tag = tag;
45
+ this.value = value;
46
+ }
47
+ static some(value) {
48
+ return new Optional(true, value);
49
+ }
50
+ static none() {
51
+ return Optional.singletonNone;
52
+ }
53
+ fold(onNone, onSome) {
54
+ if (this.tag) {
55
+ return onSome(this.value);
56
+ } else {
57
+ return onNone();
58
+ }
59
+ }
60
+ isSome() {
61
+ return this.tag;
62
+ }
63
+ isNone() {
64
+ return !this.tag;
65
+ }
66
+ map(mapper) {
67
+ if (this.tag) {
68
+ return Optional.some(mapper(this.value));
69
+ } else {
70
+ return Optional.none();
71
+ }
72
+ }
73
+ bind(binder) {
74
+ if (this.tag) {
75
+ return binder(this.value);
76
+ } else {
77
+ return Optional.none();
78
+ }
79
+ }
80
+ exists(predicate) {
81
+ return this.tag && predicate(this.value);
82
+ }
83
+ forall(predicate) {
84
+ return !this.tag || predicate(this.value);
85
+ }
86
+ filter(predicate) {
87
+ if (!this.tag || predicate(this.value)) {
88
+ return this;
89
+ } else {
90
+ return Optional.none();
91
+ }
92
+ }
93
+ getOr(replacement) {
94
+ return this.tag ? this.value : replacement;
95
+ }
96
+ or(replacement) {
97
+ return this.tag ? this : replacement;
98
+ }
99
+ getOrThunk(thunk) {
100
+ return this.tag ? this.value : thunk();
101
+ }
102
+ orThunk(thunk) {
103
+ return this.tag ? this : thunk();
104
+ }
105
+ getOrDie(message) {
106
+ if (!this.tag) {
107
+ throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
108
+ } else {
109
+ return this.value;
110
+ }
111
+ }
112
+ static from(value) {
113
+ return isNonNullable(value) ? Optional.some(value) : Optional.none();
114
+ }
115
+ getOrNull() {
116
+ return this.tag ? this.value : null;
117
+ }
118
+ getOrUndefined() {
119
+ return this.value;
120
+ }
121
+ each(worker) {
122
+ if (this.tag) {
123
+ worker(this.value);
124
+ }
125
+ }
126
+ toArray() {
127
+ return this.tag ? [this.value] : [];
128
+ }
129
+ toString() {
130
+ return this.tag ? `some(${ this.value })` : 'none()';
131
+ }
132
+ }
133
+ Optional.singletonNone = new Optional(false);
134
+
135
+ const nativePush = Array.prototype.push;
136
+ const each$1 = (xs, f) => {
137
+ for (let i = 0, len = xs.length; i < len; i++) {
138
+ const x = xs[i];
139
+ f(x, i);
140
+ }
141
+ };
142
+ const flatten = xs => {
143
+ const r = [];
144
+ for (let i = 0, len = xs.length; i < len; ++i) {
145
+ if (!isArray(xs[i])) {
146
+ throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
147
+ }
148
+ nativePush.apply(r, xs[i]);
149
+ }
150
+ return r;
151
+ };
152
+
153
+ const Cell = initial => {
154
+ let value = initial;
155
+ const get = () => {
156
+ return value;
157
+ };
158
+ const set = v => {
159
+ value = v;
160
+ };
161
+ return {
162
+ get,
163
+ set
164
+ };
165
+ };
166
+
167
+ const keys = Object.keys;
168
+ const hasOwnProperty = Object.hasOwnProperty;
169
+ const each = (obj, f) => {
170
+ const props = keys(obj);
171
+ for (let k = 0, len = props.length; k < len; k++) {
172
+ const i = props[k];
173
+ const x = obj[i];
174
+ f(x, i);
175
+ }
176
+ };
177
+ const get$1 = (obj, key) => {
178
+ return has(obj, key) ? Optional.from(obj[key]) : Optional.none();
179
+ };
180
+ const has = (obj, key) => hasOwnProperty.call(obj, key);
181
+
182
+ const option = name => editor => editor.options.get(name);
183
+ const register$2 = editor => {
184
+ const registerOption = editor.options.register;
185
+ registerOption('audio_template_callback', { processor: 'function' });
186
+ registerOption('video_template_callback', { processor: 'function' });
187
+ registerOption('iframe_template_callback', { processor: 'function' });
188
+ registerOption('media_live_embeds', {
189
+ processor: 'boolean',
190
+ default: true
191
+ });
192
+ registerOption('media_filter_html', {
193
+ processor: 'boolean',
194
+ default: true
195
+ });
196
+ registerOption('media_url_resolver', { processor: 'function' });
197
+ registerOption('media_alt_source', {
198
+ processor: 'boolean',
199
+ default: true
200
+ });
201
+ registerOption('media_poster', {
202
+ processor: 'boolean',
203
+ default: true
204
+ });
205
+ registerOption('media_dimensions', {
206
+ processor: 'boolean',
207
+ default: true
208
+ });
209
+ };
210
+ const getAudioTemplateCallback = option('audio_template_callback');
211
+ const getVideoTemplateCallback = option('video_template_callback');
212
+ const getIframeTemplateCallback = option('iframe_template_callback');
213
+ const hasLiveEmbeds = option('media_live_embeds');
214
+ const shouldFilterHtml = option('media_filter_html');
215
+ const getUrlResolver = option('media_url_resolver');
216
+ const hasAltSource = option('media_alt_source');
217
+ const hasPoster = option('media_poster');
218
+ const hasDimensions = option('media_dimensions');
219
+
220
+ var global$5 = tinymce.util.Tools.resolve('tinymce.util.Tools');
221
+
222
+ var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
223
+
224
+ var global$3 = tinymce.util.Tools.resolve('tinymce.html.DomParser');
225
+
226
+ const DOM$1 = global$4.DOM;
227
+ const trimPx = value => value.replace(/px$/, '');
228
+ const getEphoxEmbedData = node => {
229
+ const style = node.attr('style');
230
+ const styles = style ? DOM$1.parseStyle(style) : {};
231
+ return {
232
+ type: 'ephox-embed-iri',
233
+ source: node.attr('data-ephox-embed-iri'),
234
+ altsource: '',
235
+ poster: '',
236
+ width: get$1(styles, 'max-width').map(trimPx).getOr(''),
237
+ height: get$1(styles, 'max-height').map(trimPx).getOr('')
238
+ };
239
+ };
240
+ const htmlToData = (html, schema) => {
241
+ let data = {};
242
+ const parser = global$3({
243
+ validate: false,
244
+ forced_root_block: false
245
+ }, schema);
246
+ const rootNode = parser.parse(html);
247
+ for (let node = rootNode; node; node = node.walk()) {
248
+ if (node.type === 1) {
249
+ const name = node.name;
250
+ if (node.attr('data-ephox-embed-iri')) {
251
+ data = getEphoxEmbedData(node);
252
+ break;
253
+ } else {
254
+ if (!data.source && name === 'param') {
255
+ data.source = node.attr('movie');
256
+ }
257
+ if (name === 'iframe' || name === 'object' || name === 'embed' || name === 'video' || name === 'audio') {
258
+ if (!data.type) {
259
+ data.type = name;
260
+ }
261
+ data = global$5.extend(node.attributes.map, data);
262
+ }
263
+ if (name === 'source') {
264
+ if (!data.source) {
265
+ data.source = node.attr('src');
266
+ } else if (!data.altsource) {
267
+ data.altsource = node.attr('src');
268
+ }
269
+ }
270
+ if (name === 'img' && !data.poster) {
271
+ data.poster = node.attr('src');
272
+ }
273
+ }
274
+ }
275
+ }
276
+ data.source = data.source || data.src || '';
277
+ data.altsource = data.altsource || '';
278
+ data.poster = data.poster || '';
279
+ return data;
280
+ };
281
+
282
+ const guess = url => {
283
+ var _a;
284
+ const mimes = {
285
+ mp3: 'audio/mpeg',
286
+ m4a: 'audio/x-m4a',
287
+ wav: 'audio/wav',
288
+ mp4: 'video/mp4',
289
+ webm: 'video/webm',
290
+ ogg: 'video/ogg',
291
+ swf: 'application/x-shockwave-flash'
292
+ };
293
+ const fileEnd = (_a = url.toLowerCase().split('.').pop()) !== null && _a !== void 0 ? _a : '';
294
+ return get$1(mimes, fileEnd).getOr('');
295
+ };
296
+
297
+ var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node');
298
+
299
+ var global$1 = tinymce.util.Tools.resolve('tinymce.html.Serializer');
300
+
301
+ const Parser = (schema, settings = {}) => global$3({
302
+ forced_root_block: false,
303
+ validate: false,
304
+ allow_conditional_comments: true,
305
+ ...settings
306
+ }, schema);
307
+
308
+ const DOM = global$4.DOM;
309
+ const addPx = value => /^[0-9.]+$/.test(value) ? value + 'px' : value;
310
+ const updateEphoxEmbed = (data, node) => {
311
+ const style = node.attr('style');
312
+ const styleMap = style ? DOM.parseStyle(style) : {};
313
+ if (isNonNullable(data.width)) {
314
+ styleMap['max-width'] = addPx(data.width);
315
+ }
316
+ if (isNonNullable(data.height)) {
317
+ styleMap['max-height'] = addPx(data.height);
318
+ }
319
+ node.attr('style', DOM.serializeStyle(styleMap));
320
+ };
321
+ const sources = [
322
+ 'source',
323
+ 'altsource'
324
+ ];
325
+ const updateHtml = (html, data, updateAll, schema) => {
326
+ let numSources = 0;
327
+ let sourceCount = 0;
328
+ const parser = Parser(schema);
329
+ parser.addNodeFilter('source', nodes => numSources = nodes.length);
330
+ const rootNode = parser.parse(html);
331
+ for (let node = rootNode; node; node = node.walk()) {
332
+ if (node.type === 1) {
333
+ const name = node.name;
334
+ if (node.attr('data-ephox-embed-iri')) {
335
+ updateEphoxEmbed(data, node);
336
+ break;
337
+ } else {
338
+ switch (name) {
339
+ case 'video':
340
+ case 'object':
341
+ case 'embed':
342
+ case 'img':
343
+ case 'iframe':
344
+ if (data.height !== undefined && data.width !== undefined) {
345
+ node.attr('width', data.width);
346
+ node.attr('height', data.height);
347
+ }
348
+ break;
349
+ }
350
+ if (updateAll) {
351
+ switch (name) {
352
+ case 'video':
353
+ node.attr('poster', data.poster);
354
+ node.attr('src', null);
355
+ for (let index = numSources; index < 2; index++) {
356
+ if (data[sources[index]]) {
357
+ const source = new global$2('source', 1);
358
+ source.attr('src', data[sources[index]]);
359
+ source.attr('type', data[sources[index] + 'mime'] || null);
360
+ node.append(source);
361
+ }
362
+ }
363
+ break;
364
+ case 'iframe':
365
+ node.attr('src', data.source);
366
+ break;
367
+ case 'object':
368
+ const hasImage = node.getAll('img').length > 0;
369
+ if (data.poster && !hasImage) {
370
+ node.attr('src', data.poster);
371
+ const img = new global$2('img', 1);
372
+ img.attr('src', data.poster);
373
+ img.attr('width', data.width);
374
+ img.attr('height', data.height);
375
+ node.append(img);
376
+ }
377
+ break;
378
+ case 'source':
379
+ if (sourceCount < 2) {
380
+ node.attr('src', data[sources[sourceCount]]);
381
+ node.attr('type', data[sources[sourceCount] + 'mime'] || null);
382
+ if (!data[sources[sourceCount]]) {
383
+ node.remove();
384
+ continue;
385
+ }
386
+ }
387
+ sourceCount++;
388
+ break;
389
+ case 'img':
390
+ if (!data.poster) {
391
+ node.remove();
392
+ }
393
+ break;
394
+ }
395
+ }
396
+ }
397
+ }
398
+ }
399
+ return global$1({}, schema).serialize(rootNode);
400
+ };
401
+
402
+ const urlPatterns = [
403
+ {
404
+ regex: /youtu\.be\/([\w\-_\?&=.]+)/i,
405
+ type: 'iframe',
406
+ w: 560,
407
+ h: 314,
408
+ url: 'www.youtube.com/embed/$1',
409
+ allowFullscreen: true
410
+ },
411
+ {
412
+ regex: /youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,
413
+ type: 'iframe',
414
+ w: 560,
415
+ h: 314,
416
+ url: 'www.youtube.com/embed/$2?$4',
417
+ allowFullscreen: true
418
+ },
419
+ {
420
+ regex: /youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,
421
+ type: 'iframe',
422
+ w: 560,
423
+ h: 314,
424
+ url: 'www.youtube.com/embed/$1',
425
+ allowFullscreen: true
426
+ },
427
+ {
428
+ regex: /vimeo\.com\/([0-9]+)\?h=(\w+)/,
429
+ type: 'iframe',
430
+ w: 425,
431
+ h: 350,
432
+ url: 'player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc',
433
+ allowFullscreen: true
434
+ },
435
+ {
436
+ regex: /vimeo\.com\/(.*)\/([0-9]+)\?h=(\w+)/,
437
+ type: 'iframe',
438
+ w: 425,
439
+ h: 350,
440
+ url: 'player.vimeo.com/video/$2?h=$3&title=0&amp;byline=0',
441
+ allowFullscreen: true
442
+ },
443
+ {
444
+ regex: /vimeo\.com\/([0-9]+)/,
445
+ type: 'iframe',
446
+ w: 425,
447
+ h: 350,
448
+ url: 'player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc',
449
+ allowFullscreen: true
450
+ },
451
+ {
452
+ regex: /vimeo\.com\/(.*)\/([0-9]+)/,
453
+ type: 'iframe',
454
+ w: 425,
455
+ h: 350,
456
+ url: 'player.vimeo.com/video/$2?title=0&amp;byline=0',
457
+ allowFullscreen: true
458
+ },
459
+ {
460
+ regex: /maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,
461
+ type: 'iframe',
462
+ w: 425,
463
+ h: 350,
464
+ url: 'maps.google.com/maps/ms?msid=$2&output=embed"',
465
+ allowFullscreen: false
466
+ },
467
+ {
468
+ regex: /dailymotion\.com\/video\/([^_]+)/,
469
+ type: 'iframe',
470
+ w: 480,
471
+ h: 270,
472
+ url: 'www.dailymotion.com/embed/video/$1',
473
+ allowFullscreen: true
474
+ },
475
+ {
476
+ regex: /dai\.ly\/([^_]+)/,
477
+ type: 'iframe',
478
+ w: 480,
479
+ h: 270,
480
+ url: 'www.dailymotion.com/embed/video/$1',
481
+ allowFullscreen: true
482
+ }
483
+ ];
484
+ const getProtocol = url => {
485
+ const protocolMatches = url.match(/^(https?:\/\/|www\.)(.+)$/i);
486
+ if (protocolMatches && protocolMatches.length > 1) {
487
+ return protocolMatches[1] === 'www.' ? 'https://' : protocolMatches[1];
488
+ } else {
489
+ return 'https://';
490
+ }
491
+ };
492
+ const getUrl = (pattern, url) => {
493
+ const protocol = getProtocol(url);
494
+ const match = pattern.regex.exec(url);
495
+ let newUrl = protocol + pattern.url;
496
+ if (isNonNullable(match)) {
497
+ for (let i = 0; i < match.length; i++) {
498
+ newUrl = newUrl.replace('$' + i, () => match[i] ? match[i] : '');
499
+ }
500
+ }
501
+ return newUrl.replace(/\?$/, '');
502
+ };
503
+ const matchPattern = url => {
504
+ const patterns = urlPatterns.filter(pattern => pattern.regex.test(url));
505
+ if (patterns.length > 0) {
506
+ return global$5.extend({}, patterns[0], { url: getUrl(patterns[0], url) });
507
+ } else {
508
+ return null;
509
+ }
510
+ };
511
+
512
+ const getIframeHtml = (data, iframeTemplateCallback) => {
513
+ if (iframeTemplateCallback) {
514
+ return iframeTemplateCallback(data);
515
+ } else {
516
+ const allowFullscreen = data.allowfullscreen ? ' allowFullscreen="1"' : '';
517
+ return '<iframe src="' + data.source + '" width="' + data.width + '" height="' + data.height + '"' + allowFullscreen + '></iframe>';
518
+ }
519
+ };
520
+ const getFlashHtml = data => {
521
+ let html = '<object data="' + data.source + '" width="' + data.width + '" height="' + data.height + '" type="application/x-shockwave-flash">';
522
+ if (data.poster) {
523
+ html += '<img src="' + data.poster + '" width="' + data.width + '" height="' + data.height + '" />';
524
+ }
525
+ html += '</object>';
526
+ return html;
527
+ };
528
+ const getAudioHtml = (data, audioTemplateCallback) => {
529
+ if (audioTemplateCallback) {
530
+ return audioTemplateCallback(data);
531
+ } else {
532
+ return '<audio controls="controls" src="' + data.source + '">' + (data.altsource ? '\n<source src="' + data.altsource + '"' + (data.altsourcemime ? ' type="' + data.altsourcemime + '"' : '') + ' />\n' : '') + '</audio>';
533
+ }
534
+ };
535
+ const getVideoHtml = (data, videoTemplateCallback) => {
536
+ if (videoTemplateCallback) {
537
+ return videoTemplateCallback(data);
538
+ } else {
539
+ return '<video width="' + data.width + '" height="' + data.height + '"' + (data.poster ? ' poster="' + data.poster + '"' : '') + ' controls="controls">\n' + '<source src="' + data.source + '"' + (data.sourcemime ? ' type="' + data.sourcemime + '"' : '') + ' />\n' + (data.altsource ? '<source src="' + data.altsource + '"' + (data.altsourcemime ? ' type="' + data.altsourcemime + '"' : '') + ' />\n' : '') + '</video>';
540
+ }
541
+ };
542
+ const dataToHtml = (editor, dataIn) => {
543
+ var _a;
544
+ const data = global$5.extend({}, dataIn);
545
+ if (!data.source) {
546
+ global$5.extend(data, htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema));
547
+ if (!data.source) {
548
+ return '';
549
+ }
550
+ }
551
+ if (!data.altsource) {
552
+ data.altsource = '';
553
+ }
554
+ if (!data.poster) {
555
+ data.poster = '';
556
+ }
557
+ data.source = editor.convertURL(data.source, 'source');
558
+ data.altsource = editor.convertURL(data.altsource, 'source');
559
+ data.sourcemime = guess(data.source);
560
+ data.altsourcemime = guess(data.altsource);
561
+ data.poster = editor.convertURL(data.poster, 'poster');
562
+ const pattern = matchPattern(data.source);
563
+ if (pattern) {
564
+ data.source = pattern.url;
565
+ data.type = pattern.type;
566
+ data.allowfullscreen = pattern.allowFullscreen;
567
+ data.width = data.width || String(pattern.w);
568
+ data.height = data.height || String(pattern.h);
569
+ }
570
+ if (data.embed) {
571
+ return updateHtml(data.embed, data, true, editor.schema);
572
+ } else {
573
+ const audioTemplateCallback = getAudioTemplateCallback(editor);
574
+ const videoTemplateCallback = getVideoTemplateCallback(editor);
575
+ const iframeTemplateCallback = getIframeTemplateCallback(editor);
576
+ data.width = data.width || '300';
577
+ data.height = data.height || '150';
578
+ global$5.each(data, (value, key) => {
579
+ data[key] = editor.dom.encode('' + value);
580
+ });
581
+ if (data.type === 'iframe') {
582
+ return getIframeHtml(data, iframeTemplateCallback);
583
+ } else if (data.sourcemime === 'application/x-shockwave-flash') {
584
+ return getFlashHtml(data);
585
+ } else if (data.sourcemime.indexOf('audio') !== -1) {
586
+ return getAudioHtml(data, audioTemplateCallback);
587
+ } else {
588
+ return getVideoHtml(data, videoTemplateCallback);
589
+ }
590
+ }
591
+ };
592
+
593
+ const isMediaElement = element => element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri');
594
+ const setup$2 = editor => {
595
+ editor.on('mousedown', e => {
596
+ const previewObj = editor.dom.getParent(e.target, '.mce-preview-object');
597
+ if (previewObj && editor.dom.getAttrib(previewObj, 'data-mce-selected') === '2') {
598
+ e.stopImmediatePropagation();
599
+ }
600
+ });
601
+ editor.on('click keyup touchend', () => {
602
+ const selectedNode = editor.selection.getNode();
603
+ if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) {
604
+ if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) {
605
+ selectedNode.setAttribute('data-mce-selected', '2');
606
+ }
607
+ }
608
+ });
609
+ editor.on('ObjectResized', e => {
610
+ const target = e.target;
611
+ if (target.getAttribute('data-mce-object')) {
612
+ let html = target.getAttribute('data-mce-html');
613
+ if (html) {
614
+ html = unescape(html);
615
+ target.setAttribute('data-mce-html', escape(updateHtml(html, {
616
+ width: String(e.width),
617
+ height: String(e.height)
618
+ }, false, editor.schema)));
619
+ }
620
+ }
621
+ });
622
+ };
623
+
624
+ const cache = {};
625
+ const embedPromise = (data, dataToHtml, handler) => {
626
+ return new Promise((res, rej) => {
627
+ const wrappedResolve = response => {
628
+ if (response.html) {
629
+ cache[data.source] = response;
630
+ }
631
+ return res({
632
+ url: data.source,
633
+ html: response.html ? response.html : dataToHtml(data)
634
+ });
635
+ };
636
+ if (cache[data.source]) {
637
+ wrappedResolve(cache[data.source]);
638
+ } else {
639
+ handler({ url: data.source }).then(wrappedResolve).catch(rej);
640
+ }
641
+ });
642
+ };
643
+ const defaultPromise = (data, dataToHtml) => Promise.resolve({
644
+ html: dataToHtml(data),
645
+ url: data.source
646
+ });
647
+ const loadedData = editor => data => dataToHtml(editor, data);
648
+ const getEmbedHtml = (editor, data) => {
649
+ const embedHandler = getUrlResolver(editor);
650
+ return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor));
651
+ };
652
+ const isCached = url => has(cache, url);
653
+
654
+ const extractMeta = (sourceInput, data) => get$1(data, sourceInput).bind(mainData => get$1(mainData, 'meta'));
655
+ const getValue = (data, metaData, sourceInput) => prop => {
656
+ const getFromData = () => get$1(data, prop);
657
+ const getFromMetaData = () => get$1(metaData, prop);
658
+ const getNonEmptyValue = c => get$1(c, 'value').bind(v => v.length > 0 ? Optional.some(v) : Optional.none());
659
+ const getFromValueFirst = () => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(() => Optional.from(child)));
660
+ const getFromMetaFirst = () => getFromMetaData().orThunk(() => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child) : Optional.from(child)));
661
+ return { [prop]: (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr('') };
662
+ };
663
+ const getDimensions = (data, metaData) => {
664
+ const dimensions = {};
665
+ get$1(data, 'dimensions').each(dims => {
666
+ each$1([
667
+ 'width',
668
+ 'height'
669
+ ], prop => {
670
+ get$1(metaData, prop).orThunk(() => get$1(dims, prop)).each(value => dimensions[prop] = value);
671
+ });
672
+ });
673
+ return dimensions;
674
+ };
675
+ const unwrap = (data, sourceInput) => {
676
+ const metaData = sourceInput && sourceInput !== 'dimensions' ? extractMeta(sourceInput, data).getOr({}) : {};
677
+ const get = getValue(data, metaData, sourceInput);
678
+ return {
679
+ ...get('source'),
680
+ ...get('altsource'),
681
+ ...get('poster'),
682
+ ...get('embed'),
683
+ ...getDimensions(data, metaData)
684
+ };
685
+ };
686
+ const wrap = data => {
687
+ const wrapped = {
688
+ ...data,
689
+ source: { value: get$1(data, 'source').getOr('') },
690
+ altsource: { value: get$1(data, 'altsource').getOr('') },
691
+ poster: { value: get$1(data, 'poster').getOr('') }
692
+ };
693
+ each$1([
694
+ 'width',
695
+ 'height'
696
+ ], prop => {
697
+ get$1(data, prop).each(value => {
698
+ const dimensions = wrapped.dimensions || {};
699
+ dimensions[prop] = value;
700
+ wrapped.dimensions = dimensions;
701
+ });
702
+ });
703
+ return wrapped;
704
+ };
705
+ const handleError = editor => error => {
706
+ const errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.';
707
+ editor.notificationManager.open({
708
+ type: 'error',
709
+ text: errorMessage
710
+ });
711
+ };
712
+ const getEditorData = editor => {
713
+ const element = editor.selection.getNode();
714
+ const snippet = isMediaElement(element) ? editor.serializer.serialize(element, { selection: true }) : '';
715
+ const data = htmlToData(snippet, editor.schema);
716
+ const getDimensionsOfElement = () => {
717
+ if (isEmbedIframe(data.source, data.type)) {
718
+ const rect = editor.dom.getRect(element);
719
+ return {
720
+ width: rect.w.toString().replace(/px$/, ''),
721
+ height: rect.h.toString().replace(/px$/, '')
722
+ };
723
+ } else {
724
+ return {};
725
+ }
726
+ };
727
+ const dimensions = getDimensionsOfElement();
728
+ return {
729
+ embed: snippet,
730
+ ...data,
731
+ ...dimensions
732
+ };
733
+ };
734
+ const addEmbedHtml = (api, editor) => response => {
735
+ if (isString(response.url) && response.url.trim().length > 0) {
736
+ const html = response.html;
737
+ const snippetData = htmlToData(html, editor.schema);
738
+ const nuData = {
739
+ ...snippetData,
740
+ source: response.url,
741
+ embed: html
742
+ };
743
+ api.setData(wrap(nuData));
744
+ }
745
+ };
746
+ const selectPlaceholder = (editor, beforeObjects) => {
747
+ const afterObjects = editor.dom.select('*[data-mce-object]');
748
+ for (let i = 0; i < beforeObjects.length; i++) {
749
+ for (let y = afterObjects.length - 1; y >= 0; y--) {
750
+ if (beforeObjects[i] === afterObjects[y]) {
751
+ afterObjects.splice(y, 1);
752
+ }
753
+ }
754
+ }
755
+ editor.selection.select(afterObjects[0]);
756
+ };
757
+ const handleInsert = (editor, html) => {
758
+ const beforeObjects = editor.dom.select('*[data-mce-object]');
759
+ editor.insertContent(html);
760
+ selectPlaceholder(editor, beforeObjects);
761
+ editor.nodeChanged();
762
+ };
763
+ const isEmbedIframe = (url, mediaDataType) => isNonNullable(mediaDataType) && mediaDataType === 'ephox-embed-iri' && isNonNullable(matchPattern(url));
764
+ const shouldInsertAsNewIframe = (prevData, newData) => {
765
+ const hasDimensionsChanged = (prevData, newData) => prevData.width !== newData.width || prevData.height !== newData.height;
766
+ return hasDimensionsChanged(prevData, newData) && isEmbedIframe(newData.source, prevData.type);
767
+ };
768
+ const submitForm = (prevData, newData, editor) => {
769
+ var _a;
770
+ newData.embed = shouldInsertAsNewIframe(prevData, newData) && hasDimensions(editor) ? dataToHtml(editor, {
771
+ ...newData,
772
+ embed: ''
773
+ }) : updateHtml((_a = newData.embed) !== null && _a !== void 0 ? _a : '', newData, false, editor.schema);
774
+ if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) {
775
+ handleInsert(editor, newData.embed);
776
+ } else {
777
+ getEmbedHtml(editor, newData).then(response => {
778
+ handleInsert(editor, response.html);
779
+ }).catch(handleError(editor));
780
+ }
781
+ };
782
+ const showDialog = editor => {
783
+ const editorData = getEditorData(editor);
784
+ const currentData = Cell(editorData);
785
+ const initialData = wrap(editorData);
786
+ const handleSource = (prevData, api) => {
787
+ const serviceData = unwrap(api.getData(), 'source');
788
+ if (prevData.source !== serviceData.source) {
789
+ addEmbedHtml(win, editor)({
790
+ url: serviceData.source,
791
+ html: ''
792
+ });
793
+ getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor));
794
+ }
795
+ };
796
+ const handleEmbed = api => {
797
+ var _a;
798
+ const data = unwrap(api.getData());
799
+ const dataFromEmbed = htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema);
800
+ api.setData(wrap(dataFromEmbed));
801
+ };
802
+ const handleUpdate = (api, sourceInput, prevData) => {
803
+ const dialogData = unwrap(api.getData(), sourceInput);
804
+ const data = shouldInsertAsNewIframe(prevData, dialogData) && hasDimensions(editor) ? {
805
+ ...dialogData,
806
+ embed: ''
807
+ } : dialogData;
808
+ const embed = dataToHtml(editor, data);
809
+ api.setData(wrap({
810
+ ...data,
811
+ embed
812
+ }));
813
+ };
814
+ const mediaInput = [{
815
+ name: 'source',
816
+ type: 'urlinput',
817
+ filetype: 'media',
818
+ label: 'Source',
819
+ picker_text: 'Browse files'
820
+ }];
821
+ const sizeInput = !hasDimensions(editor) ? [] : [{
822
+ type: 'sizeinput',
823
+ name: 'dimensions',
824
+ label: 'Constrain proportions',
825
+ constrain: true
826
+ }];
827
+ const generalTab = {
828
+ title: 'General',
829
+ name: 'general',
830
+ items: flatten([
831
+ mediaInput,
832
+ sizeInput
833
+ ])
834
+ };
835
+ const embedTextarea = {
836
+ type: 'textarea',
837
+ name: 'embed',
838
+ label: 'Paste your embed code below:'
839
+ };
840
+ const embedTab = {
841
+ title: 'Embed',
842
+ items: [embedTextarea]
843
+ };
844
+ const advancedFormItems = [];
845
+ if (hasAltSource(editor)) {
846
+ advancedFormItems.push({
847
+ name: 'altsource',
848
+ type: 'urlinput',
849
+ filetype: 'media',
850
+ label: 'Alternative source URL'
851
+ });
852
+ }
853
+ if (hasPoster(editor)) {
854
+ advancedFormItems.push({
855
+ name: 'poster',
856
+ type: 'urlinput',
857
+ filetype: 'image',
858
+ label: 'Media poster (Image URL)'
859
+ });
860
+ }
861
+ const advancedTab = {
862
+ title: 'Advanced',
863
+ name: 'advanced',
864
+ items: advancedFormItems
865
+ };
866
+ const tabs = [
867
+ generalTab,
868
+ embedTab
869
+ ];
870
+ if (advancedFormItems.length > 0) {
871
+ tabs.push(advancedTab);
872
+ }
873
+ const body = {
874
+ type: 'tabpanel',
875
+ tabs
876
+ };
877
+ const win = editor.windowManager.open({
878
+ title: 'Insert/Edit Media',
879
+ size: 'normal',
880
+ body,
881
+ buttons: [
882
+ {
883
+ type: 'cancel',
884
+ name: 'cancel',
885
+ text: 'Cancel'
886
+ },
887
+ {
888
+ type: 'submit',
889
+ name: 'save',
890
+ text: 'Save',
891
+ primary: true
892
+ }
893
+ ],
894
+ onSubmit: api => {
895
+ const serviceData = unwrap(api.getData());
896
+ submitForm(currentData.get(), serviceData, editor);
897
+ api.close();
898
+ },
899
+ onChange: (api, detail) => {
900
+ switch (detail.name) {
901
+ case 'source':
902
+ handleSource(currentData.get(), api);
903
+ break;
904
+ case 'embed':
905
+ handleEmbed(api);
906
+ break;
907
+ case 'dimensions':
908
+ case 'altsource':
909
+ case 'poster':
910
+ handleUpdate(api, detail.name, currentData.get());
911
+ break;
912
+ }
913
+ currentData.set(unwrap(api.getData()));
914
+ },
915
+ initialData
916
+ });
917
+ };
918
+
919
+ const get = editor => {
920
+ const showDialog$1 = () => {
921
+ showDialog(editor);
922
+ };
923
+ return { showDialog: showDialog$1 };
924
+ };
925
+
926
+ const register$1 = editor => {
927
+ const showDialog$1 = () => {
928
+ showDialog(editor);
929
+ };
930
+ editor.addCommand('mceMedia', showDialog$1);
931
+ };
932
+
933
+ const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr;
934
+ const startsWith = (str, prefix) => {
935
+ return checkRange(str, prefix, 0);
936
+ };
937
+
938
+ var global = tinymce.util.Tools.resolve('tinymce.Env');
939
+
940
+ const isLiveEmbedNode = node => {
941
+ const name = node.name;
942
+ return name === 'iframe' || name === 'video' || name === 'audio';
943
+ };
944
+ const getDimension = (node, styles, dimension, defaultValue = null) => {
945
+ const value = node.attr(dimension);
946
+ if (isNonNullable(value)) {
947
+ return value;
948
+ } else if (!has(styles, dimension)) {
949
+ return defaultValue;
950
+ } else {
951
+ return null;
952
+ }
953
+ };
954
+ const setDimensions = (node, previewNode, styles) => {
955
+ const useDefaults = previewNode.name === 'img' || node.name === 'video';
956
+ const defaultWidth = useDefaults ? '300' : null;
957
+ const fallbackHeight = node.name === 'audio' ? '30' : '150';
958
+ const defaultHeight = useDefaults ? fallbackHeight : null;
959
+ previewNode.attr({
960
+ width: getDimension(node, styles, 'width', defaultWidth),
961
+ height: getDimension(node, styles, 'height', defaultHeight)
962
+ });
963
+ };
964
+ const appendNodeContent = (editor, nodeName, previewNode, html) => {
965
+ const newNode = Parser(editor.schema).parse(html, { context: nodeName });
966
+ while (newNode.firstChild) {
967
+ previewNode.append(newNode.firstChild);
968
+ }
969
+ };
970
+ const createPlaceholderNode = (editor, node) => {
971
+ const name = node.name;
972
+ const placeHolder = new global$2('img', 1);
973
+ retainAttributesAndInnerHtml(editor, node, placeHolder);
974
+ setDimensions(node, placeHolder, {});
975
+ placeHolder.attr({
976
+ 'style': node.attr('style'),
977
+ 'src': global.transparentSrc,
978
+ 'data-mce-object': name,
979
+ 'class': 'mce-object mce-object-' + name
980
+ });
981
+ return placeHolder;
982
+ };
983
+ const createPreviewNode = (editor, node) => {
984
+ var _a;
985
+ const name = node.name;
986
+ const previewWrapper = new global$2('span', 1);
987
+ previewWrapper.attr({
988
+ 'contentEditable': 'false',
989
+ 'style': node.attr('style'),
990
+ 'data-mce-object': name,
991
+ 'class': 'mce-preview-object mce-object-' + name
992
+ });
993
+ retainAttributesAndInnerHtml(editor, node, previewWrapper);
994
+ const styles = editor.dom.parseStyle((_a = node.attr('style')) !== null && _a !== void 0 ? _a : '');
995
+ const previewNode = new global$2(name, 1);
996
+ setDimensions(node, previewNode, styles);
997
+ previewNode.attr({
998
+ src: node.attr('src'),
999
+ style: node.attr('style'),
1000
+ class: node.attr('class')
1001
+ });
1002
+ if (name === 'iframe') {
1003
+ previewNode.attr({
1004
+ allowfullscreen: node.attr('allowfullscreen'),
1005
+ frameborder: '0',
1006
+ sandbox: node.attr('sandbox'),
1007
+ referrerpolicy: node.attr('referrerpolicy')
1008
+ });
1009
+ } else {
1010
+ const attrs = [
1011
+ 'controls',
1012
+ 'crossorigin',
1013
+ 'currentTime',
1014
+ 'loop',
1015
+ 'muted',
1016
+ 'poster',
1017
+ 'preload'
1018
+ ];
1019
+ each$1(attrs, attrName => {
1020
+ previewNode.attr(attrName, node.attr(attrName));
1021
+ });
1022
+ const sanitizedHtml = previewWrapper.attr('data-mce-html');
1023
+ if (isNonNullable(sanitizedHtml)) {
1024
+ appendNodeContent(editor, name, previewNode, unescape(sanitizedHtml));
1025
+ }
1026
+ }
1027
+ const shimNode = new global$2('span', 1);
1028
+ shimNode.attr('class', 'mce-shim');
1029
+ previewWrapper.append(previewNode);
1030
+ previewWrapper.append(shimNode);
1031
+ return previewWrapper;
1032
+ };
1033
+ const retainAttributesAndInnerHtml = (editor, sourceNode, targetNode) => {
1034
+ var _a;
1035
+ const attribs = (_a = sourceNode.attributes) !== null && _a !== void 0 ? _a : [];
1036
+ let ai = attribs.length;
1037
+ while (ai--) {
1038
+ const attrName = attribs[ai].name;
1039
+ let attrValue = attribs[ai].value;
1040
+ if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style' && !startsWith(attrName, 'data-mce-')) {
1041
+ if (attrName === 'data' || attrName === 'src') {
1042
+ attrValue = editor.convertURL(attrValue, attrName);
1043
+ }
1044
+ targetNode.attr('data-mce-p-' + attrName, attrValue);
1045
+ }
1046
+ }
1047
+ const serializer = global$1({ inner: true }, editor.schema);
1048
+ const tempNode = new global$2('div', 1);
1049
+ each$1(sourceNode.children(), child => tempNode.append(child));
1050
+ const innerHtml = serializer.serialize(tempNode);
1051
+ if (innerHtml) {
1052
+ targetNode.attr('data-mce-html', escape(innerHtml));
1053
+ targetNode.empty();
1054
+ }
1055
+ };
1056
+ const isPageEmbedWrapper = node => {
1057
+ const nodeClass = node.attr('class');
1058
+ return isString(nodeClass) && /\btiny-pageembed\b/.test(nodeClass);
1059
+ };
1060
+ const isWithinEmbedWrapper = node => {
1061
+ let tempNode = node;
1062
+ while (tempNode = tempNode.parent) {
1063
+ if (tempNode.attr('data-ephox-embed-iri') || isPageEmbedWrapper(tempNode)) {
1064
+ return true;
1065
+ }
1066
+ }
1067
+ return false;
1068
+ };
1069
+ const placeHolderConverter = editor => nodes => {
1070
+ let i = nodes.length;
1071
+ let node;
1072
+ while (i--) {
1073
+ node = nodes[i];
1074
+ if (!node.parent) {
1075
+ continue;
1076
+ }
1077
+ if (node.parent.attr('data-mce-object')) {
1078
+ continue;
1079
+ }
1080
+ if (isLiveEmbedNode(node) && hasLiveEmbeds(editor)) {
1081
+ if (!isWithinEmbedWrapper(node)) {
1082
+ node.replace(createPreviewNode(editor, node));
1083
+ }
1084
+ } else {
1085
+ if (!isWithinEmbedWrapper(node)) {
1086
+ node.replace(createPlaceholderNode(editor, node));
1087
+ }
1088
+ }
1089
+ }
1090
+ };
1091
+
1092
+ const parseAndSanitize = (editor, context, html) => {
1093
+ const getEditorOption = editor.options.get;
1094
+ const sanitize = getEditorOption('xss_sanitization');
1095
+ const validate = shouldFilterHtml(editor);
1096
+ return Parser(editor.schema, {
1097
+ sanitize,
1098
+ validate
1099
+ }).parse(html, { context });
1100
+ };
1101
+
1102
+ const setup$1 = editor => {
1103
+ editor.on('PreInit', () => {
1104
+ const {schema, serializer, parser} = editor;
1105
+ const boolAttrs = schema.getBoolAttrs();
1106
+ each$1('webkitallowfullscreen mozallowfullscreen'.split(' '), name => {
1107
+ boolAttrs[name] = {};
1108
+ });
1109
+ each({ embed: ['wmode'] }, (attrs, name) => {
1110
+ const rule = schema.getElementRule(name);
1111
+ if (rule) {
1112
+ each$1(attrs, attr => {
1113
+ rule.attributes[attr] = {};
1114
+ rule.attributesOrder.push(attr);
1115
+ });
1116
+ }
1117
+ });
1118
+ parser.addNodeFilter('iframe,video,audio,object,embed', placeHolderConverter(editor));
1119
+ serializer.addAttributeFilter('data-mce-object', (nodes, name) => {
1120
+ var _a;
1121
+ let i = nodes.length;
1122
+ while (i--) {
1123
+ const node = nodes[i];
1124
+ if (!node.parent) {
1125
+ continue;
1126
+ }
1127
+ const realElmName = node.attr(name);
1128
+ const realElm = new global$2(realElmName, 1);
1129
+ if (realElmName !== 'audio') {
1130
+ const className = node.attr('class');
1131
+ if (className && className.indexOf('mce-preview-object') !== -1 && node.firstChild) {
1132
+ realElm.attr({
1133
+ width: node.firstChild.attr('width'),
1134
+ height: node.firstChild.attr('height')
1135
+ });
1136
+ } else {
1137
+ realElm.attr({
1138
+ width: node.attr('width'),
1139
+ height: node.attr('height')
1140
+ });
1141
+ }
1142
+ }
1143
+ realElm.attr({ style: node.attr('style') });
1144
+ const attribs = (_a = node.attributes) !== null && _a !== void 0 ? _a : [];
1145
+ let ai = attribs.length;
1146
+ while (ai--) {
1147
+ const attrName = attribs[ai].name;
1148
+ if (attrName.indexOf('data-mce-p-') === 0) {
1149
+ realElm.attr(attrName.substr(11), attribs[ai].value);
1150
+ }
1151
+ }
1152
+ const innerHtml = node.attr('data-mce-html');
1153
+ if (innerHtml) {
1154
+ const fragment = parseAndSanitize(editor, realElmName, unescape(innerHtml));
1155
+ each$1(fragment.children(), child => realElm.append(child));
1156
+ }
1157
+ node.replace(realElm);
1158
+ }
1159
+ });
1160
+ });
1161
+ editor.on('SetContent', () => {
1162
+ const dom = editor.dom;
1163
+ each$1(dom.select('span.mce-preview-object'), elm => {
1164
+ if (dom.select('span.mce-shim', elm).length === 0) {
1165
+ dom.add(elm, 'span', { class: 'mce-shim' });
1166
+ }
1167
+ });
1168
+ });
1169
+ };
1170
+
1171
+ const setup = editor => {
1172
+ editor.on('ResolveName', e => {
1173
+ let name;
1174
+ if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) {
1175
+ e.name = name;
1176
+ }
1177
+ });
1178
+ };
1179
+
1180
+ const onSetupEditable = editor => api => {
1181
+ const nodeChanged = () => {
1182
+ api.setEnabled(editor.selection.isEditable());
1183
+ };
1184
+ editor.on('NodeChange', nodeChanged);
1185
+ nodeChanged();
1186
+ return () => {
1187
+ editor.off('NodeChange', nodeChanged);
1188
+ };
1189
+ };
1190
+ const register = editor => {
1191
+ const onAction = () => editor.execCommand('mceMedia');
1192
+ editor.ui.registry.addToggleButton('media', {
1193
+ tooltip: 'Insert/edit media',
1194
+ icon: 'embed',
1195
+ onAction,
1196
+ onSetup: buttonApi => {
1197
+ const selection = editor.selection;
1198
+ buttonApi.setActive(isMediaElement(selection.getNode()));
1199
+ const unbindSelectorChanged = selection.selectorChangedWithUnbind('img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]', buttonApi.setActive).unbind;
1200
+ const unbindEditable = onSetupEditable(editor)(buttonApi);
1201
+ return () => {
1202
+ unbindSelectorChanged();
1203
+ unbindEditable();
1204
+ };
1205
+ }
1206
+ });
1207
+ editor.ui.registry.addMenuItem('media', {
1208
+ icon: 'embed',
1209
+ text: 'Media...',
1210
+ onAction,
1211
+ onSetup: onSetupEditable(editor)
1212
+ });
1213
+ };
1214
+
1215
+ var Plugin = () => {
1216
+ global$6.add('media', editor => {
1217
+ register$2(editor);
1218
+ register$1(editor);
1219
+ register(editor);
1220
+ setup(editor);
1221
+ setup$1(editor);
1222
+ setup$2(editor);
1223
+ return get(editor);
1224
+ });
1225
+ };
1226
+
1227
+ Plugin();
1228
+
1229
+ })();