@sapui5/sap.ui.richtexteditor 1.84.44 → 1.84.45

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 (254) hide show
  1. package/LICENSE.txt +13 -10
  2. package/README.md +1 -1
  3. package/package.json +1 -1
  4. package/src/sap/ui/richtexteditor/.library +2 -2
  5. package/src/sap/ui/richtexteditor/RTESplitButton.js +1 -1
  6. package/src/sap/ui/richtexteditor/js/tiny_mce6/icons/default/icons.js +3 -0
  7. package/src/sap/ui/richtexteditor/js/tiny_mce6/icons/default/icons.min.js +1 -1
  8. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ar.js +1 -1
  9. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/bg_BG.js +1 -1
  10. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ca.js +1 -1
  11. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/cs.js +1 -1
  12. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/da.js +1 -1
  13. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/de.js +1 -1
  14. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/el.js +1 -1
  15. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/es.js +1 -1
  16. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/eu.js +1 -1
  17. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/fa.js +1 -1
  18. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/fi.js +1 -1
  19. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/fr_FR.js +1 -1
  20. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/he_IL.js +1 -1
  21. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/hi.js +1 -1
  22. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/hr.js +1 -1
  23. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/hu_HU.js +1 -1
  24. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/id.js +1 -1
  25. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/it.js +1 -1
  26. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ja.js +1 -1
  27. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/kk.js +1 -1
  28. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ko_KR.js +1 -1
  29. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ms.js +1 -1
  30. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/nb_NO.js +1 -1
  31. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/nl.js +1 -1
  32. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/pl.js +1 -1
  33. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/pt_BR.js +1 -1
  34. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/pt_PT.js +1 -1
  35. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ro.js +1 -1
  36. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/ru.js +1 -1
  37. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/sk.js +1 -1
  38. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/sl_SI.js +1 -1
  39. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/sv_SE.js +1 -1
  40. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/th_TH.js +1 -1
  41. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/tr.js +1 -1
  42. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/uk.js +1 -1
  43. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/vi.js +1 -1
  44. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/zh_CN.js +1 -1
  45. package/src/sap/ui/richtexteditor/js/tiny_mce6/langs/zh_TW.js +1 -1
  46. package/src/sap/ui/richtexteditor/js/tiny_mce6/models/dom/model.js +1 -1
  47. package/src/sap/ui/richtexteditor/js/tiny_mce6/models/dom/model.min.js +1 -1
  48. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/accordion/plugin.js +39 -18
  49. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/accordion/plugin.min.js +2 -2
  50. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/CHANGELOG.md +10 -0
  51. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/codemirror.min.css +1 -1
  52. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/codemirror.min.js +1 -1
  53. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/codemirror_css.js +13 -0
  54. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/customeditor.js +2 -2
  55. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/customeditor.min.js +2 -2
  56. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/plugin.js +2 -2
  57. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/plugin.min.js +2 -2
  58. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/readme.txt +1 -1
  59. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advcode/version.txt +1 -1
  60. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advlist/plugin.js +1 -1
  61. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/advlist/plugin.min.js +1 -1
  62. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/anchor/plugin.js +1 -1
  63. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/anchor/plugin.min.js +1 -1
  64. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autolink/plugin.js +1 -1
  65. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autolink/plugin.min.js +1 -1
  66. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autoresize/plugin.js +1 -1
  67. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autoresize/plugin.min.js +1 -1
  68. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autosave/plugin.js +1 -1
  69. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/autosave/plugin.min.js +1 -1
  70. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/charmap/plugin.js +1 -1
  71. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/charmap/plugin.min.js +1 -1
  72. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/code/plugin.js +1 -1
  73. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/code/plugin.min.js +1 -1
  74. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/codesample/plugin.js +1 -1
  75. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/codesample/plugin.min.js +1 -1
  76. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/directionality/plugin.js +1 -1
  77. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/directionality/plugin.min.js +1 -1
  78. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/plugin.js +1 -1
  79. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/emoticons/plugin.min.js +1 -1
  80. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/fullscreen/plugin.js +1 -1
  81. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/fullscreen/plugin.min.js +1 -1
  82. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ar.js +5 -5
  83. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/bg_BG.js +5 -5
  84. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ca.js +5 -5
  85. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/cs.js +5 -5
  86. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/da.js +5 -5
  87. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/de.js +5 -5
  88. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/el.js +5 -5
  89. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/en.js +5 -5
  90. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/es.js +5 -5
  91. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/eu.js +6 -6
  92. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/fa.js +5 -5
  93. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/fi.js +5 -5
  94. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/fr_FR.js +5 -5
  95. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/he_IL.js +5 -5
  96. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/hi.js +5 -5
  97. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/hr.js +5 -5
  98. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/hu_HU.js +5 -5
  99. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/id.js +5 -5
  100. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/it.js +5 -5
  101. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ja.js +5 -5
  102. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/kk.js +5 -5
  103. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ko_KR.js +5 -5
  104. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ms.js +5 -5
  105. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/nb_NO.js +5 -5
  106. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/nl.js +5 -5
  107. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/pl.js +5 -5
  108. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/pt_BR.js +5 -5
  109. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/pt_PT.js +5 -5
  110. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ro.js +5 -5
  111. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/ru.js +5 -5
  112. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/sk.js +5 -5
  113. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/sl_SI.js +5 -5
  114. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/sv_SE.js +5 -5
  115. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/th_TH.js +5 -5
  116. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/tr.js +5 -5
  117. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/uk.js +5 -5
  118. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/vi.js +5 -5
  119. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/zh_CN.js +5 -5
  120. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/js/i18n/keynav/zh_TW.js +5 -5
  121. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/plugin.js +10 -5
  122. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/help/plugin.min.js +2 -2
  123. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/image/plugin.js +4 -3
  124. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/image/plugin.min.js +2 -2
  125. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/importcss/plugin.js +2 -2
  126. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/importcss/plugin.min.js +2 -2
  127. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/insertdatetime/plugin.js +1 -1
  128. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/insertdatetime/plugin.min.js +1 -1
  129. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/link/plugin.js +3 -2
  130. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/link/plugin.min.js +2 -2
  131. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/lists/plugin.js +282 -58
  132. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/lists/plugin.min.js +2 -2
  133. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/media/plugin.js +7 -25
  134. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/media/plugin.min.js +2 -2
  135. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/nonbreaking/plugin.js +1 -1
  136. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/nonbreaking/plugin.min.js +1 -1
  137. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/pagebreak/plugin.js +1 -1
  138. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/pagebreak/plugin.min.js +1 -1
  139. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/CHANGELOG.md +19 -0
  140. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/js/wordimport.js +1972 -1673
  141. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ar.js +0 -1
  142. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/bg_BG.js +0 -1
  143. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ca.js +0 -1
  144. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/cs.js +0 -1
  145. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/da.js +0 -1
  146. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/de.js +0 -1
  147. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/el.js +0 -1
  148. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/es.js +0 -1
  149. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/eu.js +0 -1
  150. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/fa.js +0 -1
  151. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/fi.js +0 -1
  152. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/fr_FR.js +0 -1
  153. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/he_IL.js +0 -1
  154. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/hi.js +0 -1
  155. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/hr.js +0 -1
  156. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/hu_HU.js +0 -1
  157. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/id.js +0 -1
  158. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/it.js +0 -1
  159. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ja.js +0 -1
  160. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/kk.js +0 -1
  161. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ko_KR.js +0 -1
  162. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ms.js +0 -1
  163. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/nb_NO.js +0 -1
  164. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/nl.js +0 -1
  165. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/pl.js +0 -1
  166. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/pt_BR.js +0 -1
  167. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/pt_PT.js +0 -1
  168. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ro.js +0 -1
  169. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/ru.js +0 -1
  170. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/sk.js +0 -1
  171. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/sl_SI.js +0 -1
  172. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/sv_SE.js +0 -1
  173. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/th_TH.js +0 -1
  174. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/tr.js +0 -1
  175. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/uk.js +0 -1
  176. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/vi.js +0 -1
  177. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/zh_CN.js +0 -1
  178. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/langs/zh_TW.js +0 -1
  179. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/plugin.js +2 -2
  180. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/plugin.min.js +2 -2
  181. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/readme.txt +1 -1
  182. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/powerpaste/version.txt +1 -1
  183. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/preview/plugin.js +1 -1
  184. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/preview/plugin.min.js +1 -1
  185. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/quickbars/plugin.js +13 -4
  186. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/quickbars/plugin.min.js +2 -2
  187. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/save/plugin.js +1 -1
  188. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/save/plugin.min.js +1 -1
  189. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/searchreplace/plugin.js +3 -3
  190. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/searchreplace/plugin.min.js +2 -2
  191. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/table/plugin.js +2 -2
  192. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/table/plugin.min.js +2 -2
  193. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/template/plugin.js +1 -1
  194. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/template/plugin.min.js +1 -1
  195. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualblocks/plugin.js +1 -1
  196. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualblocks/plugin.min.js +1 -1
  197. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualchars/plugin.js +1 -1
  198. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/visualchars/plugin.min.js +1 -1
  199. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/wordcount/plugin.js +1 -1
  200. package/src/sap/ui/richtexteditor/js/tiny_mce6/plugins/wordcount/plugin.min.js +1 -1
  201. package/src/sap/ui/richtexteditor/js/tiny_mce6/readme.txt +1 -1
  202. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/dark/content.js +8 -0
  203. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/default/content.js +8 -0
  204. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/document/content.js +8 -0
  205. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/tinymce-5/content.js +8 -0
  206. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/tinymce-5-dark/content.js +8 -0
  207. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/content/writer/content.js +8 -0
  208. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.css +1 -1
  209. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.inline.css +1 -1
  210. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.inline.js +8 -0
  211. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.inline.min.css +1 -1
  212. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.js +8 -0
  213. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/content.min.css +1 -1
  214. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.css +86 -11
  215. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.js +8 -0
  216. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.min.css +1 -1
  217. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide/skin.shadowdom.js +8 -0
  218. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.css +1 -1
  219. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.inline.css +1 -1
  220. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.inline.js +8 -0
  221. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.inline.min.css +1 -1
  222. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.js +8 -0
  223. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/content.min.css +1 -1
  224. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.css +89 -14
  225. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.js +8 -0
  226. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.min.css +1 -1
  227. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/oxide-dark/skin.shadowdom.js +8 -0
  228. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.css +1 -1
  229. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.inline.css +1 -1
  230. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.inline.js +8 -0
  231. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.inline.min.css +1 -1
  232. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.js +8 -0
  233. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/content.min.css +1 -1
  234. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.css +86 -11
  235. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.js +8 -0
  236. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.min.css +1 -1
  237. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5/skin.shadowdom.js +8 -0
  238. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.css +1 -1
  239. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.inline.css +1 -1
  240. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.inline.js +8 -0
  241. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
  242. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.js +8 -0
  243. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/content.min.css +1 -1
  244. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.css +86 -11
  245. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.js +8 -0
  246. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  247. package/src/sap/ui/richtexteditor/js/tiny_mce6/skins/ui/tinymce-5-dark/skin.shadowdom.js +8 -0
  248. package/src/sap/ui/richtexteditor/js/tiny_mce6/themes/silver/theme.js +20786 -20200
  249. package/src/sap/ui/richtexteditor/js/tiny_mce6/themes/silver/theme.min.js +2 -2
  250. package/src/sap/ui/richtexteditor/js/tiny_mce6/tinymce.d.ts +40 -8
  251. package/src/sap/ui/richtexteditor/js/tiny_mce6/tinymce.js +2031 -1572
  252. package/src/sap/ui/richtexteditor/js/tiny_mce6/tinymce.min.js +2 -2
  253. package/src/sap/ui/richtexteditor/js/tiny_mce6/version.txt +1 -1
  254. package/src/sap/ui/richtexteditor/library.js +1 -1
