@dangl/angular-material-shared 2.5.1-beta0006 → 2.5.1-beta0018

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 (246) hide show
  1. package/README.md +1 -7
  2. package/esm2022/lib/angular-material-shared.module.mjs +6 -25
  3. package/esm2022/lib/components/footer/footer.component.mjs +12 -7
  4. package/esm2022/lib/components/header/header.component.mjs +18 -10
  5. package/esm2022/lib/components/tiny-mce/tiny-mce.component.mjs +18 -21
  6. package/fesm2022/dangl-angular-material-shared.mjs +45 -55
  7. package/fesm2022/dangl-angular-material-shared.mjs.map +1 -1
  8. package/lib/angular-material-shared.module.d.ts +5 -9
  9. package/lib/components/footer/footer.component.d.ts +1 -1
  10. package/lib/components/header/header.component.d.ts +1 -1
  11. package/lib/components/tiny-mce/tiny-mce.component.d.ts +7 -8
  12. package/package.json +1 -1
  13. package/tinymce-assets/icons/default/icons.js +187 -171
  14. package/tinymce-assets/icons/default/icons.min.js +1 -1
  15. package/tinymce-assets/langs/it.js +1 -1
  16. package/tinymce-assets/plugins/accordion/index.js +7 -0
  17. package/tinymce-assets/plugins/accordion/plugin.js +1054 -0
  18. package/tinymce-assets/plugins/accordion/plugin.min.js +4 -0
  19. package/tinymce-assets/plugins/advlist/plugin.js +185 -187
  20. package/tinymce-assets/plugins/advlist/plugin.min.js +2 -7
  21. package/tinymce-assets/plugins/anchor/plugin.js +79 -81
  22. package/tinymce-assets/plugins/anchor/plugin.min.js +2 -7
  23. package/tinymce-assets/plugins/autolink/plugin.js +209 -194
  24. package/tinymce-assets/plugins/autolink/plugin.min.js +2 -7
  25. package/tinymce-assets/plugins/autoresize/plugin.js +110 -102
  26. package/tinymce-assets/plugins/autoresize/plugin.min.js +2 -7
  27. package/tinymce-assets/plugins/autosave/plugin.js +125 -104
  28. package/tinymce-assets/plugins/autosave/plugin.min.js +2 -7
  29. package/tinymce-assets/plugins/charmap/plugin.js +275 -313
  30. package/tinymce-assets/plugins/charmap/plugin.min.js +2 -7
  31. package/tinymce-assets/plugins/code/plugin.js +18 -24
  32. package/tinymce-assets/plugins/code/plugin.min.js +2 -7
  33. package/tinymce-assets/plugins/codesample/plugin.js +2075 -2074
  34. package/tinymce-assets/plugins/codesample/plugin.min.js +2 -7
  35. package/tinymce-assets/plugins/directionality/plugin.js +247 -305
  36. package/tinymce-assets/plugins/directionality/plugin.min.js +2 -7
  37. package/tinymce-assets/plugins/emoticons/js/emojiimages.js +1 -9424
  38. package/tinymce-assets/plugins/emoticons/js/emojiimages.min.js +1 -1
  39. package/tinymce-assets/plugins/emoticons/js/emojis.js +1 -9423
  40. package/tinymce-assets/plugins/emoticons/js/emojis.min.js +1 -1
  41. package/tinymce-assets/plugins/emoticons/plugin.js +334 -374
  42. package/tinymce-assets/plugins/emoticons/plugin.min.js +2 -7
  43. package/tinymce-assets/plugins/fullscreen/plugin.js +740 -837
  44. package/tinymce-assets/plugins/fullscreen/plugin.min.js +2 -7
  45. package/tinymce-assets/plugins/help/js/i18n/keynav/ar.js +90 -0
  46. package/tinymce-assets/plugins/help/js/i18n/keynav/bg_BG.js +90 -0
  47. package/tinymce-assets/plugins/help/js/i18n/keynav/ca.js +90 -0
  48. package/tinymce-assets/plugins/help/js/i18n/keynav/cs.js +90 -0
  49. package/tinymce-assets/plugins/help/js/i18n/keynav/da.js +90 -0
  50. package/tinymce-assets/plugins/help/js/i18n/keynav/de.js +90 -0
  51. package/tinymce-assets/plugins/help/js/i18n/keynav/el.js +90 -0
  52. package/tinymce-assets/plugins/help/js/i18n/keynav/en.js +90 -0
  53. package/tinymce-assets/plugins/help/js/i18n/keynav/es.js +90 -0
  54. package/tinymce-assets/plugins/help/js/i18n/keynav/eu.js +90 -0
  55. package/tinymce-assets/plugins/help/js/i18n/keynav/fa.js +90 -0
  56. package/tinymce-assets/plugins/help/js/i18n/keynav/fi.js +90 -0
  57. package/tinymce-assets/plugins/help/js/i18n/keynav/fr_FR.js +90 -0
  58. package/tinymce-assets/plugins/help/js/i18n/keynav/he_IL.js +90 -0
  59. package/tinymce-assets/plugins/help/js/i18n/keynav/hi.js +90 -0
  60. package/tinymce-assets/plugins/help/js/i18n/keynav/hr.js +90 -0
  61. package/tinymce-assets/plugins/help/js/i18n/keynav/hu_HU.js +90 -0
  62. package/tinymce-assets/plugins/help/js/i18n/keynav/id.js +90 -0
  63. package/tinymce-assets/plugins/help/js/i18n/keynav/it.js +90 -0
  64. package/tinymce-assets/plugins/help/js/i18n/keynav/ja.js +90 -0
  65. package/tinymce-assets/plugins/help/js/i18n/keynav/kk.js +90 -0
  66. package/tinymce-assets/plugins/help/js/i18n/keynav/ko_KR.js +90 -0
  67. package/tinymce-assets/plugins/help/js/i18n/keynav/ms.js +90 -0
  68. package/tinymce-assets/plugins/help/js/i18n/keynav/nb_NO.js +90 -0
  69. package/tinymce-assets/plugins/help/js/i18n/keynav/nl.js +90 -0
  70. package/tinymce-assets/plugins/help/js/i18n/keynav/pl.js +90 -0
  71. package/tinymce-assets/plugins/help/js/i18n/keynav/pt_BR.js +90 -0
  72. package/tinymce-assets/plugins/help/js/i18n/keynav/pt_PT.js +90 -0
  73. package/tinymce-assets/plugins/help/js/i18n/keynav/ro.js +90 -0
  74. package/tinymce-assets/plugins/help/js/i18n/keynav/ru.js +90 -0
  75. package/tinymce-assets/plugins/help/js/i18n/keynav/sk.js +90 -0
  76. package/tinymce-assets/plugins/help/js/i18n/keynav/sl_SI.js +90 -0
  77. package/tinymce-assets/plugins/help/js/i18n/keynav/sv_SE.js +90 -0
  78. package/tinymce-assets/plugins/help/js/i18n/keynav/th_TH.js +90 -0
  79. package/tinymce-assets/plugins/help/js/i18n/keynav/tr.js +90 -0
  80. package/tinymce-assets/plugins/help/js/i18n/keynav/uk.js +90 -0
  81. package/tinymce-assets/plugins/help/js/i18n/keynav/vi.js +90 -0
  82. package/tinymce-assets/plugins/help/js/i18n/keynav/zh_CN.js +84 -0
  83. package/tinymce-assets/plugins/help/js/i18n/keynav/zh_TW.js +90 -0
  84. package/tinymce-assets/plugins/help/plugin.js +411 -355
  85. package/tinymce-assets/plugins/help/plugin.min.js +2 -7
  86. package/tinymce-assets/plugins/image/plugin.js +876 -1037
  87. package/tinymce-assets/plugins/image/plugin.min.js +2 -7
  88. package/tinymce-assets/plugins/importcss/plugin.js +146 -144
  89. package/tinymce-assets/plugins/importcss/plugin.min.js +2 -7
  90. package/tinymce-assets/plugins/insertdatetime/plugin.js +93 -88
  91. package/tinymce-assets/plugins/insertdatetime/plugin.min.js +2 -7
  92. package/tinymce-assets/plugins/link/plugin.js +718 -768
  93. package/tinymce-assets/plugins/link/plugin.min.js +2 -7
  94. package/tinymce-assets/plugins/lists/plugin.js +1235 -1375
  95. package/tinymce-assets/plugins/lists/plugin.min.js +2 -7
  96. package/tinymce-assets/plugins/media/plugin.js +614 -756
  97. package/tinymce-assets/plugins/media/plugin.min.js +2 -7
  98. package/tinymce-assets/plugins/nonbreaking/plugin.js +71 -48
  99. package/tinymce-assets/plugins/nonbreaking/plugin.min.js +2 -7
  100. package/tinymce-assets/plugins/pagebreak/plugin.js +53 -40
  101. package/tinymce-assets/plugins/pagebreak/plugin.min.js +2 -7
  102. package/tinymce-assets/plugins/preview/plugin.js +36 -65
  103. package/tinymce-assets/plugins/preview/plugin.min.js +2 -7
  104. package/tinymce-assets/plugins/quickbars/plugin.js +304 -331
  105. package/tinymce-assets/plugins/quickbars/plugin.min.js +2 -7
  106. package/tinymce-assets/plugins/save/plugin.js +49 -50
  107. package/tinymce-assets/plugins/save/plugin.min.js +2 -7
  108. package/tinymce-assets/plugins/searchreplace/plugin.js +499 -571
  109. package/tinymce-assets/plugins/searchreplace/plugin.min.js +2 -7
  110. package/tinymce-assets/plugins/table/plugin.js +2572 -10617
  111. package/tinymce-assets/plugins/table/plugin.min.js +2 -7
  112. package/tinymce-assets/plugins/visualblocks/plugin.js +41 -46
  113. package/tinymce-assets/plugins/visualblocks/plugin.min.js +2 -7
  114. package/tinymce-assets/plugins/visualchars/plugin.js +346 -312
  115. package/tinymce-assets/plugins/visualchars/plugin.min.js +2 -7
  116. package/tinymce-assets/plugins/wordcount/plugin.js +159 -179
  117. package/tinymce-assets/plugins/wordcount/plugin.min.js +2 -7
  118. package/tinymce-assets/skins/content/dark/content.css +2 -8
  119. package/tinymce-assets/skins/content/dark/content.js +2 -0
  120. package/tinymce-assets/skins/content/dark/content.min.css +1 -7
  121. package/tinymce-assets/skins/content/default/content.css +0 -6
  122. package/tinymce-assets/skins/content/default/content.js +2 -0
  123. package/tinymce-assets/skins/content/default/content.min.css +0 -6
  124. package/tinymce-assets/skins/content/document/content.css +0 -6
  125. package/tinymce-assets/skins/content/document/content.js +2 -0
  126. package/tinymce-assets/skins/content/document/content.min.css +0 -6
  127. package/tinymce-assets/skins/content/tinymce-5/content.css +61 -0
  128. package/tinymce-assets/skins/content/tinymce-5/content.js +2 -0
  129. package/tinymce-assets/skins/content/tinymce-5/content.min.css +1 -0
  130. package/tinymce-assets/skins/content/tinymce-5-dark/content.css +66 -0
  131. package/tinymce-assets/skins/content/tinymce-5-dark/content.js +2 -0
  132. package/tinymce-assets/skins/content/tinymce-5-dark/content.min.css +1 -0
  133. package/tinymce-assets/skins/content/writer/content.css +0 -6
  134. package/tinymce-assets/skins/content/writer/content.js +2 -0
  135. package/tinymce-assets/skins/content/writer/content.min.css +0 -6
  136. package/tinymce-assets/skins/ui/oxide/content.css +73 -20
  137. package/tinymce-assets/skins/ui/oxide/content.inline.css +73 -20
  138. package/tinymce-assets/skins/ui/oxide/content.inline.js +2 -0
  139. package/tinymce-assets/skins/ui/oxide/content.inline.min.css +1 -7
  140. package/tinymce-assets/skins/ui/oxide/content.js +2 -0
  141. package/tinymce-assets/skins/ui/oxide/content.min.css +1 -7
  142. package/tinymce-assets/skins/ui/oxide/skin.css +1480 -435
  143. package/tinymce-assets/skins/ui/oxide/skin.js +2 -0
  144. package/tinymce-assets/skins/ui/oxide/skin.min.css +1 -7
  145. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.css +1 -8
  146. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.js +2 -0
  147. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.min.css +1 -7
  148. package/tinymce-assets/skins/ui/oxide-dark/content.css +71 -19
  149. package/tinymce-assets/skins/ui/oxide-dark/content.inline.css +73 -20
  150. package/tinymce-assets/skins/ui/oxide-dark/content.inline.js +2 -0
  151. package/tinymce-assets/skins/ui/oxide-dark/content.inline.min.css +1 -7
  152. package/tinymce-assets/skins/ui/oxide-dark/content.js +2 -0
  153. package/tinymce-assets/skins/ui/oxide-dark/content.min.css +1 -7
  154. package/tinymce-assets/skins/ui/oxide-dark/skin.css +1498 -450
  155. package/tinymce-assets/skins/ui/oxide-dark/skin.js +2 -0
  156. package/tinymce-assets/skins/ui/oxide-dark/skin.min.css +1 -7
  157. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.css +1 -8
  158. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.js +2 -0
  159. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -7
  160. package/tinymce-assets/skins/ui/tinymce-5/content.css +785 -0
  161. package/tinymce-assets/skins/ui/tinymce-5/content.inline.css +779 -0
  162. package/tinymce-assets/skins/ui/tinymce-5/content.inline.js +2 -0
  163. package/tinymce-assets/skins/ui/tinymce-5/content.inline.min.css +1 -0
  164. package/tinymce-assets/skins/ui/tinymce-5/content.js +2 -0
  165. package/tinymce-assets/skins/ui/tinymce-5/content.min.css +1 -0
  166. package/tinymce-assets/skins/ui/tinymce-5/skin.css +4185 -0
  167. package/tinymce-assets/skins/ui/tinymce-5/skin.js +2 -0
  168. package/tinymce-assets/skins/ui/tinymce-5/skin.min.css +1 -0
  169. package/tinymce-assets/skins/ui/tinymce-5/skin.shadowdom.css +30 -0
  170. package/tinymce-assets/skins/ui/tinymce-5/skin.shadowdom.js +2 -0
  171. package/tinymce-assets/skins/ui/tinymce-5/skin.shadowdom.min.css +1 -0
  172. package/tinymce-assets/skins/ui/tinymce-5-dark/content.css +766 -0
  173. package/tinymce-assets/skins/ui/tinymce-5-dark/content.inline.css +779 -0
  174. package/tinymce-assets/skins/ui/tinymce-5-dark/content.inline.js +2 -0
  175. package/tinymce-assets/skins/ui/tinymce-5-dark/content.inline.min.css +1 -0
  176. package/tinymce-assets/skins/ui/tinymce-5-dark/content.js +2 -0
  177. package/tinymce-assets/skins/ui/tinymce-5-dark/content.min.css +1 -0
  178. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.css +4185 -0
  179. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.js +2 -0
  180. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.min.css +1 -0
  181. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.shadowdom.css +30 -0
  182. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.shadowdom.js +2 -0
  183. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +1 -0
  184. package/tinymce-assets/themes/silver/theme.js +25226 -28188
  185. package/tinymce-assets/themes/silver/theme.min.js +2 -7
  186. package/tinymce-assets/plugins/bbcode/index.js +0 -7
  187. package/tinymce-assets/plugins/bbcode/plugin.js +0 -99
  188. package/tinymce-assets/plugins/bbcode/plugin.min.js +0 -9
  189. package/tinymce-assets/plugins/colorpicker/index.js +0 -7
  190. package/tinymce-assets/plugins/colorpicker/plugin.js +0 -21
  191. package/tinymce-assets/plugins/colorpicker/plugin.min.js +0 -9
  192. package/tinymce-assets/plugins/contextmenu/index.js +0 -7
  193. package/tinymce-assets/plugins/contextmenu/plugin.js +0 -21
  194. package/tinymce-assets/plugins/contextmenu/plugin.min.js +0 -9
  195. package/tinymce-assets/plugins/fullpage/index.js +0 -7
  196. package/tinymce-assets/plugins/fullpage/plugin.js +0 -544
  197. package/tinymce-assets/plugins/fullpage/plugin.min.js +0 -9
  198. package/tinymce-assets/plugins/hr/index.js +0 -7
  199. package/tinymce-assets/plugins/hr/plugin.js +0 -45
  200. package/tinymce-assets/plugins/hr/plugin.min.js +0 -9
  201. package/tinymce-assets/plugins/imagetools/index.js +0 -7
  202. package/tinymce-assets/plugins/imagetools/plugin.js +0 -1531
  203. package/tinymce-assets/plugins/imagetools/plugin.min.js +0 -9
  204. package/tinymce-assets/plugins/legacyoutput/index.js +0 -7
  205. package/tinymce-assets/plugins/legacyoutput/plugin.js +0 -199
  206. package/tinymce-assets/plugins/legacyoutput/plugin.min.js +0 -9
  207. package/tinymce-assets/plugins/noneditable/index.js +0 -7
  208. package/tinymce-assets/plugins/noneditable/plugin.js +0 -117
  209. package/tinymce-assets/plugins/noneditable/plugin.min.js +0 -9
  210. package/tinymce-assets/plugins/paste/index.js +0 -7
  211. package/tinymce-assets/plugins/paste/plugin.js +0 -1803
  212. package/tinymce-assets/plugins/paste/plugin.min.js +0 -9
  213. package/tinymce-assets/plugins/print/index.js +0 -7
  214. package/tinymce-assets/plugins/print/plugin.js +0 -52
  215. package/tinymce-assets/plugins/print/plugin.min.js +0 -9
  216. package/tinymce-assets/plugins/spellchecker/index.js +0 -7
  217. package/tinymce-assets/plugins/spellchecker/plugin.js +0 -730
  218. package/tinymce-assets/plugins/spellchecker/plugin.min.js +0 -9
  219. package/tinymce-assets/plugins/tabfocus/index.js +0 -7
  220. package/tinymce-assets/plugins/tabfocus/plugin.js +0 -130
  221. package/tinymce-assets/plugins/tabfocus/plugin.min.js +0 -9
  222. package/tinymce-assets/plugins/template/index.js +0 -7
  223. package/tinymce-assets/plugins/template/plugin.js +0 -591
  224. package/tinymce-assets/plugins/template/plugin.min.js +0 -9
  225. package/tinymce-assets/plugins/textcolor/index.js +0 -7
  226. package/tinymce-assets/plugins/textcolor/plugin.js +0 -21
  227. package/tinymce-assets/plugins/textcolor/plugin.min.js +0 -9
  228. package/tinymce-assets/plugins/textpattern/index.js +0 -7
  229. package/tinymce-assets/plugins/textpattern/plugin.js +0 -1374
  230. package/tinymce-assets/plugins/textpattern/plugin.min.js +0 -9
  231. package/tinymce-assets/plugins/toc/index.js +0 -7
  232. package/tinymce-assets/plugins/toc/plugin.js +0 -238
  233. package/tinymce-assets/plugins/toc/plugin.min.js +0 -9
  234. package/tinymce-assets/skins/ui/oxide/content.mobile.css +0 -29
  235. package/tinymce-assets/skins/ui/oxide/content.mobile.min.css +0 -7
  236. package/tinymce-assets/skins/ui/oxide/fonts/tinymce-mobile.woff +0 -0
  237. package/tinymce-assets/skins/ui/oxide/skin.mobile.css +0 -673
  238. package/tinymce-assets/skins/ui/oxide/skin.mobile.min.css +0 -7
  239. package/tinymce-assets/skins/ui/oxide-dark/content.mobile.css +0 -29
  240. package/tinymce-assets/skins/ui/oxide-dark/content.mobile.min.css +0 -7
  241. package/tinymce-assets/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  242. package/tinymce-assets/skins/ui/oxide-dark/skin.mobile.css +0 -673
  243. package/tinymce-assets/skins/ui/oxide-dark/skin.mobile.min.css +0 -7
  244. package/tinymce-assets/themes/mobile/index.js +0 -7
  245. package/tinymce-assets/themes/mobile/theme.js +0 -13130
  246. package/tinymce-assets/themes/mobile/theme.min.js +0 -9
