@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,1953 @@
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$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');
14
+
15
+ const hasProto = (v, constructor, predicate) => {
16
+ var _a;
17
+ if (predicate(v, constructor.prototype)) {
18
+ return true;
19
+ } else {
20
+ return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
21
+ }
22
+ };
23
+ const typeOf = x => {
24
+ const t = typeof x;
25
+ if (x === null) {
26
+ return 'null';
27
+ } else if (t === 'object' && Array.isArray(x)) {
28
+ return 'array';
29
+ } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {
30
+ return 'string';
31
+ } else {
32
+ return t;
33
+ }
34
+ };
35
+ const isType$1 = type => value => typeOf(value) === type;
36
+ const isSimpleType = type => value => typeof value === type;
37
+ const isString = isType$1('string');
38
+ const isObject = isType$1('object');
39
+ const isArray = isType$1('array');
40
+ const isBoolean = isSimpleType('boolean');
41
+ const isNullable = a => a === null || a === undefined;
42
+ const isNonNullable = a => !isNullable(a);
43
+ const isFunction = isSimpleType('function');
44
+ const isNumber = isSimpleType('number');
45
+
46
+ const noop = () => {
47
+ };
48
+ const constant = value => {
49
+ return () => {
50
+ return value;
51
+ };
52
+ };
53
+ const tripleEquals = (a, b) => {
54
+ return a === b;
55
+ };
56
+ const not = f => t => !f(t);
57
+ const never = constant(false);
58
+
59
+ class Optional {
60
+ constructor(tag, value) {
61
+ this.tag = tag;
62
+ this.value = value;
63
+ }
64
+ static some(value) {
65
+ return new Optional(true, value);
66
+ }
67
+ static none() {
68
+ return Optional.singletonNone;
69
+ }
70
+ fold(onNone, onSome) {
71
+ if (this.tag) {
72
+ return onSome(this.value);
73
+ } else {
74
+ return onNone();
75
+ }
76
+ }
77
+ isSome() {
78
+ return this.tag;
79
+ }
80
+ isNone() {
81
+ return !this.tag;
82
+ }
83
+ map(mapper) {
84
+ if (this.tag) {
85
+ return Optional.some(mapper(this.value));
86
+ } else {
87
+ return Optional.none();
88
+ }
89
+ }
90
+ bind(binder) {
91
+ if (this.tag) {
92
+ return binder(this.value);
93
+ } else {
94
+ return Optional.none();
95
+ }
96
+ }
97
+ exists(predicate) {
98
+ return this.tag && predicate(this.value);
99
+ }
100
+ forall(predicate) {
101
+ return !this.tag || predicate(this.value);
102
+ }
103
+ filter(predicate) {
104
+ if (!this.tag || predicate(this.value)) {
105
+ return this;
106
+ } else {
107
+ return Optional.none();
108
+ }
109
+ }
110
+ getOr(replacement) {
111
+ return this.tag ? this.value : replacement;
112
+ }
113
+ or(replacement) {
114
+ return this.tag ? this : replacement;
115
+ }
116
+ getOrThunk(thunk) {
117
+ return this.tag ? this.value : thunk();
118
+ }
119
+ orThunk(thunk) {
120
+ return this.tag ? this : thunk();
121
+ }
122
+ getOrDie(message) {
123
+ if (!this.tag) {
124
+ throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
125
+ } else {
126
+ return this.value;
127
+ }
128
+ }
129
+ static from(value) {
130
+ return isNonNullable(value) ? Optional.some(value) : Optional.none();
131
+ }
132
+ getOrNull() {
133
+ return this.tag ? this.value : null;
134
+ }
135
+ getOrUndefined() {
136
+ return this.value;
137
+ }
138
+ each(worker) {
139
+ if (this.tag) {
140
+ worker(this.value);
141
+ }
142
+ }
143
+ toArray() {
144
+ return this.tag ? [this.value] : [];
145
+ }
146
+ toString() {
147
+ return this.tag ? `some(${ this.value })` : 'none()';
148
+ }
149
+ }
150
+ Optional.singletonNone = new Optional(false);
151
+
152
+ const nativeSlice = Array.prototype.slice;
153
+ const nativeIndexOf = Array.prototype.indexOf;
154
+ const nativePush = Array.prototype.push;
155
+ const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);
156
+ const contains$1 = (xs, x) => rawIndexOf(xs, x) > -1;
157
+ const exists = (xs, pred) => {
158
+ for (let i = 0, len = xs.length; i < len; i++) {
159
+ const x = xs[i];
160
+ if (pred(x, i)) {
161
+ return true;
162
+ }
163
+ }
164
+ return false;
165
+ };
166
+ const map = (xs, f) => {
167
+ const len = xs.length;
168
+ const r = new Array(len);
169
+ for (let i = 0; i < len; i++) {
170
+ const x = xs[i];
171
+ r[i] = f(x, i);
172
+ }
173
+ return r;
174
+ };
175
+ const each$1 = (xs, f) => {
176
+ for (let i = 0, len = xs.length; i < len; i++) {
177
+ const x = xs[i];
178
+ f(x, i);
179
+ }
180
+ };
181
+ const filter$1 = (xs, pred) => {
182
+ const r = [];
183
+ for (let i = 0, len = xs.length; i < len; i++) {
184
+ const x = xs[i];
185
+ if (pred(x, i)) {
186
+ r.push(x);
187
+ }
188
+ }
189
+ return r;
190
+ };
191
+ const groupBy = (xs, f) => {
192
+ if (xs.length === 0) {
193
+ return [];
194
+ } else {
195
+ let wasType = f(xs[0]);
196
+ const r = [];
197
+ let group = [];
198
+ for (let i = 0, len = xs.length; i < len; i++) {
199
+ const x = xs[i];
200
+ const type = f(x);
201
+ if (type !== wasType) {
202
+ r.push(group);
203
+ group = [];
204
+ }
205
+ wasType = type;
206
+ group.push(x);
207
+ }
208
+ if (group.length !== 0) {
209
+ r.push(group);
210
+ }
211
+ return r;
212
+ }
213
+ };
214
+ const foldl = (xs, f, acc) => {
215
+ each$1(xs, (x, i) => {
216
+ acc = f(acc, x, i);
217
+ });
218
+ return acc;
219
+ };
220
+ const findUntil = (xs, pred, until) => {
221
+ for (let i = 0, len = xs.length; i < len; i++) {
222
+ const x = xs[i];
223
+ if (pred(x, i)) {
224
+ return Optional.some(x);
225
+ } else if (until(x, i)) {
226
+ break;
227
+ }
228
+ }
229
+ return Optional.none();
230
+ };
231
+ const find = (xs, pred) => {
232
+ return findUntil(xs, pred, never);
233
+ };
234
+ const flatten = xs => {
235
+ const r = [];
236
+ for (let i = 0, len = xs.length; i < len; ++i) {
237
+ if (!isArray(xs[i])) {
238
+ throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
239
+ }
240
+ nativePush.apply(r, xs[i]);
241
+ }
242
+ return r;
243
+ };
244
+ const bind = (xs, f) => flatten(map(xs, f));
245
+ const reverse = xs => {
246
+ const r = nativeSlice.call(xs, 0);
247
+ r.reverse();
248
+ return r;
249
+ };
250
+ const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();
251
+ const head = xs => get$1(xs, 0);
252
+ const last = xs => get$1(xs, xs.length - 1);
253
+ const unique = (xs, comparator) => {
254
+ const r = [];
255
+ const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$1(r, x);
256
+ for (let i = 0, len = xs.length; i < len; i++) {
257
+ const x = xs[i];
258
+ if (!isDuplicated(x)) {
259
+ r.push(x);
260
+ }
261
+ }
262
+ return r;
263
+ };
264
+
265
+ const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));
266
+ const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());
267
+ const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();
268
+
269
+ const ELEMENT = 1;
270
+
271
+ const fromHtml = (html, scope) => {
272
+ const doc = scope || document;
273
+ const div = doc.createElement('div');
274
+ div.innerHTML = html;
275
+ if (!div.hasChildNodes() || div.childNodes.length > 1) {
276
+ const message = 'HTML does not have a single root node';
277
+ console.error(message, html);
278
+ throw new Error(message);
279
+ }
280
+ return fromDom$1(div.childNodes[0]);
281
+ };
282
+ const fromTag = (tag, scope) => {
283
+ const doc = scope || document;
284
+ const node = doc.createElement(tag);
285
+ return fromDom$1(node);
286
+ };
287
+ const fromText = (text, scope) => {
288
+ const doc = scope || document;
289
+ const node = doc.createTextNode(text);
290
+ return fromDom$1(node);
291
+ };
292
+ const fromDom$1 = node => {
293
+ if (node === null || node === undefined) {
294
+ throw new Error('Node cannot be null or undefined');
295
+ }
296
+ return { dom: node };
297
+ };
298
+ const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);
299
+ const SugarElement = {
300
+ fromHtml,
301
+ fromTag,
302
+ fromText,
303
+ fromDom: fromDom$1,
304
+ fromPoint
305
+ };
306
+
307
+ const is$1 = (element, selector) => {
308
+ const dom = element.dom;
309
+ if (dom.nodeType !== ELEMENT) {
310
+ return false;
311
+ } else {
312
+ const elem = dom;
313
+ if (elem.matches !== undefined) {
314
+ return elem.matches(selector);
315
+ } else if (elem.msMatchesSelector !== undefined) {
316
+ return elem.msMatchesSelector(selector);
317
+ } else if (elem.webkitMatchesSelector !== undefined) {
318
+ return elem.webkitMatchesSelector(selector);
319
+ } else if (elem.mozMatchesSelector !== undefined) {
320
+ return elem.mozMatchesSelector(selector);
321
+ } else {
322
+ throw new Error('Browser lacks native selectors');
323
+ }
324
+ }
325
+ };
326
+
327
+ const eq = (e1, e2) => e1.dom === e2.dom;
328
+ const contains = (e1, e2) => {
329
+ const d1 = e1.dom;
330
+ const d2 = e2.dom;
331
+ return d1 === d2 ? false : d1.contains(d2);
332
+ };
333
+ const is = is$1;
334
+
335
+ var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {
336
+ if (is(scope, a)) {
337
+ return Optional.some(scope);
338
+ } else if (isFunction(isRoot) && isRoot(scope)) {
339
+ return Optional.none();
340
+ } else {
341
+ return ancestor(scope, a, isRoot);
342
+ }
343
+ };
344
+
345
+ typeof window !== 'undefined' ? window : Function('return this;')();
346
+
347
+ const name = element => {
348
+ const r = element.dom.nodeName;
349
+ return r.toLowerCase();
350
+ };
351
+ const type = element => element.dom.nodeType;
352
+ const isType = t => element => type(element) === t;
353
+ const isElement$1 = isType(ELEMENT);
354
+ const isTag = tag => e => isElement$1(e) && name(e) === tag;
355
+
356
+ const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
357
+ const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);
358
+ const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);
359
+ const children = element => map(element.dom.childNodes, SugarElement.fromDom);
360
+ const child = (element, index) => {
361
+ const cs = element.dom.childNodes;
362
+ return Optional.from(cs[index]).map(SugarElement.fromDom);
363
+ };
364
+ const firstChild = element => child(element, 0);
365
+ const lastChild = element => child(element, element.dom.childNodes.length - 1);
366
+
367
+ const ancestor = (scope, predicate, isRoot) => {
368
+ let element = scope.dom;
369
+ const stop = isFunction(isRoot) ? isRoot : never;
370
+ while (element.parentNode) {
371
+ element = element.parentNode;
372
+ const el = SugarElement.fromDom(element);
373
+ if (predicate(el)) {
374
+ return Optional.some(el);
375
+ } else if (stop(el)) {
376
+ break;
377
+ }
378
+ }
379
+ return Optional.none();
380
+ };
381
+ const closest = (scope, predicate, isRoot) => {
382
+ const is = (s, test) => test(s);
383
+ return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
384
+ };
385
+
386
+ const before$1 = (marker, element) => {
387
+ const parent$1 = parent(marker);
388
+ parent$1.each(v => {
389
+ v.dom.insertBefore(element.dom, marker.dom);
390
+ });
391
+ };
392
+ const after = (marker, element) => {
393
+ const sibling = nextSibling(marker);
394
+ sibling.fold(() => {
395
+ const parent$1 = parent(marker);
396
+ parent$1.each(v => {
397
+ append$1(v, element);
398
+ });
399
+ }, v => {
400
+ before$1(v, element);
401
+ });
402
+ };
403
+ const append$1 = (parent, element) => {
404
+ parent.dom.appendChild(element.dom);
405
+ };
406
+
407
+ const before = (marker, elements) => {
408
+ each$1(elements, x => {
409
+ before$1(marker, x);
410
+ });
411
+ };
412
+ const append = (parent, elements) => {
413
+ each$1(elements, x => {
414
+ append$1(parent, x);
415
+ });
416
+ };
417
+
418
+ const empty = element => {
419
+ element.dom.textContent = '';
420
+ each$1(children(element), rogue => {
421
+ remove(rogue);
422
+ });
423
+ };
424
+ const remove = element => {
425
+ const dom = element.dom;
426
+ if (dom.parentNode !== null) {
427
+ dom.parentNode.removeChild(dom);
428
+ }
429
+ };
430
+
431
+ var global$6 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');
432
+
433
+ var global$5 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
434
+
435
+ var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');
436
+
437
+ const fromDom = nodes => map(nodes, SugarElement.fromDom);
438
+
439
+ const keys = Object.keys;
440
+ const each = (obj, f) => {
441
+ const props = keys(obj);
442
+ for (let k = 0, len = props.length; k < len; k++) {
443
+ const i = props[k];
444
+ const x = obj[i];
445
+ f(x, i);
446
+ }
447
+ };
448
+ const objAcc = r => (x, i) => {
449
+ r[i] = x;
450
+ };
451
+ const internalFilter = (obj, pred, onTrue, onFalse) => {
452
+ each(obj, (x, i) => {
453
+ (pred(x, i) ? onTrue : onFalse)(x, i);
454
+ });
455
+ };
456
+ const filter = (obj, pred) => {
457
+ const t = {};
458
+ internalFilter(obj, pred, objAcc(t), noop);
459
+ return t;
460
+ };
461
+
462
+ const rawSet = (dom, key, value) => {
463
+ if (isString(value) || isBoolean(value) || isNumber(value)) {
464
+ dom.setAttribute(key, value + '');
465
+ } else {
466
+ console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);
467
+ throw new Error('Attribute value was not simple');
468
+ }
469
+ };
470
+ const setAll = (element, attrs) => {
471
+ const dom = element.dom;
472
+ each(attrs, (v, k) => {
473
+ rawSet(dom, k, v);
474
+ });
475
+ };
476
+ const clone$1 = element => foldl(element.dom.attributes, (acc, attr) => {
477
+ acc[attr.name] = attr.value;
478
+ return acc;
479
+ }, {});
480
+
481
+ const clone = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));
482
+ const deep = original => clone(original, true);
483
+ const shallowAs = (original, tag) => {
484
+ const nu = SugarElement.fromTag(tag);
485
+ const attributes = clone$1(original);
486
+ setAll(nu, attributes);
487
+ return nu;
488
+ };
489
+ const mutate = (original, tag) => {
490
+ const nu = shallowAs(original, tag);
491
+ after(original, nu);
492
+ const children$1 = children(original);
493
+ append(nu, children$1);
494
+ remove(original);
495
+ return nu;
496
+ };
497
+
498
+ var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
499
+
500
+ var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
501
+
502
+ const matchNodeName = name => node => isNonNullable(node) && node.nodeName.toLowerCase() === name;
503
+ const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);
504
+ const isTextNode$1 = node => isNonNullable(node) && node.nodeType === 3;
505
+ const isElement = node => isNonNullable(node) && node.nodeType === 1;
506
+ const isListNode = matchNodeNames(/^(OL|UL|DL)$/);
507
+ const isOlUlNode = matchNodeNames(/^(OL|UL)$/);
508
+ const isOlNode = matchNodeName('ol');
509
+ const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);
510
+ const isDlItemNode = matchNodeNames(/^(DT|DD)$/);
511
+ const isTableCellNode = matchNodeNames(/^(TH|TD)$/);
512
+ const isBr = matchNodeName('br');
513
+ const isFirstChild = node => {
514
+ var _a;
515
+ return ((_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === node;
516
+ };
517
+ const isTextBlock = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getTextBlockElements();
518
+ const isBlock = (node, blockElements) => isNonNullable(node) && node.nodeName in blockElements;
519
+ const isVoid = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getVoidElements();
520
+ const isBogusBr = (dom, node) => {
521
+ if (!isBr(node)) {
522
+ return false;
523
+ }
524
+ return dom.isBlock(node.nextSibling) && !isBr(node.previousSibling);
525
+ };
526
+ const isEmpty$2 = (dom, elm, keepBookmarks) => {
527
+ const empty = dom.isEmpty(elm);
528
+ if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {
529
+ return false;
530
+ }
531
+ return empty;
532
+ };
533
+ const isChildOfBody = (dom, elm) => dom.isChildOf(elm, dom.getRoot());
534
+
535
+ const option = name => editor => editor.options.get(name);
536
+ const register$3 = editor => {
537
+ const registerOption = editor.options.register;
538
+ registerOption('lists_indent_on_tab', {
539
+ processor: 'boolean',
540
+ default: true
541
+ });
542
+ };
543
+ const shouldIndentOnTab = option('lists_indent_on_tab');
544
+ const getForcedRootBlock = option('forced_root_block');
545
+ const getForcedRootBlockAttrs = option('forced_root_block_attrs');
546
+
547
+ const createTextBlock = (editor, contentNode) => {
548
+ const dom = editor.dom;
549
+ const blockElements = editor.schema.getBlockElements();
550
+ const fragment = dom.createFragment();
551
+ const blockName = getForcedRootBlock(editor);
552
+ const blockAttrs = getForcedRootBlockAttrs(editor);
553
+ let node;
554
+ let textBlock;
555
+ let hasContentNode = false;
556
+ textBlock = dom.create(blockName, blockAttrs);
557
+ if (!isBlock(contentNode.firstChild, blockElements)) {
558
+ fragment.appendChild(textBlock);
559
+ }
560
+ while (node = contentNode.firstChild) {
561
+ const nodeName = node.nodeName;
562
+ if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {
563
+ hasContentNode = true;
564
+ }
565
+ if (isBlock(node, blockElements)) {
566
+ fragment.appendChild(node);
567
+ textBlock = null;
568
+ } else {
569
+ if (!textBlock) {
570
+ textBlock = dom.create(blockName, blockAttrs);
571
+ fragment.appendChild(textBlock);
572
+ }
573
+ textBlock.appendChild(node);
574
+ }
575
+ }
576
+ if (!hasContentNode && textBlock) {
577
+ textBlock.appendChild(dom.create('br', { 'data-mce-bogus': '1' }));
578
+ }
579
+ return fragment;
580
+ };
581
+
582
+ const DOM$2 = global$3.DOM;
583
+ const splitList = (editor, list, li) => {
584
+ const removeAndKeepBookmarks = targetNode => {
585
+ const parent = targetNode.parentNode;
586
+ if (parent) {
587
+ global$2.each(bookmarks, node => {
588
+ parent.insertBefore(node, li.parentNode);
589
+ });
590
+ }
591
+ DOM$2.remove(targetNode);
592
+ };
593
+ const bookmarks = DOM$2.select('span[data-mce-type="bookmark"]', list);
594
+ const newBlock = createTextBlock(editor, li);
595
+ const tmpRng = DOM$2.createRng();
596
+ tmpRng.setStartAfter(li);
597
+ tmpRng.setEndAfter(list);
598
+ const fragment = tmpRng.extractContents();
599
+ for (let node = fragment.firstChild; node; node = node.firstChild) {
600
+ if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {
601
+ DOM$2.remove(node);
602
+ break;
603
+ }
604
+ }
605
+ if (!editor.dom.isEmpty(fragment)) {
606
+ DOM$2.insertAfter(fragment, list);
607
+ }
608
+ DOM$2.insertAfter(newBlock, list);
609
+ const parent = li.parentElement;
610
+ if (parent && isEmpty$2(editor.dom, parent)) {
611
+ removeAndKeepBookmarks(parent);
612
+ }
613
+ DOM$2.remove(li);
614
+ if (isEmpty$2(editor.dom, list)) {
615
+ DOM$2.remove(list);
616
+ }
617
+ };
618
+
619
+ const isDescriptionDetail = isTag('dd');
620
+ const isDescriptionTerm = isTag('dt');
621
+ const outdentDlItem = (editor, item) => {
622
+ if (isDescriptionDetail(item)) {
623
+ mutate(item, 'dt');
624
+ } else if (isDescriptionTerm(item)) {
625
+ parentElement(item).each(dl => splitList(editor, dl.dom, item.dom));
626
+ }
627
+ };
628
+ const indentDlItem = item => {
629
+ if (isDescriptionTerm(item)) {
630
+ mutate(item, 'dd');
631
+ }
632
+ };
633
+ const dlIndentation = (editor, indentation, dlItems) => {
634
+ if (indentation === 'Indent') {
635
+ each$1(dlItems, indentDlItem);
636
+ } else {
637
+ each$1(dlItems, item => outdentDlItem(editor, item));
638
+ }
639
+ };
640
+
641
+ const getNormalizedPoint = (container, offset) => {
642
+ if (isTextNode$1(container)) {
643
+ return {
644
+ container,
645
+ offset
646
+ };
647
+ }
648
+ const node = global$6.getNode(container, offset);
649
+ if (isTextNode$1(node)) {
650
+ return {
651
+ container: node,
652
+ offset: offset >= container.childNodes.length ? node.data.length : 0
653
+ };
654
+ } else if (node.previousSibling && isTextNode$1(node.previousSibling)) {
655
+ return {
656
+ container: node.previousSibling,
657
+ offset: node.previousSibling.data.length
658
+ };
659
+ } else if (node.nextSibling && isTextNode$1(node.nextSibling)) {
660
+ return {
661
+ container: node.nextSibling,
662
+ offset: 0
663
+ };
664
+ }
665
+ return {
666
+ container,
667
+ offset
668
+ };
669
+ };
670
+ const normalizeRange = rng => {
671
+ const outRng = rng.cloneRange();
672
+ const rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);
673
+ outRng.setStart(rangeStart.container, rangeStart.offset);
674
+ const rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);
675
+ outRng.setEnd(rangeEnd.container, rangeEnd.offset);
676
+ return outRng;
677
+ };
678
+
679
+ const listNames = [
680
+ 'OL',
681
+ 'UL',
682
+ 'DL'
683
+ ];
684
+ const listSelector = listNames.join(',');
685
+ const getParentList = (editor, node) => {
686
+ const selectionStart = node || editor.selection.getStart(true);
687
+ return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart));
688
+ };
689
+ const isParentListSelected = (parentList, selectedBlocks) => isNonNullable(parentList) && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;
690
+ const findSubLists = parentList => filter$1(parentList.querySelectorAll(listSelector), isListNode);
691
+ const getSelectedSubLists = editor => {
692
+ const parentList = getParentList(editor);
693
+ const selectedBlocks = editor.selection.getSelectedBlocks();
694
+ if (isParentListSelected(parentList, selectedBlocks)) {
695
+ return findSubLists(parentList);
696
+ } else {
697
+ return filter$1(selectedBlocks, elm => {
698
+ return isListNode(elm) && parentList !== elm;
699
+ });
700
+ }
701
+ };
702
+ const findParentListItemsNodes = (editor, elms) => {
703
+ const listItemsElms = global$2.map(elms, elm => {
704
+ const parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListHost(editor, elm));
705
+ return parentLi ? parentLi : elm;
706
+ });
707
+ return unique(listItemsElms);
708
+ };
709
+ const getSelectedListItems = editor => {
710
+ const selectedBlocks = editor.selection.getSelectedBlocks();
711
+ return filter$1(findParentListItemsNodes(editor, selectedBlocks), isListItemNode);
712
+ };
713
+ const getSelectedDlItems = editor => filter$1(getSelectedListItems(editor), isDlItemNode);
714
+ const getClosestEditingHost = (editor, elm) => {
715
+ const parentTableCell = editor.dom.getParents(elm, 'TD,TH');
716
+ return parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();
717
+ };
718
+ const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, listName => schema.isValidChild(node.nodeName, listName));
719
+ const getClosestListHost = (editor, elm) => {
720
+ const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);
721
+ const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm));
722
+ return parentBlock.getOr(editor.getBody());
723
+ };
724
+ const findLastParentListNode = (editor, elm) => {
725
+ const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));
726
+ return last(parentLists);
727
+ };
728
+ const getSelectedLists = editor => {
729
+ const firstList = findLastParentListNode(editor, editor.selection.getStart());
730
+ const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);
731
+ return firstList.toArray().concat(subsequentLists);
732
+ };
733
+ const getSelectedListRoots = editor => {
734
+ const selectedLists = getSelectedLists(editor);
735
+ return getUniqueListRoots(editor, selectedLists);
736
+ };
737
+ const getUniqueListRoots = (editor, lists) => {
738
+ const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list));
739
+ return unique(listRoots);
740
+ };
741
+
742
+ const isCustomList = list => /\btox\-/.test(list.className);
743
+ const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode).exists(list => list.nodeName === listName && !isCustomList(list));
744
+ const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);
745
+ const selectionIsWithinNonEditableList = editor => {
746
+ const parentList = getParentList(editor);
747
+ return isWithinNonEditable(editor, parentList);
748
+ };
749
+ const isWithinNonEditableList = (editor, element) => {
750
+ const parentList = editor.dom.getParent(element, 'ol,ul,dl');
751
+ return isWithinNonEditable(editor, parentList);
752
+ };
753
+ const setNodeChangeHandler = (editor, nodeChangeHandler) => {
754
+ const initialNode = editor.selection.getNode();
755
+ nodeChangeHandler({
756
+ parents: editor.dom.getParents(initialNode),
757
+ element: initialNode
758
+ });
759
+ editor.on('NodeChange', nodeChangeHandler);
760
+ return () => editor.off('NodeChange', nodeChangeHandler);
761
+ };
762
+
763
+ const fromElements = (elements, scope) => {
764
+ const doc = scope || document;
765
+ const fragment = doc.createDocumentFragment();
766
+ each$1(elements, element => {
767
+ fragment.appendChild(element.dom);
768
+ });
769
+ return SugarElement.fromDom(fragment);
770
+ };
771
+
772
+ const fireListEvent = (editor, action, element) => editor.dispatch('ListMutation', {
773
+ action,
774
+ element
775
+ });
776
+
777
+ const blank = r => s => s.replace(r, '');
778
+ const trim = blank(/^\s+|\s+$/g);
779
+ const isNotEmpty = s => s.length > 0;
780
+ const isEmpty$1 = s => !isNotEmpty(s);
781
+
782
+ const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);
783
+
784
+ const internalSet = (dom, property, value) => {
785
+ if (!isString(value)) {
786
+ console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);
787
+ throw new Error('CSS value must be a string: ' + value);
788
+ }
789
+ if (isSupported(dom)) {
790
+ dom.style.setProperty(property, value);
791
+ }
792
+ };
793
+ const set = (element, property, value) => {
794
+ const dom = element.dom;
795
+ internalSet(dom, property, value);
796
+ };
797
+
798
+ const joinSegment = (parent, child) => {
799
+ append$1(parent.item, child.list);
800
+ };
801
+ const joinSegments = segments => {
802
+ for (let i = 1; i < segments.length; i++) {
803
+ joinSegment(segments[i - 1], segments[i]);
804
+ }
805
+ };
806
+ const appendSegments = (head$1, tail) => {
807
+ lift2(last(head$1), head(tail), joinSegment);
808
+ };
809
+ const createSegment = (scope, listType) => {
810
+ const segment = {
811
+ list: SugarElement.fromTag(listType, scope),
812
+ item: SugarElement.fromTag('li', scope)
813
+ };
814
+ append$1(segment.list, segment.item);
815
+ return segment;
816
+ };
817
+ const createSegments = (scope, entry, size) => {
818
+ const segments = [];
819
+ for (let i = 0; i < size; i++) {
820
+ segments.push(createSegment(scope, entry.listType));
821
+ }
822
+ return segments;
823
+ };
824
+ const populateSegments = (segments, entry) => {
825
+ for (let i = 0; i < segments.length - 1; i++) {
826
+ set(segments[i].item, 'list-style-type', 'none');
827
+ }
828
+ last(segments).each(segment => {
829
+ setAll(segment.list, entry.listAttributes);
830
+ setAll(segment.item, entry.itemAttributes);
831
+ append(segment.item, entry.content);
832
+ });
833
+ };
834
+ const normalizeSegment = (segment, entry) => {
835
+ if (name(segment.list) !== entry.listType) {
836
+ segment.list = mutate(segment.list, entry.listType);
837
+ }
838
+ setAll(segment.list, entry.listAttributes);
839
+ };
840
+ const createItem = (scope, attr, content) => {
841
+ const item = SugarElement.fromTag('li', scope);
842
+ setAll(item, attr);
843
+ append(item, content);
844
+ return item;
845
+ };
846
+ const appendItem = (segment, item) => {
847
+ append$1(segment.list, item);
848
+ segment.item = item;
849
+ };
850
+ const writeShallow = (scope, cast, entry) => {
851
+ const newCast = cast.slice(0, entry.depth);
852
+ last(newCast).each(segment => {
853
+ const item = createItem(scope, entry.itemAttributes, entry.content);
854
+ appendItem(segment, item);
855
+ normalizeSegment(segment, entry);
856
+ });
857
+ return newCast;
858
+ };
859
+ const writeDeep = (scope, cast, entry) => {
860
+ const segments = createSegments(scope, entry, entry.depth - cast.length);
861
+ joinSegments(segments);
862
+ populateSegments(segments, entry);
863
+ appendSegments(cast, segments);
864
+ return cast.concat(segments);
865
+ };
866
+ const composeList = (scope, entries) => {
867
+ const cast = foldl(entries, (cast, entry) => {
868
+ return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);
869
+ }, []);
870
+ return head(cast).map(segment => segment.list);
871
+ };
872
+
873
+ const isList = el => is(el, 'OL,UL');
874
+ const hasFirstChildList = el => firstChild(el).exists(isList);
875
+ const hasLastChildList = el => lastChild(el).exists(isList);
876
+
877
+ const isIndented = entry => entry.depth > 0;
878
+ const isSelected = entry => entry.isSelected;
879
+ const cloneItemContent = li => {
880
+ const children$1 = children(li);
881
+ const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;
882
+ return map(content, deep);
883
+ };
884
+ const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({
885
+ depth,
886
+ dirty: false,
887
+ isSelected,
888
+ content: cloneItemContent(li),
889
+ itemAttributes: clone$1(li),
890
+ listAttributes: clone$1(list),
891
+ listType: name(list)
892
+ }));
893
+
894
+ const indentEntry = (indentation, entry) => {
895
+ switch (indentation) {
896
+ case 'Indent':
897
+ entry.depth++;
898
+ break;
899
+ case 'Outdent':
900
+ entry.depth--;
901
+ break;
902
+ case 'Flatten':
903
+ entry.depth = 0;
904
+ }
905
+ entry.dirty = true;
906
+ };
907
+
908
+ const cloneListProperties = (target, source) => {
909
+ target.listType = source.listType;
910
+ target.listAttributes = { ...source.listAttributes };
911
+ };
912
+ const cleanListProperties = entry => {
913
+ entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start');
914
+ };
915
+ const closestSiblingEntry = (entries, start) => {
916
+ const depth = entries[start].depth;
917
+ const matches = entry => entry.depth === depth && !entry.dirty;
918
+ const until = entry => entry.depth < depth;
919
+ return findUntil(reverse(entries.slice(0, start)), matches, until).orThunk(() => findUntil(entries.slice(start + 1), matches, until));
920
+ };
921
+ const normalizeEntries = entries => {
922
+ each$1(entries, (entry, i) => {
923
+ closestSiblingEntry(entries, i).fold(() => {
924
+ if (entry.dirty) {
925
+ cleanListProperties(entry);
926
+ }
927
+ }, matchingEntry => cloneListProperties(entry, matchingEntry));
928
+ });
929
+ return entries;
930
+ };
931
+
932
+ const Cell = initial => {
933
+ let value = initial;
934
+ const get = () => {
935
+ return value;
936
+ };
937
+ const set = v => {
938
+ value = v;
939
+ };
940
+ return {
941
+ get,
942
+ set
943
+ };
944
+ };
945
+
946
+ const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => {
947
+ itemSelection.each(selection => {
948
+ if (eq(selection.start, item)) {
949
+ selectionState.set(true);
950
+ }
951
+ });
952
+ const currentItemEntry = createEntry(item, depth, selectionState.get());
953
+ itemSelection.each(selection => {
954
+ if (eq(selection.end, item)) {
955
+ selectionState.set(false);
956
+ }
957
+ });
958
+ const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]);
959
+ return currentItemEntry.toArray().concat(childListEntries);
960
+ }, list => parseList(depth, itemSelection, selectionState, list));
961
+ const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => {
962
+ const parser = isList(element) ? parseList : parseItem;
963
+ const newDepth = depth + 1;
964
+ return parser(newDepth, itemSelection, selectionState, element);
965
+ });
966
+ const parseLists = (lists, itemSelection) => {
967
+ const selectionState = Cell(false);
968
+ const initialDepth = 0;
969
+ return map(lists, list => ({
970
+ sourceList: list,
971
+ entries: parseList(initialDepth, itemSelection, selectionState, list)
972
+ }));
973
+ };
974
+
975
+ const outdentedComposer = (editor, entries) => {
976
+ const normalizedEntries = normalizeEntries(entries);
977
+ return map(normalizedEntries, entry => {
978
+ const content = fromElements(entry.content);
979
+ return SugarElement.fromDom(createTextBlock(editor, content.dom));
980
+ });
981
+ };
982
+ const indentedComposer = (editor, entries) => {
983
+ const normalizedEntries = normalizeEntries(entries);
984
+ return composeList(editor.contentDocument, normalizedEntries).toArray();
985
+ };
986
+ const composeEntries = (editor, entries) => bind(groupBy(entries, isIndented), entries => {
987
+ const groupIsIndented = head(entries).exists(isIndented);
988
+ return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);
989
+ });
990
+ const indentSelectedEntries = (entries, indentation) => {
991
+ each$1(filter$1(entries, isSelected), entry => indentEntry(indentation, entry));
992
+ };
993
+ const getItemSelection = editor => {
994
+ const selectedListItems = map(getSelectedListItems(editor), SugarElement.fromDom);
995
+ return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), (start, end) => ({
996
+ start,
997
+ end
998
+ }));
999
+ };
1000
+ const listIndentation = (editor, lists, indentation) => {
1001
+ const entrySets = parseLists(lists, getItemSelection(editor));
1002
+ each$1(entrySets, entrySet => {
1003
+ indentSelectedEntries(entrySet.entries, indentation);
1004
+ const composedLists = composeEntries(editor, entrySet.entries);
1005
+ each$1(composedLists, composedList => {
1006
+ fireListEvent(editor, indentation === 'Indent' ? 'IndentList' : 'OutdentList', composedList.dom);
1007
+ });
1008
+ before(entrySet.sourceList, composedLists);
1009
+ remove(entrySet.sourceList);
1010
+ });
1011
+ };
1012
+
1013
+ const selectionIndentation = (editor, indentation) => {
1014
+ const lists = fromDom(getSelectedListRoots(editor));
1015
+ const dlItems = fromDom(getSelectedDlItems(editor));
1016
+ let isHandled = false;
1017
+ if (lists.length || dlItems.length) {
1018
+ const bookmark = editor.selection.getBookmark();
1019
+ listIndentation(editor, lists, indentation);
1020
+ dlIndentation(editor, indentation, dlItems);
1021
+ editor.selection.moveToBookmark(bookmark);
1022
+ editor.selection.setRng(normalizeRange(editor.selection.getRng()));
1023
+ editor.nodeChanged();
1024
+ isHandled = true;
1025
+ }
1026
+ return isHandled;
1027
+ };
1028
+ const handleIndentation = (editor, indentation) => !selectionIsWithinNonEditableList(editor) && selectionIndentation(editor, indentation);
1029
+ const indentListSelection = editor => handleIndentation(editor, 'Indent');
1030
+ const outdentListSelection = editor => handleIndentation(editor, 'Outdent');
1031
+ const flattenListSelection = editor => handleIndentation(editor, 'Flatten');
1032
+
1033
+ const zeroWidth = '\uFEFF';
1034
+ const isZwsp = char => char === zeroWidth;
1035
+
1036
+ var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');
1037
+
1038
+ const DOM$1 = global$3.DOM;
1039
+ const createBookmark = rng => {
1040
+ const bookmark = {};
1041
+ const setupEndPoint = start => {
1042
+ let container = rng[start ? 'startContainer' : 'endContainer'];
1043
+ let offset = rng[start ? 'startOffset' : 'endOffset'];
1044
+ if (isElement(container)) {
1045
+ const offsetNode = DOM$1.create('span', { 'data-mce-type': 'bookmark' });
1046
+ if (container.hasChildNodes()) {
1047
+ offset = Math.min(offset, container.childNodes.length - 1);
1048
+ if (start) {
1049
+ container.insertBefore(offsetNode, container.childNodes[offset]);
1050
+ } else {
1051
+ DOM$1.insertAfter(offsetNode, container.childNodes[offset]);
1052
+ }
1053
+ } else {
1054
+ container.appendChild(offsetNode);
1055
+ }
1056
+ container = offsetNode;
1057
+ offset = 0;
1058
+ }
1059
+ bookmark[start ? 'startContainer' : 'endContainer'] = container;
1060
+ bookmark[start ? 'startOffset' : 'endOffset'] = offset;
1061
+ };
1062
+ setupEndPoint(true);
1063
+ if (!rng.collapsed) {
1064
+ setupEndPoint();
1065
+ }
1066
+ return bookmark;
1067
+ };
1068
+ const resolveBookmark = bookmark => {
1069
+ const restoreEndPoint = start => {
1070
+ const nodeIndex = container => {
1071
+ var _a;
1072
+ let node = (_a = container.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild;
1073
+ let idx = 0;
1074
+ while (node) {
1075
+ if (node === container) {
1076
+ return idx;
1077
+ }
1078
+ if (!isElement(node) || node.getAttribute('data-mce-type') !== 'bookmark') {
1079
+ idx++;
1080
+ }
1081
+ node = node.nextSibling;
1082
+ }
1083
+ return -1;
1084
+ };
1085
+ let container = bookmark[start ? 'startContainer' : 'endContainer'];
1086
+ let offset = bookmark[start ? 'startOffset' : 'endOffset'];
1087
+ if (!container) {
1088
+ return;
1089
+ }
1090
+ if (isElement(container) && container.parentNode) {
1091
+ const node = container;
1092
+ offset = nodeIndex(container);
1093
+ container = container.parentNode;
1094
+ DOM$1.remove(node);
1095
+ if (!container.hasChildNodes() && DOM$1.isBlock(container)) {
1096
+ container.appendChild(DOM$1.create('br'));
1097
+ }
1098
+ }
1099
+ bookmark[start ? 'startContainer' : 'endContainer'] = container;
1100
+ bookmark[start ? 'startOffset' : 'endOffset'] = offset;
1101
+ };
1102
+ restoreEndPoint(true);
1103
+ restoreEndPoint();
1104
+ const rng = DOM$1.createRng();
1105
+ rng.setStart(bookmark.startContainer, bookmark.startOffset);
1106
+ if (bookmark.endContainer) {
1107
+ rng.setEnd(bookmark.endContainer, bookmark.endOffset);
1108
+ }
1109
+ return normalizeRange(rng);
1110
+ };
1111
+
1112
+ const listToggleActionFromListName = listName => {
1113
+ switch (listName) {
1114
+ case 'UL':
1115
+ return 'ToggleUlList';
1116
+ case 'OL':
1117
+ return 'ToggleOlList';
1118
+ case 'DL':
1119
+ return 'ToggleDLList';
1120
+ }
1121
+ };
1122
+
1123
+ const updateListStyle = (dom, el, detail) => {
1124
+ const type = detail['list-style-type'] ? detail['list-style-type'] : null;
1125
+ dom.setStyle(el, 'list-style-type', type);
1126
+ };
1127
+ const setAttribs = (elm, attrs) => {
1128
+ global$2.each(attrs, (value, key) => {
1129
+ elm.setAttribute(key, value);
1130
+ });
1131
+ };
1132
+ const updateListAttrs = (dom, el, detail) => {
1133
+ setAttribs(el, detail['list-attributes']);
1134
+ global$2.each(dom.select('li', el), li => {
1135
+ setAttribs(li, detail['list-item-attributes']);
1136
+ });
1137
+ };
1138
+ const updateListWithDetails = (dom, el, detail) => {
1139
+ updateListStyle(dom, el, detail);
1140
+ updateListAttrs(dom, el, detail);
1141
+ };
1142
+ const removeStyles = (dom, element, styles) => {
1143
+ global$2.each(styles, style => dom.setStyle(element, style, ''));
1144
+ };
1145
+ const isInline = (editor, node) => isNonNullable(node) && !isBlock(node, editor.schema.getBlockElements());
1146
+ const getEndPointNode = (editor, rng, start, root) => {
1147
+ let container = rng[start ? 'startContainer' : 'endContainer'];
1148
+ const offset = rng[start ? 'startOffset' : 'endOffset'];
1149
+ if (isElement(container)) {
1150
+ container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;
1151
+ }
1152
+ if (!start && isBr(container.nextSibling)) {
1153
+ container = container.nextSibling;
1154
+ }
1155
+ const findBetterContainer = (container, forward) => {
1156
+ var _a;
1157
+ const walker = new global$5(container, root);
1158
+ const dir = forward ? 'next' : 'prev';
1159
+ let node;
1160
+ while (node = walker[dir]()) {
1161
+ if (!(isVoid(editor, node) || isZwsp(node.textContent) || ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length) === 0)) {
1162
+ return Optional.some(node);
1163
+ }
1164
+ }
1165
+ return Optional.none();
1166
+ };
1167
+ if (start && isTextNode$1(container)) {
1168
+ if (isZwsp(container.textContent)) {
1169
+ container = findBetterContainer(container, false).getOr(container);
1170
+ } else {
1171
+ if (container.parentNode !== null && isInline(editor, container.parentNode)) {
1172
+ container = container.parentNode;
1173
+ }
1174
+ while (container.previousSibling !== null && (isInline(editor, container.previousSibling) || isTextNode$1(container.previousSibling))) {
1175
+ container = container.previousSibling;
1176
+ }
1177
+ }
1178
+ }
1179
+ if (!start && isTextNode$1(container)) {
1180
+ if (isZwsp(container.textContent)) {
1181
+ container = findBetterContainer(container, true).getOr(container);
1182
+ } else {
1183
+ if (container.parentNode !== null && isInline(editor, container.parentNode)) {
1184
+ container = container.parentNode;
1185
+ }
1186
+ while (container.nextSibling !== null && (isInline(editor, container.nextSibling) || isTextNode$1(container.nextSibling))) {
1187
+ container = container.nextSibling;
1188
+ }
1189
+ }
1190
+ }
1191
+ while (container.parentNode !== root) {
1192
+ const parent = container.parentNode;
1193
+ if (isTextBlock(editor, container)) {
1194
+ return container;
1195
+ }
1196
+ if (/^(TD|TH)$/.test(parent.nodeName)) {
1197
+ return container;
1198
+ }
1199
+ container = parent;
1200
+ }
1201
+ return container;
1202
+ };
1203
+ const getSelectedTextBlocks = (editor, rng, root) => {
1204
+ const textBlocks = [];
1205
+ const dom = editor.dom;
1206
+ const startNode = getEndPointNode(editor, rng, true, root);
1207
+ const endNode = getEndPointNode(editor, rng, false, root);
1208
+ let block;
1209
+ const siblings = [];
1210
+ for (let node = startNode; node; node = node.nextSibling) {
1211
+ siblings.push(node);
1212
+ if (node === endNode) {
1213
+ break;
1214
+ }
1215
+ }
1216
+ global$2.each(siblings, node => {
1217
+ var _a;
1218
+ if (isTextBlock(editor, node)) {
1219
+ textBlocks.push(node);
1220
+ block = null;
1221
+ return;
1222
+ }
1223
+ if (dom.isBlock(node) || isBr(node)) {
1224
+ if (isBr(node)) {
1225
+ dom.remove(node);
1226
+ }
1227
+ block = null;
1228
+ return;
1229
+ }
1230
+ const nextSibling = node.nextSibling;
1231
+ if (global$1.isBookmarkNode(node)) {
1232
+ if (isListNode(nextSibling) || isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {
1233
+ block = null;
1234
+ return;
1235
+ }
1236
+ }
1237
+ if (!block) {
1238
+ block = dom.create('p');
1239
+ (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(block, node);
1240
+ textBlocks.push(block);
1241
+ }
1242
+ block.appendChild(node);
1243
+ });
1244
+ return textBlocks;
1245
+ };
1246
+ const hasCompatibleStyle = (dom, sib, detail) => {
1247
+ const sibStyle = dom.getStyle(sib, 'list-style-type');
1248
+ let detailStyle = detail ? detail['list-style-type'] : '';
1249
+ detailStyle = detailStyle === null ? '' : detailStyle;
1250
+ return sibStyle === detailStyle;
1251
+ };
1252
+ const applyList = (editor, listName, detail) => {
1253
+ const rng = editor.selection.getRng();
1254
+ let listItemName = 'LI';
1255
+ const root = getClosestListHost(editor, editor.selection.getStart(true));
1256
+ const dom = editor.dom;
1257
+ if (dom.getContentEditable(editor.selection.getNode()) === 'false') {
1258
+ return;
1259
+ }
1260
+ listName = listName.toUpperCase();
1261
+ if (listName === 'DL') {
1262
+ listItemName = 'DT';
1263
+ }
1264
+ const bookmark = createBookmark(rng);
1265
+ const selectedTextBlocks = filter$1(getSelectedTextBlocks(editor, rng, root), editor.dom.isEditable);
1266
+ global$2.each(selectedTextBlocks, block => {
1267
+ let listBlock;
1268
+ const sibling = block.previousSibling;
1269
+ const parent = block.parentNode;
1270
+ if (!isListItemNode(parent)) {
1271
+ if (sibling && isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {
1272
+ listBlock = sibling;
1273
+ block = dom.rename(block, listItemName);
1274
+ sibling.appendChild(block);
1275
+ } else {
1276
+ listBlock = dom.create(listName);
1277
+ parent.insertBefore(listBlock, block);
1278
+ listBlock.appendChild(block);
1279
+ block = dom.rename(block, listItemName);
1280
+ }
1281
+ removeStyles(dom, block, [
1282
+ 'margin',
1283
+ 'margin-right',
1284
+ 'margin-bottom',
1285
+ 'margin-left',
1286
+ 'margin-top',
1287
+ 'padding',
1288
+ 'padding-right',
1289
+ 'padding-bottom',
1290
+ 'padding-left',
1291
+ 'padding-top'
1292
+ ]);
1293
+ updateListWithDetails(dom, listBlock, detail);
1294
+ mergeWithAdjacentLists(editor.dom, listBlock);
1295
+ }
1296
+ });
1297
+ editor.selection.setRng(resolveBookmark(bookmark));
1298
+ };
1299
+ const isValidLists = (list1, list2) => {
1300
+ return isListNode(list1) && list1.nodeName === (list2 === null || list2 === void 0 ? void 0 : list2.nodeName);
1301
+ };
1302
+ const hasSameListStyle = (dom, list1, list2) => {
1303
+ const targetStyle = dom.getStyle(list1, 'list-style-type', true);
1304
+ const style = dom.getStyle(list2, 'list-style-type', true);
1305
+ return targetStyle === style;
1306
+ };
1307
+ const hasSameClasses = (elm1, elm2) => {
1308
+ return elm1.className === elm2.className;
1309
+ };
1310
+ const shouldMerge = (dom, list1, list2) => {
1311
+ return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);
1312
+ };
1313
+ const mergeWithAdjacentLists = (dom, listBlock) => {
1314
+ let node;
1315
+ let sibling = listBlock.nextSibling;
1316
+ if (shouldMerge(dom, listBlock, sibling)) {
1317
+ const liSibling = sibling;
1318
+ while (node = liSibling.firstChild) {
1319
+ listBlock.appendChild(node);
1320
+ }
1321
+ dom.remove(liSibling);
1322
+ }
1323
+ sibling = listBlock.previousSibling;
1324
+ if (shouldMerge(dom, listBlock, sibling)) {
1325
+ const liSibling = sibling;
1326
+ while (node = liSibling.lastChild) {
1327
+ listBlock.insertBefore(node, listBlock.firstChild);
1328
+ }
1329
+ dom.remove(liSibling);
1330
+ }
1331
+ };
1332
+ const updateList$1 = (editor, list, listName, detail) => {
1333
+ if (list.nodeName !== listName) {
1334
+ const newList = editor.dom.rename(list, listName);
1335
+ updateListWithDetails(editor.dom, newList, detail);
1336
+ fireListEvent(editor, listToggleActionFromListName(listName), newList);
1337
+ } else {
1338
+ updateListWithDetails(editor.dom, list, detail);
1339
+ fireListEvent(editor, listToggleActionFromListName(listName), list);
1340
+ }
1341
+ };
1342
+ const toggleMultipleLists = (editor, parentList, lists, listName, detail) => {
1343
+ const parentIsList = isListNode(parentList);
1344
+ if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail)) {
1345
+ flattenListSelection(editor);
1346
+ } else {
1347
+ applyList(editor, listName, detail);
1348
+ const bookmark = createBookmark(editor.selection.getRng());
1349
+ const allLists = parentIsList ? [
1350
+ parentList,
1351
+ ...lists
1352
+ ] : lists;
1353
+ global$2.each(allLists, elm => {
1354
+ updateList$1(editor, elm, listName, detail);
1355
+ });
1356
+ editor.selection.setRng(resolveBookmark(bookmark));
1357
+ }
1358
+ };
1359
+ const hasListStyleDetail = detail => {
1360
+ return 'list-style-type' in detail;
1361
+ };
1362
+ const toggleSingleList = (editor, parentList, listName, detail) => {
1363
+ if (parentList === editor.getBody()) {
1364
+ return;
1365
+ }
1366
+ if (parentList) {
1367
+ if (parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {
1368
+ flattenListSelection(editor);
1369
+ } else {
1370
+ const bookmark = createBookmark(editor.selection.getRng());
1371
+ updateListWithDetails(editor.dom, parentList, detail);
1372
+ const newList = editor.dom.rename(parentList, listName);
1373
+ mergeWithAdjacentLists(editor.dom, newList);
1374
+ editor.selection.setRng(resolveBookmark(bookmark));
1375
+ applyList(editor, listName, detail);
1376
+ fireListEvent(editor, listToggleActionFromListName(listName), newList);
1377
+ }
1378
+ } else {
1379
+ applyList(editor, listName, detail);
1380
+ fireListEvent(editor, listToggleActionFromListName(listName), parentList);
1381
+ }
1382
+ };
1383
+ const toggleList = (editor, listName, _detail) => {
1384
+ const parentList = getParentList(editor);
1385
+ if (isWithinNonEditableList(editor, parentList) || !editor.hasEditableRoot()) {
1386
+ return;
1387
+ }
1388
+ const selectedSubLists = getSelectedSubLists(editor);
1389
+ const detail = isObject(_detail) ? _detail : {};
1390
+ if (selectedSubLists.length > 0) {
1391
+ toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);
1392
+ } else {
1393
+ toggleSingleList(editor, parentList, listName, detail);
1394
+ }
1395
+ };
1396
+
1397
+ const DOM = global$3.DOM;
1398
+ const normalizeList = (dom, list) => {
1399
+ const parentNode = list.parentElement;
1400
+ if (parentNode && parentNode.nodeName === 'LI' && parentNode.firstChild === list) {
1401
+ const sibling = parentNode.previousSibling;
1402
+ if (sibling && sibling.nodeName === 'LI') {
1403
+ sibling.appendChild(list);
1404
+ if (isEmpty$2(dom, parentNode)) {
1405
+ DOM.remove(parentNode);
1406
+ }
1407
+ } else {
1408
+ DOM.setStyle(parentNode, 'listStyleType', 'none');
1409
+ }
1410
+ }
1411
+ if (isListNode(parentNode)) {
1412
+ const sibling = parentNode.previousSibling;
1413
+ if (sibling && sibling.nodeName === 'LI') {
1414
+ sibling.appendChild(list);
1415
+ }
1416
+ }
1417
+ };
1418
+ const normalizeLists = (dom, element) => {
1419
+ const lists = global$2.grep(dom.select('ol,ul', element));
1420
+ global$2.each(lists, list => {
1421
+ normalizeList(dom, list);
1422
+ });
1423
+ };
1424
+
1425
+ const findNextCaretContainer = (editor, rng, isForward, root) => {
1426
+ let node = rng.startContainer;
1427
+ const offset = rng.startOffset;
1428
+ if (isTextNode$1(node) && (isForward ? offset < node.data.length : offset > 0)) {
1429
+ return node;
1430
+ }
1431
+ const nonEmptyBlocks = editor.schema.getNonEmptyElements();
1432
+ if (isElement(node)) {
1433
+ node = global$6.getNode(node, offset);
1434
+ }
1435
+ const walker = new global$5(node, root);
1436
+ if (isForward) {
1437
+ if (isBogusBr(editor.dom, node)) {
1438
+ walker.next();
1439
+ }
1440
+ }
1441
+ const walkFn = isForward ? walker.next.bind(walker) : walker.prev2.bind(walker);
1442
+ while (node = walkFn()) {
1443
+ if (node.nodeName === 'LI' && !node.hasChildNodes()) {
1444
+ return node;
1445
+ }
1446
+ if (nonEmptyBlocks[node.nodeName]) {
1447
+ return node;
1448
+ }
1449
+ if (isTextNode$1(node) && node.data.length > 0) {
1450
+ return node;
1451
+ }
1452
+ }
1453
+ return null;
1454
+ };
1455
+ const hasOnlyOneBlockChild = (dom, elm) => {
1456
+ const childNodes = elm.childNodes;
1457
+ return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);
1458
+ };
1459
+ const unwrapSingleBlockChild = (dom, elm) => {
1460
+ if (hasOnlyOneBlockChild(dom, elm)) {
1461
+ dom.remove(elm.firstChild, true);
1462
+ }
1463
+ };
1464
+ const moveChildren = (dom, fromElm, toElm) => {
1465
+ let node;
1466
+ const targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;
1467
+ unwrapSingleBlockChild(dom, fromElm);
1468
+ if (!isEmpty$2(dom, fromElm, true)) {
1469
+ while (node = fromElm.firstChild) {
1470
+ targetElm.appendChild(node);
1471
+ }
1472
+ }
1473
+ };
1474
+ const mergeLiElements = (dom, fromElm, toElm) => {
1475
+ let listNode;
1476
+ const ul = fromElm.parentNode;
1477
+ if (!isChildOfBody(dom, fromElm) || !isChildOfBody(dom, toElm)) {
1478
+ return;
1479
+ }
1480
+ if (isListNode(toElm.lastChild)) {
1481
+ listNode = toElm.lastChild;
1482
+ }
1483
+ if (ul === toElm.lastChild) {
1484
+ if (isBr(ul.previousSibling)) {
1485
+ dom.remove(ul.previousSibling);
1486
+ }
1487
+ }
1488
+ const node = toElm.lastChild;
1489
+ if (node && isBr(node) && fromElm.hasChildNodes()) {
1490
+ dom.remove(node);
1491
+ }
1492
+ if (isEmpty$2(dom, toElm, true)) {
1493
+ empty(SugarElement.fromDom(toElm));
1494
+ }
1495
+ moveChildren(dom, fromElm, toElm);
1496
+ if (listNode) {
1497
+ toElm.appendChild(listNode);
1498
+ }
1499
+ const contains$1 = contains(SugarElement.fromDom(toElm), SugarElement.fromDom(fromElm));
1500
+ const nestedLists = contains$1 ? dom.getParents(fromElm, isListNode, toElm) : [];
1501
+ dom.remove(fromElm);
1502
+ each$1(nestedLists, list => {
1503
+ if (isEmpty$2(dom, list) && list !== dom.getRoot()) {
1504
+ dom.remove(list);
1505
+ }
1506
+ });
1507
+ };
1508
+ const mergeIntoEmptyLi = (editor, fromLi, toLi) => {
1509
+ empty(SugarElement.fromDom(toLi));
1510
+ mergeLiElements(editor.dom, fromLi, toLi);
1511
+ editor.selection.setCursorLocation(toLi, 0);
1512
+ };
1513
+ const mergeForward = (editor, rng, fromLi, toLi) => {
1514
+ const dom = editor.dom;
1515
+ if (dom.isEmpty(toLi)) {
1516
+ mergeIntoEmptyLi(editor, fromLi, toLi);
1517
+ } else {
1518
+ const bookmark = createBookmark(rng);
1519
+ mergeLiElements(dom, fromLi, toLi);
1520
+ editor.selection.setRng(resolveBookmark(bookmark));
1521
+ }
1522
+ };
1523
+ const mergeBackward = (editor, rng, fromLi, toLi) => {
1524
+ const bookmark = createBookmark(rng);
1525
+ mergeLiElements(editor.dom, fromLi, toLi);
1526
+ const resolvedBookmark = resolveBookmark(bookmark);
1527
+ editor.selection.setRng(resolvedBookmark);
1528
+ };
1529
+ const backspaceDeleteFromListToListCaret = (editor, isForward) => {
1530
+ const dom = editor.dom, selection = editor.selection;
1531
+ const selectionStartElm = selection.getStart();
1532
+ const root = getClosestEditingHost(editor, selectionStartElm);
1533
+ const li = dom.getParent(selection.getStart(), 'LI', root);
1534
+ if (li) {
1535
+ const ul = li.parentElement;
1536
+ if (ul === editor.getBody() && isEmpty$2(dom, ul)) {
1537
+ return true;
1538
+ }
1539
+ const rng = normalizeRange(selection.getRng());
1540
+ const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);
1541
+ if (otherLi && otherLi !== li) {
1542
+ editor.undoManager.transact(() => {
1543
+ if (isForward) {
1544
+ mergeForward(editor, rng, otherLi, li);
1545
+ } else {
1546
+ if (isFirstChild(li)) {
1547
+ outdentListSelection(editor);
1548
+ } else {
1549
+ mergeBackward(editor, rng, li, otherLi);
1550
+ }
1551
+ }
1552
+ });
1553
+ return true;
1554
+ } else if (!otherLi) {
1555
+ if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) {
1556
+ editor.undoManager.transact(() => {
1557
+ flattenListSelection(editor);
1558
+ });
1559
+ return true;
1560
+ }
1561
+ }
1562
+ }
1563
+ return false;
1564
+ };
1565
+ const removeBlock = (dom, block, root) => {
1566
+ const parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);
1567
+ dom.remove(block);
1568
+ if (parentBlock && dom.isEmpty(parentBlock)) {
1569
+ dom.remove(parentBlock);
1570
+ }
1571
+ };
1572
+ const backspaceDeleteIntoListCaret = (editor, isForward) => {
1573
+ const dom = editor.dom;
1574
+ const selectionStartElm = editor.selection.getStart();
1575
+ const root = getClosestEditingHost(editor, selectionStartElm);
1576
+ const block = dom.getParent(selectionStartElm, dom.isBlock, root);
1577
+ if (block && dom.isEmpty(block)) {
1578
+ const rng = normalizeRange(editor.selection.getRng());
1579
+ const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);
1580
+ if (otherLi) {
1581
+ const findValidElement = element => contains$1([
1582
+ 'td',
1583
+ 'th',
1584
+ 'caption'
1585
+ ], name(element));
1586
+ const findRoot = node => node.dom === root;
1587
+ const otherLiCell = closest(SugarElement.fromDom(otherLi), findValidElement, findRoot);
1588
+ const caretCell = closest(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);
1589
+ if (!equals(otherLiCell, caretCell, eq)) {
1590
+ return false;
1591
+ }
1592
+ editor.undoManager.transact(() => {
1593
+ removeBlock(dom, block, root);
1594
+ mergeWithAdjacentLists(dom, otherLi.parentNode);
1595
+ editor.selection.select(otherLi, true);
1596
+ editor.selection.collapse(isForward);
1597
+ });
1598
+ return true;
1599
+ }
1600
+ }
1601
+ return false;
1602
+ };
1603
+ const backspaceDeleteCaret = (editor, isForward) => {
1604
+ return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);
1605
+ };
1606
+ const hasListSelection = editor => {
1607
+ const selectionStartElm = editor.selection.getStart();
1608
+ const root = getClosestEditingHost(editor, selectionStartElm);
1609
+ const startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);
1610
+ return startListParent || getSelectedListItems(editor).length > 0;
1611
+ };
1612
+ const backspaceDeleteRange = editor => {
1613
+ if (hasListSelection(editor)) {
1614
+ editor.undoManager.transact(() => {
1615
+ editor.execCommand('Delete');
1616
+ normalizeLists(editor.dom, editor.getBody());
1617
+ });
1618
+ return true;
1619
+ }
1620
+ return false;
1621
+ };
1622
+ const backspaceDelete = (editor, isForward) => {
1623
+ const selection = editor.selection;
1624
+ return !isWithinNonEditableList(editor, selection.getNode()) && (selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor));
1625
+ };
1626
+ const setup$2 = editor => {
1627
+ editor.on('ExecCommand', e => {
1628
+ const cmd = e.command.toLowerCase();
1629
+ if ((cmd === 'delete' || cmd === 'forwarddelete') && hasListSelection(editor)) {
1630
+ normalizeLists(editor.dom, editor.getBody());
1631
+ }
1632
+ });
1633
+ editor.on('keydown', e => {
1634
+ if (e.keyCode === global$4.BACKSPACE) {
1635
+ if (backspaceDelete(editor, false)) {
1636
+ e.preventDefault();
1637
+ }
1638
+ } else if (e.keyCode === global$4.DELETE) {
1639
+ if (backspaceDelete(editor, true)) {
1640
+ e.preventDefault();
1641
+ }
1642
+ }
1643
+ });
1644
+ };
1645
+
1646
+ const get = editor => ({
1647
+ backspaceDelete: isForward => {
1648
+ backspaceDelete(editor, isForward);
1649
+ }
1650
+ });
1651
+
1652
+ const updateList = (editor, update) => {
1653
+ const parentList = getParentList(editor);
1654
+ if (parentList === null || isWithinNonEditableList(editor, parentList)) {
1655
+ return;
1656
+ }
1657
+ editor.undoManager.transact(() => {
1658
+ if (isObject(update.styles)) {
1659
+ editor.dom.setStyles(parentList, update.styles);
1660
+ }
1661
+ if (isObject(update.attrs)) {
1662
+ each(update.attrs, (v, k) => editor.dom.setAttrib(parentList, k, v));
1663
+ }
1664
+ });
1665
+ };
1666
+
1667
+ const parseAlphabeticBase26 = str => {
1668
+ const chars = reverse(trim(str).split(''));
1669
+ const values = map(chars, (char, i) => {
1670
+ const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;
1671
+ return Math.pow(26, i) * charValue;
1672
+ });
1673
+ return foldl(values, (sum, v) => sum + v, 0);
1674
+ };
1675
+ const composeAlphabeticBase26 = value => {
1676
+ value--;
1677
+ if (value < 0) {
1678
+ return '';
1679
+ } else {
1680
+ const remainder = value % 26;
1681
+ const quotient = Math.floor(value / 26);
1682
+ const rest = composeAlphabeticBase26(quotient);
1683
+ const char = String.fromCharCode('A'.charCodeAt(0) + remainder);
1684
+ return rest + char;
1685
+ }
1686
+ };
1687
+ const isUppercase = str => /^[A-Z]+$/.test(str);
1688
+ const isLowercase = str => /^[a-z]+$/.test(str);
1689
+ const isNumeric = str => /^[0-9]+$/.test(str);
1690
+ const deduceListType = start => {
1691
+ if (isNumeric(start)) {
1692
+ return 2;
1693
+ } else if (isUppercase(start)) {
1694
+ return 0;
1695
+ } else if (isLowercase(start)) {
1696
+ return 1;
1697
+ } else if (isEmpty$1(start)) {
1698
+ return 3;
1699
+ } else {
1700
+ return 4;
1701
+ }
1702
+ };
1703
+ const parseStartValue = start => {
1704
+ switch (deduceListType(start)) {
1705
+ case 2:
1706
+ return Optional.some({
1707
+ listStyleType: Optional.none(),
1708
+ start
1709
+ });
1710
+ case 0:
1711
+ return Optional.some({
1712
+ listStyleType: Optional.some('upper-alpha'),
1713
+ start: parseAlphabeticBase26(start).toString()
1714
+ });
1715
+ case 1:
1716
+ return Optional.some({
1717
+ listStyleType: Optional.some('lower-alpha'),
1718
+ start: parseAlphabeticBase26(start).toString()
1719
+ });
1720
+ case 3:
1721
+ return Optional.some({
1722
+ listStyleType: Optional.none(),
1723
+ start: ''
1724
+ });
1725
+ case 4:
1726
+ return Optional.none();
1727
+ }
1728
+ };
1729
+ const parseDetail = detail => {
1730
+ const start = parseInt(detail.start, 10);
1731
+ if (is$2(detail.listStyleType, 'upper-alpha')) {
1732
+ return composeAlphabeticBase26(start);
1733
+ } else if (is$2(detail.listStyleType, 'lower-alpha')) {
1734
+ return composeAlphabeticBase26(start).toLowerCase();
1735
+ } else {
1736
+ return detail.start;
1737
+ }
1738
+ };
1739
+
1740
+ const open = editor => {
1741
+ const currentList = getParentList(editor);
1742
+ if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) {
1743
+ return;
1744
+ }
1745
+ editor.windowManager.open({
1746
+ title: 'List Properties',
1747
+ body: {
1748
+ type: 'panel',
1749
+ items: [{
1750
+ type: 'input',
1751
+ name: 'start',
1752
+ label: 'Start list at number',
1753
+ inputMode: 'numeric'
1754
+ }]
1755
+ },
1756
+ initialData: {
1757
+ start: parseDetail({
1758
+ start: editor.dom.getAttrib(currentList, 'start', '1'),
1759
+ listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type'))
1760
+ })
1761
+ },
1762
+ buttons: [
1763
+ {
1764
+ type: 'cancel',
1765
+ name: 'cancel',
1766
+ text: 'Cancel'
1767
+ },
1768
+ {
1769
+ type: 'submit',
1770
+ name: 'save',
1771
+ text: 'Save',
1772
+ primary: true
1773
+ }
1774
+ ],
1775
+ onSubmit: api => {
1776
+ const data = api.getData();
1777
+ parseStartValue(data.start).each(detail => {
1778
+ editor.execCommand('mceListUpdate', false, {
1779
+ attrs: { start: detail.start === '1' ? '' : detail.start },
1780
+ styles: { 'list-style-type': detail.listStyleType.getOr('') }
1781
+ });
1782
+ });
1783
+ api.close();
1784
+ }
1785
+ });
1786
+ };
1787
+
1788
+ const queryListCommandState = (editor, listName) => () => {
1789
+ const parentList = getParentList(editor);
1790
+ return isNonNullable(parentList) && parentList.nodeName === listName;
1791
+ };
1792
+ const registerDialog = editor => {
1793
+ editor.addCommand('mceListProps', () => {
1794
+ open(editor);
1795
+ });
1796
+ };
1797
+ const register$2 = editor => {
1798
+ editor.on('BeforeExecCommand', e => {
1799
+ const cmd = e.command.toLowerCase();
1800
+ if (cmd === 'indent') {
1801
+ indentListSelection(editor);
1802
+ } else if (cmd === 'outdent') {
1803
+ outdentListSelection(editor);
1804
+ }
1805
+ });
1806
+ editor.addCommand('InsertUnorderedList', (ui, detail) => {
1807
+ toggleList(editor, 'UL', detail);
1808
+ });
1809
+ editor.addCommand('InsertOrderedList', (ui, detail) => {
1810
+ toggleList(editor, 'OL', detail);
1811
+ });
1812
+ editor.addCommand('InsertDefinitionList', (ui, detail) => {
1813
+ toggleList(editor, 'DL', detail);
1814
+ });
1815
+ editor.addCommand('RemoveList', () => {
1816
+ flattenListSelection(editor);
1817
+ });
1818
+ registerDialog(editor);
1819
+ editor.addCommand('mceListUpdate', (ui, detail) => {
1820
+ if (isObject(detail)) {
1821
+ updateList(editor, detail);
1822
+ }
1823
+ });
1824
+ editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));
1825
+ editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));
1826
+ editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));
1827
+ };
1828
+
1829
+ var global = tinymce.util.Tools.resolve('tinymce.html.Node');
1830
+
1831
+ const isTextNode = node => node.type === 3;
1832
+ const isEmpty = nodeBuffer => nodeBuffer.length === 0;
1833
+ const wrapInvalidChildren = list => {
1834
+ const insertListItem = (buffer, refNode) => {
1835
+ const li = global.create('li');
1836
+ each$1(buffer, node => li.append(node));
1837
+ if (refNode) {
1838
+ list.insert(li, refNode, true);
1839
+ } else {
1840
+ list.append(li);
1841
+ }
1842
+ };
1843
+ const reducer = (buffer, node) => {
1844
+ if (isTextNode(node)) {
1845
+ return [
1846
+ ...buffer,
1847
+ node
1848
+ ];
1849
+ } else if (!isEmpty(buffer) && !isTextNode(node)) {
1850
+ insertListItem(buffer, node);
1851
+ return [];
1852
+ } else {
1853
+ return buffer;
1854
+ }
1855
+ };
1856
+ const restBuffer = foldl(list.children(), reducer, []);
1857
+ if (!isEmpty(restBuffer)) {
1858
+ insertListItem(restBuffer);
1859
+ }
1860
+ };
1861
+ const setup$1 = editor => {
1862
+ editor.on('PreInit', () => {
1863
+ const {parser} = editor;
1864
+ parser.addNodeFilter('ul,ol', nodes => each$1(nodes, wrapInvalidChildren));
1865
+ });
1866
+ };
1867
+
1868
+ const setupTabKey = editor => {
1869
+ editor.on('keydown', e => {
1870
+ if (e.keyCode !== global$4.TAB || global$4.metaKeyPressed(e)) {
1871
+ return;
1872
+ }
1873
+ editor.undoManager.transact(() => {
1874
+ if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) {
1875
+ e.preventDefault();
1876
+ }
1877
+ });
1878
+ });
1879
+ };
1880
+ const setup = editor => {
1881
+ if (shouldIndentOnTab(editor)) {
1882
+ setupTabKey(editor);
1883
+ }
1884
+ setup$2(editor);
1885
+ };
1886
+
1887
+ const setupToggleButtonHandler = (editor, listName) => api => {
1888
+ const toggleButtonHandler = e => {
1889
+ api.setActive(inList(e.parents, listName));
1890
+ api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());
1891
+ };
1892
+ api.setEnabled(editor.selection.isEditable());
1893
+ return setNodeChangeHandler(editor, toggleButtonHandler);
1894
+ };
1895
+ const register$1 = editor => {
1896
+ const exec = command => () => editor.execCommand(command);
1897
+ if (!editor.hasPlugin('advlist')) {
1898
+ editor.ui.registry.addToggleButton('numlist', {
1899
+ icon: 'ordered-list',
1900
+ active: false,
1901
+ tooltip: 'Numbered list',
1902
+ onAction: exec('InsertOrderedList'),
1903
+ onSetup: setupToggleButtonHandler(editor, 'OL')
1904
+ });
1905
+ editor.ui.registry.addToggleButton('bullist', {
1906
+ icon: 'unordered-list',
1907
+ active: false,
1908
+ tooltip: 'Bullet list',
1909
+ onAction: exec('InsertUnorderedList'),
1910
+ onSetup: setupToggleButtonHandler(editor, 'UL')
1911
+ });
1912
+ }
1913
+ };
1914
+
1915
+ const setupMenuButtonHandler = (editor, listName) => api => {
1916
+ const menuButtonHandler = e => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element));
1917
+ return setNodeChangeHandler(editor, menuButtonHandler);
1918
+ };
1919
+ const register = editor => {
1920
+ const listProperties = {
1921
+ text: 'List properties...',
1922
+ icon: 'ordered-list',
1923
+ onAction: () => editor.execCommand('mceListProps'),
1924
+ onSetup: setupMenuButtonHandler(editor, 'OL')
1925
+ };
1926
+ editor.ui.registry.addMenuItem('listprops', listProperties);
1927
+ editor.ui.registry.addContextMenu('lists', {
1928
+ update: node => {
1929
+ const parentList = getParentList(editor, node);
1930
+ return isOlNode(parentList) ? ['listprops'] : [];
1931
+ }
1932
+ });
1933
+ };
1934
+
1935
+ var Plugin = () => {
1936
+ global$7.add('lists', editor => {
1937
+ register$3(editor);
1938
+ setup$1(editor);
1939
+ if (!editor.hasPlugin('rtc', true)) {
1940
+ setup(editor);
1941
+ register$2(editor);
1942
+ } else {
1943
+ registerDialog(editor);
1944
+ }
1945
+ register$1(editor);
1946
+ register(editor);
1947
+ return get(editor);
1948
+ });
1949
+ };
1950
+
1951
+ Plugin();
1952
+
1953
+ })();