@@ -4,7 +4,7 @@
4
4
  * Copyright (c) 2023 Ephox Corporation DBA Tiny Technologies, Inc.
5
5
  * Licensed under the Tiny commercial license. See https://www.tiny.cloud/legal/
6
6
  *
7
- * Version: 6.5.1
7
+ * Version: 6.8.2
8
8
  */
9
9
 
10
10
  (function () {
@@ -45,6 +45,7 @@
45
45
 
46
46
  const noop = () => {
47
47
  };
48
+ const compose1 = (fbc, fab) => a => fbc(fab(a));
48
49
  const constant = value => {
49
50
  return () => {
50
51
  return value;
@@ -53,6 +54,12 @@
53
54
  const tripleEquals = (a, b) => {
54
55
  return a === b;
55
56
  };
57
+ function curry(fn, ...initialArgs) {
58
+ return (...restArgs) => {
59
+ const all = initialArgs.concat(restArgs);
60
+ return fn.apply(null, all);
61
+ };
62
+ }
56
63
  const not = f => t => !f(t);
57
64
  const never = constant(false);
58
65
 
@@ -266,7 +273,11 @@
266
273
  const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());
267
274
  const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();
268
275
 
276
+ const COMMENT = 8;
277
+ const DOCUMENT = 9;
278
+ const DOCUMENT_FRAGMENT = 11;
269
279
  const ELEMENT = 1;
280
+ const TEXT = 3;
270
281
 
271
282
  const fromHtml = (html, scope) => {
272
283
  const doc = scope || document;
@@ -332,17 +343,39 @@
332
343
  };
333
344
  const is = is$1;
334
345
 
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);
346
+ const Global = typeof window !== 'undefined' ? window : Function('return this;')();
347
+
348
+ const path = (parts, scope) => {
349
+ let o = scope !== undefined && scope !== null ? scope : Global;
350
+ for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {
351
+ o = o[parts[i]];
352
+ }
353
+ return o;
354
+ };
355
+ const resolve = (p, scope) => {
356
+ const parts = p.split('.');
357
+ return path(parts, scope);
358
+ };
359
+
360
+ const unsafe = (name, scope) => {
361
+ return resolve(name, scope);
362
+ };
363
+ const getOrDie = (name, scope) => {
364
+ const actual = unsafe(name, scope);
365
+ if (actual === undefined || actual === null) {
366
+ throw new Error(name + ' not available on this browser');
342
367
  }
368
+ return actual;
343
369
  };
344
370
 
345
- typeof window !== 'undefined' ? window : Function('return this;')();
371
+ const getPrototypeOf = Object.getPrototypeOf;
372
+ const sandHTMLElement = scope => {
373
+ return getOrDie('HTMLElement', scope);
374
+ };
375
+ const isPrototypeOf = x => {
376
+ const scope = resolve('ownerDocument.defaultView', x);
377
+ return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\w*Element$/.test(getPrototypeOf(x).constructor.name));
378
+ };
346
379
 
347
380
  const name = element => {
348
381
  const r = element.dom.nodeName;
@@ -350,9 +383,16 @@
350
383
  };
351
384
  const type = element => element.dom.nodeType;
352
385
  const isType = t => element => type(element) === t;
386
+ const isComment = element => type(element) === COMMENT || name(element) === '#comment';
387
+ const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom);
353
388
  const isElement$1 = isType(ELEMENT);