@@ -1,11 +1,7 @@
1
1
  /**
2
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3
- * Licensed under the LGPL or a commercial license.
4
- * For LGPL see License.txt in the project root for license information.
5
- * For commercial licenses see https://www.tiny.cloud/
6
- *
7
- * Version: 5.10.9 (2023-11-15)
2
+ * TinyMCE version 7.0.1 (2024-04-10)
8
3
  */
4
+
9
5
  (function () {
10
6
  'use strict';
11
7
 
@@ -15,75 +11,69 @@
15
11
 
16
12
  var global = tinymce.util.Tools.resolve('tinymce.util.Tools');
17
13
 
18
- var allowHtmlInNamedAnchor = function (editor) {
19
- return editor.getParam('allow_html_in_named_anchor', false, 'boolean');
14
+ const option = name => editor => editor.options.get(name);
15
+ const register$2 = editor => {
16
+ const registerOption = editor.options.register;
17
+ registerOption('allow_html_in_named_anchor', {
18
+ processor: 'boolean',
19
+ default: false
20
+ });
20
21
  };
22
+ const allowHtmlInNamedAnchor = option('allow_html_in_named_anchor');
21
23
 
22
- var namedAnchorSelector = 'a:not([href])';
23
- var isEmptyString = function (str) {
24
- return !str;
25
- };
26
- var getIdFromAnchor = function (elm) {
27
- var id = elm.getAttribute('id') || elm.getAttribute('name');
24
+ const namedAnchorSelector = 'a:not([href])';
25
+ const isEmptyString = str => !str;
26
+ const getIdFromAnchor = elm => {
27
+ const id = elm.getAttribute('id') || elm.getAttribute('name');
28
28
  return id || '';
29
29
  };
30
- var isAnchor = function (elm) {
31
- return elm && elm.nodeName.toLowerCase() === 'a';
32
- };
33
- var isNamedAnchor = function (elm) {
34
- return isAnchor(elm) && !elm.getAttribute('href') && getIdFromAnchor(elm) !== '';
35
- };
36
- var isEmptyNamedAnchor = function (elm) {
37
- return isNamedAnchor(elm) && !elm.firstChild;
38
- };
30
+ const isAnchor = elm => elm.nodeName.toLowerCase() === 'a';
31
+ const isNamedAnchor = elm => isAnchor(elm) && !elm.getAttribute('href') && getIdFromAnchor(elm) !== '';
32
+ const isEmptyNamedAnchor = elm => isNamedAnchor(elm) && !elm.firstChild;
39
33
 
40
- var removeEmptyNamedAnchorsInSelection = function (editor) {
41
- var dom = editor.dom;
42
- global$1(dom).walk(editor.selection.getRng(), function (nodes) {
43
- global.each(nodes, function (node) {
34
+ const removeEmptyNamedAnchorsInSelection = editor => {
35
+ const dom = editor.dom;
36
+ global$1(dom).walk(editor.selection.getRng(), nodes => {
37
+ global.each(nodes, node => {
44
38
  if (isEmptyNamedAnchor(node)) {
45
39
  dom.remove(node, false);
46
40
  }
47
41
  });
48
42
  });
49
43
  };
50
- var isValidId = function (id) {
51
- return /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id);
52
- };
53
- var getNamedAnchor = function (editor) {
54
- return editor.dom.getParent(editor.selection.getStart(), namedAnchorSelector);
55
- };
56
- var getId = function (editor) {
57
- var anchor = getNamedAnchor(editor);
44
+ const isValidId = id => /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id);
45
+ const getNamedAnchor = editor => editor.dom.getParent(editor.selection.getStart(), namedAnchorSelector);
46
+ const getId = editor => {
47
+ const anchor = getNamedAnchor(editor);
58
48
  if (anchor) {
59
49
  return getIdFromAnchor(anchor);
60
50
  } else {
61
51
  return '';
62
52
  }
63
53
  };
64
- var createAnchor = function (editor, id) {
65
- editor.undoManager.transact(function () {
54
+ const createAnchor = (editor, id) => {
55
+ editor.undoManager.transact(() => {
66
56
  if (!allowHtmlInNamedAnchor(editor)) {
67
57
  editor.selection.collapse(true);
68
58
  }
69
59
  if (editor.selection.isCollapsed()) {
70
- editor.insertContent(editor.dom.createHTML('a', { id: id }));
60
+ editor.insertContent(editor.dom.createHTML('a', { id }));
71
61
  } else {
72
62
  removeEmptyNamedAnchorsInSelection(editor);
73
- editor.formatter.remove('namedAnchor', null, null, true);
63
+ editor.formatter.remove('namedAnchor', undefined, undefined, true);
74
64
  editor.formatter.apply('namedAnchor', { value: id });
75
65
  editor.addVisual();
76
66
  }
77
67
  });
78
68
  };
79
- var updateAnchor = function (editor, id, anchorElement) {
69
+ const updateAnchor = (editor, id, anchorElement) => {
80
70
  anchorElement.removeAttribute('name');
81
71
  anchorElement.id = id;
82
72
  editor.addVisual();
83
73
  editor.undoManager.add();
84
74
  };
85
- var insert = function (editor, id) {
86
- var anchor = getNamedAnchor(editor);
75
+ const insert = (editor, id) => {
76
+ const anchor = getNamedAnchor(editor);
87
77
  if (anchor) {
88
78
  updateAnchor(editor, id, anchor);
89
79
  } else {
@@ -92,17 +82,17 @@
92
82
  editor.focus();
93
83
  };
94
84
 
95
- var insertAnchor = function (editor, newId) {
85
+ const insertAnchor = (editor, newId) => {
96
86
  if (!isValidId(newId)) {
97
- editor.windowManager.alert('Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');
87
+ editor.windowManager.alert('ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');
98
88
  return false;
99
89
  } else {
100
90
  insert(editor, newId);
101
91
  return true;
102
92
  }
103
93
  };
104
- var open = function (editor) {
105
- var currentId = getId(editor);
94
+ const open = editor => {
95
+ const currentId = getId(editor);
106
96
  editor.windowManager.open({
107
97
  title: 'Anchor',
108
98
  size: 'normal',
@@ -129,7 +119,7 @@
129
119
  }
130
120
  ],
131
121
  initialData: { id: currentId },
132
- onSubmit: function (api) {
122
+ onSubmit: api => {
133
123
  if (insertAnchor(editor, api.getData().id)) {
134
124
  api.close();
135
125
  }
@@ -137,36 +127,30 @@
137
127
  });
138
128
  };
139
129
 
140
- var register$1 = function (editor) {
141
- editor.addCommand('mceAnchor', function () {
130
+ const register$1 = editor => {
131
+ editor.addCommand('mceAnchor', () => {
142
132
  open(editor);
143
133
  });
144
134
  };
145
135
 
146
- var isNamedAnchorNode = function (node) {
147
- return node && isEmptyString(node.attr('href')) && !isEmptyString(node.attr('id') || node.attr('name'));
148
- };
149
- var isEmptyNamedAnchorNode = function (node) {
150
- return isNamedAnchorNode(node) && !node.firstChild;
151
- };
152
- var setContentEditable = function (state) {
153
- return function (nodes) {
154
- for (var i = 0; i < nodes.length; i++) {
155
- var node = nodes[i];
156
- if (isEmptyNamedAnchorNode(node)) {
157
- node.attr('contenteditable', state);
158
- }
136
+ const isNamedAnchorNode = node => isEmptyString(node.attr('href')) && !isEmptyString(node.attr('id') || node.attr('name'));
137
+ const isEmptyNamedAnchorNode = node => isNamedAnchorNode(node) && !node.firstChild;
138
+ const setContentEditable = state => nodes => {
139
+ for (let i = 0; i < nodes.length; i++) {
140
+ const node = nodes[i];
141
+ if (isEmptyNamedAnchorNode(node)) {
142
+ node.attr('contenteditable', state);
159
143
  }
160
- };
144
+ }
161
145
  };
162
- var setup = function (editor) {
163
- editor.on('PreInit', function () {
146
+ const setup = editor => {
147
+ editor.on('PreInit', () => {
164
148
  editor.parser.addNodeFilter('a', setContentEditable('false'));
165
149
  editor.serializer.addNodeFilter('a', setContentEditable(null));
166
150
  });
167
151
  };
168
152
 
169
- var registerFormats = function (editor) {
153
+ const registerFormats = editor => {
170
154
  editor.formatter.register('namedAnchor', {
171
155
  inline: 'a',
172
156
  selector: namedAnchorSelector,
@@ -174,43 +158,57 @@
174
158
  split: true,
175
159
  deep: true,
176
160
  attributes: { id: '%value' },
177
- onmatch: function (node, _fmt, _itemName) {
161
+ onmatch: (node, _fmt, _itemName) => {
178
162
  return isNamedAnchor(node);
179
163
  }
180
164
  });
181
165
  };
182
166
 
183
- var register = function (editor) {
167
+ const onSetupEditable = editor => api => {
168
+ const nodeChanged = () => {
169
+ api.setEnabled(editor.selection.isEditable());
170
+ };
171
+ editor.on('NodeChange', nodeChanged);
172
+ nodeChanged();
173
+ return () => {
174
+ editor.off('NodeChange', nodeChanged);
175
+ };
176
+ };
177
+ const register = editor => {
178
+ const onAction = () => editor.execCommand('mceAnchor');
184
179
  editor.ui.registry.addToggleButton('anchor', {
185
180
  icon: 'bookmark',
186
181
  tooltip: 'Anchor',
187
- onAction: function () {
188
- return editor.execCommand('mceAnchor');
189
- },
190
- onSetup: function (buttonApi) {
191
- return editor.selection.selectorChangedWithUnbind('a:not([href])', buttonApi.setActive).unbind;
182
+ onAction,
183
+ onSetup: buttonApi => {
184
+ const unbindSelectorChanged = editor.selection.selectorChangedWithUnbind('a:not([href])', buttonApi.setActive).unbind;
185
+ const unbindEditableChanged = onSetupEditable(editor)(buttonApi);
186
+ return () => {
187
+ unbindSelectorChanged();
188
+ unbindEditableChanged();
189
+ };
192
190
  }
193
191
  });
194
192
  editor.ui.registry.addMenuItem('anchor', {
195
193
  icon: 'bookmark',
196
194
  text: 'Anchor...',
197
- onAction: function () {
198
- return editor.execCommand('mceAnchor');
199
- }
195
+ onAction,
196
+ onSetup: onSetupEditable(editor)
200
197
  });
201
198
  };
202
199
 
203
- function Plugin () {
204
- global$2.add('anchor', function (editor) {
200
+ var Plugin = () => {
201
+ global$2.add('anchor', editor => {
202
+ register$2(editor);
205
203
  setup(editor);
206
204
  register$1(editor);
207
205
  register(editor);
208
- editor.on('PreInit', function () {
206
+ editor.on('PreInit', () => {
209
207
  registerFormats(editor);
210
208
  });
211
209
  });
212
- }
210
+ };
213
211
 
214
212
  Plugin();
215
213
 
216
- }());
214
+ })();
@@ -1,9 +1,4 @@
1
1
  /**
2
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3
- * Licensed under the LGPL or a commercial license.
4
- * For LGPL see License.txt in the project root for license information.
5
- * For commercial licenses see https://www.tiny.cloud/
6
- *
7
- * Version: 5.10.9 (2023-11-15)
2
+ * TinyMCE version 7.0.1 (2024-04-10)
8
3
  */
9
- !function(){"use strict";function a(e){return e.getAttribute("id")||e.getAttribute("name")||""}function c(e){return e&&"a"===e.nodeName.toLowerCase()&&!e.getAttribute("href")&&""!==a(e)}function d(e){return e.dom.getParent(e.selection.getStart(),l)}function r(e,t){var o,a,n,r,i,l=d(e);l?(n=e,r=t,(i=l).removeAttribute("name"),i.id=r,n.addVisual(),n.undoManager.add()):(a=t,(o=e).undoManager.transact(function(){var e,n;o.getParam("allow_html_in_named_anchor",!1,"boolean")||o.selection.collapse(!0),o.selection.isCollapsed()?o.insertContent(o.dom.createHTML("a",{id:a})):(n=(e=o).dom,u(n).walk(e.selection.getRng(),function(e){s.each(e,function(e){var t;c(t=e)&&!t.firstChild&&n.remove(e,!1)})}),o.formatter.remove("namedAnchor",null,null,!0),o.formatter.apply("namedAnchor",{value:a}),o.addVisual())})),e.focus()}function i(r){return function(e){for(var t,n=0;n<e.length;n++){var o=e[n],a=void 0;!(a=t=o)||a.attr("href")||!a.attr("id")&&!a.attr("name")||t.firstChild||o.attr("contenteditable",r)}}}var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),u=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),s=tinymce.util.Tools.resolve("tinymce.util.Tools"),l="a:not([href])";e.add("anchor",function(e){var t,n,o;(t=e).on("PreInit",function(){t.parser.addNodeFilter("a",i("false")),t.serializer.addNodeFilter("a",i(null))}),(n=e).addCommand("mceAnchor",function(){var o,e,t;t=(e=d(o=n))?a(e):"",o.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:function(e){var t=o,n=e.getData().id;(/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(n)?(r(t,n),0):(t.windowManager.alert("Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),1))||e.close()}})}),(o=e).ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:function(){return o.execCommand("mceAnchor")},onSetup:function(e){return o.selection.selectorChangedWithUnbind("a:not([href])",e.setActive).unbind}}),o.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:function(){return o.execCommand("mceAnchor")}}),e.on("PreInit",function(){e.formatter.register("namedAnchor",{inline:"a",selector:l,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:c})})})}();
4
+ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=("allow_html_in_named_anchor",e=>e.options.get("allow_html_in_named_anchor"));const a="a:not([href])",r=e=>!e,i=e=>e.getAttribute("id")||e.getAttribute("name")||"",l=e=>(e=>"a"===e.nodeName.toLowerCase())(e)&&!e.getAttribute("href")&&""!==i(e),s=e=>e.dom.getParent(e.selection.getStart(),a),d=(e,a)=>{const r=s(e);r?((e,t,o)=>{o.removeAttribute("name"),o.id=t,e.addVisual(),e.undoManager.add()})(e,a,r):((e,a)=>{e.undoManager.transact((()=>{n(e)||e.selection.collapse(!0),e.selection.isCollapsed()?e.insertContent(e.dom.createHTML("a",{id:a})):((e=>{const n=e.dom;t(n).walk(e.selection.getRng(),(e=>{o.each(e,(e=>{var t;l(t=e)&&!t.firstChild&&n.remove(e,!1)}))}))})(e),e.formatter.remove("namedAnchor",void 0,void 0,!0),e.formatter.apply("namedAnchor",{value:a}),e.addVisual())}))})(e,a),e.focus()},c=e=>(e=>r(e.attr("href"))&&!r(e.attr("id")||e.attr("name")))(e)&&!e.firstChild,m=e=>t=>{for(let o=0;o<t.length;o++){const n=t[o];c(n)&&n.attr("contenteditable",e)}},u=e=>t=>{const o=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",o),o(),()=>{e.off("NodeChange",o)}};e.add("anchor",(e=>{(e=>{(0,e.options.register)("allow_html_in_named_anchor",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreInit",(()=>{e.parser.addNodeFilter("a",m("false")),e.serializer.addNodeFilter("a",m(null))}))})(e),(e=>{e.addCommand("mceAnchor",(()=>{(e=>{const t=(e=>{const t=s(e);return t?i(t):""})(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:t=>{((e,t)=>/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)?(d(e,t),!0):(e.windowManager.alert("ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!1))(e,t.getData().id)&&t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceAnchor");e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:t,onSetup:t=>{const o=e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind,n=u(e)(t);return()=>{o(),n()}}}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:t,onSetup:u(e)})})(e),e.on("PreInit",(()=>{(e=>{e.formatter.register("namedAnchor",{inline:"a",selector:a,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:(e,t,o)=>l(e)})})(e)}))}))}();