imatrix-ui 2.8.97-dw-tmp2 → 2.8.97-dw-tmp4

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 (107) hide show
  1. package/lib/super-ui.css +1 -0
  2. package/lib/super-ui.umd.min.js +36 -1
  3. package/package.json +1 -2
  4. package/src/i18n/i18n.js +1 -1
  5. package/src/i18n/langs/cn.js +1 -1
  6. package/src/i18n/langs/en.js +1 -1
  7. package/src/permission.js +1 -1
  8. package/src/plugins.js +4 -4
  9. package/src/store/modules/permission.js +5 -0
  10. package/src/styles/index.scss +2 -2
  11. package/src/utils/permissionAuth.js +6 -0
  12. package/src/utils/request.js +1 -1
  13. package/src/views/login/index.vue +1 -1
  14. package/lib/css/super-ui.common~46f24e9d.f712732a.css +0 -1
  15. package/lib/css/super-ui.common~60a56baa.e6f54088.css +0 -1
  16. package/lib/css/super-ui.common~691e02b5.3387eefb.css +0 -1
  17. package/lib/css/super-ui.common~e2e93592.e9ec19a9.css +0 -1
  18. package/lib/css/super-ui.umd.min~46f24e9d.f712732a.css +0 -1
  19. package/lib/css/super-ui.umd.min~60a56baa.e6f54088.css +0 -1
  20. package/lib/css/super-ui.umd.min~691e02b5.3387eefb.css +0 -1
  21. package/lib/css/super-ui.umd.min~e2e93592.e9ec19a9.css +0 -1
  22. package/lib/css/super-ui.umd~46f24e9d.f712732a.css +0 -1
  23. package/lib/css/super-ui.umd~60a56baa.e6f54088.css +0 -1
  24. package/lib/css/super-ui.umd~691e02b5.3387eefb.css +0 -1
  25. package/lib/css/super-ui.umd~e2e93592.e9ec19a9.css +0 -1
  26. package/lib/css/vendors~super-ui.common~253ae210.b57e4bfb.css +0 -1
  27. package/lib/css/vendors~super-ui.umd.min~253ae210.b57e4bfb.css +0 -1
  28. package/lib/css/vendors~super-ui.umd~253ae210.b57e4bfb.css +0 -1
  29. package/lib/css/yarn.tinymce~97d7b732.ea366551.css +0 -1
  30. package/lib/super-ui.common.super-ui.common~46f24e9d.js +0 -12446
  31. package/lib/super-ui.common.super-ui.common~60a56baa.js +0 -2774
  32. package/lib/super-ui.common.super-ui.common~691e02b5.js +0 -3062
  33. package/lib/super-ui.common.super-ui.common~970f9218.js +0 -3729
  34. package/lib/super-ui.common.super-ui.common~bd3594d6.js +0 -5264
  35. package/lib/super-ui.common.super-ui.common~e2e93592.js +0 -6945
  36. package/lib/super-ui.common.vendors~super-ui.common~253ae210.js +0 -3504
  37. package/lib/super-ui.common.yarn.async-validator~7864cd12.js +0 -1225
  38. package/lib/super-ui.common.yarn.core-js~2b13b260.js +0 -7542
  39. package/lib/super-ui.common.yarn.gcommon~c5c7b9b4.js +0 -11
  40. package/lib/super-ui.common.yarn.gcommon~cd278a5f.js +0 -4846
  41. package/lib/super-ui.common.yarn.resize-observer-polyfill~7370204d.js +0 -942
  42. package/lib/super-ui.common.yarn.sortablejs~f811d8fd.js +0 -3714
  43. package/lib/super-ui.common.yarn.tinymce~253ae210.js +0 -568
  44. package/lib/super-ui.common.yarn.tinymce~29bc5d46.js +0 -2125
  45. package/lib/super-ui.common.yarn.tinymce~35f50c21.js +0 -34090
  46. package/lib/super-ui.common.yarn.tinymce~8a52df3b.js +0 -30088
  47. package/lib/super-ui.common.yarn.tinymce~97d7b732.js +0 -31
  48. package/lib/super-ui.common.yarn.tinymce~b5d80f29.js +0 -7936
  49. package/lib/super-ui.common.yarn.tinymce~c1068939.js +0 -13346
  50. package/lib/super-ui.common.yarn.vue-i18n~02576867.js +0 -2179
  51. package/lib/super-ui.common.yarn.vue-virtual-scroll-list~bd67cfcd.js +0 -1069
  52. package/lib/super-ui.common.yarn.zxing~3446ce64.js +0 -11996
  53. package/lib/super-ui.common.yarn.zxing~61a1471b.js +0 -11202
  54. package/lib/super-ui.common.yarn.zxing~b49f3034.js +0 -3576
  55. package/lib/super-ui.common.yarn.zxing~fd3cc9f3.js +0 -2916
  56. package/lib/super-ui.umd.min.super-ui.umd.min~46f24e9d.js +0 -2
  57. package/lib/super-ui.umd.min.super-ui.umd.min~60a56baa.js +0 -2
  58. package/lib/super-ui.umd.min.super-ui.umd.min~691e02b5.js +0 -2
  59. package/lib/super-ui.umd.min.super-ui.umd.min~970f9218.js +0 -2
  60. package/lib/super-ui.umd.min.super-ui.umd.min~bd3594d6.js +0 -2
  61. package/lib/super-ui.umd.min.super-ui.umd.min~e2e93592.js +0 -2
  62. package/lib/super-ui.umd.min.vendors~super-ui.umd.min~253ae210.js +0 -24
  63. package/lib/super-ui.umd.min.yarn.async-validator~7864cd12.js +0 -2
  64. package/lib/super-ui.umd.min.yarn.core-js~2b13b260.js +0 -2
  65. package/lib/super-ui.umd.min.yarn.gcommon~c5c7b9b4.js +0 -2
  66. package/lib/super-ui.umd.min.yarn.gcommon~cd278a5f.js +0 -26
  67. package/lib/super-ui.umd.min.yarn.resize-observer-polyfill~7370204d.js +0 -2
  68. package/lib/super-ui.umd.min.yarn.sortablejs~f811d8fd.js +0 -8
  69. package/lib/super-ui.umd.min.yarn.tinymce~253ae210.js +0 -2
  70. package/lib/super-ui.umd.min.yarn.tinymce~29bc5d46.js +0 -2
  71. package/lib/super-ui.umd.min.yarn.tinymce~35f50c21.js +0 -2
  72. package/lib/super-ui.umd.min.yarn.tinymce~8a52df3b.js +0 -2
  73. package/lib/super-ui.umd.min.yarn.tinymce~97d7b732.js +0 -2
  74. package/lib/super-ui.umd.min.yarn.tinymce~b5d80f29.js +0 -2
  75. package/lib/super-ui.umd.min.yarn.tinymce~c1068939.js +0 -2
  76. package/lib/super-ui.umd.min.yarn.vue-i18n~02576867.js +0 -7
  77. package/lib/super-ui.umd.min.yarn.vue-virtual-scroll-list~bd67cfcd.js +0 -8
  78. package/lib/super-ui.umd.min.yarn.zxing~3446ce64.js +0 -2
  79. package/lib/super-ui.umd.min.yarn.zxing~61a1471b.js +0 -2
  80. package/lib/super-ui.umd.min.yarn.zxing~b49f3034.js +0 -2
  81. package/lib/super-ui.umd.min.yarn.zxing~fd3cc9f3.js +0 -2
  82. package/lib/super-ui.umd.super-ui.umd~46f24e9d.js +0 -12446
  83. package/lib/super-ui.umd.super-ui.umd~60a56baa.js +0 -2774
  84. package/lib/super-ui.umd.super-ui.umd~691e02b5.js +0 -3062
  85. package/lib/super-ui.umd.super-ui.umd~970f9218.js +0 -3739
  86. package/lib/super-ui.umd.super-ui.umd~bd3594d6.js +0 -5264
  87. package/lib/super-ui.umd.super-ui.umd~e2e93592.js +0 -6945
  88. package/lib/super-ui.umd.vendors~super-ui.umd~253ae210.js +0 -3504
  89. package/lib/super-ui.umd.yarn.async-validator~7864cd12.js +0 -1225
  90. package/lib/super-ui.umd.yarn.core-js~2b13b260.js +0 -7542
  91. package/lib/super-ui.umd.yarn.gcommon~c5c7b9b4.js +0 -11
  92. package/lib/super-ui.umd.yarn.gcommon~cd278a5f.js +0 -4846
  93. package/lib/super-ui.umd.yarn.resize-observer-polyfill~7370204d.js +0 -942
  94. package/lib/super-ui.umd.yarn.sortablejs~f811d8fd.js +0 -3714
  95. package/lib/super-ui.umd.yarn.tinymce~253ae210.js +0 -568
  96. package/lib/super-ui.umd.yarn.tinymce~29bc5d46.js +0 -2125
  97. package/lib/super-ui.umd.yarn.tinymce~35f50c21.js +0 -34090
  98. package/lib/super-ui.umd.yarn.tinymce~8a52df3b.js +0 -30088
  99. package/lib/super-ui.umd.yarn.tinymce~97d7b732.js +0 -31
  100. package/lib/super-ui.umd.yarn.tinymce~b5d80f29.js +0 -7936
  101. package/lib/super-ui.umd.yarn.tinymce~c1068939.js +0 -13346
  102. package/lib/super-ui.umd.yarn.vue-i18n~02576867.js +0 -2179
  103. package/lib/super-ui.umd.yarn.vue-virtual-scroll-list~bd67cfcd.js +0 -1069
  104. package/lib/super-ui.umd.yarn.zxing~3446ce64.js +0 -11996
  105. package/lib/super-ui.umd.yarn.zxing~61a1471b.js +0 -11202
  106. package/lib/super-ui.umd.yarn.zxing~b49f3034.js +0 -3576
  107. package/lib/super-ui.umd.yarn.zxing~fd3cc9f3.js +0 -2916