389
+ const isText = isType(TEXT);
390
+ const isDocument = isType(DOCUMENT);
391
+ const isDocumentFragment = isType(DOCUMENT_FRAGMENT);
354
392
  const isTag = tag => e => isElement$1(e) && name(e) === tag;
355
393
 
394
+ const owner = element => SugarElement.fromDom(element.dom.ownerDocument);
395
+ const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);
356
396
  const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
357
397
  const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);
358
398
  const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);
@@ -364,7 +404,35 @@
364
404
  const firstChild = element => child(element, 0);
365
405
  const lastChild = element => child(element, element.dom.childNodes.length - 1);
366
406
 
367
- const ancestor = (scope, predicate, isRoot) => {
407
+ const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);
408
+ const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);
409
+ const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;
410
+ const getShadowRoot = e => {
411
+ const r = getRootNode(e);
412
+ return isShadowRoot(r) ? Optional.some(r) : Optional.none();
413
+ };
414
+ const getShadowHost = e => SugarElement.fromDom(e.dom.host);
415
+
416
+ const inBody = element => {
417
+ const dom = isText(element) ? element.dom.parentNode : element.dom;
418
+ if (dom === undefined || dom === null || dom.ownerDocument === null) {
419
+ return false;
420
+ }
421
+ const doc = dom.ownerDocument;
422
+ return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));
423
+ };
424
+
425
+ var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {
426
+ if (is(scope, a)) {
427
+ return Optional.some(scope);
428
+ } else if (isFunction(isRoot) && isRoot(scope)) {
429
+ return Optional.none();
430
+ } else {
431
+ return ancestor(scope, a, isRoot);
432
+ }
433
+ };
434
+
435
+ const ancestor$3 = (scope, predicate, isRoot) => {
368
436
  let element = scope.dom;
369
437
  const stop = isFunction(isRoot) ? isRoot : never;
370
438
  while (element.parentNode) {
@@ -378,10 +446,26 @@
378
446
  }
379
447
  return Optional.none();
380
448
  };
