@sapui5/sap.ui.richtexteditor 1.96.25 → 1.96.26

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 (628) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/richtexteditor/.library +15 -6
  3. package/src/sap/ui/richtexteditor/RTESplitButton.js +1 -1
  4. package/src/sap/ui/richtexteditor/RichTextEditor.js +365 -229
  5. package/src/sap/ui/richtexteditor/RichTextEditorRenderer.js +14 -5
  6. package/src/sap/ui/richtexteditor/ToolbarWrapper.js +563 -316
  7. package/src/sap/ui/richtexteditor/ToolbarWrapperRenderer.js +3 -4
  8. package/src/sap/ui/richtexteditor/js/tiny_mce5/icons/default/icons.js +11 -1
  9. package/src/sap/ui/richtexteditor/js/tiny_mce5/icons/default/icons.min.js +1 -1
  10. package/src/sap/ui/richtexteditor/js/tiny_mce5/jquery.tinymce.min.js +88 -0
  11. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ar.js +1 -420
  12. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/bg_BG.js +1 -419
  13. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/bn_BD.js +21 -179
  14. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ca.js +1 -419
  15. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/cs.js +1 -419
  16. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/cs_CZ.js +221 -19
  17. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/cy.js +61 -18
  18. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/da.js +1 -419
  19. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/de.js +1 -419
  20. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/el.js +1 -261
  21. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/es.js +1 -419
  22. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/es_419.js +462 -0
  23. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/es_MX.js +1 -419
  24. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/et.js +21 -179
  25. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/eu.js +1 -419
  26. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/fa.js +1 -419
  27. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/fa_IR.js +69 -197
  28. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/fi.js +1 -419
  29. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/fr_FR.js +1 -419
  30. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/gl.js +20 -155
  31. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/he_IL.js +1 -420
  32. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/hr.js +1 -418
  33. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/hu_HU.js +1 -419
  34. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/id.js +1 -419
  35. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/it.js +1 -419
  36. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ja.js +1 -419
  37. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/kk.js +1 -418
  38. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ko_KR.js +1 -419
  39. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/lt.js +21 -179
  40. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/nb_NO.js +1 -419
  41. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/nl.js +1 -419
  42. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/nl_BE.js +445 -0
  43. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/pl.js +1 -419
  44. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/pt_BR.js +1 -419
  45. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/pt_PT.js +1 -419
  46. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ro.js +1 -418
  47. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ru.js +1 -419
  48. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ru_RU.js +445 -0
  49. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/sk.js +1 -418
  50. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/sl.js +59 -14
  51. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/sl_SI.js +1 -388
  52. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/sq.js +219 -0
  53. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/sv_SE.js +1 -419
  54. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ta.js +60 -17
  55. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ta_IN.js +60 -17
  56. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/th_TH.js +1 -419
  57. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/tr.js +1 -419
  58. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/tr_TR.js +81 -8
  59. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/ug.js +221 -19
  60. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/uk.js +1 -419
  61. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/zh_CN.js +1 -419
  62. package/src/sap/ui/richtexteditor/js/tiny_mce5/langs/zh_TW.js +1 -419
  63. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/changelog.txt +8 -0
  64. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/codemirror.min.css +1 -1
  65. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/codemirror.min.js +4023 -4246
  66. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/customeditor.js +5 -5
  67. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/customeditor.min.js +5 -5
  68. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/plugin.js +5 -5
  69. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/plugin.min.js +5 -5
  70. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/readme.txt +1 -1
  71. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advcode/version.txt +1 -1
  72. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advlist/plugin.js +33 -48
  73. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/advlist/plugin.min.js +4 -2
  74. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/anchor/plugin.js +10 -8
  75. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/anchor/plugin.min.js +4 -2
  76. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/autolink/plugin.js +60 -30
  77. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/autolink/plugin.min.js +4 -2
  78. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/autoresize/plugin.js +27 -12
  79. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/autoresize/plugin.min.js +4 -2
  80. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/autosave/plugin.js +12 -12
  81. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/autosave/plugin.min.js +4 -2
  82. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/bbcode/plugin.js +8 -6
  83. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/bbcode/plugin.min.js +4 -2
  84. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/charmap/plugin.js +59 -67
  85. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/charmap/plugin.min.js +4 -2
  86. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/code/plugin.js +11 -10
  87. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/code/plugin.min.js +4 -2
  88. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/codesample/plugin.js +1934 -1310
  89. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/codesample/plugin.min.js +4 -2
  90. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/colorpicker/plugin.js +3 -2
  91. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/colorpicker/plugin.min.js +4 -2
  92. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/contextmenu/plugin.js +3 -2
  93. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/contextmenu/plugin.min.js +4 -2
  94. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/directionality/plugin.js +200 -59
  95. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/directionality/plugin.min.js +4 -2
  96. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/emoticons/js/emojiimages.js +9424 -0
  97. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/emoticons/js/emojiimages.min.js +3 -0
  98. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/emoticons/js/emojis.js +1914 -1506
  99. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/emoticons/js/emojis.min.js +2 -2
  100. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/emoticons/plugin.js +255 -181
  101. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/emoticons/plugin.min.js +4 -2
  102. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/fullpage/plugin.js +51 -49
  103. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/fullpage/plugin.min.js +4 -2
  104. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/fullscreen/plugin.js +542 -163
  105. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/fullscreen/plugin.min.js +4 -2
  106. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/help/plugin.js +113 -105
  107. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/help/plugin.min.js +4 -2
  108. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/hr/plugin.js +11 -10
  109. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/hr/plugin.min.js +4 -2
  110. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/image/plugin.js +187 -170
  111. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/image/plugin.min.js +4 -2
  112. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/imagetools/plugin.js +625 -433
  113. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/imagetools/plugin.min.js +4 -2
  114. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/importcss/plugin.js +54 -53
  115. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/importcss/plugin.min.js +4 -2
  116. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/insertdatetime/plugin.js +24 -17
  117. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/insertdatetime/plugin.min.js +4 -2
  118. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/legacyoutput/plugin.js +10 -8
  119. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/legacyoutput/plugin.min.js +4 -2
  120. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/link/plugin.js +145 -131
  121. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/link/plugin.min.js +4 -2
  122. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/lists/plugin.js +440 -270
  123. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/lists/plugin.min.js +4 -2
  124. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/media/plugin.js +232 -186
  125. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/media/plugin.min.js +4 -2
  126. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/nonbreaking/plugin.js +15 -14
  127. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/nonbreaking/plugin.min.js +4 -2
  128. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/noneditable/plugin.js +8 -6
  129. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/noneditable/plugin.min.js +4 -2
  130. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/pagebreak/plugin.js +29 -30
  131. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/pagebreak/plugin.min.js +4 -2
  132. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/paste/plugin.js +388 -290
  133. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/paste/plugin.min.js +4 -2
  134. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/CHANGELOG.md +345 -0
  135. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/js/wordimport.js +1826 -1696
  136. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/ar.js +12 -9
  137. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/bg_BG.js +4 -4
  138. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/ca.js +10 -7
  139. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/cs.js +12 -9
  140. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/da.js +11 -8
  141. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/de.js +10 -7
  142. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/el.js +12 -9
  143. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/es.js +10 -7
  144. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/eu.js +4 -4
  145. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/fa.js +12 -9
  146. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/fi.js +12 -9
  147. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/fr_FR.js +11 -8
  148. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/he_IL.js +12 -9
  149. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/hr.js +11 -8
  150. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/hu_HU.js +12 -9
  151. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/id.js +4 -4
  152. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/it.js +10 -7
  153. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/ja.js +12 -9
  154. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/kk.js +12 -9
  155. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/ko_KR.js +12 -9
  156. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/nb_NO.js +11 -8
  157. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/nl.js +8 -5
  158. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/pl.js +10 -7
  159. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/pt_BR.js +11 -8
  160. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/pt_PT.js +11 -8
  161. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/ro.js +12 -9
  162. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/ru.js +12 -9
  163. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/sk.js +12 -9
  164. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/sl_SI.js +11 -8
  165. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/sv_SE.js +10 -7
  166. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/th_TH.js +12 -9
  167. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/tr.js +11 -8
  168. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/uk.js +12 -9
  169. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/zh_CN.js +13 -10
  170. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/langs/zh_TW.js +13 -10
  171. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/plugin.js +5 -5
  172. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/plugin.min.js +5 -5
  173. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/readme.txt +1 -1
  174. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/powerpaste/version.txt +1 -1
  175. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/preview/plugin.js +18 -17
  176. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/preview/plugin.min.js +4 -2
  177. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/print/plugin.js +15 -14
  178. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/print/plugin.min.js +4 -2
  179. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/quickbars/plugin.js +76 -85
  180. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/quickbars/plugin.min.js +4 -2
  181. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/save/plugin.js +11 -8
  182. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/save/plugin.min.js +4 -2
  183. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/searchreplace/plugin.js +108 -103
  184. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/searchreplace/plugin.min.js +4 -2
  185. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/spellchecker/plugin.js +54 -59
  186. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/spellchecker/plugin.min.js +4 -2
  187. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/tabfocus/plugin.js +31 -28
  188. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/tabfocus/plugin.min.js +4 -2
  189. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/table/plugin.js +4394 -3142
  190. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/table/plugin.min.js +4 -2
  191. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/template/plugin.js +89 -73
  192. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/template/plugin.min.js +4 -2
  193. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/textcolor/plugin.js +3 -2
  194. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/textcolor/plugin.min.js +4 -2
  195. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/textpattern/plugin.js +111 -122
  196. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/textpattern/plugin.min.js +4 -2
  197. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/toc/plugin.js +33 -29
  198. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/toc/plugin.min.js +4 -2
  199. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/visualblocks/plugin.js +12 -11
  200. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/visualblocks/plugin.min.js +4 -2
  201. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/visualchars/plugin.js +89 -101
  202. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/visualchars/plugin.min.js +4 -2
  203. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/wordcount/plugin.js +69 -58
  204. package/src/sap/ui/richtexteditor/js/tiny_mce5/plugins/wordcount/plugin.min.js +4 -2
  205. package/src/sap/ui/richtexteditor/js/tiny_mce5/readme.txt +1 -1
  206. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/content.css +10 -6
  207. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/content.inline.css +10 -6
  208. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/content.inline.min.css +1 -1
  209. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/content.inline.min.css.map +1 -1
  210. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/content.min.css +1 -1
  211. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/content.min.css.map +1 -1
  212. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/skin.css +104 -29
  213. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/skin.min.css +1 -1
  214. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/skin.min.css.map +1 -1
  215. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/skin.shadowdom.css +37 -0
  216. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/skin.shadowdom.min.css +8 -0
  217. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide/skin.shadowdom.min.css.map +1 -0
  218. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/content.css +9 -5
  219. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/content.inline.css +10 -6
  220. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/content.inline.min.css +1 -1
  221. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/content.inline.min.css.map +1 -1
  222. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/content.min.css +1 -1
  223. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/content.min.css.map +1 -1
  224. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/skin.css +104 -29
  225. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/skin.min.css +1 -1
  226. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/skin.min.css.map +1 -1
  227. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/skin.shadowdom.css +37 -0
  228. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/skin.shadowdom.min.css +8 -0
  229. package/src/sap/ui/richtexteditor/js/tiny_mce5/skins/ui/oxide-dark/skin.shadowdom.min.css.map +1 -0
  230. package/src/sap/ui/richtexteditor/js/tiny_mce5/themes/mobile/theme.js +2890 -3335
  231. package/src/sap/ui/richtexteditor/js/tiny_mce5/themes/mobile/theme.min.js +4 -2
  232. package/src/sap/ui/richtexteditor/js/tiny_mce5/themes/silver/theme.js +15720 -15353
  233. package/src/sap/ui/richtexteditor/js/tiny_mce5/themes/silver/theme.min.js +4 -2
  234. package/src/sap/ui/richtexteditor/js/tiny_mce5/tinymce.d.ts +768 -552
  235. package/src/sap/ui/richtexteditor/js/tiny_mce5/tinymce.js +6762 -6159
  236. package/src/sap/ui/richtexteditor/js/tiny_mce5/tinymce.min.js +4 -2
  237. package/src/sap/ui/richtexteditor/js/tiny_mce5/version.txt +1 -1
  238. package/src/sap/ui/richtexteditor/js/tiny_mce6/icons/default/icons.js +197 -0
  239. package/src/sap/ui/richtexteditor/js/tiny_mce6/icons/default/icons.min.js +7 -0
  240. package/src/sap/ui/richtexteditor/js/tiny_mce6/icons/default/index.js +13 -0
  241. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ar.js +7 -0
  242. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/bg_BG.js +7 -0
  243. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ca.js +7 -0
  244. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/cs.js +7 -0
  245. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/cy.js +1 -0
  246. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/da.js +7 -0
  247. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/de.js +7 -0
  248. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/dv.js +1 -0
  249. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/el.js +7 -0
  250. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/en_GB.js +261 -0
  251. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/es.js +7 -0
  252. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/es_MX.js +1 -0
  253. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/et.js +1 -0
  254. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/eu.js +7 -0
  255. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/fa.js +7 -0
  256. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/fi.js +7 -0
  257. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/fr_FR.js +7 -0
  258. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/he_IL.js +7 -0
  259. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/hi.js +7 -0
  260. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/hr.js +7 -0
  261. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/hu_HU.js +7 -0
  262. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/id.js +7 -0
  263. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/it.js +7 -0
  264. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ja.js +7 -0
  265. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/kk.js +7 -0
  266. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ko_KR.js +7 -0
  267. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/lt.js +1 -0
  268. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/lv.js +1 -0
  269. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ms.js +7 -0
  270. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/nb_NO.js +7 -0
  271. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/nl.js +7 -0
  272. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/pl.js +7 -0
  273. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/pt_BR.js +7 -0
  274. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/pt_PT.js +7 -0
  275. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ro.js +7 -0
  276. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ru.js +7 -0
  277. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/sk.js +7 -0
  278. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/sl_SI.js +7 -0
  279. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/sr.js +1 -0
  280. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/sv_SE.js +7 -0
  281. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/th_TH.js +7 -0
  282. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/tr.js +7 -0
  283. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/uk.js +7 -0
  284. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/vi.js +7 -0
  285. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/zh_CN.js +7 -0
  286. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/zh_TW.js +7 -0
  287. package/src/sap/ui/richtexteditor/js/tiny_mce6/license.txt +5 -0
  288. package/src/sap/ui/richtexteditor/js/tiny_mce6/models/dom/index.js +13 -0
  289. package/src/sap/ui/richtexteditor/js/tiny_mce6/models/dom/model.js +8045 -0
  290. package/src/sap/ui/richtexteditor/js/tiny_mce6/models/dom/model.min.js +9 -0
  291. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/accordion/index.js +13 -0
  292. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/accordion/plugin.js +1038 -0
  293. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/accordion/plugin.min.js +9 -0
  294. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/CHANGELOG.md +110 -0
  295. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/codemirror.min.css +13 -0
  296. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/codemirror.min.js +13 -0
  297. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/customeditor.js +10 -0
  298. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/customeditor.min.js +10 -0
  299. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/ar.js +15 -0
  300. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/bg_BG.js +15 -0
  301. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/ca.js +15 -0
  302. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/cs.js +15 -0
  303. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/da.js +15 -0
  304. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/de.js +15 -0
  305. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/el.js +15 -0
  306. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/es.js +15 -0
  307. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/eu.js +15 -0
  308. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/fa.js +15 -0
  309. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/fi.js +15 -0
  310. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/fr_FR.js +15 -0
  311. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/he_IL.js +15 -0
  312. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/hi.js +15 -0
  313. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/hr.js +15 -0
  314. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/hu_HU.js +15 -0
  315. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/id.js +15 -0
  316. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/it.js +15 -0
  317. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/ja.js +15 -0
  318. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/kk.js +15 -0
  319. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/ko_KR.js +15 -0
  320. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/ms.js +15 -0
  321. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/nb_NO.js +15 -0
  322. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/nl.js +15 -0
  323. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/pl.js +15 -0
  324. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/pt_BR.js +15 -0
  325. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/pt_PT.js +15 -0
  326. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/ro.js +15 -0
  327. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/ru.js +15 -0
  328. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/sk.js +15 -0
  329. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/sl_SI.js +15 -0
  330. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/sv_SE.js +15 -0
  331. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/th_TH.js +15 -0
  332. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/tr.js +15 -0
  333. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/uk.js +15 -0
  334. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/vi.js +15 -0
  335. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/zh_CN.js +15 -0
  336. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/langs/zh_TW.js +15 -0
  337. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/license.txt +5 -0
  338. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/plugin.js +10 -0
  339. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/plugin.min.js +10 -0
  340. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/readme.txt +10 -0
  341. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/version.txt +1 -0
  342. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advlist/index.js +13 -0
  343. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advlist/plugin.js +264 -0
  344. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advlist/plugin.min.js +9 -0
  345. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/anchor/index.js +13 -0
  346. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/anchor/plugin.js +219 -0
  347. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/anchor/plugin.min.js +9 -0
  348. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autolink/index.js +13 -0
  349. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autolink/plugin.js +233 -0
  350. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autolink/plugin.min.js +9 -0
  351. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autoresize/index.js +13 -0
  352. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autoresize/plugin.js +197 -0
  353. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autoresize/plugin.min.js +9 -0
  354. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autosave/index.js +13 -0
  355. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autosave/plugin.js +238 -0
  356. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autosave/plugin.min.js +9 -0
  357. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/charmap/index.js +13 -0
  358. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/charmap/plugin.js +1663 -0
  359. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/charmap/plugin.min.js +9 -0
  360. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/code/index.js +13 -0
  361. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/code/plugin.js +90 -0
  362. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/code/plugin.min.js +9 -0
  363. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/codesample/index.js +13 -0
  364. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/codesample/plugin.js +2468 -0
  365. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/codesample/plugin.min.js +9 -0
  366. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/directionality/index.js +13 -0
  367. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/directionality/plugin.js +400 -0
  368. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/directionality/plugin.min.js +9 -0
  369. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/index.js +13 -0
  370. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/js/emojiimages.js +7 -0
  371. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/js/emojiimages.min.js +9 -0
  372. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/js/emojis.js +7 -0
  373. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/js/emojis.min.js +8 -0
  374. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/plugin.js +600 -0
  375. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/plugin.min.js +9 -0
  376. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/fullscreen/index.js +13 -0
  377. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/fullscreen/plugin.js +1201 -0
  378. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/fullscreen/plugin.min.js +9 -0
  379. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/index.js +13 -0
  380. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ar.js +96 -0
  381. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/bg_BG.js +96 -0
  382. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ca.js +96 -0
  383. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/cs.js +96 -0
  384. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/da.js +96 -0
  385. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/de.js +96 -0
  386. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/el.js +96 -0
  387. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/en.js +96 -0
  388. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/es.js +96 -0
  389. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/eu.js +96 -0
  390. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/fa.js +96 -0
  391. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/fi.js +96 -0
  392. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/fr_FR.js +96 -0
  393. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/he_IL.js +96 -0
  394. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/hi.js +96 -0
  395. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/hr.js +96 -0
  396. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/hu_HU.js +96 -0
  397. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/id.js +96 -0
  398. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/it.js +96 -0
  399. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ja.js +96 -0
  400. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/kk.js +96 -0
  401. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ko_KR.js +96 -0
  402. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ms.js +96 -0
  403. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/nb_NO.js +96 -0
  404. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/nl.js +96 -0
  405. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/pl.js +96 -0
  406. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/pt_BR.js +96 -0
  407. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/pt_PT.js +96 -0
  408. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ro.js +96 -0
  409. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ru.js +96 -0
  410. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/sk.js +96 -0
  411. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/sl_SI.js +96 -0
  412. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/sv_SE.js +96 -0
  413. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/th_TH.js +96 -0
  414. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/tr.js +96 -0
  415. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/uk.js +96 -0
  416. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/vi.js +96 -0
  417. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/zh_CN.js +90 -0
  418. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/zh_TW.js +96 -0
  419. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/plugin.js +898 -0
  420. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/plugin.min.js +9 -0
  421. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/image/index.js +13 -0
  422. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/image/plugin.js +1509 -0
  423. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/image/plugin.min.js +9 -0
  424. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/importcss/index.js +13 -0
  425. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/importcss/plugin.js +349 -0
  426. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/importcss/plugin.min.js +9 -0
  427. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/insertdatetime/index.js +13 -0
  428. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/insertdatetime/plugin.js +192 -0
  429. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/insertdatetime/plugin.min.js +9 -0
  430. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/link/index.js +13 -0
  431. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/link/plugin.js +1246 -0
  432. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/link/plugin.min.js +9 -0
  433. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/lists/index.js +13 -0
  434. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/lists/plugin.js +1953 -0
  435. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/lists/plugin.min.js +9 -0
  436. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/media/index.js +13 -0
  437. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/media/plugin.js +1240 -0
  438. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/media/plugin.min.js +9 -0
  439. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/nonbreaking/index.js +13 -0
  440. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/nonbreaking/plugin.js +128 -0
  441. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/nonbreaking/plugin.min.js +9 -0
  442. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/pagebreak/index.js +13 -0
  443. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/pagebreak/plugin.js +122 -0
  444. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/pagebreak/plugin.min.js +9 -0
  445. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/CHANGELOG.md +402 -0
  446. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/js/wordimport.js +3498 -0
  447. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ar.js +20 -0
  448. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/bg_BG.js +20 -0
  449. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ca.js +20 -0
  450. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/cs.js +20 -0
  451. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/da.js +20 -0
  452. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/de.js +20 -0
  453. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/el.js +20 -0
  454. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/es.js +20 -0
  455. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/eu.js +20 -0
  456. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/fa.js +20 -0
  457. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/fi.js +20 -0
  458. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/fr_FR.js +20 -0
  459. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/he_IL.js +20 -0
  460. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/hi.js +20 -0
  461. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/hr.js +20 -0
  462. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/hu_HU.js +20 -0
  463. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/id.js +20 -0
  464. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/it.js +20 -0
  465. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ja.js +20 -0
  466. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/kk.js +20 -0
  467. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ko_KR.js +20 -0
  468. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ms.js +20 -0
  469. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/nb_NO.js +20 -0
  470. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/nl.js +20 -0
  471. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/pl.js +20 -0
  472. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/pt_BR.js +20 -0
  473. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/pt_PT.js +20 -0
  474. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ro.js +20 -0
  475. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ru.js +20 -0
  476. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/sk.js +20 -0
  477. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/sl_SI.js +20 -0
  478. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/sv_SE.js +20 -0
  479. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/th_TH.js +20 -0
  480. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/tr.js +20 -0
  481. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/uk.js +20 -0
  482. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/vi.js +20 -0
  483. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/zh_CN.js +20 -0
  484. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/zh_TW.js +20 -0
  485. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/license.txt +5 -0
  486. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/plugin.js +10 -0
  487. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/plugin.min.js +10 -0
  488. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/readme.txt +10 -0
  489. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/version.txt +1 -0
  490. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/preview/index.js +13 -0
  491. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/preview/plugin.js +102 -0
  492. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/preview/plugin.min.js +9 -0
  493. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/quickbars/index.js +13 -0
  494. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/quickbars/plugin.js +443 -0
  495. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/quickbars/plugin.min.js +9 -0
  496. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/save/index.js +13 -0
  497. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/save/plugin.js +123 -0
  498. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/save/plugin.min.js +9 -0
  499. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/searchreplace/index.js +13 -0
  500. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/searchreplace/plugin.js +1098 -0
  501. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/searchreplace/plugin.min.js +9 -0
  502. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/table/index.js +13 -0
  503. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/table/plugin.js +3467 -0
  504. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/table/plugin.min.js +9 -0
  505. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/template/index.js +13 -0
  506. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/template/plugin.js +572 -0
  507. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/template/plugin.min.js +9 -0
  508. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualblocks/index.js +13 -0
  509. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualblocks/plugin.js +103 -0
  510. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualblocks/plugin.min.js +9 -0
  511. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualchars/index.js +13 -0
  512. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualchars/plugin.js +565 -0
  513. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualchars/plugin.min.js +9 -0
  514. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/wordcount/index.js +13 -0
  515. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/wordcount/plugin.js +410 -0
  516. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/wordcount/plugin.min.js +9 -0
  517. package/src/sap/ui/richtexteditor/js/tiny_mce6/readme.txt +12 -0
  518. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/dark/content.css +72 -0
  519. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/dark/content.min.css +7 -0
  520. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/default/content.css +67 -0
  521. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/default/content.min.css +7 -0
  522. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/document/content.css +72 -0
  523. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/document/content.min.css +7 -0
  524. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/tinymce-5/content.css +67 -0
  525. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/tinymce-5/content.min.css +7 -0
  526. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/tinymce-5-dark/content.css +72 -0
  527. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/tinymce-5-dark/content.min.css +7 -0
  528. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/writer/content.css +68 -0
  529. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/writer/content.min.css +7 -0
  530. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.css +791 -0
  531. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.inline.css +785 -0
  532. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.inline.min.css +7 -0
  533. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.min.css +7 -0
  534. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.css +3694 -0
  535. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.min.css +7 -0
  536. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.shadowdom.css +36 -0
  537. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.shadowdom.min.css +7 -0
  538. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.css +772 -0
  539. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.inline.css +785 -0
  540. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.inline.min.css +7 -0
  541. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.min.css +7 -0
  542. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.css +3697 -0
  543. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.min.css +7 -0
  544. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.shadowdom.css +36 -0
  545. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.shadowdom.min.css +7 -0
  546. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.css +791 -0
  547. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.inline.css +785 -0
  548. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.inline.min.css +7 -0
  549. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.min.css +7 -0
  550. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.css +3788 -0
  551. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.min.css +7 -0
  552. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.shadowdom.css +36 -0
  553. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.shadowdom.min.css +7 -0
  554. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.css +772 -0
  555. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.inline.css +785 -0
  556. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.inline.min.css +7 -0
  557. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.min.css +7 -0
  558. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.css +3788 -0
  559. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.min.css +7 -0
  560. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.shadowdom.css +36 -0
  561. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +7 -0
  562. package/src/sap/ui/richtexteditor/js/tiny_mce6/themes/silver/index.js +13 -0
  563. package/src/sap/ui/richtexteditor/js/tiny_mce6/themes/silver/theme.js +30172 -0
  564. package/src/sap/ui/richtexteditor/js/tiny_mce6/themes/silver/theme.min.js +9 -0
  565. package/src/sap/ui/richtexteditor/js/tiny_mce6/tinymce.d.ts +3206 -0
  566. package/src/sap/ui/richtexteditor/js/tiny_mce6/tinymce.js +31303 -0
  567. package/src/sap/ui/richtexteditor/js/tiny_mce6/tinymce.min.js +9 -0
  568. package/src/sap/ui/richtexteditor/js/tiny_mce6/version.txt +1 -0
  569. package/src/sap/ui/richtexteditor/library.js +64 -27
  570. package/src/sap/ui/richtexteditor/messagebundle_ar.properties +54 -0
  571. package/src/sap/ui/richtexteditor/messagebundle_bg.properties +54 -0
  572. package/src/sap/ui/richtexteditor/messagebundle_ca.properties +54 -0
  573. package/src/sap/ui/richtexteditor/messagebundle_cnr.properties +105 -0
  574. package/src/sap/ui/richtexteditor/messagebundle_cs.properties +54 -0
  575. package/src/sap/ui/richtexteditor/messagebundle_cy.properties +54 -0
  576. package/src/sap/ui/richtexteditor/messagebundle_da.properties +54 -0
  577. package/src/sap/ui/richtexteditor/messagebundle_de.properties +54 -0
  578. package/src/sap/ui/richtexteditor/messagebundle_el.properties +54 -0
  579. package/src/sap/ui/richtexteditor/messagebundle_en_GB.properties +54 -0
  580. package/src/sap/ui/richtexteditor/messagebundle_en_US_saprigi.properties +106 -52
  581. package/src/sap/ui/richtexteditor/messagebundle_es.properties +54 -0
  582. package/src/sap/ui/richtexteditor/messagebundle_es_MX.properties +54 -0
  583. package/src/sap/ui/richtexteditor/messagebundle_et.properties +54 -0
  584. package/src/sap/ui/richtexteditor/messagebundle_fi.properties +54 -0
  585. package/src/sap/ui/richtexteditor/messagebundle_fr.properties +54 -0
  586. package/src/sap/ui/richtexteditor/messagebundle_fr_CA.properties +54 -0
  587. package/src/sap/ui/richtexteditor/messagebundle_hi.properties +54 -0
  588. package/src/sap/ui/richtexteditor/messagebundle_hr.properties +54 -0
  589. package/src/sap/ui/richtexteditor/messagebundle_hu.properties +54 -0
  590. package/src/sap/ui/richtexteditor/messagebundle_id.properties +54 -0
  591. package/src/sap/ui/richtexteditor/messagebundle_it.properties +54 -0
  592. package/src/sap/ui/richtexteditor/messagebundle_iw.properties +54 -0
  593. package/src/sap/ui/richtexteditor/messagebundle_ja.properties +54 -0
  594. package/src/sap/ui/richtexteditor/messagebundle_kk.properties +54 -0
  595. package/src/sap/ui/richtexteditor/messagebundle_ko.properties +54 -0
  596. package/src/sap/ui/richtexteditor/messagebundle_lt.properties +54 -0
  597. package/src/sap/ui/richtexteditor/messagebundle_lv.properties +54 -0
  598. package/src/sap/ui/richtexteditor/messagebundle_ms.properties +54 -0
  599. package/src/sap/ui/richtexteditor/messagebundle_nl.properties +54 -0
  600. package/src/sap/ui/richtexteditor/messagebundle_no.properties +54 -0
  601. package/src/sap/ui/richtexteditor/messagebundle_pl.properties +54 -0
  602. package/src/sap/ui/richtexteditor/messagebundle_pt.properties +54 -0
  603. package/src/sap/ui/richtexteditor/messagebundle_pt_PT.properties +54 -0
  604. package/src/sap/ui/richtexteditor/messagebundle_ro.properties +54 -0
  605. package/src/sap/ui/richtexteditor/messagebundle_ru.properties +54 -0
  606. package/src/sap/ui/richtexteditor/messagebundle_sh.properties +54 -0
  607. package/src/sap/ui/richtexteditor/messagebundle_sk.properties +54 -0
  608. package/src/sap/ui/richtexteditor/messagebundle_sl.properties +54 -0
  609. package/src/sap/ui/richtexteditor/messagebundle_sr.properties +54 -0
  610. package/src/sap/ui/richtexteditor/messagebundle_sv.properties +54 -0
  611. package/src/sap/ui/richtexteditor/messagebundle_th.properties +54 -0
  612. package/src/sap/ui/richtexteditor/messagebundle_tr.properties +54 -0
  613. package/src/sap/ui/richtexteditor/messagebundle_uk.properties +54 -0
  614. package/src/sap/ui/richtexteditor/messagebundle_vi.properties +54 -0
  615. package/src/sap/ui/richtexteditor/messagebundle_zh_CN.properties +54 -0
  616. package/src/sap/ui/richtexteditor/messagebundle_zh_TW.properties +54 -0
  617. package/src/sap/ui/richtexteditor/themes/base/RichTextEditor.less +25 -84
  618. package/src/sap/ui/richtexteditor/themes/sap_belize/RichTextEditor.less +33 -0
  619. package/src/sap/ui/richtexteditor/themes/sap_belize/library.source.less +3 -1
  620. package/src/sap/ui/richtexteditor/themes/sap_belize_hcb/RichTextEditor.less +29 -0
  621. package/src/sap/ui/richtexteditor/themes/sap_belize_hcb/library.source.less +2 -0
  622. package/src/sap/ui/richtexteditor/themes/sap_belize_hcw/RichTextEditor.less +30 -0
  623. package/src/sap/ui/richtexteditor/themes/sap_belize_hcw/library.source.less +2 -0
  624. package/src/sap/ui/richtexteditor/themes/sap_fiori_3/RichTextEditor.less +4 -5
  625. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_dark/RichTextEditor.less +4 -5
  626. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcb/RichTextEditor.less +4 -5
  627. package/src/sap/ui/richtexteditor/themes/sap_fiori_3_hcw/RichTextEditor.less +4 -5
  628. package/src/sap/ui/richtexteditor/themes/sap_horizon/RichTextEditor.less +15 -30
