@dangl/angular-material-shared 2.9.0-beta0037 → 2.9.0-beta0040

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 (175) hide show
  1. package/fesm2022/dangl-angular-material-shared-tiny-mce.mjs +29 -35
  2. package/fesm2022/dangl-angular-material-shared-tiny-mce.mjs.map +1 -1
  3. package/fesm2022/dangl-angular-material-shared.mjs +36 -51
  4. package/fesm2022/dangl-angular-material-shared.mjs.map +1 -1
  5. package/package.json +11 -10
  6. package/styles/material-theme.scss +1 -1
  7. package/styles/material-variables.scss +5 -5
  8. package/tinymce-assets/icons/default/icons.js +46 -9
  9. package/tinymce-assets/icons/default/icons.min.js +1 -1
  10. package/tinymce-assets/models/dom/model.js +8198 -7244
  11. package/tinymce-assets/models/dom/model.min.js +1 -4
  12. package/tinymce-assets/plugins/accordion/plugin.js +1174 -879
  13. package/tinymce-assets/plugins/accordion/plugin.min.js +1 -4
  14. package/tinymce-assets/plugins/advlist/plugin.js +412 -200
  15. package/tinymce-assets/plugins/advlist/plugin.min.js +1 -4
  16. package/tinymce-assets/plugins/anchor/plugin.js +189 -166
  17. package/tinymce-assets/plugins/anchor/plugin.min.js +1 -4
  18. package/tinymce-assets/plugins/autolink/plugin.js +310 -220
  19. package/tinymce-assets/plugins/autolink/plugin.min.js +1 -4
  20. package/tinymce-assets/plugins/autoresize/plugin.js +180 -149
  21. package/tinymce-assets/plugins/autoresize/plugin.min.js +1 -4
  22. package/tinymce-assets/plugins/autosave/plugin.js +208 -189
  23. package/tinymce-assets/plugins/autosave/plugin.min.js +1 -4
  24. package/tinymce-assets/plugins/charmap/plugin.js +905 -1566
  25. package/tinymce-assets/plugins/charmap/plugin.min.js +1 -4
  26. package/tinymce-assets/plugins/code/plugin.js +73 -61
  27. package/tinymce-assets/plugins/code/plugin.min.js +0 -3
  28. package/tinymce-assets/plugins/codesample/plugin.js +3593 -2402
  29. package/tinymce-assets/plugins/codesample/plugin.min.js +8 -3
  30. package/tinymce-assets/plugins/directionality/plugin.js +545 -304
  31. package/tinymce-assets/plugins/directionality/plugin.min.js +1 -4
  32. package/tinymce-assets/plugins/emoticons/js/emojiimages.min.js +0 -2
  33. package/tinymce-assets/plugins/emoticons/js/emojis.min.js +0 -1
  34. package/tinymce-assets/plugins/emoticons/plugin.js +702 -488
  35. package/tinymce-assets/plugins/emoticons/plugin.min.js +1 -4
  36. package/tinymce-assets/plugins/fullscreen/plugin.js +1409 -1049
  37. package/tinymce-assets/plugins/fullscreen/plugin.min.js +1 -4
  38. package/tinymce-assets/plugins/help/js/i18n/keynav/ar.js +4 -1
  39. package/tinymce-assets/plugins/help/js/i18n/keynav/bg_BG.js +4 -1
  40. package/tinymce-assets/plugins/help/js/i18n/keynav/ca.js +4 -1
  41. package/tinymce-assets/plugins/help/js/i18n/keynav/cs.js +4 -1
  42. package/tinymce-assets/plugins/help/js/i18n/keynav/da.js +4 -1
  43. package/tinymce-assets/plugins/help/js/i18n/keynav/de.js +4 -1
  44. package/tinymce-assets/plugins/help/js/i18n/keynav/el.js +4 -1
  45. package/tinymce-assets/plugins/help/js/i18n/keynav/en.js +4 -1
  46. package/tinymce-assets/plugins/help/js/i18n/keynav/es.js +4 -1
  47. package/tinymce-assets/plugins/help/js/i18n/keynav/eu.js +4 -1
  48. package/tinymce-assets/plugins/help/js/i18n/keynav/fa.js +4 -1
  49. package/tinymce-assets/plugins/help/js/i18n/keynav/fi.js +4 -1
  50. package/tinymce-assets/plugins/help/js/i18n/keynav/fr_FR.js +4 -1
  51. package/tinymce-assets/plugins/help/js/i18n/keynav/he_IL.js +4 -1
  52. package/tinymce-assets/plugins/help/js/i18n/keynav/hi.js +4 -1
  53. package/tinymce-assets/plugins/help/js/i18n/keynav/hr.js +4 -1
  54. package/tinymce-assets/plugins/help/js/i18n/keynav/hu_HU.js +4 -1
  55. package/tinymce-assets/plugins/help/js/i18n/keynav/id.js +4 -1
  56. package/tinymce-assets/plugins/help/js/i18n/keynav/it.js +4 -1
  57. package/tinymce-assets/plugins/help/js/i18n/keynav/ja.js +4 -1
  58. package/tinymce-assets/plugins/help/js/i18n/keynav/kk.js +4 -1
  59. package/tinymce-assets/plugins/help/js/i18n/keynav/ko_KR.js +4 -1
  60. package/tinymce-assets/plugins/help/js/i18n/keynav/ms.js +4 -1
  61. package/tinymce-assets/plugins/help/js/i18n/keynav/nb_NO.js +4 -1
  62. package/tinymce-assets/plugins/help/js/i18n/keynav/nl.js +4 -1
  63. package/tinymce-assets/plugins/help/js/i18n/keynav/pl.js +4 -1
  64. package/tinymce-assets/plugins/help/js/i18n/keynav/pt_BR.js +4 -1
  65. package/tinymce-assets/plugins/help/js/i18n/keynav/pt_PT.js +4 -1
  66. package/tinymce-assets/plugins/help/js/i18n/keynav/ro.js +4 -1
  67. package/tinymce-assets/plugins/help/js/i18n/keynav/ru.js +4 -1
  68. package/tinymce-assets/plugins/help/js/i18n/keynav/sk.js +4 -1
  69. package/tinymce-assets/plugins/help/js/i18n/keynav/sl_SI.js +5 -2
  70. package/tinymce-assets/plugins/help/js/i18n/keynav/sv_SE.js +4 -1
  71. package/tinymce-assets/plugins/help/js/i18n/keynav/th_TH.js +4 -1
  72. package/tinymce-assets/plugins/help/js/i18n/keynav/tr.js +4 -1
  73. package/tinymce-assets/plugins/help/js/i18n/keynav/uk.js +4 -1
  74. package/tinymce-assets/plugins/help/js/i18n/keynav/vi.js +4 -1
  75. package/tinymce-assets/plugins/help/js/i18n/keynav/zh_CN.js +8 -5
  76. package/tinymce-assets/plugins/help/js/i18n/keynav/zh_TW.js +4 -1
  77. package/tinymce-assets/plugins/help/plugin.js +739 -809
  78. package/tinymce-assets/plugins/help/plugin.min.js +1 -4
  79. package/tinymce-assets/plugins/image/plugin.js +1475 -1291
  80. package/tinymce-assets/plugins/image/plugin.min.js +1 -4
  81. package/tinymce-assets/plugins/importcss/plugin.js +328 -269
  82. package/tinymce-assets/plugins/importcss/plugin.min.js +1 -4
  83. package/tinymce-assets/plugins/insertdatetime/plugin.js +140 -141
  84. package/tinymce-assets/plugins/insertdatetime/plugin.min.js +1 -4
  85. package/tinymce-assets/plugins/link/plugin.js +1419 -1084
  86. package/tinymce-assets/plugins/link/plugin.min.js +1 -4
  87. package/tinymce-assets/plugins/lists/plugin.js +2177 -1805
  88. package/tinymce-assets/plugins/lists/plugin.min.js +1 -4
  89. package/tinymce-assets/plugins/media/plugin.js +1305 -1047
  90. package/tinymce-assets/plugins/media/plugin.min.js +1 -4
  91. package/tinymce-assets/plugins/nonbreaking/plugin.js +93 -88
  92. package/tinymce-assets/plugins/nonbreaking/plugin.min.js +0 -3
  93. package/tinymce-assets/plugins/pagebreak/plugin.js +91 -85
  94. package/tinymce-assets/plugins/pagebreak/plugin.min.js +0 -3
  95. package/tinymce-assets/plugins/preview/plugin.js +742 -74
  96. package/tinymce-assets/plugins/preview/plugin.min.js +1 -4
  97. package/tinymce-assets/plugins/quickbars/plugin.js +582 -375
  98. package/tinymce-assets/plugins/quickbars/plugin.min.js +1 -4
  99. package/tinymce-assets/plugins/save/plugin.js +100 -82
  100. package/tinymce-assets/plugins/save/plugin.min.js +1 -4
  101. package/tinymce-assets/plugins/searchreplace/plugin.js +1183 -906
  102. package/tinymce-assets/plugins/searchreplace/plugin.min.js +1 -4
  103. package/tinymce-assets/plugins/table/plugin.js +3651 -3094
  104. package/tinymce-assets/plugins/table/plugin.min.js +1 -4
  105. package/tinymce-assets/plugins/visualblocks/plugin.js +71 -63
  106. package/tinymce-assets/plugins/visualblocks/plugin.min.js +1 -4
  107. package/tinymce-assets/plugins/visualchars/plugin.js +685 -436
  108. package/tinymce-assets/plugins/visualchars/plugin.min.js +1 -4
  109. package/tinymce-assets/plugins/wordcount/plugin.js +382 -307
  110. package/tinymce-assets/plugins/wordcount/plugin.min.js +1 -4
  111. package/tinymce-assets/skins/content/dark/content.css +9 -0
  112. package/tinymce-assets/skins/content/dark/content.js +10 -2
  113. package/tinymce-assets/skins/content/dark/content.min.css +9 -0
  114. package/tinymce-assets/skins/content/default/content.css +9 -0
  115. package/tinymce-assets/skins/content/default/content.js +10 -2
  116. package/tinymce-assets/skins/content/default/content.min.css +9 -0
  117. package/tinymce-assets/skins/content/document/content.css +9 -0
  118. package/tinymce-assets/skins/content/document/content.js +10 -2
  119. package/tinymce-assets/skins/content/document/content.min.css +9 -0
  120. package/tinymce-assets/skins/content/tinymce-5/content.css +9 -0
  121. package/tinymce-assets/skins/content/tinymce-5/content.js +10 -2
  122. package/tinymce-assets/skins/content/tinymce-5/content.min.css +9 -0
  123. package/tinymce-assets/skins/content/tinymce-5-dark/content.css +9 -0
  124. package/tinymce-assets/skins/content/tinymce-5-dark/content.js +10 -2
  125. package/tinymce-assets/skins/content/tinymce-5-dark/content.min.css +9 -0
  126. package/tinymce-assets/skins/content/writer/content.css +9 -0
  127. package/tinymce-assets/skins/content/writer/content.js +10 -2
  128. package/tinymce-assets/skins/content/writer/content.min.css +9 -0
  129. package/tinymce-assets/skins/ui/oxide/content.css +157 -49
  130. package/tinymce-assets/skins/ui/oxide/content.inline.css +157 -49
  131. package/tinymce-assets/skins/ui/oxide/content.inline.js +10 -2
  132. package/tinymce-assets/skins/ui/oxide/content.inline.min.css +10 -1
  133. package/tinymce-assets/skins/ui/oxide/content.js +10 -2
  134. package/tinymce-assets/skins/ui/oxide/content.min.css +10 -1
  135. package/tinymce-assets/skins/ui/oxide/skin.css +1592 -214
  136. package/tinymce-assets/skins/ui/oxide/skin.js +1 -2
  137. package/tinymce-assets/skins/ui/oxide/skin.min.css +1 -1
  138. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.js +1 -2
  139. package/tinymce-assets/skins/ui/oxide-dark/content.css +157 -42
  140. package/tinymce-assets/skins/ui/oxide-dark/content.inline.css +157 -49
  141. package/tinymce-assets/skins/ui/oxide-dark/content.inline.js +10 -2
  142. package/tinymce-assets/skins/ui/oxide-dark/content.inline.min.css +10 -1
  143. package/tinymce-assets/skins/ui/oxide-dark/content.js +10 -2
  144. package/tinymce-assets/skins/ui/oxide-dark/content.min.css +10 -1
  145. package/tinymce-assets/skins/ui/oxide-dark/skin.css +1595 -217
  146. package/tinymce-assets/skins/ui/oxide-dark/skin.js +1 -2
  147. package/tinymce-assets/skins/ui/oxide-dark/skin.min.css +1 -1
  148. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.js +1 -2
  149. package/tinymce-assets/skins/ui/tinymce-5/content.css +157 -49
  150. package/tinymce-assets/skins/ui/tinymce-5/content.inline.css +157 -49
  151. package/tinymce-assets/skins/ui/tinymce-5/content.inline.js +10 -2
  152. package/tinymce-assets/skins/ui/tinymce-5/content.inline.min.css +10 -1
  153. package/tinymce-assets/skins/ui/tinymce-5/content.js +10 -2
  154. package/tinymce-assets/skins/ui/tinymce-5/content.min.css +10 -1
  155. package/tinymce-assets/skins/ui/tinymce-5/skin.css +1606 -203
  156. package/tinymce-assets/skins/ui/tinymce-5/skin.js +1 -2
  157. package/tinymce-assets/skins/ui/tinymce-5/skin.min.css +1 -1
  158. package/tinymce-assets/skins/ui/tinymce-5/skin.shadowdom.js +1 -2
  159. package/tinymce-assets/skins/ui/tinymce-5-dark/content.css +157 -42
  160. package/tinymce-assets/skins/ui/tinymce-5-dark/content.inline.css +157 -49
  161. package/tinymce-assets/skins/ui/tinymce-5-dark/content.inline.js +10 -2
  162. package/tinymce-assets/skins/ui/tinymce-5-dark/content.inline.min.css +10 -1
  163. package/tinymce-assets/skins/ui/tinymce-5-dark/content.js +10 -2
  164. package/tinymce-assets/skins/ui/tinymce-5-dark/content.min.css +10 -1
  165. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.css +1607 -204
  166. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.js +1 -2
  167. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  168. package/tinymce-assets/skins/ui/tinymce-5-dark/skin.shadowdom.js +1 -2
  169. package/tinymce-assets/themes/silver/theme.js +32786 -28738
  170. package/tinymce-assets/themes/silver/theme.min.js +1 -4
  171. package/types/dangl-angular-material-shared-tiny-mce.d.ts +12 -13
  172. package/types/dangl-angular-material-shared.d.ts +26 -26
  173. package/tinymce-assets/plugins/template/index.js +0 -7
  174. package/tinymce-assets/plugins/template/plugin.js +0 -567
  175. package/tinymce-assets/plugins/template/plugin.min.js +0 -4