381
- const closest = (scope, predicate, isRoot) => {
449
+ const closest$2 = (scope, predicate, isRoot) => {
382
450
  const is = (s, test) => test(s);
383
- return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
451
+ return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot);
452
+ };
453
+
454
+ const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, e => is$1(e, selector), isRoot);
455
+ const closest$1 = (scope, selector, isRoot) => {
456
+ const is = (element, selector) => is$1(element, selector);
457
+ return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot);
458
+ };
459
+
460
+ const closest = target => closest$1(target, '[contenteditable]');
461
+ const isEditable = (element, assumeEditable = false) => {
462
+ if (inBody(element)) {
463
+ return element.dom.isContentEditable;
464
+ } else {
465
+ return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');
466
+ }
384
467
  };
468
+ const getRaw = element => element.dom.contentEditable;
385
469
 
386
470
  const before$1 = (marker, element) => {
387
471
  const parent$1 = parent(marker);
@@ -400,6 +484,14 @@
400
484
  before$1(v, element);
401
485
  });
402
486
  };
487
+ const prepend = (parent, element) => {
488
+ const firstChild$1 = firstChild(parent);
489
+ firstChild$1.fold(() => {
490
+ append$1(parent, element);
491
+ }, v => {
492
+ parent.dom.insertBefore(element.dom, v.dom);
493
+ });
494
+ };
403
495
  const append$1 = (parent, element) => {
404
496
  parent.dom.appendChild(element.dom);
405
497
  };