@@ -0,0 +1,1509 @@
1
+ /*!
2
+ * TinyMCE
3
+ *
4
+ * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.
5
+ * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/
6
+ *
7
+ * Version: 6.5.1
8
+ */
9
+
10
+ (function () {
11
+ 'use strict';
12
+
13
+ var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager');
14
+
15
+ const getPrototypeOf = Object.getPrototypeOf;
16
+ const hasProto = (v, constructor, predicate) => {
17
+ var _a;
18
+ if (predicate(v, constructor.prototype)) {
19
+ return true;
20
+ } else {
21
+ return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
22
+ }
23
+ };
24
+ const typeOf = x => {
25
+ const t = typeof x;
26
+ if (x === null) {
27
+ return 'null';
28
+ } else if (t === 'object' && Array.isArray(x)) {
29
+ return 'array';
30
+ } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {
31
+ return 'string';
32
+ } else {
33
+ return t;
34
+ }
35
+ };
36
+ const isType = type => value => typeOf(value) === type;
37
+ const isSimpleType = type => value => typeof value === type;
38
+ const eq = t => a => t === a;
39
+ const is = (value, constructor) => isObject(value) && hasProto(value, constructor, (o, proto) => getPrototypeOf(o) === proto);
40
+ const isString = isType('string');
41
+ const isObject = isType('object');
42
+ const isPlainObject = value => is(value, Object);
43
+ const isArray = isType('array');
44
+ const isNull = eq(null);
45
+ const isBoolean = isSimpleType('boolean');
46
+ const isNullable = a => a === null || a === undefined;
47
+ const isNonNullable = a => !isNullable(a);
48
+ const isFunction = isSimpleType('function');
49
+ const isNumber = isSimpleType('number');
50
+ const isArrayOf = (value, pred) => {
51
+ if (isArray(value)) {
52
+ for (let i = 0, len = value.length; i < len; ++i) {
53
+ if (!pred(value[i])) {
54
+ return false;
55
+ }
56
+ }
57
+ return true;
58
+ }
59
+ return false;
60
+ };
61
+
62
+ const noop = () => {
63
+ };
64
+
65
+ class Optional {
66
+ constructor(tag, value) {
67
+ this.tag = tag;
68
+ this.value = value;
69
+ }
70
+ static some(value) {
71
+ return new Optional(true, value);
72
+ }
73
+ static none() {
74
+ return Optional.singletonNone;
75
+ }
76
+ fold(onNone, onSome) {
77
+ if (this.tag) {
78
+ return onSome(this.value);
79
+ } else {
80
+ return onNone();
81
+ }
82
+ }
83
+ isSome() {
84
+ return this.tag;
85
+ }
86
+ isNone() {
87
+ return !this.tag;
88
+ }
89
+ map(mapper) {
90
+ if (this.tag) {
91
+ return Optional.some(mapper(this.value));
92
+ } else {
93
+ return Optional.none();
94
+ }
95
+ }
96
+ bind(binder) {
97
+ if (this.tag) {
98
+ return binder(this.value);
99
+ } else {
100
+ return Optional.none();
101
+ }
102
+ }
103
+ exists(predicate) {
104
+ return this.tag && predicate(this.value);
105
+ }
106
+ forall(predicate) {
107
+ return !this.tag || predicate(this.value);
108
+ }
109
+ filter(predicate) {
110
+ if (!this.tag || predicate(this.value)) {
111
+ return this;
112
+ } else {
113
+ return Optional.none();
114
+ }
115
+ }
116
+ getOr(replacement) {
117
+ return this.tag ? this.value : replacement;
118
+ }
119
+ or(replacement) {
120
+ return this.tag ? this : replacement;
121
+ }
122
+ getOrThunk(thunk) {
123
+ return this.tag ? this.value : thunk();
124
+ }
125
+ orThunk(thunk) {
126
+ return this.tag ? this : thunk();
127
+ }
128
+ getOrDie(message) {
129
+ if (!this.tag) {
130
+ throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
131
+ } else {
132
+ return this.value;
133
+ }
134
+ }
135
+ static from(value) {
136
+ return isNonNullable(value) ? Optional.some(value) : Optional.none();
137
+ }
138
+ getOrNull() {
139
+ return this.tag ? this.value : null;
140
+ }
141
+ getOrUndefined() {
142
+ return this.value;
143
+ }
144
+ each(worker) {
145
+ if (this.tag) {
146
+ worker(this.value);
147
+ }
148
+ }
149
+ toArray() {
150
+ return this.tag ? [this.value] : [];
151
+ }
152
+ toString() {
153
+ return this.tag ? `some(${ this.value })` : 'none()';
154
+ }
155
+ }
156
+ Optional.singletonNone = new Optional(false);
157
+
158
+ const keys = Object.keys;
159
+ const hasOwnProperty = Object.hasOwnProperty;
160
+ const each = (obj, f) => {
161
+ const props = keys(obj);
162
+ for (let k = 0, len = props.length; k < len; k++) {
163
+ const i = props[k];
164
+ const x = obj[i];
165
+ f(x, i);
166
+ }
167
+ };
168
+ const objAcc = r => (x, i) => {
169
+ r[i] = x;
170
+ };
171
+ const internalFilter = (obj, pred, onTrue, onFalse) => {
172
+ each(obj, (x, i) => {
173
+ (pred(x, i) ? onTrue : onFalse)(x, i);
174
+ });
175
+ };
176
+ const filter = (obj, pred) => {
177
+ const t = {};
178
+ internalFilter(obj, pred, objAcc(t), noop);
179
+ return t;
180
+ };
181
+ const has = (obj, key) => hasOwnProperty.call(obj, key);
182
+ const hasNonNullableKey = (obj, key) => has(obj, key) && obj[key] !== undefined && obj[key] !== null;
183
+
184
+ const nativePush = Array.prototype.push;
185
+ const flatten = xs => {
186
+ const r = [];
187
+ for (let i = 0, len = xs.length; i < len; ++i) {
188
+ if (!isArray(xs[i])) {
189
+ throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
190
+ }
191
+ nativePush.apply(r, xs[i]);
192
+ }
193
+ return r;
194
+ };
195
+ const get = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();
196
+ const head = xs => get(xs, 0);
197
+ const findMap = (arr, f) => {
198
+ for (let i = 0; i < arr.length; i++) {
199
+ const r = f(arr[i], i);
200
+ if (r.isSome()) {
201
+ return r;
202
+ }
203
+ }
204
+ return Optional.none();
205
+ };
206
+
207
+ typeof window !== 'undefined' ? window : Function('return this;')();
208
+
209
+ const rawSet = (dom, key, value) => {
210
+ if (isString(value) || isBoolean(value) || isNumber(value)) {
211
+ dom.setAttribute(key, value + '');
212
+ } else {
213
+ console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);
214
+ throw new Error('Attribute value was not simple');
215
+ }
216
+ };
217
+ const set = (element, key, value) => {
218
+ rawSet(element.dom, key, value);
219
+ };
220
+ const remove = (element, key) => {
221
+ element.dom.removeAttribute(key);
222
+ };
223
+
224
+ const fromHtml = (html, scope) => {
225
+ const doc = scope || document;
226
+ const div = doc.createElement('div');
227
+ div.innerHTML = html;
228
+ if (!div.hasChildNodes() || div.childNodes.length > 1) {
229
+ const message = 'HTML does not have a single root node';
230
+ console.error(message, html);
231
+ throw new Error(message);
232
+ }
233
+ return fromDom(div.childNodes[0]);
234
+ };
235
+ const fromTag = (tag, scope) => {
236
+ const doc = scope || document;
237
+ const node = doc.createElement(tag);
238
+ return fromDom(node);
239
+ };
240
+ const fromText = (text, scope) => {
241
+ const doc = scope || document;
242
+ const node = doc.createTextNode(text);
243
+ return fromDom(node);
244
+ };
245
+ const fromDom = node => {
246
+ if (node === null || node === undefined) {
247
+ throw new Error('Node cannot be null or undefined');
248
+ }
249
+ return { dom: node };
250
+ };
251
+ const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);
252
+ const SugarElement = {
253
+ fromHtml,
254
+ fromTag,
255
+ fromText,
256
+ fromDom,
257
+ fromPoint
258
+ };
259
+
260
+ var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
261
+
262
+ var global$2 = tinymce.util.Tools.resolve('tinymce.util.URI');
263
+
264
+ const isNotEmpty = s => s.length > 0;
265
+
266
+ const option = name => editor => editor.options.get(name);
267
+ const register$2 = editor => {
268
+ const registerOption = editor.options.register;
269
+ registerOption('image_dimensions', {
270
+ processor: 'boolean',
271
+ default: true
272
+ });
273
+ registerOption('image_advtab', {
274
+ processor: 'boolean',
275
+ default: false
276
+ });
277
+ registerOption('image_uploadtab', {
278
+ processor: 'boolean',
279
+ default: true
280
+ });
281
+ registerOption('image_prepend_url', {
282
+ processor: 'string',
283
+ default: ''
284
+ });
285
+ registerOption('image_class_list', { processor: 'object[]' });
286
+ registerOption('image_description', {
287
+ processor: 'boolean',
288
+ default: true
289
+ });
290
+ registerOption('image_title', {
291
+ processor: 'boolean',
292
+ default: false
293
+ });
294
+ registerOption('image_caption', {
295
+ processor: 'boolean',
296
+ default: false
297
+ });
298
+ registerOption('image_list', {
299
+ processor: value => {
300
+ const valid = value === false || isString(value) || isArrayOf(value, isObject) || isFunction(value);
301
+ return valid ? {
302
+ value,
303
+ valid
304
+ } : {
305
+ valid: false,
306
+ message: 'Must be false, a string, an array or a function.'
307
+ };
308
+ },
309
+ default: false
310
+ });
311
+ };
312
+ const hasDimensions = option('image_dimensions');
313
+ const hasAdvTab = option('image_advtab');
314
+ const hasUploadTab = option('image_uploadtab');
315
+ const getPrependUrl = option('image_prepend_url');
316
+ const getClassList = option('image_class_list');
317
+ const hasDescription = option('image_description');
318
+ const hasImageTitle = option('image_title');
319
+ const hasImageCaption = option('image_caption');
320
+ const getImageList = option('image_list');
321
+ const showAccessibilityOptions = option('a11y_advanced_options');
322
+ const isAutomaticUploadsEnabled = option('automatic_uploads');
323
+ const hasUploadUrl = editor => isNotEmpty(editor.options.get('images_upload_url'));
324
+ const hasUploadHandler = editor => isNonNullable(editor.options.get('images_upload_handler'));
325
+
326
+ const parseIntAndGetMax = (val1, val2) => Math.max(parseInt(val1, 10), parseInt(val2, 10));
327
+ const getImageSize = url => new Promise(callback => {
328
+ const img = document.createElement('img');
329
+ const done = dimensions => {
330
+ img.onload = img.onerror = null;
331
+ if (img.parentNode) {
332
+ img.parentNode.removeChild(img);
333
+ }
334
+ callback(dimensions);
335
+ };
336
+ img.onload = () => {
337
+ const width = parseIntAndGetMax(img.width, img.clientWidth);
338
+ const height = parseIntAndGetMax(img.height, img.clientHeight);
339
+ const dimensions = {
340
+ width,
341
+ height
342
+ };
343
+ done(Promise.resolve(dimensions));
344
+ };
345
+ img.onerror = () => {
346
+ done(Promise.reject(`Failed to get image dimensions for: ${ url }`));
347
+ };
348
+ const style = img.style;
349
+ style.visibility = 'hidden';
350
+ style.position = 'fixed';
351
+ style.bottom = style.left = '0px';
352
+ style.width = style.height = 'auto';
353
+ document.body.appendChild(img);
354
+ img.src = url;
355
+ });
356
+ const removePixelSuffix = value => {
357
+ if (value) {
358
+ value = value.replace(/px$/, '');
359
+ }
360
+ return value;
361
+ };
362
+ const addPixelSuffix = value => {
363
+ if (value.length > 0 && /^[0-9]+$/.test(value)) {
364
+ value += 'px';
365
+ }
366
+ return value;
367
+ };
368
+ const mergeMargins = css => {
369
+ if (css.margin) {
370
+ const splitMargin = String(css.margin).split(' ');
371
+ switch (splitMargin.length) {
372
+ case 1:
373
+ css['margin-top'] = css['margin-top'] || splitMargin[0];
374
+ css['margin-right'] = css['margin-right'] || splitMargin[0];
375
+ css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
376
+ css['margin-left'] = css['margin-left'] || splitMargin[0];
377
+ break;
378
+ case 2:
379
+ css['margin-top'] = css['margin-top'] || splitMargin[0];
380
+ css['margin-right'] = css['margin-right'] || splitMargin[1];
381
+ css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
382
+ css['margin-left'] = css['margin-left'] || splitMargin[1];
383
+ break;
384
+ case 3:
385
+ css['margin-top'] = css['margin-top'] || splitMargin[0];
386
+ css['margin-right'] = css['margin-right'] || splitMargin[1];
387
+ css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
388
+ css['margin-left'] = css['margin-left'] || splitMargin[1];
389
+ break;
390
+ case 4:
391
+ css['margin-top'] = css['margin-top'] || splitMargin[0];
392
+ css['margin-right'] = css['margin-right'] || splitMargin[1];
393
+ css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
394
+ css['margin-left'] = css['margin-left'] || splitMargin[3];
395
+ }
396
+ delete css.margin;
397
+ }
398
+ return css;
399
+ };
400
+ const createImageList = (editor, callback) => {
401
+ const imageList = getImageList(editor);
402
+ if (isString(imageList)) {
403
+ fetch(imageList).then(res => {
404
+ if (res.ok) {
405
+ res.json().then(callback);
406
+ }
407
+ });
408
+ } else if (isFunction(imageList)) {
409
+ imageList(callback);
410
+ } else {
411
+ callback(imageList);
412
+ }
413
+ };
414
+ const waitLoadImage = (editor, data, imgElm) => {
415
+ const selectImage = () => {
416
+ imgElm.onload = imgElm.onerror = null;
417
+ if (editor.selection) {
418
+ editor.selection.select(imgElm);
419
+ editor.nodeChanged();
420
+ }
421
+ };
422
+ imgElm.onload = () => {
423
+ if (!data.width && !data.height && hasDimensions(editor)) {
424
+ editor.dom.setAttribs(imgElm, {
425
+ width: String(imgElm.clientWidth),
426
+ height: String(imgElm.clientHeight)
427
+ });
428
+ }
429
+ selectImage();
430
+ };
431
+ imgElm.onerror = selectImage;
432
+ };
433
+ const blobToDataUri = blob => new Promise((resolve, reject) => {
434
+ const reader = new FileReader();
435
+ reader.onload = () => {
436
+ resolve(reader.result);
437
+ };
438
+ reader.onerror = () => {
439
+ var _a;
440
+ reject((_a = reader.error) === null || _a === void 0 ? void 0 : _a.message);
441
+ };
442
+ reader.readAsDataURL(blob);
443
+ });
444
+ const isPlaceholderImage = imgElm => imgElm.nodeName === 'IMG' && (imgElm.hasAttribute('data-mce-object') || imgElm.hasAttribute('data-mce-placeholder'));
445
+ const isSafeImageUrl = (editor, src) => {
446
+ const getOption = editor.options.get;
447
+ return global$2.isDomSafe(src, 'img', {
448
+ allow_html_data_urls: getOption('allow_html_data_urls'),
449
+ allow_script_urls: getOption('allow_script_urls'),
450
+ allow_svg_data_urls: getOption('allow_svg_data_urls')
451
+ });
452
+ };
453
+
454
+ const DOM = global$3.DOM;
455
+ const getHspace = image => {
456
+ if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) {
457
+ return removePixelSuffix(image.style.marginLeft);
458
+ } else {
459
+ return '';
460
+ }
461
+ };
462
+ const getVspace = image => {
463
+ if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) {
464
+ return removePixelSuffix(image.style.marginTop);
465
+ } else {
466
+ return '';
467
+ }
468
+ };
469
+ const getBorder = image => {
470
+ if (image.style.borderWidth) {
471
+ return removePixelSuffix(image.style.borderWidth);
472
+ } else {
473
+ return '';
474
+ }
475
+ };
476
+ const getAttrib = (image, name) => {
477
+ var _a;
478
+ if (image.hasAttribute(name)) {
479
+ return (_a = image.getAttribute(name)) !== null && _a !== void 0 ? _a : '';
480
+ } else {
481
+ return '';
482
+ }
483
+ };
484
+ const hasCaption = image => image.parentNode !== null && image.parentNode.nodeName === 'FIGURE';
485
+ const updateAttrib = (image, name, value) => {
486
+ if (value === '' || value === null) {
487
+ image.removeAttribute(name);
488
+ } else {
489
+ image.setAttribute(name, value);
490
+ }
491
+ };
492
+ const wrapInFigure = image => {
493
+ const figureElm = DOM.create('figure', { class: 'image' });
494
+ DOM.insertAfter(figureElm, image);
495
+ figureElm.appendChild(image);
496
+ figureElm.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption'));
497
+ figureElm.contentEditable = 'false';
498
+ };
499
+ const removeFigure = image => {
500
+ const figureElm = image.parentNode;
501
+ if (isNonNullable(figureElm)) {
502
+ DOM.insertAfter(image, figureElm);
503
+ DOM.remove(figureElm);
504
+ }
505
+ };
506
+ const toggleCaption = image => {
507
+ if (hasCaption(image)) {
508
+ removeFigure(image);
509
+ } else {
510
+ wrapInFigure(image);
511
+ }
512
+ };
513
+ const normalizeStyle = (image, normalizeCss) => {
514
+ const attrValue = image.getAttribute('style');
515
+ const value = normalizeCss(attrValue !== null ? attrValue : '');
516
+ if (value.length > 0) {
517
+ image.setAttribute('style', value);
518
+ image.setAttribute('data-mce-style', value);
519
+ } else {
520
+ image.removeAttribute('style');
521
+ }
522
+ };
523
+ const setSize = (name, normalizeCss) => (image, name, value) => {
524
+ const styles = image.style;
525
+ if (styles[name]) {
526
+ styles[name] = addPixelSuffix(value);
527
+ normalizeStyle(image, normalizeCss);
528
+ } else {
529
+ updateAttrib(image, name, value);
530
+ }
531
+ };
532
+ const getSize = (image, name) => {
533
+ if (image.style[name]) {
534
+ return removePixelSuffix(image.style[name]);
535
+ } else {
536
+ return getAttrib(image, name);
537
+ }
538
+ };
539
+ const setHspace = (image, value) => {
540
+ const pxValue = addPixelSuffix(value);
541
+ image.style.marginLeft = pxValue;
542
+ image.style.marginRight = pxValue;
543
+ };
544
+ const setVspace = (image, value) => {
545
+ const pxValue = addPixelSuffix(value);
546
+ image.style.marginTop = pxValue;
547
+ image.style.marginBottom = pxValue;
548
+ };
549
+ const setBorder = (image, value) => {
550
+ const pxValue = addPixelSuffix(value);
551
+ image.style.borderWidth = pxValue;
552
+ };
553
+ const setBorderStyle = (image, value) => {
554
+ image.style.borderStyle = value;
555
+ };
556
+ const getBorderStyle = image => {
557
+ var _a;
558
+ return (_a = image.style.borderStyle) !== null && _a !== void 0 ? _a : '';
559
+ };
560
+ const isFigure = elm => isNonNullable(elm) && elm.nodeName === 'FIGURE';
561
+ const isImage = elm => elm.nodeName === 'IMG';
562
+ const getIsDecorative = image => DOM.getAttrib(image, 'alt').length === 0 && DOM.getAttrib(image, 'role') === 'presentation';
563
+ const getAlt = image => {
564
+ if (getIsDecorative(image)) {
565
+ return '';
566
+ } else {
567
+ return getAttrib(image, 'alt');
568
+ }
569
+ };
570
+ const defaultData = () => ({
571
+ src: '',
572
+ alt: '',
573
+ title: '',
574
+ width: '',
575
+ height: '',
576
+ class: '',
577
+ style: '',
578
+ caption: false,
579
+ hspace: '',
580
+ vspace: '',
581
+ border: '',
582
+ borderStyle: '',
583
+ isDecorative: false
584
+ });
585
+ const getStyleValue = (normalizeCss, data) => {
586
+ var _a;
587
+ const image = document.createElement('img');
588
+ updateAttrib(image, 'style', data.style);
589
+ if (getHspace(image) || data.hspace !== '') {
590
+ setHspace(image, data.hspace);
591
+ }
592
+ if (getVspace(image) || data.vspace !== '') {
593
+ setVspace(image, data.vspace);
594
+ }
595
+ if (getBorder(image) || data.border !== '') {
596
+ setBorder(image, data.border);
597
+ }
598
+ if (getBorderStyle(image) || data.borderStyle !== '') {
599
+ setBorderStyle(image, data.borderStyle);
600
+ }
601
+ return normalizeCss((_a = image.getAttribute('style')) !== null && _a !== void 0 ? _a : '');
602
+ };
603
+ const create = (normalizeCss, data) => {
604
+ const image = document.createElement('img');
605
+ write(normalizeCss, {
606
+ ...data,
607
+ caption: false
608
+ }, image);
609
+ setAlt(image, data.alt, data.isDecorative);
610
+ if (data.caption) {
611
+ const figure = DOM.create('figure', { class: 'image' });
612
+ figure.appendChild(image);
613
+ figure.appendChild(DOM.create('figcaption', { contentEditable: 'true' }, 'Caption'));
614
+ figure.contentEditable = 'false';
615
+ return figure;
616
+ } else {
617
+ return image;
618
+ }
619
+ };
620
+ const read = (normalizeCss, image) => ({
621
+ src: getAttrib(image, 'src'),
622
+ alt: getAlt(image),
623
+ title: getAttrib(image, 'title'),
624
+ width: getSize(image, 'width'),
625
+ height: getSize(image, 'height'),
626
+ class: getAttrib(image, 'class'),
627
+ style: normalizeCss(getAttrib(image, 'style')),
628
+ caption: hasCaption(image),
629
+ hspace: getHspace(image),
630
+ vspace: getVspace(image),
631
+ border: getBorder(image),
632
+ borderStyle: getBorderStyle(image),
633
+ isDecorative: getIsDecorative(image)
634
+ });
635
+ const updateProp = (image, oldData, newData, name, set) => {
636
+ if (newData[name] !== oldData[name]) {
637
+ set(image, name, String(newData[name]));
638
+ }
639
+ };
640
+ const setAlt = (image, alt, isDecorative) => {
641
+ if (isDecorative) {
642
+ DOM.setAttrib(image, 'role', 'presentation');
643
+ const sugarImage = SugarElement.fromDom(image);
644
+ set(sugarImage, 'alt', '');
645
+ } else {
646
+ if (isNull(alt)) {
647
+ const sugarImage = SugarElement.fromDom(image);
648
+ remove(sugarImage, 'alt');
649
+ } else {
650
+ const sugarImage = SugarElement.fromDom(image);
651
+ set(sugarImage, 'alt', alt);
652
+ }
653
+ if (DOM.getAttrib(image, 'role') === 'presentation') {
654
+ DOM.setAttrib(image, 'role', '');
655
+ }
656
+ }
657
+ };
658
+ const updateAlt = (image, oldData, newData) => {
659
+ if (newData.alt !== oldData.alt || newData.isDecorative !== oldData.isDecorative) {
660
+ setAlt(image, newData.alt, newData.isDecorative);
661
+ }
662
+ };
663
+ const normalized = (set, normalizeCss) => (image, name, value) => {
664
+ set(image, value);
665
+ normalizeStyle(image, normalizeCss);
666
+ };
667
+ const write = (normalizeCss, newData, image) => {
668
+ const oldData = read(normalizeCss, image);
669
+ updateProp(image, oldData, newData, 'caption', (image, _name, _value) => toggleCaption(image));
670
+ updateProp(image, oldData, newData, 'src', updateAttrib);
671
+ updateProp(image, oldData, newData, 'title', updateAttrib);
672
+ updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss));
673
+ updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss));
674
+ updateProp(image, oldData, newData, 'class', updateAttrib);
675
+ updateProp(image, oldData, newData, 'style', normalized((image, value) => updateAttrib(image, 'style', value), normalizeCss));
676
+ updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss));
677
+ updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss));
678
+ updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss));
679
+ updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss));
680
+ updateAlt(image, oldData, newData);
681
+ };
682
+
683
+ const normalizeCss$1 = (editor, cssText) => {
684
+ const css = editor.dom.styles.parse(cssText);
685
+ const mergedCss = mergeMargins(css);
686
+ const compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss));
687
+ return editor.dom.styles.serialize(compressed);
688
+ };
689
+ const getSelectedImage = editor => {
690
+ const imgElm = editor.selection.getNode();
691
+ const figureElm = editor.dom.getParent(imgElm, 'figure.image');
692
+ if (figureElm) {
693
+ return editor.dom.select('img', figureElm)[0];
694
+ }
695
+ if (imgElm && (imgElm.nodeName !== 'IMG' || isPlaceholderImage(imgElm))) {
696
+ return null;
697
+ }
698
+ return imgElm;
699
+ };
700
+ const splitTextBlock = (editor, figure) => {
701
+ var _a;
702
+ const dom = editor.dom;
703
+ const textBlockElements = filter(editor.schema.getTextBlockElements(), (_, parentElm) => !editor.schema.isValidChild(parentElm, 'figure'));
704
+ const textBlock = dom.getParent(figure.parentNode, node => hasNonNullableKey(textBlockElements, node.nodeName), editor.getBody());
705
+ if (textBlock) {
706
+ return (_a = dom.split(textBlock, figure)) !== null && _a !== void 0 ? _a : figure;
707
+ } else {
708
+ return figure;
709
+ }
710
+ };
711
+ const readImageDataFromSelection = editor => {
712
+ const image = getSelectedImage(editor);
713
+ return image ? read(css => normalizeCss$1(editor, css), image) : defaultData();
714
+ };
715
+ const insertImageAtCaret = (editor, data) => {
716
+ const elm = create(css => normalizeCss$1(editor, css), data);
717
+ editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew');
718
+ editor.focus();
719
+ editor.selection.setContent(elm.outerHTML);
720
+ const insertedElm = editor.dom.select('*[data-mce-id="__mcenew"]')[0];
721
+ editor.dom.setAttrib(insertedElm, 'data-mce-id', null);
722
+ if (isFigure(insertedElm)) {
723
+ const figure = splitTextBlock(editor, insertedElm);
724
+ editor.selection.select(figure);
725
+ } else {
726
+ editor.selection.select(insertedElm);
727
+ }
728
+ };
729
+ const syncSrcAttr = (editor, image) => {
730
+ editor.dom.setAttrib(image, 'src', image.getAttribute('src'));
731
+ };
732
+ const deleteImage = (editor, image) => {
733
+ if (image) {
734
+ const elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image;
735
+ editor.dom.remove(elm);
736
+ editor.focus();
737
+ editor.nodeChanged();
738
+ if (editor.dom.isEmpty(editor.getBody())) {
739
+ editor.setContent('');
740
+ editor.selection.setCursorLocation();
741
+ }
742
+ }
743
+ };
744
+ const writeImageDataToSelection = (editor, data) => {
745
+ const image = getSelectedImage(editor);
746
+ if (image) {
747
+ write(css => normalizeCss$1(editor, css), data, image);
748
+ syncSrcAttr(editor, image);
749
+ if (isFigure(image.parentNode)) {
750
+ const figure = image.parentNode;
751
+ splitTextBlock(editor, figure);
752
+ editor.selection.select(image.parentNode);
753
+ } else {
754
+ editor.selection.select(image);
755
+ waitLoadImage(editor, data, image);
756
+ }
757
+ }
758
+ };
759
+ const sanitizeImageData = (editor, data) => {
760
+ const src = data.src;
761
+ return {
762
+ ...data,
763
+ src: isSafeImageUrl(editor, src) ? src : ''
764
+ };
765
+ };
766
+ const insertOrUpdateImage = (editor, partialData) => {
767
+ const image = getSelectedImage(editor);
768
+ if (image) {
769
+ const selectedImageData = read(css => normalizeCss$1(editor, css), image);
770
+ const data = {
771
+ ...selectedImageData,
772
+ ...partialData
773
+ };
774
+ const sanitizedData = sanitizeImageData(editor, data);
775
+ if (data.src) {
776
+ writeImageDataToSelection(editor, sanitizedData);
777
+ } else {
778
+ deleteImage(editor, image);
779
+ }
780
+ } else if (partialData.src) {
781
+ insertImageAtCaret(editor, {
782
+ ...defaultData(),
783
+ ...partialData
784
+ });
785
+ }
786
+ };
787
+
788
+ const deep = (old, nu) => {
789
+ const bothObjects = isPlainObject(old) && isPlainObject(nu);
790
+ return bothObjects ? deepMerge(old, nu) : nu;
791
+ };
792
+ const baseMerge = merger => {
793
+ return (...objects) => {
794
+ if (objects.length === 0) {
795
+ throw new Error(`Can't merge zero objects`);
796
+ }
797
+ const ret = {};
798
+ for (let j = 0; j < objects.length; j++) {
799
+ const curObject = objects[j];
800
+ for (const key in curObject) {
801
+ if (has(curObject, key)) {
802
+ ret[key] = merger(ret[key], curObject[key]);
803
+ }
804
+ }
805
+ }
806
+ return ret;
807
+ };
808
+ };
809
+ const deepMerge = baseMerge(deep);
810
+
811
+ var global$1 = tinymce.util.Tools.resolve('tinymce.util.ImageUploader');
812
+
813
+ var global = tinymce.util.Tools.resolve('tinymce.util.Tools');
814
+
815
+ const getValue = item => isString(item.value) ? item.value : '';
816
+ const getText = item => {
817
+ if (isString(item.text)) {
818
+ return item.text;
819
+ } else if (isString(item.title)) {
820
+ return item.title;
821
+ } else {
822
+ return '';
823
+ }
824
+ };
825
+ const sanitizeList = (list, extractValue) => {
826
+ const out = [];
827
+ global.each(list, item => {
828
+ const text = getText(item);
829
+ if (item.menu !== undefined) {
830
+ const items = sanitizeList(item.menu, extractValue);
831
+ out.push({
832
+ text,
833
+ items
834
+ });
835
+ } else {
836
+ const value = extractValue(item);
837
+ out.push({
838
+ text,
839
+ value
840
+ });
841
+ }
842
+ });
843
+ return out;
844
+ };
845
+ const sanitizer = (extractor = getValue) => list => {
846
+ if (list) {
847
+ return Optional.from(list).map(list => sanitizeList(list, extractor));
848
+ } else {
849
+ return Optional.none();
850
+ }
851
+ };
852
+ const sanitize = list => sanitizer(getValue)(list);
853
+ const isGroup = item => has(item, 'items');
854
+ const findEntryDelegate = (list, value) => findMap(list, item => {
855
+ if (isGroup(item)) {
856
+ return findEntryDelegate(item.items, value);
857
+ } else if (item.value === value) {
858
+ return Optional.some(item);
859
+ } else {
860
+ return Optional.none();
861
+ }
862
+ });
863
+ const findEntry = (optList, value) => optList.bind(list => findEntryDelegate(list, value));
864
+ const ListUtils = {
865
+ sanitizer,
866
+ sanitize,
867
+ findEntry
868
+ };
869
+
870
+ const makeTab$2 = _info => ({
871
+ title: 'Advanced',
872
+ name: 'advanced',
873
+ items: [{
874
+ type: 'grid',
875
+ columns: 2,
876
+ items: [
877
+ {
878
+ type: 'input',
879
+ label: 'Vertical space',
880
+ name: 'vspace',
881
+ inputMode: 'numeric'
882
+ },
883
+ {
884
+ type: 'input',
885
+ label: 'Horizontal space',
886
+ name: 'hspace',
887
+ inputMode: 'numeric'
888
+ },
889
+ {
890
+ type: 'input',
891
+ label: 'Border width',
892
+ name: 'border',
893
+ inputMode: 'numeric'
894
+ },
895
+ {
896
+ type: 'listbox',
897
+ name: 'borderstyle',
898
+ label: 'Border style',
899
+ items: [
900
+ {
901
+ text: 'Select...',
902
+ value: ''
903
+ },
904
+ {
905
+ text: 'Solid',
906
+ value: 'solid'
907
+ },
908
+ {
909
+ text: 'Dotted',
910
+ value: 'dotted'
911
+ },
912
+ {
913
+ text: 'Dashed',
914
+ value: 'dashed'
915
+ },
916
+ {
917
+ text: 'Double',
918
+ value: 'double'
919
+ },
920
+ {
921
+ text: 'Groove',
922
+ value: 'groove'
923
+ },
924
+ {
925
+ text: 'Ridge',
926
+ value: 'ridge'
927
+ },
928
+ {
929
+ text: 'Inset',
930
+ value: 'inset'
931
+ },
932
+ {
933
+ text: 'Outset',
934
+ value: 'outset'
935
+ },
936
+ {
937
+ text: 'None',
938
+ value: 'none'
939
+ },
940
+ {
941
+ text: 'Hidden',
942
+ value: 'hidden'
943
+ }
944
+ ]
945
+ }
946
+ ]
947
+ }]
948
+ });
949
+ const AdvTab = { makeTab: makeTab$2 };
950
+
951
+ const collect = editor => {
952
+ const urlListSanitizer = ListUtils.sanitizer(item => editor.convertURL(item.value || item.url || '', 'src'));
953
+ const futureImageList = new Promise(completer => {
954
+ createImageList(editor, imageList => {
955
+ completer(urlListSanitizer(imageList).map(items => flatten([
956
+ [{
957
+ text: 'None',
958
+ value: ''
959
+ }],
960
+ items
961
+ ])));
962
+ });
963
+ });
964
+ const classList = ListUtils.sanitize(getClassList(editor));
965
+ const hasAdvTab$1 = hasAdvTab(editor);
966
+ const hasUploadTab$1 = hasUploadTab(editor);
967
+ const hasUploadUrl$1 = hasUploadUrl(editor);
968
+ const hasUploadHandler$1 = hasUploadHandler(editor);
969
+ const image = readImageDataFromSelection(editor);
970
+ const hasDescription$1 = hasDescription(editor);
971
+ const hasImageTitle$1 = hasImageTitle(editor);
972
+ const hasDimensions$1 = hasDimensions(editor);
973
+ const hasImageCaption$1 = hasImageCaption(editor);
974
+ const hasAccessibilityOptions = showAccessibilityOptions(editor);
975
+ const automaticUploads = isAutomaticUploadsEnabled(editor);
976
+ const prependURL = Optional.some(getPrependUrl(editor)).filter(preUrl => isString(preUrl) && preUrl.length > 0);
977
+ return futureImageList.then(imageList => ({
978
+ image,
979
+ imageList,
980
+ classList,
981
+ hasAdvTab: hasAdvTab$1,
982
+ hasUploadTab: hasUploadTab$1,
983
+ hasUploadUrl: hasUploadUrl$1,
984
+ hasUploadHandler: hasUploadHandler$1,
985
+ hasDescription: hasDescription$1,
986
+ hasImageTitle: hasImageTitle$1,
987
+ hasDimensions: hasDimensions$1,
988
+ hasImageCaption: hasImageCaption$1,
989
+ prependURL,
990
+ hasAccessibilityOptions,
991
+ automaticUploads
992
+ }));
993
+ };
994
+
995
+ const makeItems = info => {
996
+ const imageUrl = {
997
+ name: 'src',
998
+ type: 'urlinput',
999
+ filetype: 'image',
1000
+ label: 'Source'
1001
+ };
1002
+ const imageList = info.imageList.map(items => ({
1003
+ name: 'images',
1004
+ type: 'listbox',
1005
+ label: 'Image list',
1006
+ items
1007
+ }));
1008
+ const imageDescription = {
1009
+ name: 'alt',
1010
+ type: 'input',
1011
+ label: 'Alternative description',
1012
+ enabled: !(info.hasAccessibilityOptions && info.image.isDecorative)
1013
+ };
1014
+ const imageTitle = {
1015
+ name: 'title',
1016
+ type: 'input',
1017
+ label: 'Image title'
1018
+ };
1019
+ const imageDimensions = {
1020
+ name: 'dimensions',
1021
+ type: 'sizeinput'
1022
+ };
1023
+ const isDecorative = {
1024
+ type: 'label',
1025
+ label: 'Accessibility',
1026
+ items: [{
1027
+ name: 'isDecorative',
1028
+ type: 'checkbox',
1029
+ label: 'Image is decorative'
1030
+ }]
1031
+ };
1032
+ const classList = info.classList.map(items => ({
1033
+ name: 'classes',
1034
+ type: 'listbox',
1035
+ label: 'Class',
1036
+ items
1037
+ }));
1038
+ const caption = {
1039
+ type: 'label',
1040
+ label: 'Caption',
1041
+ items: [{
1042
+ type: 'checkbox',
1043
+ name: 'caption',
1044
+ label: 'Show caption'
1045
+ }]
1046
+ };
1047
+ const getDialogContainerType = useColumns => useColumns ? {
1048
+ type: 'grid',
1049
+ columns: 2
1050
+ } : { type: 'panel' };
1051
+ return flatten([
1052
+ [imageUrl],
1053
+ imageList.toArray(),
1054
+ info.hasAccessibilityOptions && info.hasDescription ? [isDecorative] : [],
1055
+ info.hasDescription ? [imageDescription] : [],
1056
+ info.hasImageTitle ? [imageTitle] : [],
1057
+ info.hasDimensions ? [imageDimensions] : [],
1058
+ [{
1059
+ ...getDialogContainerType(info.classList.isSome() && info.hasImageCaption),
1060
+ items: flatten([
1061
+ classList.toArray(),
1062
+ info.hasImageCaption ? [caption] : []
1063
+ ])
1064
+ }]
1065
+ ]);
1066
+ };
1067
+ const makeTab$1 = info => ({
1068
+ title: 'General',
1069
+ name: 'general',
1070
+ items: makeItems(info)
1071
+ });
1072
+ const MainTab = {
1073
+ makeTab: makeTab$1,
1074
+ makeItems
1075
+ };
1076
+
1077
+ const makeTab = _info => {
1078
+ const items = [{
1079
+ type: 'dropzone',
1080
+ name: 'fileinput'
1081
+ }];
1082
+ return {
1083
+ title: 'Upload',
1084
+ name: 'upload',
1085
+ items
1086
+ };
1087
+ };
1088
+ const UploadTab = { makeTab };
1089
+
1090
+ const createState = info => ({
1091
+ prevImage: ListUtils.findEntry(info.imageList, info.image.src),
1092
+ prevAlt: info.image.alt,
1093
+ open: true
1094
+ });
1095
+ const fromImageData = image => ({
1096
+ src: {
1097
+ value: image.src,
1098
+ meta: {}
1099
+ },
1100
+ images: image.src,
1101
+ alt: image.alt,
1102
+ title: image.title,
1103
+ dimensions: {
1104
+ width: image.width,
1105
+ height: image.height
1106
+ },
1107
+ classes: image.class,
1108
+ caption: image.caption,
1109
+ style: image.style,
1110
+ vspace: image.vspace,
1111
+ border: image.border,
1112
+ hspace: image.hspace,
1113
+ borderstyle: image.borderStyle,
1114
+ fileinput: [],
1115
+ isDecorative: image.isDecorative
1116
+ });
1117
+ const toImageData = (data, removeEmptyAlt) => ({
1118
+ src: data.src.value,
1119
+ alt: (data.alt === null || data.alt.length === 0) && removeEmptyAlt ? null : data.alt,
1120
+ title: data.title,
1121
+ width: data.dimensions.width,
1122
+ height: data.dimensions.height,
1123
+ class: data.classes,
1124
+ style: data.style,
1125
+ caption: data.caption,
1126
+ hspace: data.hspace,
1127
+ vspace: data.vspace,
1128
+ border: data.border,
1129
+ borderStyle: data.borderstyle,
1130
+ isDecorative: data.isDecorative
1131
+ });
1132
+ const addPrependUrl2 = (info, srcURL) => {
1133
+ if (!/^(?:[a-zA-Z]+:)?\/\//.test(srcURL)) {
1134
+ return info.prependURL.bind(prependUrl => {
1135
+ if (srcURL.substring(0, prependUrl.length) !== prependUrl) {
1136
+ return Optional.some(prependUrl + srcURL);
1137
+ }
1138
+ return Optional.none();
1139
+ });
1140
+ }
1141
+ return Optional.none();
1142
+ };
1143
+ const addPrependUrl = (info, api) => {
1144
+ const data = api.getData();
1145
+ addPrependUrl2(info, data.src.value).each(srcURL => {
1146
+ api.setData({
1147
+ src: {
1148
+ value: srcURL,
1149
+ meta: data.src.meta
1150
+ }
1151
+ });
1152
+ });
1153
+ };
1154
+ const formFillFromMeta2 = (info, data, meta) => {
1155
+ if (info.hasDescription && isString(meta.alt)) {
1156
+ data.alt = meta.alt;
1157
+ }
1158
+ if (info.hasAccessibilityOptions) {
1159
+ data.isDecorative = meta.isDecorative || data.isDecorative || false;
1160
+ }
1161
+ if (info.hasImageTitle && isString(meta.title)) {
1162
+ data.title = meta.title;
1163
+ }
1164
+ if (info.hasDimensions) {
1165
+ if (isString(meta.width)) {
1166
+ data.dimensions.width = meta.width;
1167
+ }
1168
+ if (isString(meta.height)) {
1169
+ data.dimensions.height = meta.height;
1170
+ }
1171
+ }
1172
+ if (isString(meta.class)) {
1173
+ ListUtils.findEntry(info.classList, meta.class).each(entry => {
1174
+ data.classes = entry.value;
1175
+ });
1176
+ }
1177
+ if (info.hasImageCaption) {
1178
+ if (isBoolean(meta.caption)) {
1179
+ data.caption = meta.caption;
1180
+ }
1181
+ }
1182
+ if (info.hasAdvTab) {
1183
+ if (isString(meta.style)) {
1184
+ data.style = meta.style;
1185
+ }
1186
+ if (isString(meta.vspace)) {
1187
+ data.vspace = meta.vspace;
1188
+ }
1189
+ if (isString(meta.border)) {
1190
+ data.border = meta.border;
1191
+ }
1192
+ if (isString(meta.hspace)) {
1193
+ data.hspace = meta.hspace;
1194
+ }
1195
+ if (isString(meta.borderstyle)) {
1196
+ data.borderstyle = meta.borderstyle;
1197
+ }
1198
+ }
1199
+ };
1200
+ const formFillFromMeta = (info, api) => {
1201
+ const data = api.getData();
1202
+ const meta = data.src.meta;
1203
+ if (meta !== undefined) {
1204
+ const newData = deepMerge({}, data);
1205
+ formFillFromMeta2(info, newData, meta);
1206
+ api.setData(newData);
1207
+ }
1208
+ };
1209
+ const calculateImageSize = (helpers, info, state, api) => {
1210
+ const data = api.getData();
1211
+ const url = data.src.value;
1212
+ const meta = data.src.meta || {};
1213
+ if (!meta.width && !meta.height && info.hasDimensions) {
1214
+ if (isNotEmpty(url)) {
1215
+ helpers.imageSize(url).then(size => {
1216
+ if (state.open) {
1217
+ api.setData({ dimensions: size });
1218
+ }
1219
+ }).catch(e => console.error(e));
1220
+ } else {
1221
+ api.setData({
1222
+ dimensions: {
1223
+ width: '',
1224
+ height: ''
1225
+ }
1226
+ });
1227
+ }
1228
+ }
1229
+ };
1230
+ const updateImagesDropdown = (info, state, api) => {
1231
+ const data = api.getData();
1232
+ const image = ListUtils.findEntry(info.imageList, data.src.value);
1233
+ state.prevImage = image;
1234
+ api.setData({ images: image.map(entry => entry.value).getOr('') });
1235
+ };
1236
+ const changeSrc = (helpers, info, state, api) => {
1237
+ addPrependUrl(info, api);
1238
+ formFillFromMeta(info, api);
1239
+ calculateImageSize(helpers, info, state, api);
1240
+ updateImagesDropdown(info, state, api);
1241
+ };
1242
+ const changeImages = (helpers, info, state, api) => {
1243
+ const data = api.getData();
1244
+ const image = ListUtils.findEntry(info.imageList, data.images);
1245
+ image.each(img => {
1246
+ const updateAlt = data.alt === '' || state.prevImage.map(image => image.text === data.alt).getOr(false);
1247
+ if (updateAlt) {
1248
+ if (img.value === '') {
1249
+ api.setData({
1250
+ src: img,
1251
+ alt: state.prevAlt
1252
+ });
1253
+ } else {
1254
+ api.setData({
1255
+ src: img,
1256
+ alt: img.text
1257
+ });
1258
+ }
1259
+ } else {
1260
+ api.setData({ src: img });
1261
+ }
1262
+ });
1263
+ state.prevImage = image;
1264
+ changeSrc(helpers, info, state, api);
1265
+ };
1266
+ const changeFileInput = (helpers, info, state, api) => {
1267
+ const data = api.getData();
1268
+ api.block('Uploading image');
1269
+ head(data.fileinput).fold(() => {
1270
+ api.unblock();
1271
+ }, file => {
1272
+ const blobUri = URL.createObjectURL(file);
1273
+ const finalize = () => {
1274
+ api.unblock();
1275
+ URL.revokeObjectURL(blobUri);
1276
+ };
1277
+ const updateSrcAndSwitchTab = url => {
1278
+ api.setData({
1279
+ src: {
1280
+ value: url,
1281
+ meta: {}
1282
+ }
1283
+ });
1284
+ api.showTab('general');
1285
+ changeSrc(helpers, info, state, api);
1286
+ };
1287
+ blobToDataUri(file).then(dataUrl => {
1288
+ const blobInfo = helpers.createBlobCache(file, blobUri, dataUrl);
1289
+ if (info.automaticUploads) {
1290
+ helpers.uploadImage(blobInfo).then(result => {
1291
+ updateSrcAndSwitchTab(result.url);
1292
+ finalize();
1293
+ }).catch(err => {
1294
+ finalize();
1295
+ helpers.alertErr(err);
1296
+ });
1297
+ } else {
1298
+ helpers.addToBlobCache(blobInfo);
1299
+ updateSrcAndSwitchTab(blobInfo.blobUri());
1300
+ api.unblock();
1301
+ }
1302
+ });
1303
+ });
1304
+ };
1305
+ const changeHandler = (helpers, info, state) => (api, evt) => {
1306
+ if (evt.name === 'src') {
1307
+ changeSrc(helpers, info, state, api);
1308
+ } else if (evt.name === 'images') {
1309
+ changeImages(helpers, info, state, api);
1310
+ } else if (evt.name === 'alt') {
1311
+ state.prevAlt = api.getData().alt;
1312
+ } else if (evt.name === 'fileinput') {
1313
+ changeFileInput(helpers, info, state, api);
1314
+ } else if (evt.name === 'isDecorative') {
1315
+ api.setEnabled('alt', !api.getData().isDecorative);
1316
+ }
1317
+ };
1318
+ const closeHandler = state => () => {
1319
+ state.open = false;
1320
+ };
1321
+ const makeDialogBody = info => {
1322
+ if (info.hasAdvTab || info.hasUploadUrl || info.hasUploadHandler) {
1323
+ const tabPanel = {
1324
+ type: 'tabpanel',
1325
+ tabs: flatten([
1326
+ [MainTab.makeTab(info)],
1327
+ info.hasAdvTab ? [AdvTab.makeTab(info)] : [],
1328
+ info.hasUploadTab && (info.hasUploadUrl || info.hasUploadHandler) ? [UploadTab.makeTab(info)] : []
1329
+ ])
1330
+ };
1331
+ return tabPanel;
1332
+ } else {
1333
+ const panel = {
1334
+ type: 'panel',
1335
+ items: MainTab.makeItems(info)
1336
+ };
1337
+ return panel;
1338
+ }
1339
+ };
1340
+ const submitHandler = (editor, info, helpers) => api => {
1341
+ const data = deepMerge(fromImageData(info.image), api.getData());
1342
+ const finalData = {
1343
+ ...data,
1344
+ style: getStyleValue(helpers.normalizeCss, toImageData(data, false))
1345
+ };
1346
+ editor.execCommand('mceUpdateImage', false, toImageData(finalData, info.hasAccessibilityOptions));
1347
+ editor.editorUpload.uploadImagesAuto();
1348
+ api.close();
1349
+ };
1350
+ const imageSize = editor => url => {
1351
+ if (!isSafeImageUrl(editor, url)) {
1352
+ return Promise.resolve({
1353
+ width: '',
1354
+ height: ''
1355
+ });
1356
+ } else {
1357
+ return getImageSize(editor.documentBaseURI.toAbsolute(url)).then(dimensions => ({
1358
+ width: String(dimensions.width),
1359
+ height: String(dimensions.height)
1360
+ }));
1361
+ }
1362
+ };
1363
+ const createBlobCache = editor => (file, blobUri, dataUrl) => {
1364
+ var _a;
1365
+ return editor.editorUpload.blobCache.create({
1366
+ blob: file,
1367
+ blobUri,
1368
+ name: (_a = file.name) === null || _a === void 0 ? void 0 : _a.replace(/\.[^\.]+$/, ''),
1369
+ filename: file.name,
1370
+ base64: dataUrl.split(',')[1]
1371
+ });
1372
+ };
1373
+ const addToBlobCache = editor => blobInfo => {
1374
+ editor.editorUpload.blobCache.add(blobInfo);
1375
+ };
1376
+ const alertErr = editor => message => {
1377
+ editor.windowManager.alert(message);
1378
+ };
1379
+ const normalizeCss = editor => cssText => normalizeCss$1(editor, cssText);
1380
+ const parseStyle = editor => cssText => editor.dom.parseStyle(cssText);
1381
+ const serializeStyle = editor => (stylesArg, name) => editor.dom.serializeStyle(stylesArg, name);
1382
+ const uploadImage = editor => blobInfo => global$1(editor).upload([blobInfo], false).then(results => {
1383
+ var _a;
1384
+ if (results.length === 0) {
1385
+ return Promise.reject('Failed to upload image');
1386
+ } else if (results[0].status === false) {
1387
+ return Promise.reject((_a = results[0].error) === null || _a === void 0 ? void 0 : _a.message);
1388
+ } else {
1389
+ return results[0];
1390
+ }
1391
+ });
1392
+ const Dialog = editor => {
1393
+ const helpers = {
1394
+ imageSize: imageSize(editor),
1395
+ addToBlobCache: addToBlobCache(editor),
1396
+ createBlobCache: createBlobCache(editor),
1397
+ alertErr: alertErr(editor),
1398
+ normalizeCss: normalizeCss(editor),
1399
+ parseStyle: parseStyle(editor),
1400
+ serializeStyle: serializeStyle(editor),
1401
+ uploadImage: uploadImage(editor)
1402
+ };
1403
+ const open = () => {
1404
+ collect(editor).then(info => {
1405
+ const state = createState(info);
1406
+ return {
1407
+ title: 'Insert/Edit Image',
1408
+ size: 'normal',
1409
+ body: makeDialogBody(info),
1410
+ buttons: [
1411
+ {
1412
+ type: 'cancel',
1413
+ name: 'cancel',
1414
+ text: 'Cancel'
1415
+ },
1416
+ {
1417
+ type: 'submit',
1418
+ name: 'save',
1419
+ text: 'Save',
1420
+ primary: true
1421
+ }
1422
+ ],
1423
+ initialData: fromImageData(info.image),
1424
+ onSubmit: submitHandler(editor, info, helpers),
1425
+ onChange: changeHandler(helpers, info, state),
1426
+ onClose: closeHandler(state)
1427
+ };
1428
+ }).then(editor.windowManager.open);
1429
+ };
1430
+ return { open };
1431
+ };
1432
+
1433
+ const register$1 = editor => {
1434
+ editor.addCommand('mceImage', Dialog(editor).open);
1435
+ editor.addCommand('mceUpdateImage', (_ui, data) => {
1436
+ editor.undoManager.transact(() => insertOrUpdateImage(editor, data));
1437
+ });
1438
+ };
1439
+
1440
+ const hasImageClass = node => {
1441
+ const className = node.attr('class');
1442
+ return isNonNullable(className) && /\bimage\b/.test(className);
1443
+ };
1444
+ const toggleContentEditableState = state => nodes => {
1445
+ let i = nodes.length;
1446
+ const toggleContentEditable = node => {
1447
+ node.attr('contenteditable', state ? 'true' : null);
1448
+ };
1449
+ while (i--) {
1450
+ const node = nodes[i];
1451
+ if (hasImageClass(node)) {
1452
+ node.attr('contenteditable', state ? 'false' : null);
1453
+ global.each(node.getAll('figcaption'), toggleContentEditable);
1454
+ }
1455
+ }
1456
+ };
1457
+ const setup = editor => {
1458
+ editor.on('PreInit', () => {
1459
+ editor.parser.addNodeFilter('figure', toggleContentEditableState(true));
1460
+ editor.serializer.addNodeFilter('figure', toggleContentEditableState(false));
1461
+ });
1462
+ };
1463
+
1464
+ const onSetupEditable = editor => api => {
1465
+ const nodeChanged = () => {
1466
+ api.setEnabled(editor.selection.isEditable());
1467
+ };
1468
+ editor.on('NodeChange', nodeChanged);
1469
+ nodeChanged();
1470
+ return () => {
1471
+ editor.off('NodeChange', nodeChanged);
1472
+ };
1473
+ };
1474
+ const register = editor => {
1475
+ editor.ui.registry.addToggleButton('image', {
1476
+ icon: 'image',
1477
+ tooltip: 'Insert/edit image',
1478
+ onAction: Dialog(editor).open,
1479
+ onSetup: buttonApi => {
1480
+ buttonApi.setActive(isNonNullable(getSelectedImage(editor)));
1481
+ const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('img:not([data-mce-object]):not([data-mce-placeholder]),figure.image', buttonApi.setActive).unbind;
1482
+ const unbindEditable = onSetupEditable(editor)(buttonApi);
1483
+ return () => {
1484
+ unbindSelectorChanged();
1485
+ unbindEditable();
1486
+ };
1487
+ }
1488
+ });
1489
+ editor.ui.registry.addMenuItem('image', {
1490
+ icon: 'image',
1491
+ text: 'Image...',
1492
+ onAction: Dialog(editor).open,
1493
+ onSetup: onSetupEditable(editor)
1494
+ });
1495
+ editor.ui.registry.addContextMenu('image', { update: element => isFigure(element) || isImage(element) && !isPlaceholderImage(element) ? ['image'] : [] });
1496
+ };
1497
+
1498
+ var Plugin = () => {
1499
+ global$4.add('image', editor => {
1500
+ register$2(editor);
1501
+ setup(editor);
1502
+ register(editor);
1503
+ register$1(editor);
1504
+ });
1505
+ };
1506
+
1507
+ Plugin();
1508
+
1509
+ })();