@@ -1,2125 +0,0 @@
1
- ((typeof self !== 'undefined' ? self : this)["webpackJsonpsuper_ui"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpsuper_ui"] || []).push([[15],{
2
-
3
- /***/ "0902":
4
- /***/ (function(module, exports, __webpack_require__) {
5
-
6
- // Exports the "advlist" plugin for usage with module loaders
7
- // Usage:
8
- // CommonJS:
9
- // require('tinymce/plugins/advlist')
10
- // ES2015:
11
- // import 'tinymce/plugins/advlist'
12
- __webpack_require__("88b6");
13
-
14
- /***/ }),
15
-
16
- /***/ "3154":
17
- /***/ (function(module, exports, __webpack_require__) {
18
-
19
- // Exports the "fullscreen" plugin for usage with module loaders
20
- // Usage:
21
- // CommonJS:
22
- // require('tinymce/plugins/fullscreen')
23
- // ES2015:
24
- // import 'tinymce/plugins/fullscreen'
25
- __webpack_require__("f034");
26
-
27
- /***/ }),
28
-
29
- /***/ "855b":
30
- /***/ (function(module, exports, __webpack_require__) {
31
-
32
- // Exports the "directionality" plugin for usage with module loaders
33
- // Usage:
34
- // CommonJS:
35
- // require('tinymce/plugins/directionality')
36
- // ES2015:
37
- // import 'tinymce/plugins/directionality'
38
- __webpack_require__("e2d6");
39
-
40
- /***/ }),
41
-
42
- /***/ "88b6":
43
- /***/ (function(module, exports) {
44
-
45
- /**
46
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
47
- * Licensed under the LGPL or a commercial license.
48
- * For LGPL see License.txt in the project root for license information.
49
- * For commercial licenses see https://www.tiny.cloud/
50
- *
51
- * Version: 5.10.7 (2022-12-06)
52
- */
53
- (function () {
54
- 'use strict';
55
-
56
- var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager');
57
-
58
- var applyListFormat = function (editor, listName, styleValue) {
59
- var cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';
60
- editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue });
61
- };
62
-
63
- var register$1 = function (editor) {
64
- editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
65
- applyListFormat(editor, 'UL', value['list-style-type']);
66
- });
67
- editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
68
- applyListFormat(editor, 'OL', value['list-style-type']);
69
- });
70
- };
71
-
72
- var global = tinymce.util.Tools.resolve('tinymce.util.Tools');
73
-
74
- var getNumberStyles = function (editor) {
75
- var styles = editor.getParam('advlist_number_styles', 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman');
76
- return styles ? styles.split(/[ ,]/) : [];
77
- };
78
- var getBulletStyles = function (editor) {
79
- var styles = editor.getParam('advlist_bullet_styles', 'default,circle,square');
80
- return styles ? styles.split(/[ ,]/) : [];
81
- };
82
-
83
- var noop = function () {
84
- };
85
- var constant = function (value) {
86
- return function () {
87
- return value;
88
- };
89
- };
90
- var identity = function (x) {
91
- return x;
92
- };
93
- var never = constant(false);
94
- var always = constant(true);
95
-
96
- var none = function () {
97
- return NONE;
98
- };
99
- var NONE = function () {
100
- var call = function (thunk) {
101
- return thunk();
102
- };
103
- var id = identity;
104
- var me = {
105
- fold: function (n, _s) {
106
- return n();
107
- },
108
- isSome: never,
109
- isNone: always,
110
- getOr: id,
111
- getOrThunk: call,
112
- getOrDie: function (msg) {
113
- throw new Error(msg || 'error: getOrDie called on none.');
114
- },
115
- getOrNull: constant(null),
116
- getOrUndefined: constant(undefined),
117
- or: id,
118
- orThunk: call,
119
- map: none,
120
- each: noop,
121
- bind: none,
122
- exists: never,
123
- forall: always,
124
- filter: function () {
125
- return none();
126
- },
127
- toArray: function () {
128
- return [];
129
- },
130
- toString: constant('none()')
131
- };
132
- return me;
133
- }();
134
- var some = function (a) {
135
- var constant_a = constant(a);
136
- var self = function () {
137
- return me;
138
- };
139
- var bind = function (f) {
140
- return f(a);
141
- };
142
- var me = {
143
- fold: function (n, s) {
144
- return s(a);
145
- },
146
- isSome: always,
147
- isNone: never,
148
- getOr: constant_a,
149
- getOrThunk: constant_a,
150
- getOrDie: constant_a,
151
- getOrNull: constant_a,
152
- getOrUndefined: constant_a,
153
- or: self,
154
- orThunk: self,
155
- map: function (f) {
156
- return some(f(a));
157
- },
158
- each: function (f) {
159
- f(a);
160
- },
161
- bind: bind,
162
- exists: bind,
163
- forall: bind,
164
- filter: function (f) {
165
- return f(a) ? me : NONE;
166
- },
167
- toArray: function () {
168
- return [a];
169
- },
170
- toString: function () {
171
- return 'some(' + a + ')';
172
- }
173
- };
174
- return me;
175
- };
176
- var from = function (value) {
177
- return value === null || value === undefined ? NONE : some(value);
178
- };
179
- var Optional = {
180
- some: some,
181
- none: none,
182
- from: from
183
- };
184
-
185
- var isChildOfBody = function (editor, elm) {
186
- return editor.$.contains(editor.getBody(), elm);
187
- };
188
- var isTableCellNode = function (node) {
189
- return node && /^(TH|TD)$/.test(node.nodeName);
190
- };
191
- var isListNode = function (editor) {
192
- return function (node) {
193
- return node && /^(OL|UL|DL)$/.test(node.nodeName) && isChildOfBody(editor, node);
194
- };
195
- };
196
- var getSelectedStyleType = function (editor) {
197
- var listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
198
- var style = editor.dom.getStyle(listElm, 'listStyleType');
199
- return Optional.from(style);
200
- };
201
-
202
- var findIndex = function (list, predicate) {
203
- for (var index = 0; index < list.length; index++) {
204
- var element = list[index];
205
- if (predicate(element)) {
206
- return index;
207
- }
208
- }
209
- return -1;
210
- };
211
- var styleValueToText = function (styleValue) {
212
- return styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function (chr) {
213
- return chr.toUpperCase();
214
- });
215
- };
216
- var isWithinList = function (editor, e, nodeName) {
217
- var tableCellIndex = findIndex(e.parents, isTableCellNode);
218
- var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents;
219
- var lists = global.grep(parents, isListNode(editor));
220
- return lists.length > 0 && lists[0].nodeName === nodeName;
221
- };
222
- var makeSetupHandler = function (editor, nodeName) {
223
- return function (api) {
224
- var nodeChangeHandler = function (e) {
225
- api.setActive(isWithinList(editor, e, nodeName));
226
- };
227
- editor.on('NodeChange', nodeChangeHandler);
228
- return function () {
229
- return editor.off('NodeChange', nodeChangeHandler);
230
- };
231
- };
232
- };
233
- var addSplitButton = function (editor, id, tooltip, cmd, nodeName, styles) {
234
- editor.ui.registry.addSplitButton(id, {
235
- tooltip: tooltip,
236
- icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',
237
- presets: 'listpreview',
238
- columns: 3,
239
- fetch: function (callback) {
240
- var items = global.map(styles, function (styleValue) {
241
- var iconStyle = nodeName === 'OL' ? 'num' : 'bull';
242
- var iconName = styleValue === 'disc' || styleValue === 'decimal' ? 'default' : styleValue;
243
- var itemValue = styleValue === 'default' ? '' : styleValue;
244
- var displayText = styleValueToText(styleValue);
245
- return {
246
- type: 'choiceitem',
247
- value: itemValue,
248
- icon: 'list-' + iconStyle + '-' + iconName,
249
- text: displayText
250
- };
251
- });
252
- callback(items);
253
- },
254
- onAction: function () {
255
- return editor.execCommand(cmd);
256
- },
257
- onItemAction: function (_splitButtonApi, value) {
258
- applyListFormat(editor, nodeName, value);
259
- },
260
- select: function (value) {
261
- var listStyleType = getSelectedStyleType(editor);
262
- return listStyleType.map(function (listStyle) {
263
- return value === listStyle;
264
- }).getOr(false);
265
- },
266
- onSetup: makeSetupHandler(editor, nodeName)
267
- });
268
- };
269
- var addButton = function (editor, id, tooltip, cmd, nodeName, _styles) {
270
- editor.ui.registry.addToggleButton(id, {
271
- active: false,
272
- tooltip: tooltip,
273
- icon: nodeName === 'OL' ? 'ordered-list' : 'unordered-list',
274
- onSetup: makeSetupHandler(editor, nodeName),
275
- onAction: function () {
276
- return editor.execCommand(cmd);
277
- }
278
- });
279
- };
280
- var addControl = function (editor, id, tooltip, cmd, nodeName, styles) {
281
- if (styles.length > 1) {
282
- addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
283
- } else {
284
- addButton(editor, id, tooltip, cmd, nodeName);
285
- }
286
- };
287
- var register = function (editor) {
288
- addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', getNumberStyles(editor));
289
- addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', getBulletStyles(editor));
290
- };
291
-
292
- function Plugin () {
293
- global$1.add('advlist', function (editor) {
294
- if (editor.hasPlugin('lists')) {
295
- register(editor);
296
- register$1(editor);
297
- } else {
298
- console.error('Please use the Lists plugin together with the Advanced List plugin.');
299
- }
300
- });
301
- }
302
-
303
- Plugin();
304
-
305
- }());
306
-
307
-
308
- /***/ }),
309
-
310
- /***/ "e2d6":
311
- /***/ (function(module, exports) {
312
-
313
- /**
314
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
315
- * Licensed under the LGPL or a commercial license.
316
- * For LGPL see License.txt in the project root for license information.
317
- * For commercial licenses see https://www.tiny.cloud/
318
- *
319
- * Version: 5.10.7 (2022-12-06)
320
- */
321
- (function () {
322
- 'use strict';
323
-
324
- var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
325
-
326
- var typeOf = function (x) {
327
- var t = typeof x;
328
- if (x === null) {
329
- return 'null';
330
- } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {
331
- return 'array';
332
- } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {
333
- return 'string';
334
- } else {
335
- return t;
336
- }
337
- };
338
- var isType$1 = function (type) {
339
- return function (value) {
340
- return typeOf(value) === type;
341
- };
342
- };
343
- var isSimpleType = function (type) {
344
- return function (value) {
345
- return typeof value === type;
346
- };
347
- };
348
- var isString = isType$1('string');
349
- var isBoolean = isSimpleType('boolean');
350
- var isNullable = function (a) {
351
- return a === null || a === undefined;
352
- };
353
- var isNonNullable = function (a) {
354
- return !isNullable(a);
355
- };
356
- var isFunction = isSimpleType('function');
357
- var isNumber = isSimpleType('number');
358
-
359
- var noop = function () {
360
- };
361
- var compose1 = function (fbc, fab) {
362
- return function (a) {
363
- return fbc(fab(a));
364
- };
365
- };
366
- var constant = function (value) {
367
- return function () {
368
- return value;
369
- };
370
- };
371
- var identity = function (x) {
372
- return x;
373
- };
374
- var never = constant(false);
375
- var always = constant(true);
376
-
377
- var none = function () {
378
- return NONE;
379
- };
380
- var NONE = function () {
381
- var call = function (thunk) {
382
- return thunk();
383
- };
384
- var id = identity;
385
- var me = {
386
- fold: function (n, _s) {
387
- return n();
388
- },
389
- isSome: never,
390
- isNone: always,
391
- getOr: id,
392
- getOrThunk: call,
393
- getOrDie: function (msg) {
394
- throw new Error(msg || 'error: getOrDie called on none.');
395
- },
396
- getOrNull: constant(null),
397
- getOrUndefined: constant(undefined),
398
- or: id,
399
- orThunk: call,
400
- map: none,
401
- each: noop,
402
- bind: none,
403
- exists: never,
404
- forall: always,
405
- filter: function () {
406
- return none();
407
- },
408
- toArray: function () {
409
- return [];
410
- },
411
- toString: constant('none()')
412
- };
413
- return me;
414
- }();
415
- var some = function (a) {
416
- var constant_a = constant(a);
417
- var self = function () {
418
- return me;
419
- };
420
- var bind = function (f) {
421
- return f(a);
422
- };
423
- var me = {
424
- fold: function (n, s) {
425
- return s(a);
426
- },
427
- isSome: always,
428
- isNone: never,
429
- getOr: constant_a,
430
- getOrThunk: constant_a,
431
- getOrDie: constant_a,
432
- getOrNull: constant_a,
433
- getOrUndefined: constant_a,
434
- or: self,
435
- orThunk: self,
436
- map: function (f) {
437
- return some(f(a));
438
- },
439
- each: function (f) {
440
- f(a);
441
- },
442
- bind: bind,
443
- exists: bind,
444
- forall: bind,
445
- filter: function (f) {
446
- return f(a) ? me : NONE;
447
- },
448
- toArray: function () {
449
- return [a];
450
- },
451
- toString: function () {
452
- return 'some(' + a + ')';
453
- }
454
- };
455
- return me;
456
- };
457
- var from = function (value) {
458
- return value === null || value === undefined ? NONE : some(value);
459
- };
460
- var Optional = {
461
- some: some,
462
- none: none,
463
- from: from
464
- };
465
-
466
- var map = function (xs, f) {
467
- var len = xs.length;
468
- var r = new Array(len);
469
- for (var i = 0; i < len; i++) {
470
- var x = xs[i];
471
- r[i] = f(x, i);
472
- }
473
- return r;
474
- };
475
- var each = function (xs, f) {
476
- for (var i = 0, len = xs.length; i < len; i++) {
477
- var x = xs[i];
478
- f(x, i);
479
- }
480
- };
481
- var filter = function (xs, pred) {
482
- var r = [];
483
- for (var i = 0, len = xs.length; i < len; i++) {
484
- var x = xs[i];
485
- if (pred(x, i)) {
486
- r.push(x);
487
- }
488
- }
489
- return r;
490
- };
491
-
492
- var DOCUMENT = 9;
493
- var DOCUMENT_FRAGMENT = 11;
494
- var ELEMENT = 1;
495
- var TEXT = 3;
496
-
497
- var fromHtml = function (html, scope) {
498
- var doc = scope || document;
499
- var div = doc.createElement('div');
500
- div.innerHTML = html;
501
- if (!div.hasChildNodes() || div.childNodes.length > 1) {
502
- console.error('HTML does not have a single root node', html);
503
- throw new Error('HTML must have a single root node');
504
- }
505
- return fromDom(div.childNodes[0]);
506
- };
507
- var fromTag = function (tag, scope) {
508
- var doc = scope || document;
509
- var node = doc.createElement(tag);
510
- return fromDom(node);
511
- };
512
- var fromText = function (text, scope) {
513
- var doc = scope || document;
514
- var node = doc.createTextNode(text);
515
- return fromDom(node);
516
- };
517
- var fromDom = function (node) {
518
- if (node === null || node === undefined) {
519
- throw new Error('Node cannot be null or undefined');
520
- }
521
- return { dom: node };
522
- };
523
- var fromPoint = function (docElm, x, y) {
524
- return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);
525
- };
526
- var SugarElement = {
527
- fromHtml: fromHtml,
528
- fromTag: fromTag,
529
- fromText: fromText,
530
- fromDom: fromDom,
531
- fromPoint: fromPoint
532
- };
533
-
534
- var is = function (element, selector) {
535
- var dom = element.dom;
536
- if (dom.nodeType !== ELEMENT) {
537
- return false;
538
- } else {
539
- var elem = dom;
540
- if (elem.matches !== undefined) {
541
- return elem.matches(selector);
542
- } else if (elem.msMatchesSelector !== undefined) {
543
- return elem.msMatchesSelector(selector);
544
- } else if (elem.webkitMatchesSelector !== undefined) {
545
- return elem.webkitMatchesSelector(selector);
546
- } else if (elem.mozMatchesSelector !== undefined) {
547
- return elem.mozMatchesSelector(selector);
548
- } else {
549
- throw new Error('Browser lacks native selectors');
550
- }
551
- }
552
- };
553
-
554
- typeof window !== 'undefined' ? window : Function('return this;')();
555
-
556
- var name = function (element) {
557
- var r = element.dom.nodeName;
558
- return r.toLowerCase();
559
- };
560
- var type = function (element) {
561
- return element.dom.nodeType;
562
- };
563
- var isType = function (t) {
564
- return function (element) {
565
- return type(element) === t;
566
- };
567
- };
568
- var isElement = isType(ELEMENT);
569
- var isText = isType(TEXT);
570
- var isDocument = isType(DOCUMENT);
571
- var isDocumentFragment = isType(DOCUMENT_FRAGMENT);
572
- var isTag = function (tag) {
573
- return function (e) {
574
- return isElement(e) && name(e) === tag;
575
- };
576
- };
577
-
578
- var owner = function (element) {
579
- return SugarElement.fromDom(element.dom.ownerDocument);
580
- };
581
- var documentOrOwner = function (dos) {
582
- return isDocument(dos) ? dos : owner(dos);
583
- };
584
- var parent = function (element) {
585
- return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
586
- };
587
- var children$2 = function (element) {
588
- return map(element.dom.childNodes, SugarElement.fromDom);
589
- };
590
-
591
- var rawSet = function (dom, key, value) {
592
- if (isString(value) || isBoolean(value) || isNumber(value)) {
593
- dom.setAttribute(key, value + '');
594
- } else {
595
- console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);
596
- throw new Error('Attribute value was not simple');
597
- }
598
- };
599
- var set = function (element, key, value) {
600
- rawSet(element.dom, key, value);
601
- };
602
- var remove = function (element, key) {
603
- element.dom.removeAttribute(key);
604
- };
605
-
606
- var isShadowRoot = function (dos) {
607
- return isDocumentFragment(dos) && isNonNullable(dos.dom.host);
608
- };
609
- var supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);
610
- var getRootNode = supported ? function (e) {
611
- return SugarElement.fromDom(e.dom.getRootNode());
612
- } : documentOrOwner;
613
- var getShadowRoot = function (e) {
614
- var r = getRootNode(e);
615
- return isShadowRoot(r) ? Optional.some(r) : Optional.none();
616
- };
617
- var getShadowHost = function (e) {
618
- return SugarElement.fromDom(e.dom.host);
619
- };
620
-
621
- var inBody = function (element) {
622
- var dom = isText(element) ? element.dom.parentNode : element.dom;
623
- if (dom === undefined || dom === null || dom.ownerDocument === null) {
624
- return false;
625
- }
626
- var doc = dom.ownerDocument;
627
- return getShadowRoot(SugarElement.fromDom(dom)).fold(function () {
628
- return doc.body.contains(dom);
629
- }, compose1(inBody, getShadowHost));
630
- };
631
-
632
- var ancestor$1 = function (scope, predicate, isRoot) {
633
- var element = scope.dom;
634
- var stop = isFunction(isRoot) ? isRoot : never;
635
- while (element.parentNode) {
636
- element = element.parentNode;
637
- var el = SugarElement.fromDom(element);
638
- if (predicate(el)) {
639
- return Optional.some(el);
640
- } else if (stop(el)) {
641
- break;
642
- }
643
- }
644
- return Optional.none();
645
- };
646
-
647
- var ancestor = function (scope, selector, isRoot) {
648
- return ancestor$1(scope, function (e) {
649
- return is(e, selector);
650
- }, isRoot);
651
- };
652
-
653
- var isSupported = function (dom) {
654
- return dom.style !== undefined && isFunction(dom.style.getPropertyValue);
655
- };
656
-
657
- var get = function (element, property) {
658
- var dom = element.dom;
659
- var styles = window.getComputedStyle(dom);
660
- var r = styles.getPropertyValue(property);
661
- return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;
662
- };
663
- var getUnsafeProperty = function (dom, property) {
664
- return isSupported(dom) ? dom.style.getPropertyValue(property) : '';
665
- };
666
-
667
- var getDirection = function (element) {
668
- return get(element, 'direction') === 'rtl' ? 'rtl' : 'ltr';
669
- };
670
-
671
- var children$1 = function (scope, predicate) {
672
- return filter(children$2(scope), predicate);
673
- };
674
-
675
- var children = function (scope, selector) {
676
- return children$1(scope, function (e) {
677
- return is(e, selector);
678
- });
679
- };
680
-
681
- var getParentElement = function (element) {
682
- return parent(element).filter(isElement);
683
- };
684
- var getNormalizedBlock = function (element, isListItem) {
685
- var normalizedElement = isListItem ? ancestor(element, 'ol,ul') : Optional.some(element);
686
- return normalizedElement.getOr(element);
687
- };
688
- var isListItem = isTag('li');
689
- var setDir = function (editor, dir) {
690
- var selectedBlocks = editor.selection.getSelectedBlocks();
691
- if (selectedBlocks.length > 0) {
692
- each(selectedBlocks, function (block) {
693
- var blockElement = SugarElement.fromDom(block);
694
- var isBlockElementListItem = isListItem(blockElement);
695
- var normalizedBlock = getNormalizedBlock(blockElement, isBlockElementListItem);
696
- var normalizedBlockParent = getParentElement(normalizedBlock);
697
- normalizedBlockParent.each(function (parent) {
698
- var parentDirection = getDirection(parent);
699
- if (parentDirection !== dir) {
700
- set(normalizedBlock, 'dir', dir);
701
- } else if (getDirection(normalizedBlock) !== dir) {
702
- remove(normalizedBlock, 'dir');
703
- }
704
- if (isBlockElementListItem) {
705
- var listItems = children(normalizedBlock, 'li[dir]');
706
- each(listItems, function (listItem) {
707
- return remove(listItem, 'dir');
708
- });
709
- }
710
- });
711
- });
712
- editor.nodeChanged();
713
- }
714
- };
715
-
716
- var register$1 = function (editor) {
717
- editor.addCommand('mceDirectionLTR', function () {
718
- setDir(editor, 'ltr');
719
- });
720
- editor.addCommand('mceDirectionRTL', function () {
721
- setDir(editor, 'rtl');
722
- });
723
- };
724
-
725
- var getNodeChangeHandler = function (editor, dir) {
726
- return function (api) {
727
- var nodeChangeHandler = function (e) {
728
- var element = SugarElement.fromDom(e.element);
729
- api.setActive(getDirection(element) === dir);
730
- };
731
- editor.on('NodeChange', nodeChangeHandler);
732
- return function () {
733
- return editor.off('NodeChange', nodeChangeHandler);
734
- };
735
- };
736
- };
737
- var register = function (editor) {
738
- editor.ui.registry.addToggleButton('ltr', {
739
- tooltip: 'Left to right',
740
- icon: 'ltr',
741
- onAction: function () {
742
- return editor.execCommand('mceDirectionLTR');
743
- },
744
- onSetup: getNodeChangeHandler(editor, 'ltr')
745
- });
746
- editor.ui.registry.addToggleButton('rtl', {
747
- tooltip: 'Right to left',
748
- icon: 'rtl',
749
- onAction: function () {
750
- return editor.execCommand('mceDirectionRTL');
751
- },
752
- onSetup: getNodeChangeHandler(editor, 'rtl')
753
- });
754
- };
755
-
756
- function Plugin () {
757
- global.add('directionality', function (editor) {
758
- register$1(editor);
759
- register(editor);
760
- });
761
- }
762
-
763
- Plugin();
764
-
765
- }());
766
-
767
-
768
- /***/ }),
769
-
770
- /***/ "f034":
771
- /***/ (function(module, exports) {
772
-
773
- /**
774
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
775
- * Licensed under the LGPL or a commercial license.
776
- * For LGPL see License.txt in the project root for license information.
777
- * For commercial licenses see https://www.tiny.cloud/
778
- *
779
- * Version: 5.10.7 (2022-12-06)
780
- */
781
- (function () {
782
- 'use strict';
783
-
784
- var Cell = function (initial) {
785
- var value = initial;
786
- var get = function () {
787
- return value;
788
- };
789
- var set = function (v) {
790
- value = v;
791
- };
792
- return {
793
- get: get,
794
- set: set
795
- };
796
- };
797
-
798
- var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');
799
-
800
- var get$5 = function (fullscreenState) {
801
- return {
802
- isFullscreen: function () {
803
- return fullscreenState.get() !== null;
804
- }
805
- };
806
- };
807
-
808
- var typeOf = function (x) {
809
- var t = typeof x;
810
- if (x === null) {
811
- return 'null';
812
- } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {
813
- return 'array';
814
- } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {
815
- return 'string';
816
- } else {
817
- return t;
818
- }
819
- };
820
- var isType$1 = function (type) {
821
- return function (value) {
822
- return typeOf(value) === type;
823
- };
824
- };
825
- var isSimpleType = function (type) {
826
- return function (value) {
827
- return typeof value === type;
828
- };
829
- };
830
- var isString = isType$1('string');
831
- var isArray = isType$1('array');
832
- var isBoolean = isSimpleType('boolean');
833
- var isNullable = function (a) {
834
- return a === null || a === undefined;
835
- };
836
- var isNonNullable = function (a) {
837
- return !isNullable(a);
838
- };
839
- var isFunction = isSimpleType('function');
840
- var isNumber = isSimpleType('number');
841
-
842
- var noop = function () {
843
- };
844
- var compose = function (fa, fb) {
845
- return function () {
846
- var args = [];
847
- for (var _i = 0; _i < arguments.length; _i++) {
848
- args[_i] = arguments[_i];
849
- }
850
- return fa(fb.apply(null, args));
851
- };
852
- };
853
- var compose1 = function (fbc, fab) {
854
- return function (a) {
855
- return fbc(fab(a));
856
- };
857
- };
858
- var constant = function (value) {
859
- return function () {
860
- return value;
861
- };
862
- };
863
- var identity = function (x) {
864
- return x;
865
- };
866
- function curry(fn) {
867
- var initialArgs = [];
868
- for (var _i = 1; _i < arguments.length; _i++) {
869
- initialArgs[_i - 1] = arguments[_i];
870
- }
871
- return function () {
872
- var restArgs = [];
873
- for (var _i = 0; _i < arguments.length; _i++) {
874
- restArgs[_i] = arguments[_i];
875
- }
876
- var all = initialArgs.concat(restArgs);
877
- return fn.apply(null, all);
878
- };
879
- }
880
- var never = constant(false);
881
- var always = constant(true);
882
-
883
- var none = function () {
884
- return NONE;
885
- };
886
- var NONE = function () {
887
- var call = function (thunk) {
888
- return thunk();
889
- };
890
- var id = identity;
891
- var me = {
892
- fold: function (n, _s) {
893
- return n();
894
- },
895
- isSome: never,
896
- isNone: always,
897
- getOr: id,
898
- getOrThunk: call,
899
- getOrDie: function (msg) {
900
- throw new Error(msg || 'error: getOrDie called on none.');
901
- },
902
- getOrNull: constant(null),
903
- getOrUndefined: constant(undefined),
904
- or: id,
905
- orThunk: call,
906
- map: none,
907
- each: noop,
908
- bind: none,
909
- exists: never,
910
- forall: always,
911
- filter: function () {
912
- return none();
913
- },
914
- toArray: function () {
915
- return [];
916
- },
917
- toString: constant('none()')
918
- };
919
- return me;
920
- }();
921
- var some = function (a) {
922
- var constant_a = constant(a);
923
- var self = function () {
924
- return me;
925
- };
926
- var bind = function (f) {
927
- return f(a);
928
- };
929
- var me = {
930
- fold: function (n, s) {
931
- return s(a);
932
- },
933
- isSome: always,
934
- isNone: never,
935
- getOr: constant_a,
936
- getOrThunk: constant_a,
937
- getOrDie: constant_a,
938
- getOrNull: constant_a,
939
- getOrUndefined: constant_a,
940
- or: self,
941
- orThunk: self,
942
- map: function (f) {
943
- return some(f(a));
944
- },
945
- each: function (f) {
946
- f(a);
947
- },
948
- bind: bind,
949
- exists: bind,
950
- forall: bind,
951
- filter: function (f) {
952
- return f(a) ? me : NONE;
953
- },
954
- toArray: function () {
955
- return [a];
956
- },
957
- toString: function () {
958
- return 'some(' + a + ')';
959
- }
960
- };
961
- return me;
962
- };
963
- var from = function (value) {
964
- return value === null || value === undefined ? NONE : some(value);
965
- };
966
- var Optional = {
967
- some: some,
968
- none: none,
969
- from: from
970
- };
971
-
972
- var __assign = function () {
973
- __assign = Object.assign || function __assign(t) {
974
- for (var s, i = 1, n = arguments.length; i < n; i++) {
975
- s = arguments[i];
976
- for (var p in s)
977
- if (Object.prototype.hasOwnProperty.call(s, p))
978
- t[p] = s[p];
979
- }
980
- return t;
981
- };
982
- return __assign.apply(this, arguments);
983
- };
984
-
985
- var singleton = function (doRevoke) {
986
- var subject = Cell(Optional.none());
987
- var revoke = function () {
988
- return subject.get().each(doRevoke);
989
- };
990
- var clear = function () {
991
- revoke();
992
- subject.set(Optional.none());
993
- };
994
- var isSet = function () {
995
- return subject.get().isSome();
996
- };
997
- var get = function () {
998
- return subject.get();
999
- };
1000
- var set = function (s) {
1001
- revoke();
1002
- subject.set(Optional.some(s));
1003
- };
1004
- return {
1005
- clear: clear,
1006
- isSet: isSet,
1007
- get: get,
1008
- set: set
1009
- };
1010
- };
1011
- var unbindable = function () {
1012
- return singleton(function (s) {
1013
- return s.unbind();
1014
- });
1015
- };
1016
- var value = function () {
1017
- var subject = singleton(noop);
1018
- var on = function (f) {
1019
- return subject.get().each(f);
1020
- };
1021
- return __assign(__assign({}, subject), { on: on });
1022
- };
1023
-
1024
- var nativePush = Array.prototype.push;
1025
- var map = function (xs, f) {
1026
- var len = xs.length;
1027
- var r = new Array(len);
1028
- for (var i = 0; i < len; i++) {
1029
- var x = xs[i];
1030
- r[i] = f(x, i);
1031
- }
1032
- return r;
1033
- };
1034
- var each$1 = function (xs, f) {
1035
- for (var i = 0, len = xs.length; i < len; i++) {
1036
- var x = xs[i];
1037
- f(x, i);
1038
- }
1039
- };
1040
- var filter$1 = function (xs, pred) {
1041
- var r = [];
1042
- for (var i = 0, len = xs.length; i < len; i++) {
1043
- var x = xs[i];
1044
- if (pred(x, i)) {
1045
- r.push(x);
1046
- }
1047
- }
1048
- return r;
1049
- };
1050
- var findUntil = function (xs, pred, until) {
1051
- for (var i = 0, len = xs.length; i < len; i++) {
1052
- var x = xs[i];
1053
- if (pred(x, i)) {
1054
- return Optional.some(x);
1055
- } else if (until(x, i)) {
1056
- break;
1057
- }
1058
- }
1059
- return Optional.none();
1060
- };
1061
- var find$1 = function (xs, pred) {
1062
- return findUntil(xs, pred, never);
1063
- };
1064
- var flatten = function (xs) {
1065
- var r = [];
1066
- for (var i = 0, len = xs.length; i < len; ++i) {
1067
- if (!isArray(xs[i])) {
1068
- throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
1069
- }
1070
- nativePush.apply(r, xs[i]);
1071
- }
1072
- return r;
1073
- };
1074
- var bind$3 = function (xs, f) {
1075
- return flatten(map(xs, f));
1076
- };
1077
- var get$4 = function (xs, i) {
1078
- return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();
1079
- };
1080
- var head = function (xs) {
1081
- return get$4(xs, 0);
1082
- };
1083
- var findMap = function (arr, f) {
1084
- for (var i = 0; i < arr.length; i++) {
1085
- var r = f(arr[i], i);
1086
- if (r.isSome()) {
1087
- return r;
1088
- }
1089
- }
1090
- return Optional.none();
1091
- };
1092
-
1093
- var keys = Object.keys;
1094
- var each = function (obj, f) {
1095
- var props = keys(obj);
1096
- for (var k = 0, len = props.length; k < len; k++) {
1097
- var i = props[k];
1098
- var x = obj[i];
1099
- f(x, i);
1100
- }
1101
- };
1102
-
1103
- var contains = function (str, substr) {
1104
- return str.indexOf(substr) !== -1;
1105
- };
1106
-
1107
- var isSupported$1 = function (dom) {
1108
- return dom.style !== undefined && isFunction(dom.style.getPropertyValue);
1109
- };
1110
-
1111
- var fromHtml = function (html, scope) {
1112
- var doc = scope || document;
1113
- var div = doc.createElement('div');
1114
- div.innerHTML = html;
1115
- if (!div.hasChildNodes() || div.childNodes.length > 1) {
1116
- console.error('HTML does not have a single root node', html);
1117
- throw new Error('HTML must have a single root node');
1118
- }
1119
- return fromDom(div.childNodes[0]);
1120
- };
1121
- var fromTag = function (tag, scope) {
1122
- var doc = scope || document;
1123
- var node = doc.createElement(tag);
1124
- return fromDom(node);
1125
- };
1126
- var fromText = function (text, scope) {
1127
- var doc = scope || document;
1128
- var node = doc.createTextNode(text);
1129
- return fromDom(node);
1130
- };
1131
- var fromDom = function (node) {
1132
- if (node === null || node === undefined) {
1133
- throw new Error('Node cannot be null or undefined');
1134
- }
1135
- return { dom: node };
1136
- };
1137
- var fromPoint = function (docElm, x, y) {
1138
- return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);
1139
- };
1140
- var SugarElement = {
1141
- fromHtml: fromHtml,
1142
- fromTag: fromTag,
1143
- fromText: fromText,
1144
- fromDom: fromDom,
1145
- fromPoint: fromPoint
1146
- };
1147
-
1148
- typeof window !== 'undefined' ? window : Function('return this;')();
1149
-
1150
- var DOCUMENT = 9;
1151
- var DOCUMENT_FRAGMENT = 11;
1152
- var ELEMENT = 1;
1153
- var TEXT = 3;
1154
-
1155
- var type = function (element) {
1156
- return element.dom.nodeType;
1157
- };
1158
- var isType = function (t) {
1159
- return function (element) {
1160
- return type(element) === t;
1161
- };
1162
- };
1163
- var isElement = isType(ELEMENT);
1164
- var isText = isType(TEXT);
1165
- var isDocument = isType(DOCUMENT);
1166
- var isDocumentFragment = isType(DOCUMENT_FRAGMENT);
1167
-
1168
- var cached = function (f) {
1169
- var called = false;
1170
- var r;
1171
- return function () {
1172
- var args = [];
1173
- for (var _i = 0; _i < arguments.length; _i++) {
1174
- args[_i] = arguments[_i];
1175
- }
1176
- if (!called) {
1177
- called = true;
1178
- r = f.apply(null, args);
1179
- }
1180
- return r;
1181
- };
1182
- };
1183
-
1184
- var DeviceType = function (os, browser, userAgent, mediaMatch) {
1185
- var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true;
1186
- var isiPhone = os.isiOS() && !isiPad;
1187
- var isMobile = os.isiOS() || os.isAndroid();
1188
- var isTouch = isMobile || mediaMatch('(pointer:coarse)');
1189
- var isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)');
1190
- var isPhone = isiPhone || isMobile && !isTablet;
1191
- var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false;
1192
- var isDesktop = !isPhone && !isTablet && !iOSwebview;
1193
- return {
1194
- isiPad: constant(isiPad),
1195
- isiPhone: constant(isiPhone),
1196
- isTablet: constant(isTablet),
1197
- isPhone: constant(isPhone),
1198
- isTouch: constant(isTouch),
1199
- isAndroid: os.isAndroid,
1200
- isiOS: os.isiOS,
1201
- isWebView: constant(iOSwebview),
1202
- isDesktop: constant(isDesktop)
1203
- };
1204
- };
1205
-
1206
- var firstMatch = function (regexes, s) {
1207
- for (var i = 0; i < regexes.length; i++) {
1208
- var x = regexes[i];
1209
- if (x.test(s)) {
1210
- return x;
1211
- }
1212
- }
1213
- return undefined;
1214
- };
1215
- var find = function (regexes, agent) {
1216
- var r = firstMatch(regexes, agent);
1217
- if (!r) {
1218
- return {
1219
- major: 0,
1220
- minor: 0
1221
- };
1222
- }
1223
- var group = function (i) {
1224
- return Number(agent.replace(r, '$' + i));
1225
- };
1226
- return nu$2(group(1), group(2));
1227
- };
1228
- var detect$3 = function (versionRegexes, agent) {
1229
- var cleanedAgent = String(agent).toLowerCase();
1230
- if (versionRegexes.length === 0) {
1231
- return unknown$2();
1232
- }
1233
- return find(versionRegexes, cleanedAgent);
1234
- };
1235
- var unknown$2 = function () {
1236
- return nu$2(0, 0);
1237
- };
1238
- var nu$2 = function (major, minor) {
1239
- return {
1240
- major: major,
1241
- minor: minor
1242
- };
1243
- };
1244
- var Version = {
1245
- nu: nu$2,
1246
- detect: detect$3,
1247
- unknown: unknown$2
1248
- };
1249
-
1250
- var detectBrowser$1 = function (browsers, userAgentData) {
1251
- return findMap(userAgentData.brands, function (uaBrand) {
1252
- var lcBrand = uaBrand.brand.toLowerCase();
1253
- return find$1(browsers, function (browser) {
1254
- var _a;
1255
- return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase());
1256
- }).map(function (info) {
1257
- return {
1258
- current: info.name,
1259
- version: Version.nu(parseInt(uaBrand.version, 10), 0)
1260
- };
1261
- });
1262
- });
1263
- };
1264
-
1265
- var detect$2 = function (candidates, userAgent) {
1266
- var agent = String(userAgent).toLowerCase();
1267
- return find$1(candidates, function (candidate) {
1268
- return candidate.search(agent);
1269
- });
1270
- };
1271
- var detectBrowser = function (browsers, userAgent) {
1272
- return detect$2(browsers, userAgent).map(function (browser) {
1273
- var version = Version.detect(browser.versionRegexes, userAgent);
1274
- return {
1275
- current: browser.name,
1276
- version: version
1277
- };
1278
- });
1279
- };
1280
- var detectOs = function (oses, userAgent) {
1281
- return detect$2(oses, userAgent).map(function (os) {
1282
- var version = Version.detect(os.versionRegexes, userAgent);
1283
- return {
1284
- current: os.name,
1285
- version: version
1286
- };
1287
- });
1288
- };
1289
-
1290
- var normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/;
1291
- var checkContains = function (target) {
1292
- return function (uastring) {
1293
- return contains(uastring, target);
1294
- };
1295
- };
1296
- var browsers = [
1297
- {
1298
- name: 'Edge',
1299
- versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
1300
- search: function (uastring) {
1301
- return contains(uastring, 'edge/') && contains(uastring, 'chrome') && contains(uastring, 'safari') && contains(uastring, 'applewebkit');
1302
- }
1303
- },
1304
- {
1305
- name: 'Chrome',
1306
- brand: 'Chromium',
1307
- versionRegexes: [
1308
- /.*?chrome\/([0-9]+)\.([0-9]+).*/,
1309
- normalVersionRegex
1310
- ],
1311
- search: function (uastring) {
1312
- return contains(uastring, 'chrome') && !contains(uastring, 'chromeframe');
1313
- }
1314
- },
1315
- {
1316
- name: 'IE',
1317
- versionRegexes: [
1318
- /.*?msie\ ?([0-9]+)\.([0-9]+).*/,
1319
- /.*?rv:([0-9]+)\.([0-9]+).*/
1320
- ],
1321
- search: function (uastring) {
1322
- return contains(uastring, 'msie') || contains(uastring, 'trident');
1323
- }
1324
- },
1325
- {
1326
- name: 'Opera',
1327
- versionRegexes: [
1328
- normalVersionRegex,
1329
- /.*?opera\/([0-9]+)\.([0-9]+).*/
1330
- ],
1331
- search: checkContains('opera')
1332
- },
1333
- {
1334
- name: 'Firefox',
1335
- versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],
1336
- search: checkContains('firefox')
1337
- },
1338
- {
1339
- name: 'Safari',
1340
- versionRegexes: [
1341
- normalVersionRegex,
1342
- /.*?cpu os ([0-9]+)_([0-9]+).*/
1343
- ],
1344
- search: function (uastring) {
1345
- return (contains(uastring, 'safari') || contains(uastring, 'mobile/')) && contains(uastring, 'applewebkit');
1346
- }
1347
- }
1348
- ];
1349
- var oses = [
1350
- {
1351
- name: 'Windows',
1352
- search: checkContains('win'),
1353
- versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]
1354
- },
1355
- {
1356
- name: 'iOS',
1357
- search: function (uastring) {
1358
- return contains(uastring, 'iphone') || contains(uastring, 'ipad');
1359
- },
1360
- versionRegexes: [
1361
- /.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
1362
- /.*cpu os ([0-9]+)_([0-9]+).*/,
1363
- /.*cpu iphone os ([0-9]+)_([0-9]+).*/
1364
- ]
1365
- },
1366
- {
1367
- name: 'Android',
1368
- search: checkContains('android'),
1369
- versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/]
1370
- },
1371
- {
1372
- name: 'OSX',
1373
- search: checkContains('mac os x'),
1374
- versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]
1375
- },
1376
- {
1377
- name: 'Linux',
1378
- search: checkContains('linux'),
1379
- versionRegexes: []
1380
- },
1381
- {
1382
- name: 'Solaris',
1383
- search: checkContains('sunos'),
1384
- versionRegexes: []
1385
- },
1386
- {
1387
- name: 'FreeBSD',
1388
- search: checkContains('freebsd'),
1389
- versionRegexes: []
1390
- },
1391
- {
1392
- name: 'ChromeOS',
1393
- search: checkContains('cros'),
1394
- versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/]
1395
- }
1396
- ];
1397
- var PlatformInfo = {
1398
- browsers: constant(browsers),
1399
- oses: constant(oses)
1400
- };
1401
-
1402
- var edge = 'Edge';
1403
- var chrome = 'Chrome';
1404
- var ie = 'IE';
1405
- var opera = 'Opera';
1406
- var firefox = 'Firefox';
1407
- var safari = 'Safari';
1408
- var unknown$1 = function () {
1409
- return nu$1({
1410
- current: undefined,
1411
- version: Version.unknown()
1412
- });
1413
- };
1414
- var nu$1 = function (info) {
1415
- var current = info.current;
1416
- var version = info.version;
1417
- var isBrowser = function (name) {
1418
- return function () {
1419
- return current === name;
1420
- };
1421
- };
1422
- return {
1423
- current: current,
1424
- version: version,
1425
- isEdge: isBrowser(edge),
1426
- isChrome: isBrowser(chrome),
1427
- isIE: isBrowser(ie),
1428
- isOpera: isBrowser(opera),
1429
- isFirefox: isBrowser(firefox),
1430
- isSafari: isBrowser(safari)
1431
- };
1432
- };
1433
- var Browser = {
1434
- unknown: unknown$1,
1435
- nu: nu$1,
1436
- edge: constant(edge),
1437
- chrome: constant(chrome),
1438
- ie: constant(ie),
1439
- opera: constant(opera),
1440
- firefox: constant(firefox),
1441
- safari: constant(safari)
1442
- };
1443
-
1444
- var windows = 'Windows';
1445
- var ios = 'iOS';
1446
- var android = 'Android';
1447
- var linux = 'Linux';
1448
- var osx = 'OSX';
1449
- var solaris = 'Solaris';
1450
- var freebsd = 'FreeBSD';
1451
- var chromeos = 'ChromeOS';
1452
- var unknown = function () {
1453
- return nu({
1454
- current: undefined,
1455
- version: Version.unknown()
1456
- });
1457
- };
1458
- var nu = function (info) {
1459
- var current = info.current;
1460
- var version = info.version;
1461
- var isOS = function (name) {
1462
- return function () {
1463
- return current === name;
1464
- };
1465
- };
1466
- return {
1467
- current: current,
1468
- version: version,
1469
- isWindows: isOS(windows),
1470
- isiOS: isOS(ios),
1471
- isAndroid: isOS(android),
1472
- isOSX: isOS(osx),
1473
- isLinux: isOS(linux),
1474
- isSolaris: isOS(solaris),
1475
- isFreeBSD: isOS(freebsd),
1476
- isChromeOS: isOS(chromeos)
1477
- };
1478
- };
1479
- var OperatingSystem = {
1480
- unknown: unknown,
1481
- nu: nu,
1482
- windows: constant(windows),
1483
- ios: constant(ios),
1484
- android: constant(android),
1485
- linux: constant(linux),
1486
- osx: constant(osx),
1487
- solaris: constant(solaris),
1488
- freebsd: constant(freebsd),
1489
- chromeos: constant(chromeos)
1490
- };
1491
-
1492
- var detect$1 = function (userAgent, userAgentDataOpt, mediaMatch) {
1493
- var browsers = PlatformInfo.browsers();
1494
- var oses = PlatformInfo.oses();
1495
- var browser = userAgentDataOpt.bind(function (userAgentData) {
1496
- return detectBrowser$1(browsers, userAgentData);
1497
- }).orThunk(function () {
1498
- return detectBrowser(browsers, userAgent);
1499
- }).fold(Browser.unknown, Browser.nu);
1500
- var os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu);
1501
- var deviceType = DeviceType(os, browser, userAgent, mediaMatch);
1502
- return {
1503
- browser: browser,
1504
- os: os,
1505
- deviceType: deviceType
1506
- };
1507
- };
1508
- var PlatformDetection = { detect: detect$1 };
1509
-
1510
- var mediaMatch = function (query) {
1511
- return window.matchMedia(query).matches;
1512
- };
1513
- var platform = cached(function () {
1514
- return PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch);
1515
- });
1516
- var detect = function () {
1517
- return platform();
1518
- };
1519
-
1520
- var is = function (element, selector) {
1521
- var dom = element.dom;
1522
- if (dom.nodeType !== ELEMENT) {
1523
- return false;
1524
- } else {
1525
- var elem = dom;
1526
- if (elem.matches !== undefined) {
1527
- return elem.matches(selector);
1528
- } else if (elem.msMatchesSelector !== undefined) {
1529
- return elem.msMatchesSelector(selector);
1530
- } else if (elem.webkitMatchesSelector !== undefined) {
1531
- return elem.webkitMatchesSelector(selector);
1532
- } else if (elem.mozMatchesSelector !== undefined) {
1533
- return elem.mozMatchesSelector(selector);
1534
- } else {
1535
- throw new Error('Browser lacks native selectors');
1536
- }
1537
- }
1538
- };
1539
- var bypassSelector = function (dom) {
1540
- return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;
1541
- };
1542
- var all$1 = function (selector, scope) {
1543
- var base = scope === undefined ? document : scope.dom;
1544
- return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);
1545
- };
1546
-
1547
- var eq = function (e1, e2) {
1548
- return e1.dom === e2.dom;
1549
- };
1550
-
1551
- var owner = function (element) {
1552
- return SugarElement.fromDom(element.dom.ownerDocument);
1553
- };
1554
- var documentOrOwner = function (dos) {
1555
- return isDocument(dos) ? dos : owner(dos);
1556
- };
1557
- var parent = function (element) {
1558
- return Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
1559
- };
1560
- var parents = function (element, isRoot) {
1561
- var stop = isFunction(isRoot) ? isRoot : never;
1562
- var dom = element.dom;
1563
- var ret = [];
1564
- while (dom.parentNode !== null && dom.parentNode !== undefined) {
1565
- var rawParent = dom.parentNode;
1566
- var p = SugarElement.fromDom(rawParent);
1567
- ret.push(p);
1568
- if (stop(p) === true) {
1569
- break;
1570
- } else {
1571
- dom = rawParent;
1572
- }
1573
- }
1574
- return ret;
1575
- };
1576
- var siblings$2 = function (element) {
1577
- var filterSelf = function (elements) {
1578
- return filter$1(elements, function (x) {
1579
- return !eq(element, x);
1580
- });
1581
- };
1582
- return parent(element).map(children).map(filterSelf).getOr([]);
1583
- };
1584
- var children = function (element) {
1585
- return map(element.dom.childNodes, SugarElement.fromDom);
1586
- };
1587
-
1588
- var isShadowRoot = function (dos) {
1589
- return isDocumentFragment(dos) && isNonNullable(dos.dom.host);
1590
- };
1591
- var supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);
1592
- var isSupported = constant(supported);
1593
- var getRootNode = supported ? function (e) {
1594
- return SugarElement.fromDom(e.dom.getRootNode());
1595
- } : documentOrOwner;
1596
- var getShadowRoot = function (e) {
1597
- var r = getRootNode(e);
1598
- return isShadowRoot(r) ? Optional.some(r) : Optional.none();
1599
- };
1600
- var getShadowHost = function (e) {
1601
- return SugarElement.fromDom(e.dom.host);
1602
- };
1603
- var getOriginalEventTarget = function (event) {
1604
- if (isSupported() && isNonNullable(event.target)) {
1605
- var el = SugarElement.fromDom(event.target);
1606
- if (isElement(el) && isOpenShadowHost(el)) {
1607
- if (event.composed && event.composedPath) {
1608
- var composedPath = event.composedPath();
1609
- if (composedPath) {
1610
- return head(composedPath);
1611
- }
1612
- }
1613
- }
1614
- }
1615
- return Optional.from(event.target);
1616
- };
1617
- var isOpenShadowHost = function (element) {
1618
- return isNonNullable(element.dom.shadowRoot);
1619
- };
1620
-
1621
- var inBody = function (element) {
1622
- var dom = isText(element) ? element.dom.parentNode : element.dom;
1623
- if (dom === undefined || dom === null || dom.ownerDocument === null) {
1624
- return false;
1625
- }
1626
- var doc = dom.ownerDocument;
1627
- return getShadowRoot(SugarElement.fromDom(dom)).fold(function () {
1628
- return doc.body.contains(dom);
1629
- }, compose1(inBody, getShadowHost));
1630
- };
1631
- var getBody = function (doc) {
1632
- var b = doc.dom.body;
1633
- if (b === null || b === undefined) {
1634
- throw new Error('Body is not available yet');
1635
- }
1636
- return SugarElement.fromDom(b);
1637
- };
1638
-
1639
- var rawSet = function (dom, key, value) {
1640
- if (isString(value) || isBoolean(value) || isNumber(value)) {
1641
- dom.setAttribute(key, value + '');
1642
- } else {
1643
- console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);
1644
- throw new Error('Attribute value was not simple');
1645
- }
1646
- };
1647
- var set = function (element, key, value) {
1648
- rawSet(element.dom, key, value);
1649
- };
1650
- var get$3 = function (element, key) {
1651
- var v = element.dom.getAttribute(key);
1652
- return v === null ? undefined : v;
1653
- };
1654
- var remove = function (element, key) {
1655
- element.dom.removeAttribute(key);
1656
- };
1657
-
1658
- var internalSet = function (dom, property, value) {
1659
- if (!isString(value)) {
1660
- console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);
1661
- throw new Error('CSS value must be a string: ' + value);
1662
- }
1663
- if (isSupported$1(dom)) {
1664
- dom.style.setProperty(property, value);
1665
- }
1666
- };
1667
- var setAll = function (element, css) {
1668
- var dom = element.dom;
1669
- each(css, function (v, k) {
1670
- internalSet(dom, k, v);
1671
- });
1672
- };
1673
- var get$2 = function (element, property) {
1674
- var dom = element.dom;
1675
- var styles = window.getComputedStyle(dom);
1676
- var r = styles.getPropertyValue(property);
1677
- return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r;
1678
- };
1679
- var getUnsafeProperty = function (dom, property) {
1680
- return isSupported$1(dom) ? dom.style.getPropertyValue(property) : '';
1681
- };
1682
-
1683
- var mkEvent = function (target, x, y, stop, prevent, kill, raw) {
1684
- return {
1685
- target: target,
1686
- x: x,
1687
- y: y,
1688
- stop: stop,
1689
- prevent: prevent,
1690
- kill: kill,
1691
- raw: raw
1692
- };
1693
- };
1694
- var fromRawEvent = function (rawEvent) {
1695
- var target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target));
1696
- var stop = function () {
1697
- return rawEvent.stopPropagation();
1698
- };
1699
- var prevent = function () {
1700
- return rawEvent.preventDefault();
1701
- };
1702
- var kill = compose(prevent, stop);
1703
- return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent);
1704
- };
1705
- var handle = function (filter, handler) {
1706
- return function (rawEvent) {
1707
- if (filter(rawEvent)) {
1708
- handler(fromRawEvent(rawEvent));
1709
- }
1710
- };
1711
- };
1712
- var binder = function (element, event, filter, handler, useCapture) {
1713
- var wrapped = handle(filter, handler);
1714
- element.dom.addEventListener(event, wrapped, useCapture);
1715
- return { unbind: curry(unbind, element, event, wrapped, useCapture) };
1716
- };
1717
- var bind$2 = function (element, event, filter, handler) {
1718
- return binder(element, event, filter, handler, false);
1719
- };
1720
- var unbind = function (element, event, handler, useCapture) {
1721
- element.dom.removeEventListener(event, handler, useCapture);
1722
- };
1723
-
1724
- var filter = always;
1725
- var bind$1 = function (element, event, handler) {
1726
- return bind$2(element, event, filter, handler);
1727
- };
1728
-
1729
- var r = function (left, top) {
1730
- var translate = function (x, y) {
1731
- return r(left + x, top + y);
1732
- };
1733
- return {
1734
- left: left,
1735
- top: top,
1736
- translate: translate
1737
- };
1738
- };
1739
- var SugarPosition = r;
1740
-
1741
- var get$1 = function (_DOC) {
1742
- var doc = _DOC !== undefined ? _DOC.dom : document;
1743
- var x = doc.body.scrollLeft || doc.documentElement.scrollLeft;
1744
- var y = doc.body.scrollTop || doc.documentElement.scrollTop;
1745
- return SugarPosition(x, y);
1746
- };
1747
-
1748
- var get = function (_win) {
1749
- var win = _win === undefined ? window : _win;
1750
- if (detect().browser.isFirefox()) {
1751
- return Optional.none();
1752
- } else {
1753
- return Optional.from(win['visualViewport']);
1754
- }
1755
- };
1756
- var bounds = function (x, y, width, height) {
1757
- return {
1758
- x: x,
1759
- y: y,
1760
- width: width,
1761
- height: height,
1762
- right: x + width,
1763
- bottom: y + height
1764
- };
1765
- };
1766
- var getBounds = function (_win) {
1767
- var win = _win === undefined ? window : _win;
1768
- var doc = win.document;
1769
- var scroll = get$1(SugarElement.fromDom(doc));
1770
- return get(win).fold(function () {
1771
- var html = win.document.documentElement;
1772
- var width = html.clientWidth;
1773
- var height = html.clientHeight;
1774
- return bounds(scroll.left, scroll.top, width, height);
1775
- }, function (visualViewport) {
1776
- return bounds(Math.max(visualViewport.pageLeft, scroll.left), Math.max(visualViewport.pageTop, scroll.top), visualViewport.width, visualViewport.height);
1777
- });
1778
- };
1779
- var bind = function (name, callback, _win) {
1780
- return get(_win).map(function (visualViewport) {
1781
- var handler = function (e) {
1782
- return callback(fromRawEvent(e));
1783
- };
1784
- visualViewport.addEventListener(name, handler);
1785
- return {
1786
- unbind: function () {
1787
- return visualViewport.removeEventListener(name, handler);
1788
- }
1789
- };
1790
- }).getOrThunk(function () {
1791
- return { unbind: noop };
1792
- });
1793
- };
1794
-
1795
- var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
1796
-
1797
- var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
1798
-
1799
- var global = tinymce.util.Tools.resolve('tinymce.util.Delay');
1800
-
1801
- var fireFullscreenStateChanged = function (editor, state) {
1802
- editor.fire('FullscreenStateChanged', { state: state });
1803
- editor.fire('ResizeEditor');
1804
- };
1805
-
1806
- var getFullscreenNative = function (editor) {
1807
- return editor.getParam('fullscreen_native', false, 'boolean');
1808
- };
1809
-
1810
- var getFullscreenRoot = function (editor) {
1811
- var elem = SugarElement.fromDom(editor.getElement());
1812
- return getShadowRoot(elem).map(getShadowHost).getOrThunk(function () {
1813
- return getBody(owner(elem));
1814
- });
1815
- };
1816
- var getFullscreenElement = function (root) {
1817
- if (root.fullscreenElement !== undefined) {
1818
- return root.fullscreenElement;
1819
- } else if (root.msFullscreenElement !== undefined) {
1820
- return root.msFullscreenElement;
1821
- } else if (root.webkitFullscreenElement !== undefined) {
1822
- return root.webkitFullscreenElement;
1823
- } else {
1824
- return null;
1825
- }
1826
- };
1827
- var getFullscreenchangeEventName = function () {
1828
- if (document.fullscreenElement !== undefined) {
1829
- return 'fullscreenchange';
1830
- } else if (document.msFullscreenElement !== undefined) {
1831
- return 'MSFullscreenChange';
1832
- } else if (document.webkitFullscreenElement !== undefined) {
1833
- return 'webkitfullscreenchange';
1834
- } else {
1835
- return 'fullscreenchange';
1836
- }
1837
- };
1838
- var requestFullscreen = function (sugarElem) {
1839
- var elem = sugarElem.dom;
1840
- if (elem.requestFullscreen) {
1841
- elem.requestFullscreen();
1842
- } else if (elem.msRequestFullscreen) {
1843
- elem.msRequestFullscreen();
1844
- } else if (elem.webkitRequestFullScreen) {
1845
- elem.webkitRequestFullScreen();
1846
- }
1847
- };
1848
- var exitFullscreen = function (sugarDoc) {
1849
- var doc = sugarDoc.dom;
1850
- if (doc.exitFullscreen) {
1851
- doc.exitFullscreen();
1852
- } else if (doc.msExitFullscreen) {
1853
- doc.msExitFullscreen();
1854
- } else if (doc.webkitCancelFullScreen) {
1855
- doc.webkitCancelFullScreen();
1856
- }
1857
- };
1858
- var isFullscreenElement = function (elem) {
1859
- return elem.dom === getFullscreenElement(owner(elem).dom);
1860
- };
1861
-
1862
- var ancestors$1 = function (scope, predicate, isRoot) {
1863
- return filter$1(parents(scope, isRoot), predicate);
1864
- };
1865
- var siblings$1 = function (scope, predicate) {
1866
- return filter$1(siblings$2(scope), predicate);
1867
- };
1868
-
1869
- var all = function (selector) {
1870
- return all$1(selector);
1871
- };
1872
- var ancestors = function (scope, selector, isRoot) {
1873
- return ancestors$1(scope, function (e) {
1874
- return is(e, selector);
1875
- }, isRoot);
1876
- };
1877
- var siblings = function (scope, selector) {
1878
- return siblings$1(scope, function (e) {
1879
- return is(e, selector);
1880
- });
1881
- };
1882
-
1883
- var attr = 'data-ephox-mobile-fullscreen-style';
1884
- var siblingStyles = 'display:none!important;';
1885
- var ancestorPosition = 'position:absolute!important;';
1886
- var ancestorStyles = 'top:0!important;left:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:visible!important;';
1887
- var bgFallback = 'background-color:rgb(255,255,255)!important;';
1888
- var isAndroid = global$1.os.isAndroid();
1889
- var matchColor = function (editorBody) {
1890
- var color = get$2(editorBody, 'background-color');
1891
- return color !== undefined && color !== '' ? 'background-color:' + color + '!important' : bgFallback;
1892
- };
1893
- var clobberStyles = function (dom, container, editorBody) {
1894
- var gatherSiblings = function (element) {
1895
- return siblings(element, '*:not(.tox-silver-sink)');
1896
- };
1897
- var clobber = function (clobberStyle) {
1898
- return function (element) {
1899
- var styles = get$3(element, 'style');
1900
- var backup = styles === undefined ? 'no-styles' : styles.trim();
1901
- if (backup === clobberStyle) {
1902
- return;
1903
- } else {
1904
- set(element, attr, backup);
1905
- setAll(element, dom.parseStyle(clobberStyle));
1906
- }
1907
- };
1908
- };
1909
- var ancestors$1 = ancestors(container, '*');
1910
- var siblings$1 = bind$3(ancestors$1, gatherSiblings);
1911
- var bgColor = matchColor(editorBody);
1912
- each$1(siblings$1, clobber(siblingStyles));
1913
- each$1(ancestors$1, clobber(ancestorPosition + ancestorStyles + bgColor));
1914
- var containerStyles = isAndroid === true ? '' : ancestorPosition;
1915
- clobber(containerStyles + ancestorStyles + bgColor)(container);
1916
- };
1917
- var restoreStyles = function (dom) {
1918
- var clobberedEls = all('[' + attr + ']');
1919
- each$1(clobberedEls, function (element) {
1920
- var restore = get$3(element, attr);
1921
- if (restore !== 'no-styles') {
1922
- setAll(element, dom.parseStyle(restore));
1923
- } else {
1924
- remove(element, 'style');
1925
- }
1926
- remove(element, attr);
1927
- });
1928
- };
1929
-
1930
- var DOM = global$2.DOM;
1931
- var getScrollPos = function () {
1932
- return getBounds(window);
1933
- };
1934
- var setScrollPos = function (pos) {
1935
- return window.scrollTo(pos.x, pos.y);
1936
- };
1937
- var viewportUpdate = get().fold(function () {
1938
- return {
1939
- bind: noop,
1940
- unbind: noop
1941
- };
1942
- }, function (visualViewport) {
1943
- var editorContainer = value();
1944
- var resizeBinder = unbindable();
1945
- var scrollBinder = unbindable();
1946
- var refreshScroll = function () {
1947
- document.body.scrollTop = 0;
1948
- document.documentElement.scrollTop = 0;
1949
- };
1950
- var refreshVisualViewport = function () {
1951
- window.requestAnimationFrame(function () {
1952
- editorContainer.on(function (container) {
1953
- return setAll(container, {
1954
- top: visualViewport.offsetTop + 'px',
1955
- left: visualViewport.offsetLeft + 'px',
1956
- height: visualViewport.height + 'px',
1957
- width: visualViewport.width + 'px'
1958
- });
1959
- });
1960
- });
1961
- };
1962
- var update = global.throttle(function () {
1963
- refreshScroll();
1964
- refreshVisualViewport();
1965
- }, 50);
1966
- var bind$1 = function (element) {
1967
- editorContainer.set(element);
1968
- update();
1969
- resizeBinder.set(bind('resize', update));
1970
- scrollBinder.set(bind('scroll', update));
1971
- };
1972
- var unbind = function () {
1973
- editorContainer.on(function () {
1974
- resizeBinder.clear();
1975
- scrollBinder.clear();
1976
- });
1977
- editorContainer.clear();
1978
- };
1979
- return {
1980
- bind: bind$1,
1981
- unbind: unbind
1982
- };
1983
- });
1984
- var toggleFullscreen = function (editor, fullscreenState) {
1985
- var body = document.body;
1986
- var documentElement = document.documentElement;
1987
- var editorContainer = editor.getContainer();
1988
- var editorContainerS = SugarElement.fromDom(editorContainer);
1989
- var fullscreenRoot = getFullscreenRoot(editor);
1990
- var fullscreenInfo = fullscreenState.get();
1991
- var editorBody = SugarElement.fromDom(editor.getBody());
1992
- var isTouch = global$1.deviceType.isTouch();
1993
- var editorContainerStyle = editorContainer.style;
1994
- var iframe = editor.iframeElement;
1995
- var iframeStyle = iframe.style;
1996
- var handleClasses = function (handler) {
1997
- handler(body, 'tox-fullscreen');
1998
- handler(documentElement, 'tox-fullscreen');
1999
- handler(editorContainer, 'tox-fullscreen');
2000
- getShadowRoot(editorContainerS).map(function (root) {
2001
- return getShadowHost(root).dom;
2002
- }).each(function (host) {
2003
- handler(host, 'tox-fullscreen');
2004
- handler(host, 'tox-shadowhost');
2005
- });
2006
- };
2007
- var cleanup = function () {
2008
- if (isTouch) {
2009
- restoreStyles(editor.dom);
2010
- }
2011
- handleClasses(DOM.removeClass);
2012
- viewportUpdate.unbind();
2013
- Optional.from(fullscreenState.get()).each(function (info) {
2014
- return info.fullscreenChangeHandler.unbind();
2015
- });
2016
- };
2017
- if (!fullscreenInfo) {
2018
- var fullscreenChangeHandler = bind$1(owner(fullscreenRoot), getFullscreenchangeEventName(), function (_evt) {
2019
- if (getFullscreenNative(editor)) {
2020
- if (!isFullscreenElement(fullscreenRoot) && fullscreenState.get() !== null) {
2021
- toggleFullscreen(editor, fullscreenState);
2022
- }
2023
- }
2024
- });
2025
- var newFullScreenInfo = {
2026
- scrollPos: getScrollPos(),
2027
- containerWidth: editorContainerStyle.width,
2028
- containerHeight: editorContainerStyle.height,
2029
- containerTop: editorContainerStyle.top,
2030
- containerLeft: editorContainerStyle.left,
2031
- iframeWidth: iframeStyle.width,
2032
- iframeHeight: iframeStyle.height,
2033
- fullscreenChangeHandler: fullscreenChangeHandler
2034
- };
2035
- if (isTouch) {
2036
- clobberStyles(editor.dom, editorContainerS, editorBody);
2037
- }
2038
- iframeStyle.width = iframeStyle.height = '100%';
2039
- editorContainerStyle.width = editorContainerStyle.height = '';
2040
- handleClasses(DOM.addClass);
2041
- viewportUpdate.bind(editorContainerS);
2042
- editor.on('remove', cleanup);
2043
- fullscreenState.set(newFullScreenInfo);
2044
- if (getFullscreenNative(editor)) {
2045
- requestFullscreen(fullscreenRoot);
2046
- }
2047
- fireFullscreenStateChanged(editor, true);
2048
- } else {
2049
- fullscreenInfo.fullscreenChangeHandler.unbind();
2050
- if (getFullscreenNative(editor) && isFullscreenElement(fullscreenRoot)) {
2051
- exitFullscreen(owner(fullscreenRoot));
2052
- }
2053
- iframeStyle.width = fullscreenInfo.iframeWidth;
2054
- iframeStyle.height = fullscreenInfo.iframeHeight;
2055
- editorContainerStyle.width = fullscreenInfo.containerWidth;
2056
- editorContainerStyle.height = fullscreenInfo.containerHeight;
2057
- editorContainerStyle.top = fullscreenInfo.containerTop;
2058
- editorContainerStyle.left = fullscreenInfo.containerLeft;
2059
- cleanup();
2060
- setScrollPos(fullscreenInfo.scrollPos);
2061
- fullscreenState.set(null);
2062
- fireFullscreenStateChanged(editor, false);
2063
- editor.off('remove', cleanup);
2064
- }
2065
- };
2066
-
2067
- var register$1 = function (editor, fullscreenState) {
2068
- editor.addCommand('mceFullScreen', function () {
2069
- toggleFullscreen(editor, fullscreenState);
2070
- });
2071
- };
2072
-
2073
- var makeSetupHandler = function (editor, fullscreenState) {
2074
- return function (api) {
2075
- api.setActive(fullscreenState.get() !== null);
2076
- var editorEventCallback = function (e) {
2077
- return api.setActive(e.state);
2078
- };
2079
- editor.on('FullscreenStateChanged', editorEventCallback);
2080
- return function () {
2081
- return editor.off('FullscreenStateChanged', editorEventCallback);
2082
- };
2083
- };
2084
- };
2085
- var register = function (editor, fullscreenState) {
2086
- var onAction = function () {
2087
- return editor.execCommand('mceFullScreen');
2088
- };
2089
- editor.ui.registry.addToggleMenuItem('fullscreen', {
2090
- text: 'Fullscreen',
2091
- icon: 'fullscreen',
2092
- shortcut: 'Meta+Shift+F',
2093
- onAction: onAction,
2094
- onSetup: makeSetupHandler(editor, fullscreenState)
2095
- });
2096
- editor.ui.registry.addToggleButton('fullscreen', {
2097
- tooltip: 'Fullscreen',
2098
- icon: 'fullscreen',
2099
- onAction: onAction,
2100
- onSetup: makeSetupHandler(editor, fullscreenState)
2101
- });
2102
- };
2103
-
2104
- function Plugin () {
2105
- global$3.add('fullscreen', function (editor) {
2106
- var fullscreenState = Cell(null);
2107
- if (editor.inline) {
2108
- return get$5(fullscreenState);
2109
- }
2110
- register$1(editor, fullscreenState);
2111
- register(editor, fullscreenState);
2112
- editor.addShortcut('Meta+Shift+F', '', 'mceFullScreen');
2113
- return get$5(fullscreenState);
2114
- });
2115
- }
2116
-
2117
- Plugin();
2118
-
2119
- }());
2120
-
2121
-
2122
- /***/ })
2123
-
2124
- }]);
2125
- //# sourceMappingURL=super-ui.umd.yarn.tinymce~29bc5d46.js.map