@@ -721,6 +813,7 @@
721
813
  const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm));
722
814
  return parentBlock.getOr(editor.getBody());
723
815
  };
816
+ const isListInsideAnLiWithFirstAndLastNotListElement = list => parent(list).exists(parent => isListItemNode(parent.dom) && firstChild(parent).exists(firstChild => !isListNode(firstChild.dom)) && lastChild(parent).exists(lastChild => !isListNode(lastChild.dom)));
724
817
  const findLastParentListNode = (editor, elm) => {
725
818
  const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));
726
819
  return last(parentLists);
@@ -730,9 +823,14 @@
730
823
  const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);
731
824
  return firstList.toArray().concat(subsequentLists);
732
825
  };
826
+ const getParentLists = editor => {
827
+ const elm = editor.selection.getStart();
828
+ return editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));
829
+ };
733
830
  const getSelectedListRoots = editor => {
734
831
  const selectedLists = getSelectedLists(editor);
735
- return getUniqueListRoots(editor, selectedLists);
832
+ const parentLists = getParentLists(editor);
833
+ return find(parentLists, p => isListInsideAnLiWithFirstAndLastNotListElement(SugarElement.fromDom(p))).fold(() => getUniqueListRoots(editor, selectedLists), l => [l]);
736
834
  };
737
835
  const getUniqueListRoots = (editor, lists) => {
738
836
  const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list));
@@ -795,6 +893,32 @@
795
893
  internalSet(dom, property, value);
796
894
  };
797
895
 
896
+ const isList = el => is(el, 'OL,UL');
897
+ const isListItem = el => is(el, 'LI');
898
+ const hasFirstChildList = el => firstChild(el).exists(isList);
899
+ const hasLastChildList = el => lastChild(el).exists(isList);
900
+
901
+ const isEntryList = entry => 'listAttributes' in entry;
902
+ const isEntryComment = entry => 'isComment' in entry;
903
+ const isEntryFragment = entry => 'isFragment' in entry;
904
+ const isIndented = entry => entry.depth > 0;
905
+ const isSelected = entry => entry.isSelected;
906
+ const cloneItemContent = li => {
907
+ const children$1 = children(li);
908
+ const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;
909
+ return map(content, deep);
910
+ };
911
+ const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({
912
+ depth,
913
+ dirty: false,
914
+ isSelected,
915
+ content: cloneItemContent(li),
916
+ itemAttributes: clone$1(li),
917
+ listAttributes: clone$1(list),
918
+ listType: name(list),
919
+ isInPreviousLi: false
920
+ }));
921
+
798
922
  const joinSegment = (parent, child) => {
799
923
  append$1(parent.item, child.list);
800
924
  };
@@ -817,7 +941,7 @@
817
941
  const createSegments = (scope, entry, size) => {
818
942
  const segments = [];
819
943
  for (let i = 0; i < size; i++) {
820
- segments.push(createSegment(scope, entry.listType));
944
+ segments.push(createSegment(scope, isEntryList(entry) ? entry.listType : entry.parentListType));
821
945
  }
822
946
  return segments;
823
947
  };
@@ -826,8 +950,10 @@
826
950
  set(segments[i].item, 'list-style-type', 'none');
827
951
  }
828
952
  last(segments).each(segment => {
829
- setAll(segment.list, entry.listAttributes);
830
- setAll(segment.item, entry.itemAttributes);
953
+ if (isEntryList(entry)) {
954
+ setAll(segment.list, entry.listAttributes);
955
+ setAll(segment.item, entry.itemAttributes);
956
+ }
831
957
  append(segment.item, entry.content);
832
958
  });
833
959
  };
@@ -850,9 +976,16 @@
850
976
  const writeShallow = (scope, cast, entry) => {
851
977
  const newCast = cast.slice(0, entry.depth);
852
978
  last(newCast).each(segment => {
853
- const item = createItem(scope, entry.itemAttributes, entry.content);
854
- appendItem(segment, item);
855
- normalizeSegment(segment, entry);
979
+ if (isEntryList(entry)) {
980
+ const item = createItem(scope, entry.itemAttributes, entry.content);
981
+ appendItem(segment, item);
982
+ normalizeSegment(segment, entry);
983
+ } else if (isEntryFragment(entry)) {
984
+ append(segment.item, entry.content);
985
+ } else {
986
+ const item = SugarElement.fromHtml(`<!--${ entry.content }-->`);
987
+ append$1(segment.list, item);
988
+ }
856
989
  });
857
990
  return newCast;
858
991
  };