@@ -1,567 +0,0 @@
1
- /**
2
- * TinyMCE version 6.8.3 (2024-02-08)
3
- */
4
-
5
- (function () {
6
- 'use strict';
7
-
8
- var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');
9
-
10
- const hasProto = (v, constructor, predicate) => {
11
- var _a;
12
- if (predicate(v, constructor.prototype)) {
13
- return true;
14
- } else {
15
- return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
16
- }
17
- };
18
- const typeOf = x => {
19
- const t = typeof x;
20
- if (x === null) {
21
- return 'null';
22
- } else if (t === 'object' && Array.isArray(x)) {
23
- return 'array';
24
- } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {
25
- return 'string';
26
- } else {
27
- return t;
28
- }
29
- };
30
- const isType = type => value => typeOf(value) === type;
31
- const isSimpleType = type => value => typeof value === type;
32
- const isString = isType('string');
33
- const isObject = isType('object');
34
- const isArray = isType('array');
35
- const isNullable = a => a === null || a === undefined;
36
- const isNonNullable = a => !isNullable(a);
37
- const isFunction = isSimpleType('function');
38
- const isArrayOf = (value, pred) => {
39
- if (isArray(value)) {
40
- for (let i = 0, len = value.length; i < len; ++i) {
41
- if (!pred(value[i])) {
42
- return false;
43
- }
44
- }
45
- return true;
46
- }
47
- return false;
48
- };
49
-
50
- const constant = value => {
51
- return () => {
52
- return value;
53
- };
54
- };
55
- function curry(fn, ...initialArgs) {
56
- return (...restArgs) => {
57
- const all = initialArgs.concat(restArgs);
58
- return fn.apply(null, all);
59
- };
60
- }
61
- const never = constant(false);
62
-
63
- const escape = text => text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
64
-
65
- var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
66
-
67
- const option = name => editor => editor.options.get(name);
68
- const register$2 = editor => {
69
- const registerOption = editor.options.register;
70
- registerOption('template_cdate_classes', {
71
- processor: 'string',
72
- default: 'cdate'
73
- });
74
- registerOption('template_mdate_classes', {
75
- processor: 'string',
76
- default: 'mdate'
77
- });
78
- registerOption('template_selected_content_classes', {
79
- processor: 'string',
80
- default: 'selcontent'
81
- });
82
- registerOption('template_preview_replace_values', { processor: 'object' });
83
- registerOption('template_replace_values', { processor: 'object' });
84
- registerOption('templates', {
85
- processor: value => isString(value) || isArrayOf(value, isObject) || isFunction(value),
86
- default: []
87
- });
88
- registerOption('template_cdate_format', {
89
- processor: 'string',
90
- default: editor.translate('%Y-%m-%d')
91
- });
92
- registerOption('template_mdate_format', {
93
- processor: 'string',
94
- default: editor.translate('%Y-%m-%d')
95
- });
96
- };
97
- const getCreationDateClasses = option('template_cdate_classes');
98
- const getModificationDateClasses = option('template_mdate_classes');
99
- const getSelectedContentClasses = option('template_selected_content_classes');
100
- const getPreviewReplaceValues = option('template_preview_replace_values');
101
- const getTemplateReplaceValues = option('template_replace_values');
102
- const getTemplates = option('templates');
103
- const getCdateFormat = option('template_cdate_format');
104
- const getMdateFormat = option('template_mdate_format');
105
- const getContentStyle = option('content_style');
106
- const shouldUseContentCssCors = option('content_css_cors');
107
- const getBodyClass = option('body_class');
108
-
109
- const addZeros = (value, len) => {
110
- value = '' + value;
111
- if (value.length < len) {
112
- for (let i = 0; i < len - value.length; i++) {
113
- value = '0' + value;
114
- }
115
- }
116
- return value;
117
- };
118
- const getDateTime = (editor, fmt, date = new Date()) => {
119
- const daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');
120
- const daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');
121
- const monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
122
- const monthsLong = 'January February March April May June July August September October November December'.split(' ');
123
- fmt = fmt.replace('%D', '%m/%d/%Y');
124
- fmt = fmt.replace('%r', '%I:%M:%S %p');
125
- fmt = fmt.replace('%Y', '' + date.getFullYear());
126
- fmt = fmt.replace('%y', '' + date.getYear());
127
- fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));
128
- fmt = fmt.replace('%d', addZeros(date.getDate(), 2));
129
- fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));
130
- fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));
131
- fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));
132
- fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));
133
- fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));
134
- fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));
135
- fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));
136
- fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));
137
- fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));
138
- fmt = fmt.replace('%%', '%');
139
- return fmt;
140
- };
141
-
142
- class Optional {
143
- constructor(tag, value) {
144
- this.tag = tag;
145
- this.value = value;
146
- }
147
- static some(value) {
148
- return new Optional(true, value);
149
- }
150
- static none() {
151
- return Optional.singletonNone;
152
- }
153
- fold(onNone, onSome) {
154
- if (this.tag) {
155
- return onSome(this.value);
156
- } else {
157
- return onNone();
158
- }
159
- }
160
- isSome() {
161
- return this.tag;
162
- }
163
- isNone() {
164
- return !this.tag;
165
- }
166
- map(mapper) {
167
- if (this.tag) {
168
- return Optional.some(mapper(this.value));
169
- } else {
170
- return Optional.none();
171
- }
172
- }
173
- bind(binder) {
174
- if (this.tag) {
175
- return binder(this.value);
176
- } else {
177
- return Optional.none();
178
- }
179
- }
180
- exists(predicate) {
181
- return this.tag && predicate(this.value);
182
- }
183
- forall(predicate) {
184
- return !this.tag || predicate(this.value);
185
- }
186
- filter(predicate) {
187
- if (!this.tag || predicate(this.value)) {
188
- return this;
189
- } else {
190
- return Optional.none();
191
- }
192
- }
193
- getOr(replacement) {
194
- return this.tag ? this.value : replacement;
195
- }
196
- or(replacement) {
197
- return this.tag ? this : replacement;
198
- }
199
- getOrThunk(thunk) {
200
- return this.tag ? this.value : thunk();
201
- }
202
- orThunk(thunk) {
203
- return this.tag ? this : thunk();
204
- }
205
- getOrDie(message) {
206
- if (!this.tag) {
207
- throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
208
- } else {
209
- return this.value;
210
- }
211
- }
212
- static from(value) {
213
- return isNonNullable(value) ? Optional.some(value) : Optional.none();
214
- }
215
- getOrNull() {
216
- return this.tag ? this.value : null;
217
- }
218
- getOrUndefined() {
219
- return this.value;
220
- }
221
- each(worker) {
222
- if (this.tag) {
223
- worker(this.value);
224
- }
225
- }
226
- toArray() {
227
- return this.tag ? [this.value] : [];
228
- }
229
- toString() {
230
- return this.tag ? `some(${ this.value })` : 'none()';
231
- }
232
- }
233
- Optional.singletonNone = new Optional(false);
234
-
235
- const exists = (xs, pred) => {
236
- for (let i = 0, len = xs.length; i < len; i++) {
237
- const x = xs[i];
238
- if (pred(x, i)) {
239
- return true;
240
- }
241
- }
242
- return false;
243
- };
244
- const map = (xs, f) => {
245
- const len = xs.length;
246
- const r = new Array(len);
247
- for (let i = 0; i < len; i++) {
248
- const x = xs[i];
249
- r[i] = f(x, i);
250
- }
251
- return r;
252
- };
253
- const findUntil = (xs, pred, until) => {
254
- for (let i = 0, len = xs.length; i < len; i++) {
255
- const x = xs[i];
256
- if (pred(x, i)) {
257
- return Optional.some(x);
258
- } else if (until(x, i)) {
259
- break;
260
- }
261
- }
262
- return Optional.none();
263
- };
264
- const find = (xs, pred) => {
265
- return findUntil(xs, pred, never);
266
- };
267
-
268
- const hasOwnProperty = Object.hasOwnProperty;
269
- const get = (obj, key) => {
270
- return has(obj, key) ? Optional.from(obj[key]) : Optional.none();
271
- };
272
- const has = (obj, key) => hasOwnProperty.call(obj, key);
273
-
274
- var global$1 = tinymce.util.Tools.resolve('tinymce.html.Serializer');
275
-
276
- const entitiesAttr = {
277
- '"': '&quot;',
278
- '<': '&lt;',
279
- '>': '&gt;',
280
- '&': '&amp;',
281
- '\'': '&#039;'
282
- };
283
- const htmlEscape = html => html.replace(/["'<>&]/g, match => get(entitiesAttr, match).getOr(match));
284
- const hasAnyClasses = (dom, n, classes) => exists(classes.split(/\s+/), c => dom.hasClass(n, c));
285
- const parseAndSerialize = (editor, html) => global$1({ validate: true }, editor.schema).serialize(editor.parser.parse(html, { insert: true }));
286
-
287
- const createTemplateList = (editor, callback) => {
288
- return () => {
289
- const templateList = getTemplates(editor);
290
- if (isFunction(templateList)) {
291
- templateList(callback);
292
- } else if (isString(templateList)) {
293
- fetch(templateList).then(res => {
294
- if (res.ok) {
295
- res.json().then(callback);
296
- }
297
- });
298
- } else {
299
- callback(templateList);
300
- }
301
- };
302
- };
303
- const replaceTemplateValues = (html, templateValues) => {
304
- global$2.each(templateValues, (v, k) => {
305
- if (isFunction(v)) {
306
- v = v(k);
307
- }
308
- html = html.replace(new RegExp('\\{\\$' + escape(k) + '\\}', 'g'), v);
309
- });
310
- return html;
311
- };
312
- const replaceVals = (editor, scope) => {
313
- const dom = editor.dom, vl = getTemplateReplaceValues(editor);
314
- global$2.each(dom.select('*', scope), e => {
315
- global$2.each(vl, (v, k) => {
316
- if (dom.hasClass(e, k)) {
317
- if (isFunction(v)) {
318
- v(e);
319
- }
320
- }
321
- });
322
- });
323
- };
324
- const insertTemplate = (editor, _ui, html) => {
325
- const dom = editor.dom;
326
- const sel = editor.selection.getContent();
327
- html = replaceTemplateValues(html, getTemplateReplaceValues(editor));
328
- let el = dom.create('div', {}, parseAndSerialize(editor, html));
329
- const n = dom.select('.mceTmpl', el);
330
- if (n && n.length > 0) {
331
- el = dom.create('div');
332
- el.appendChild(n[0].cloneNode(true));
333
- }
334
- global$2.each(dom.select('*', el), n => {
335
- if (hasAnyClasses(dom, n, getCreationDateClasses(editor))) {
336
- n.innerHTML = getDateTime(editor, getCdateFormat(editor));
337
- }
338
- if (hasAnyClasses(dom, n, getModificationDateClasses(editor))) {
339
- n.innerHTML = getDateTime(editor, getMdateFormat(editor));
340
- }
341
- if (hasAnyClasses(dom, n, getSelectedContentClasses(editor))) {
342
- n.innerHTML = sel;
343
- }
344
- });
345
- replaceVals(editor, el);
346
- editor.execCommand('mceInsertContent', false, el.innerHTML);
347
- editor.addVisual();
348
- };
349
-
350
- var global = tinymce.util.Tools.resolve('tinymce.Env');
351
-
352
- const getPreviewContent = (editor, html) => {
353
- var _a;
354
- let previewHtml = parseAndSerialize(editor, html);
355
- if (html.indexOf('<html>') === -1) {
356
- let contentCssEntries = '';
357
- const contentStyle = (_a = getContentStyle(editor)) !== null && _a !== void 0 ? _a : '';
358
- const cors = shouldUseContentCssCors(editor) ? ' crossorigin="anonymous"' : '';
359
- global$2.each(editor.contentCSS, url => {
360
- contentCssEntries += '<link type="text/css" rel="stylesheet" href="' + editor.documentBaseURI.toAbsolute(url) + '"' + cors + '>';
361
- });
362
- if (contentStyle) {
363
- contentCssEntries += '<style type="text/css">' + contentStyle + '</style>';
364
- }
365
- const bodyClass = getBodyClass(editor);
366
- const encode = editor.dom.encode;
367
- const isMetaKeyPressed = global.os.isMacOS() || global.os.isiOS() ? 'e.metaKey' : 'e.ctrlKey && !e.altKey';
368
- const preventClicksOnLinksScript = '<script>' + 'document.addEventListener && document.addEventListener("click", function(e) {' + 'for (var elm = e.target; elm; elm = elm.parentNode) {' + 'if (elm.nodeName === "A" && !(' + isMetaKeyPressed + ')) {' + 'e.preventDefault();' + '}' + '}' + '}, false);' + '</script> ';
369
- const directionality = editor.getBody().dir;
370
- const dirAttr = directionality ? ' dir="' + encode(directionality) + '"' : '';
371
- previewHtml = '<!DOCTYPE html>' + '<html>' + '<head>' + '<base href="' + encode(editor.documentBaseURI.getURI()) + '">' + contentCssEntries + preventClicksOnLinksScript + '</head>' + '<body class="' + encode(bodyClass) + '"' + dirAttr + '>' + previewHtml + '</body>' + '</html>';
372
- }
373
- return replaceTemplateValues(previewHtml, getPreviewReplaceValues(editor));
374
- };
375
- const open = (editor, templateList) => {
376
- const createTemplates = () => {
377
- if (!templateList || templateList.length === 0) {
378
- const message = editor.translate('No templates defined.');
379
- editor.notificationManager.open({
380
- text: message,
381
- type: 'info'
382
- });
383
- return Optional.none();
384
- }
385
- return Optional.from(global$2.map(templateList, (template, index) => {
386
- const isUrlTemplate = t => t.url !== undefined;
387
- return {
388
- selected: index === 0,
389
- text: template.title,
390
- value: {
391
- url: isUrlTemplate(template) ? Optional.from(template.url) : Optional.none(),
392
- content: !isUrlTemplate(template) ? Optional.from(template.content) : Optional.none(),
393
- description: template.description
394
- }
395
- };
396
- }));
397
- };
398
- const createSelectBoxItems = templates => map(templates, t => ({
399
- text: t.text,
400
- value: t.text
401
- }));
402
- const findTemplate = (templates, templateTitle) => find(templates, t => t.text === templateTitle);
403
- const loadFailedAlert = api => {
404
- editor.windowManager.alert('Could not load the specified template.', () => api.focus('template'));
405
- };
406
- const getTemplateContent = t => t.value.url.fold(() => Promise.resolve(t.value.content.getOr('')), url => fetch(url).then(res => res.ok ? res.text() : Promise.reject()));
407
- const onChange = (templates, updateDialog) => (api, change) => {
408
- if (change.name === 'template') {
409
- const newTemplateTitle = api.getData().template;
410
- findTemplate(templates, newTemplateTitle).each(t => {
411
- api.block('Loading...');
412
- getTemplateContent(t).then(previewHtml => {
413
- updateDialog(api, t, previewHtml);
414
- }).catch(() => {
415
- updateDialog(api, t, '');
416
- api.setEnabled('save', false);
417
- loadFailedAlert(api);
418
- });
419
- });
420
- }
421
- };
422
- const onSubmit = templates => api => {
423
- const data = api.getData();
424
- findTemplate(templates, data.template).each(t => {
425
- getTemplateContent(t).then(previewHtml => {
426
- editor.execCommand('mceInsertTemplate', false, previewHtml);
427
- api.close();
428
- }).catch(() => {
429
- api.setEnabled('save', false);
430
- loadFailedAlert(api);
431
- });
432
- });
433
- };
434
- const openDialog = templates => {
435
- const selectBoxItems = createSelectBoxItems(templates);
436
- const buildDialogSpec = (bodyItems, initialData) => ({
437
- title: 'Insert Template',
438
- size: 'large',
439
- body: {
440
- type: 'panel',
441
- items: bodyItems
442
- },
443
- initialData,
444
- buttons: [
445
- {
446
- type: 'cancel',
447
- name: 'cancel',
448
- text: 'Cancel'
449
- },
450
- {
451
- type: 'submit',
452
- name: 'save',
453
- text: 'Save',
454
- primary: true
455
- }
456
- ],
457
- onSubmit: onSubmit(templates),
458
- onChange: onChange(templates, updateDialog)
459
- });
460
- const updateDialog = (dialogApi, template, previewHtml) => {
461
- const content = getPreviewContent(editor, previewHtml);
462
- const bodyItems = [
463
- {
464
- type: 'listbox',
465
- name: 'template',
466
- label: 'Templates',
467
- items: selectBoxItems
468
- },
469
- {
470
- type: 'htmlpanel',
471
- html: `<p aria-live="polite">${ htmlEscape(template.value.description) }</p>`
472
- },
473
- {
474
- label: 'Preview',
475
- type: 'iframe',
476
- name: 'preview',
477
- sandboxed: false,
478
- transparent: false
479
- }
480
- ];
481
- const initialData = {
482
- template: template.text,
483
- preview: content
484
- };
485
- dialogApi.unblock();
486
- dialogApi.redial(buildDialogSpec(bodyItems, initialData));
487
- dialogApi.focus('template');
488
- };
489
- const dialogApi = editor.windowManager.open(buildDialogSpec([], {
490
- template: '',
491
- preview: ''
492
- }));
493
- dialogApi.block('Loading...');
494
- getTemplateContent(templates[0]).then(previewHtml => {
495
- updateDialog(dialogApi, templates[0], previewHtml);
496
- }).catch(() => {
497
- updateDialog(dialogApi, templates[0], '');
498
- dialogApi.setEnabled('save', false);
499
- loadFailedAlert(dialogApi);
500
- });
501
- };
502
- const optTemplates = createTemplates();
503
- optTemplates.each(openDialog);
504
- };
505
-
506
- const showDialog = editor => templates => {
507
- open(editor, templates);
508
- };
509
- const register$1 = editor => {
510
- editor.addCommand('mceInsertTemplate', curry(insertTemplate, editor));
511
- editor.addCommand('mceTemplate', createTemplateList(editor, showDialog(editor)));
512
- };
513
-
514
- const setup = editor => {
515
- editor.on('PreProcess', o => {
516
- const dom = editor.dom, dateFormat = getMdateFormat(editor);
517
- global$2.each(dom.select('div', o.node), e => {
518
- if (dom.hasClass(e, 'mceTmpl')) {
519
- global$2.each(dom.select('*', e), e => {
520
- if (hasAnyClasses(dom, e, getModificationDateClasses(editor))) {
521
- e.innerHTML = getDateTime(editor, dateFormat);
522
- }
523
- });
524
- replaceVals(editor, e);
525
- }
526
- });
527
- });
528
- };
529
-
530
- const onSetupEditable = editor => api => {
531
- const nodeChanged = () => {
532
- api.setEnabled(editor.selection.isEditable());
533
- };
534
- editor.on('NodeChange', nodeChanged);
535
- nodeChanged();
536
- return () => {
537
- editor.off('NodeChange', nodeChanged);
538
- };
539
- };
540
- const register = editor => {
541
- const onAction = () => editor.execCommand('mceTemplate');
542
- editor.ui.registry.addButton('template', {
543
- icon: 'template',
544
- tooltip: 'Insert template',
545
- onSetup: onSetupEditable(editor),
546
- onAction
547
- });
548
- editor.ui.registry.addMenuItem('template', {
549
- icon: 'template',
550
- text: 'Insert template...',
551
- onSetup: onSetupEditable(editor),
552
- onAction
553
- });
554
- };
555
-
556
- var Plugin = () => {
557
- global$3.add('template', editor => {
558
- register$2(editor);
559
- register(editor);
560
- register$1(editor);
561
- setup(editor);
562
- });
563
- };
564
-
565
- Plugin();
566
-
567
- })();
@@ -1,4 +0,0 @@
1
- /**
2
- * TinyMCE version 6.8.3 (2024-02-08)
3
- */
4
- !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(a=n=e,(r=String).prototype.isPrototypeOf(a)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var a,n,r,s})(t)===e,a=t("string"),n=t("object"),r=t("array"),s=("function",e=>"function"==typeof e);const l=(!1,()=>false);var o=tinymce.util.Tools.resolve("tinymce.util.Tools");const c=e=>t=>t.options.get(e),i=c("template_cdate_classes"),u=c("template_mdate_classes"),m=c("template_selected_content_classes"),p=c("template_preview_replace_values"),d=c("template_replace_values"),h=c("templates"),g=c("template_cdate_format"),v=c("template_mdate_format"),f=c("content_style"),y=c("content_css_cors"),b=c("body_class"),_=(e,t)=>{if((e=""+e).length<t)for(let a=0;a<t-e.length;a++)e="0"+e;return e},M=(e,t,a=new Date)=>{const n="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),l="January February March April May June July August September October November December".split(" ");return(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+a.getFullYear())).replace("%y",""+a.getYear())).replace("%m",_(a.getMonth()+1,2))).replace("%d",_(a.getDate(),2))).replace("%H",""+_(a.getHours(),2))).replace("%M",""+_(a.getMinutes(),2))).replace("%S",""+_(a.getSeconds(),2))).replace("%I",""+((a.getHours()+11)%12+1))).replace("%p",a.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(l[a.getMonth()]))).replace("%b",""+e.translate(s[a.getMonth()]))).replace("%A",""+e.translate(r[a.getDay()]))).replace("%a",""+e.translate(n[a.getDay()]))).replace("%%","%")};class T{constructor(e,t){this.tag=e,this.value=t}static some(e){return new T(!0,e)}static none(){return T.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?T.some(e(this.value)):T.none()}bind(e){return this.tag?e(this.value):T.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:T.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?T.none():T.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}T.singletonNone=new T(!1);const S=Object.hasOwnProperty;var x=tinymce.util.Tools.resolve("tinymce.html.Serializer");const C={'"':"&quot;","<":"&lt;",">":"&gt;","&":"&amp;","'":"&#039;"},w=e=>e.replace(/["'<>&]/g,(e=>{return(t=C,a=e,((e,t)=>S.call(e,t))(t,a)?T.from(t[a]):T.none()).getOr(e);var t,a})),O=(e,t,a)=>((a,n)=>{for(let n=0,s=a.length;n<s;n++)if(r=a[n],e.hasClass(t,r))return!0;var r;return!1})(a.split(/\s+/)),A=(e,t)=>x({validate:!0},e.schema).serialize(e.parser.parse(t,{insert:!0})),D=(e,t)=>(o.each(t,((t,a)=>{s(t)&&(t=t(a)),e=e.replace(new RegExp("\\{\\$"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\}","g"),t)})),e),N=(e,t)=>{const a=e.dom,n=d(e);o.each(a.select("*",t),(e=>{o.each(n,((t,n)=>{a.hasClass(e,n)&&s(t)&&t(e)}))}))},I=(e,t,a)=>{const n=e.dom,r=e.selection.getContent();a=D(a,d(e));let s=n.create("div",{},A(e,a));const l=n.select(".mceTmpl",s);l&&l.length>0&&(s=n.create("div"),s.appendChild(l[0].cloneNode(!0))),o.each(n.select("*",s),(t=>{O(n,t,i(e))&&(t.innerHTML=M(e,g(e))),O(n,t,u(e))&&(t.innerHTML=M(e,v(e))),O(n,t,m(e))&&(t.innerHTML=r)})),N(e,s),e.execCommand("mceInsertContent",!1,s.innerHTML),e.addVisual()};var E=tinymce.util.Tools.resolve("tinymce.Env");const k=(e,t)=>{const a=(e,t)=>((e,t,a)=>{for(let n=0,r=e.length;n<r;n++){const r=e[n];if(t(r,n))return T.some(r);if(a(r,n))break}return T.none()})(e,(e=>e.text===t),l),n=t=>{e.windowManager.alert("Could not load the specified template.",(()=>t.focus("template")))},r=e=>e.value.url.fold((()=>Promise.resolve(e.value.content.getOr(""))),(e=>fetch(e).then((e=>e.ok?e.text():Promise.reject())))),s=(e,t)=>(s,l)=>{if("template"===l.name){const l=s.getData().template;a(e,l).each((e=>{s.block("Loading..."),r(e).then((a=>{t(s,e,a)})).catch((()=>{t(s,e,""),s.setEnabled("save",!1),n(s)}))}))}},c=t=>s=>{const l=s.getData();a(t,l.template).each((t=>{r(t).then((t=>{e.execCommand("mceInsertTemplate",!1,t),s.close()})).catch((()=>{s.setEnabled("save",!1),n(s)}))}))};(()=>{if(!t||0===t.length){const t=e.translate("No templates defined.");return e.notificationManager.open({text:t,type:"info"}),T.none()}return T.from(o.map(t,((e,t)=>{const a=e=>void 0!==e.url;return{selected:0===t,text:e.title,value:{url:a(e)?T.from(e.url):T.none(),content:a(e)?T.none():T.from(e.content),description:e.description}}})))})().each((t=>{const a=(e=>((e,t)=>{const a=e.length,n=new Array(a);for(let t=0;t<a;t++){const a=e[t];n[t]={text:(r=a).text,value:r.text}}var r;return n})(e))(t),l=(e,a)=>({title:"Insert Template",size:"large",body:{type:"panel",items:e},initialData:a,buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:c(t),onChange:s(t,i)}),i=(t,n,r)=>{const s=((e,t)=>{var a;let n=A(e,t);if(-1===t.indexOf("<html>")){let t="";const r=null!==(a=f(e))&&void 0!==a?a:"",s=y(e)?' crossorigin="anonymous"':"";o.each(e.contentCSS,(a=>{t+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(a)+'"'+s+">"})),r&&(t+='<style type="text/css">'+r+"</style>");const l=b(e),c=e.dom.encode,i='<script>document.addEventListener && document.addEventListener("click", function(e) {for (var elm = e.target; elm; elm = elm.parentNode) {if (elm.nodeName === "A" && !('+(E.os.isMacOS()||E.os.isiOS()?"e.metaKey":"e.ctrlKey && !e.altKey")+")) {e.preventDefault();}}}, false);<\/script> ",u=e.getBody().dir,m=u?' dir="'+c(u)+'"':"";n='<!DOCTYPE html><html><head><base href="'+c(e.documentBaseURI.getURI())+'">'+t+i+'</head><body class="'+c(l)+'"'+m+">"+n+"</body></html>"}return D(n,p(e))})(e,r),c=[{type:"listbox",name:"template",label:"Templates",items:a},{type:"htmlpanel",html:`<p aria-live="polite">${w(n.value.description)}</p>`},{label:"Preview",type:"iframe",name:"preview",sandboxed:!1,transparent:!1}],i={template:n.text,preview:s};t.unblock(),t.redial(l(c,i)),t.focus("template")},u=e.windowManager.open(l([],{template:"",preview:""}));u.block("Loading..."),r(t[0]).then((e=>{i(u,t[0],e)})).catch((()=>{i(u,t[0],""),u.setEnabled("save",!1),n(u)}))}))},P=e=>t=>{const a=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",a),a(),()=>{e.off("NodeChange",a)}};e.add("template",(e=>{(e=>{const t=e.options.register;t("template_cdate_classes",{processor:"string",default:"cdate"}),t("template_mdate_classes",{processor:"string",default:"mdate"}),t("template_selected_content_classes",{processor:"string",default:"selcontent"}),t("template_preview_replace_values",{processor:"object"}),t("template_replace_values",{processor:"object"}),t("templates",{processor:e=>a(e)||((e,t)=>{if(r(e)){for(let a=0,n=e.length;a<n;++a)if(!t(e[a]))return!1;return!0}return!1})(e,n)||s(e),default:[]}),t("template_cdate_format",{processor:"string",default:e.translate("%Y-%m-%d")}),t("template_mdate_format",{processor:"string",default:e.translate("%Y-%m-%d")})})(e),(e=>{const t=()=>e.execCommand("mceTemplate");e.ui.registry.addButton("template",{icon:"template",tooltip:"Insert template",onSetup:P(e),onAction:t}),e.ui.registry.addMenuItem("template",{icon:"template",text:"Insert template...",onSetup:P(e),onAction:t})})(e),(e=>{e.addCommand("mceInsertTemplate",function(e,...t){return(...a)=>{const n=t.concat(a);return e.apply(null,n)}}(I,e)),e.addCommand("mceTemplate",((e,t)=>()=>{const n=h(e);s(n)?n(t):a(n)?fetch(n).then((e=>{e.ok&&e.json().then(t)})):t(n)})(e,(e=>t=>{k(e,t)})(e)))})(e),(e=>{e.on("PreProcess",(t=>{const a=e.dom,n=v(e);o.each(a.select("div",t.node),(t=>{a.hasClass(t,"mceTmpl")&&(o.each(a.select("*",t),(t=>{O(a,t,u(e))&&(t.innerHTML=M(e,n))})),N(e,t))}))}))})(e)}))}();