@@ -864,33 +997,27 @@
864
997
  return cast.concat(segments);
865
998
  };
866
999
  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);
1000
+ let firstCommentEntryOpt = Optional.none();
1001
+ const cast = foldl(entries, (cast, entry, i) => {
1002
+ if (!isEntryComment(entry)) {
1003
+ return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);
1004
+ } else {
1005
+ if (i === 0) {
1006
+ firstCommentEntryOpt = Optional.some(entry);
1007
+ return cast;
1008
+ }
1009
+ return writeShallow(scope, cast, entry);
1010
+ }
869
1011
  }, []);
1012
+ firstCommentEntryOpt.each(firstCommentEntry => {
1013
+ const item = SugarElement.fromHtml(`<!--${ firstCommentEntry.content }-->`);
1014
+ head(cast).each(fistCast => {
1015
+ prepend(fistCast.list, item);
1016
+ });
1017
+ });
870
1018
  return head(cast).map(segment => segment.list);
871
1019
  };
872
1020
 
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
1021
  const indentEntry = (indentation, entry) => {
895
1022
  switch (indentation) {
896
1023
  case 'Indent':
@@ -906,8 +1033,10 @@
906
1033
  };
907
1034
 
908
1035
  const cloneListProperties = (target, source) => {
909
- target.listType = source.listType;
910
- target.listAttributes = { ...source.listAttributes };
1036
+ if (isEntryList(target) && isEntryList(source)) {
1037
+ target.listType = source.listType;
1038
+ target.listAttributes = { ...source.listAttributes };
1039
+ }
911
1040
  };
912
1041
  const cleanListProperties = entry => {
913
1042
  entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start');
@@ -921,7 +1050,7 @@
921
1050
  const normalizeEntries = entries => {
922
1051
  each$1(entries, (entry, i) => {
923
1052
  closestSiblingEntry(entries, i).fold(() => {
924
- if (entry.dirty) {
1053
+ if (entry.dirty && isEntryList(entry)) {
925
1054
  cleanListProperties(entry);
926
1055
  }
927
1056
  }, matchingEntry => cloneListProperties(entry, matchingEntry));
@@ -943,7 +1072,17 @@
943
1072
  };
944
1073
  };
945
1074
 
946
- const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => {
1075
+ const parseSingleItem = (depth, itemSelection, selectionState, item) => {
1076
+ var _a;
1077
+ if (isComment(item)) {
1078
+ return [{
1079
+ depth: depth + 1,
1080
+ content: (_a = item.dom.nodeValue) !== null && _a !== void 0 ? _a : '',
1081
+ dirty: false,
1082
+ isSelected: false,
1083
+ isComment: true
1084
+ }];
1085
+ }
947
1086
  itemSelection.each(selection => {
948
1087
  if (eq(selection.start, item)) {
949
1088
  selectionState.set(true);
@@ -957,7 +1096,29 @@
957
1096
  });
958
1097
  const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]);
959
1098
  return currentItemEntry.toArray().concat(childListEntries);
960
- }, list => parseList(depth, itemSelection, selectionState, list));
1099
+ };
1100
+ const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => parseSingleItem(depth, itemSelection, selectionState, item), list => {
1101
+ const parsedSiblings = foldl(children(item), (acc, liChild, i) => {
1102
+ if (i === 0) {
1103
+ return acc;
1104
+ } else {
1105
+ if (isListItem(liChild)) {
1106
+ return acc.concat(parseSingleItem(depth, itemSelection, selectionState, liChild));
1107
+ } else {
1108
+ const fragment = {
1109
+ isFragment: true,
1110
+ depth,
1111
+ content: [liChild],
1112
+ isSelected: false,
1113
+ dirty: false,
1114
+ parentListType: name(list)
1115
+ };
1116
+ return acc.concat(fragment);
1117
+ }
1118
+ }
1119
+ }, []);
1120
+ return parseList(depth, itemSelection, selectionState, list).concat(parsedSiblings);
1121
+ });
961
1122
  const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => {
962
1123
  const parser = isList(element) ? parseList : parseItem;
963
1124
  const newDepth = depth + 1;
@@ -975,7 +1136,7 @@
975
1136
  const outdentedComposer = (editor, entries) => {
976
1137
  const normalizedEntries = normalizeEntries(entries);
977
1138
  return map(normalizedEntries, entry => {
978
- const content = fromElements(entry.content);
1139
+ const content = !isEntryComment(entry) ? fromElements(entry.content) : fromElements([SugarElement.fromHtml(`<!--${ entry.content }-->`)]);
979
1140
  return SugarElement.fromDom(createTextBlock(editor, content.dom));
980
1141
  });
981
1142
  };
@@ -1033,6 +1194,10 @@
1033
1194
  const zeroWidth = '\uFEFF';
1034
1195
  const isZwsp = char => char === zeroWidth;
1035
1196
 
1197
+ const ancestor$1 = (scope, predicate, isRoot) => ancestor$3(scope, predicate, isRoot).isSome();
1198
+
1199
+ const ancestor = (element, target) => ancestor$1(element, curry(eq, target));
1200
+
1036
1201
  var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');
1037
1202
 
1038
1203
  const DOM$1 = global$3.DOM;
@@ -1152,9 +1317,15 @@
1152
1317
  if (!start && isBr(container.nextSibling)) {
1153
1318
  container = container.nextSibling;
1154
1319
  }
1320
+ const findBlockAncestor = node => {
1321
+ while (!editor.dom.isBlock(node) && node.parentNode && root !== node) {
1322
+ node = node.parentNode;
1323
+ }
1324
+ return node;
1325
+ };
1155
1326
  const findBetterContainer = (container, forward) => {
1156
1327
  var _a;
1157
- const walker = new global$5(container, root);
1328
+ const walker = new global$5(container, findBlockAncestor(container));
1158
1329
  const dir = forward ? 'next' : 'prev';
1159
1330
  let node;
1160
1331
  while (node = walker[dir]()) {
@@ -1249,10 +1420,19 @@
1249
1420
  detailStyle = detailStyle === null ? '' : detailStyle;
1250
1421
  return sibStyle === detailStyle;
1251
1422
  };
1423
+ const getRootSearchStart = (editor, range) => {
1424
+ const start = editor.selection.getStart(true);
1425
+ const startPoint = getEndPointNode(editor, range, true, editor.getBody());
1426
+ if (ancestor(SugarElement.fromDom(startPoint), SugarElement.fromDom(range.commonAncestorContainer))) {
1427
+ return range.commonAncestorContainer;
1428
+ } else {
1429
+ return start;
1430
+ }
1431
+ };
1252
1432
  const applyList = (editor, listName, detail) => {
1253
1433
  const rng = editor.selection.getRng();
1254
1434
  let listItemName = 'LI';
1255
- const root = getClosestListHost(editor, editor.selection.getStart(true));
1435
+ const root = getClosestListHost(editor, getRootSearchStart(editor, rng));
1256
1436
  const dom = editor.dom;
1257
1437
  if (dom.getContentEditable(editor.selection.getNode()) === 'false') {
1258
1438
  return;
@@ -1339,9 +1519,27 @@
1339
1519
  fireListEvent(editor, listToggleActionFromListName(listName), list);
1340
1520
  }
1341
1521
  };
1522
+ const updateCustomList = (editor, list, listName, detail) => {
1523
+ list.classList.forEach((cls, _, classList) => {
1524
+ if (cls.startsWith('tox-')) {
1525
+ classList.remove(cls);
1526
+ if (classList.length === 0) {
1527
+ list.removeAttribute('class');
1528
+ }
1529
+ }
1530
+ });
1531
+ if (list.nodeName !== listName) {
1532
+ const newList = editor.dom.rename(list, listName);
1533
+ updateListWithDetails(editor.dom, newList, detail);
1534
+ fireListEvent(editor, listToggleActionFromListName(listName), newList);
1535
+ } else {
1536
+ updateListWithDetails(editor.dom, list, detail);
1537
+ fireListEvent(editor, listToggleActionFromListName(listName), list);
1538
+ }
1539
+ };
1342
1540
  const toggleMultipleLists = (editor, parentList, lists, listName, detail) => {
1343
1541
  const parentIsList = isListNode(parentList);
1344
- if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail)) {
1542
+ if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {
1345
1543
  flattenListSelection(editor);
1346
1544
  } else {
1347
1545
  applyList(editor, listName, detail);
@@ -1350,8 +1548,9 @@
1350
1548
  parentList,
1351
1549
  ...lists
1352
1550
  ] : lists;
1551
+ const updateFunction = parentIsList && isCustomList(parentList) ? updateCustomList : updateList$1;
1353
1552
  global$2.each(allLists, elm => {
1354
- updateList$1(editor, elm, listName, detail);
1553
+ updateFunction(editor, elm, listName, detail);
1355
1554
  });
1356
1555
  editor.selection.setRng(resolveBookmark(bookmark));
1357
1556
  }
@@ -1368,6 +1567,16 @@
1368
1567
  flattenListSelection(editor);
1369
1568
  } else {
1370
1569
  const bookmark = createBookmark(editor.selection.getRng());
1570
+ if (isCustomList(parentList)) {
1571
+ parentList.classList.forEach((cls, _, classList) => {
1572
+ if (cls.startsWith('tox-')) {
1573
+ classList.remove(cls);
1574
+ if (classList.length === 0) {
1575
+ parentList.removeAttribute('class');
1576
+ }
1577
+ }
1578
+ });
1579
+ }
1371
1580
  updateListWithDetails(editor.dom, parentList, detail);
1372
1581
  const newList = editor.dom.rename(parentList, listName);
1373
1582
  mergeWithAdjacentLists(editor.dom, newList);
@@ -1382,7 +1591,7 @@
1382
1591
  };
1383
1592
  const toggleList = (editor, listName, _detail) => {
1384
1593
  const parentList = getParentList(editor);
1385
- if (isWithinNonEditableList(editor, parentList) || !editor.hasEditableRoot()) {
1594
+ if (isWithinNonEditableList(editor, parentList)) {
1386
1595
  return;
1387
1596
  }
1388
1597
  const selectedSubLists = getSelectedSubLists(editor);
@@ -1456,8 +1665,9 @@
1456
1665
  const childNodes = elm.childNodes;
1457
1666
  return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);
1458
1667
  };
1668
+ const isUnwrappable = node => Optional.from(node).map(SugarElement.fromDom).filter(isHTMLElement).exists(el => isEditable(el) && !contains$1(['details'], name(el)));
1459
1669
  const unwrapSingleBlockChild = (dom, elm) => {
1460
- if (hasOnlyOneBlockChild(dom, elm)) {
1670
+ if (hasOnlyOneBlockChild(dom, elm) && isUnwrappable(elm.firstChild)) {
1461
1671
  dom.remove(elm.firstChild, true);
1462
1672
  }
1463
1673
  };
@@ -1538,7 +1748,8 @@
1538
1748
  }
1539
1749
  const rng = normalizeRange(selection.getRng());
1540
1750
  const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);
1541
- if (otherLi && otherLi !== li) {
1751
+ const willMergeParentIntoChild = otherLi && (isForward ? dom.isChildOf(li, otherLi) : dom.isChildOf(otherLi, li));
1752
+ if (otherLi && otherLi !== li && !willMergeParentIntoChild) {
1542
1753
  editor.undoManager.transact(() => {
1543
1754
  if (isForward) {
1544
1755
  mergeForward(editor, rng, otherLi, li);
@@ -1551,6 +1762,18 @@
1551
1762
  }
1552
1763
  });
1553
1764
  return true;
1765
+ } else if (willMergeParentIntoChild && !isForward && otherLi !== li) {
1766
+ editor.undoManager.transact(() => {
1767
+ if (rng.commonAncestorContainer.parentElement) {
1768
+ const bookmark = createBookmark(rng);
1769
+ const oldParentElRef = rng.commonAncestorContainer.parentElement;
1770
+ moveChildren(dom, rng.commonAncestorContainer.parentElement, otherLi);
1771
+ oldParentElRef.remove();
1772
+ const resolvedBookmark = resolveBookmark(bookmark);
1773
+ editor.selection.setRng(resolvedBookmark);
1774
+ }
1775
+ });
1776
+ return true;
1554
1777
  } else if (!otherLi) {
1555
1778
  if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) {
1556
1779
  editor.undoManager.transact(() => {
@@ -1584,14 +1807,15 @@
1584
1807
  'caption'
1585
1808
  ], name(element));
1586
1809
  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);
1810
+ const otherLiCell = closest$2(SugarElement.fromDom(otherLi), findValidElement, findRoot);
1811
+ const caretCell = closest$2(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);
1589
1812
  if (!equals(otherLiCell, caretCell, eq)) {
1590
1813
  return false;
1591
1814
  }
1592
1815
  editor.undoManager.transact(() => {
1816
+ const parentNode = otherLi.parentNode;
1593
1817
  removeBlock(dom, block, root);
1594
- mergeWithAdjacentLists(dom, otherLi.parentNode);
1818
+ mergeWithAdjacentLists(dom, parentNode);
1595
1819
  editor.selection.select(otherLi, true);
1596
1820
  editor.selection.collapse(isForward);
1597
1821
  });