tinymce-rails 7.0.1 → 7.1.0
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.
- checksums.yaml +4 -4
- data/app/assets/source/tinymce/tinymce.js +137 -115
- data/lib/tinymce/rails/version.rb +2 -2
- data/vendor/assets/javascripts/tinymce/icons/default/icons.js +1 -1
- data/vendor/assets/javascripts/tinymce/models/dom/model.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/accordion/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/advlist/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/anchor/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/autolink/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/autosave/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/code/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/codesample/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/emoticons/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ar.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ca.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/cs.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/da.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/de.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/el.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/en.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/es.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/eu.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/fa.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/fi.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/he_IL.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/hi.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/hr.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/id.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/it.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ja.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/kk.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ms.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/nl.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/pl.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ro.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/ru.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/sk.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/th_TH.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/tr.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/uk.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/vi.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +7 -4
- data/vendor/assets/javascripts/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/help/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/image/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/importcss/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/link/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/lists/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/media/plugin.js +2 -2
- data/vendor/assets/javascripts/tinymce/plugins/nonbreaking/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/pagebreak/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/preview/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/quickbars/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/save/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/searchreplace/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/table/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/visualblocks/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/visualchars/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/wordcount/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.inline.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.inline.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/skin.css +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/skin.js +1 -1
- data/vendor/assets/javascripts/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
- data/vendor/assets/javascripts/tinymce/themes/silver/theme.js +2 -2
- data/vendor/assets/javascripts/tinymce/tinymce.d.ts +1 -1
- data/vendor/assets/javascripts/tinymce/tinymce.js +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2eeee64138094ba4150db8406a1913c02681d7a8285ea3d1945c765481554f20
|
4
|
+
data.tar.gz: a1ed19cb999fbd07a37ddc353fd5497249c32f1d6c792d1e91f71f4c0e03614d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e42bd1afe450097f6f9a9f2cb1c4ca7aaddf14b81e0cc969be23981d79e36c2d3e084818e7569ba5eaf95044e6767e0032a5926f6d6f440f110467fe703bbd93
|
7
|
+
data.tar.gz: c607a77a690a16b6c722bd22725e13788abfeb8246c84c25054b3aadd26083442720b80724bd6ed1a90f2152dc1d2e1eb0d6afa1d5dcb9704ffbfc7bc9fc01b4
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* TinyMCE version 7.0
|
2
|
+
* TinyMCE version 7.1.0 (2024-05-08)
|
3
3
|
*/
|
4
4
|
|
5
5
|
(function () {
|
@@ -2096,27 +2096,99 @@
|
|
2096
2096
|
});
|
2097
2097
|
};
|
2098
2098
|
|
2099
|
-
const
|
2099
|
+
const Cell = initial => {
|
2100
|
+
let value = initial;
|
2101
|
+
const get = () => {
|
2102
|
+
return value;
|
2103
|
+
};
|
2104
|
+
const set = v => {
|
2105
|
+
value = v;
|
2106
|
+
};
|
2107
|
+
return {
|
2108
|
+
get,
|
2109
|
+
set
|
2110
|
+
};
|
2111
|
+
};
|
2112
|
+
|
2113
|
+
const singleton = doRevoke => {
|
2114
|
+
const subject = Cell(Optional.none());
|
2115
|
+
const revoke = () => subject.get().each(doRevoke);
|
2116
|
+
const clear = () => {
|
2117
|
+
revoke();
|
2118
|
+
subject.set(Optional.none());
|
2119
|
+
};
|
2120
|
+
const isSet = () => subject.get().isSome();
|
2121
|
+
const get = () => subject.get();
|
2122
|
+
const set = s => {
|
2123
|
+
revoke();
|
2124
|
+
subject.set(Optional.some(s));
|
2125
|
+
};
|
2126
|
+
return {
|
2127
|
+
clear,
|
2128
|
+
isSet,
|
2129
|
+
get,
|
2130
|
+
set
|
2131
|
+
};
|
2132
|
+
};
|
2133
|
+
const repeatable = delay => {
|
2134
|
+
const intervalId = Cell(Optional.none());
|
2135
|
+
const revoke = () => intervalId.get().each(id => clearInterval(id));
|
2136
|
+
const clear = () => {
|
2137
|
+
revoke();
|
2138
|
+
intervalId.set(Optional.none());
|
2139
|
+
};
|
2140
|
+
const isSet = () => intervalId.get().isSome();
|
2141
|
+
const get = () => intervalId.get();
|
2142
|
+
const set = functionToRepeat => {
|
2143
|
+
revoke();
|
2144
|
+
intervalId.set(Optional.some(setInterval(functionToRepeat, delay)));
|
2145
|
+
};
|
2146
|
+
return {
|
2147
|
+
clear,
|
2148
|
+
isSet,
|
2149
|
+
get,
|
2150
|
+
set
|
2151
|
+
};
|
2152
|
+
};
|
2153
|
+
const value$2 = () => {
|
2154
|
+
const subject = singleton(noop);
|
2155
|
+
const on = f => subject.get().each(f);
|
2156
|
+
return {
|
2157
|
+
...subject,
|
2158
|
+
on
|
2159
|
+
};
|
2160
|
+
};
|
2161
|
+
|
2162
|
+
const nodeNameToNamespaceType = name => {
|
2163
|
+
const lowerCaseName = name.toLowerCase();
|
2164
|
+
if (lowerCaseName === 'svg') {
|
2165
|
+
return 'svg';
|
2166
|
+
} else if (lowerCaseName === 'math') {
|
2167
|
+
return 'math';
|
2168
|
+
} else {
|
2169
|
+
return 'html';
|
2170
|
+
}
|
2171
|
+
};
|
2172
|
+
const isNonHtmlElementRootName = name => nodeNameToNamespaceType(name) !== 'html';
|
2100
2173
|
const isNonHtmlElementRoot = node => isNonHtmlElementRootName(node.nodeName);
|
2101
|
-
const toScopeType = node => (node
|
2102
|
-
const namespaceElements = [
|
2174
|
+
const toScopeType = node => nodeNameToNamespaceType(node.nodeName);
|
2175
|
+
const namespaceElements = [
|
2176
|
+
'svg',
|
2177
|
+
'math'
|
2178
|
+
];
|
2103
2179
|
const createNamespaceTracker = () => {
|
2104
|
-
|
2105
|
-
const
|
2180
|
+
const currentScope = value$2();
|
2181
|
+
const current = () => currentScope.get().map(toScopeType).getOr('html');
|
2106
2182
|
const track = node => {
|
2107
2183
|
if (isNonHtmlElementRoot(node)) {
|
2108
|
-
|
2109
|
-
}
|
2110
|
-
|
2111
|
-
if (currentScope && !currentScope.contains(node)) {
|
2112
|
-
scopes.pop();
|
2113
|
-
currentScope = peek();
|
2184
|
+
currentScope.set(node);
|
2185
|
+
} else if (currentScope.get().exists(scopeNode => !scopeNode.contains(node))) {
|
2186
|
+
currentScope.clear();
|
2114
2187
|
}
|
2115
|
-
return
|
2188
|
+
return current();
|
2116
2189
|
};
|
2117
|
-
const current = () => toScopeType(peek());
|
2118
2190
|
const reset = () => {
|
2119
|
-
|
2191
|
+
currentScope.clear();
|
2120
2192
|
};
|
2121
2193
|
return {
|
2122
2194
|
track,
|
@@ -2128,7 +2200,8 @@
|
|
2128
2200
|
const transparentBlockAttr = 'data-mce-block';
|
2129
2201
|
const elementNames = map => filter$5(keys(map), key => !/[A-Z]/.test(key));
|
2130
2202
|
const makeSelectorFromSchemaMap = map => map$3(elementNames(map), name => {
|
2131
|
-
|
2203
|
+
const escapedName = CSS.escape(name);
|
2204
|
+
return `${ escapedName }:` + map$3(namespaceElements, ns => `not(${ ns } ${ escapedName })`).join(':');
|
2132
2205
|
}).join(',');
|
2133
2206
|
const updateTransparent = (blocksSelector, transparent) => {
|
2134
2207
|
if (isNonNullable(transparent.querySelector(blocksSelector))) {
|
@@ -2681,7 +2754,10 @@
|
|
2681
2754
|
'dropzone',
|
2682
2755
|
'hidden',
|
2683
2756
|
'spellcheck',
|
2684
|
-
'translate'
|
2757
|
+
'translate',
|
2758
|
+
'itemprop',
|
2759
|
+
'itemscope',
|
2760
|
+
'itemtype'
|
2685
2761
|
] : [],
|
2686
2762
|
...type !== 'html5-strict' ? ['xml:lang'] : []
|
2687
2763
|
]);
|
@@ -4970,20 +5046,6 @@
|
|
4970
5046
|
}
|
4971
5047
|
ScriptLoader.ScriptLoader = new ScriptLoader();
|
4972
5048
|
|
4973
|
-
const Cell = initial => {
|
4974
|
-
let value = initial;
|
4975
|
-
const get = () => {
|
4976
|
-
return value;
|
4977
|
-
};
|
4978
|
-
const set = v => {
|
4979
|
-
value = v;
|
4980
|
-
};
|
4981
|
-
return {
|
4982
|
-
get,
|
4983
|
-
set
|
4984
|
-
};
|
4985
|
-
};
|
4986
|
-
|
4987
5049
|
const isDuplicated = (items, item) => {
|
4988
5050
|
const firstIndex = items.indexOf(item);
|
4989
5051
|
return firstIndex !== -1 && items.indexOf(item, firstIndex + 1) > firstIndex;
|
@@ -5169,55 +5231,6 @@
|
|
5169
5231
|
AddOnManager.ThemeManager = AddOnManager();
|
5170
5232
|
AddOnManager.ModelManager = AddOnManager();
|
5171
5233
|
|
5172
|
-
const singleton = doRevoke => {
|
5173
|
-
const subject = Cell(Optional.none());
|
5174
|
-
const revoke = () => subject.get().each(doRevoke);
|
5175
|
-
const clear = () => {
|
5176
|
-
revoke();
|
5177
|
-
subject.set(Optional.none());
|
5178
|
-
};
|
5179
|
-
const isSet = () => subject.get().isSome();
|
5180
|
-
const get = () => subject.get();
|
5181
|
-
const set = s => {
|
5182
|
-
revoke();
|
5183
|
-
subject.set(Optional.some(s));
|
5184
|
-
};
|
5185
|
-
return {
|
5186
|
-
clear,
|
5187
|
-
isSet,
|
5188
|
-
get,
|
5189
|
-
set
|
5190
|
-
};
|
5191
|
-
};
|
5192
|
-
const repeatable = delay => {
|
5193
|
-
const intervalId = Cell(Optional.none());
|
5194
|
-
const revoke = () => intervalId.get().each(id => clearInterval(id));
|
5195
|
-
const clear = () => {
|
5196
|
-
revoke();
|
5197
|
-
intervalId.set(Optional.none());
|
5198
|
-
};
|
5199
|
-
const isSet = () => intervalId.get().isSome();
|
5200
|
-
const get = () => intervalId.get();
|
5201
|
-
const set = functionToRepeat => {
|
5202
|
-
revoke();
|
5203
|
-
intervalId.set(Optional.some(setInterval(functionToRepeat, delay)));
|
5204
|
-
};
|
5205
|
-
return {
|
5206
|
-
clear,
|
5207
|
-
isSet,
|
5208
|
-
get,
|
5209
|
-
set
|
5210
|
-
};
|
5211
|
-
};
|
5212
|
-
const value$2 = () => {
|
5213
|
-
const subject = singleton(noop);
|
5214
|
-
const on = f => subject.get().each(f);
|
5215
|
-
return {
|
5216
|
-
...subject,
|
5217
|
-
on
|
5218
|
-
};
|
5219
|
-
};
|
5220
|
-
|
5221
5234
|
const first$1 = (fn, rate) => {
|
5222
5235
|
let timer = null;
|
5223
5236
|
const cancel = () => {
|
@@ -17164,29 +17177,39 @@
|
|
17164
17177
|
return config;
|
17165
17178
|
};
|
17166
17179
|
const sanitizeNamespaceElement = ele => {
|
17167
|
-
const
|
17168
|
-
|
17169
|
-
|
17170
|
-
|
17171
|
-
|
17172
|
-
|
17173
|
-
|
17174
|
-
|
17175
|
-
|
17176
|
-
|
17177
|
-
|
17178
|
-
|
17179
|
-
|
17180
|
-
|
17181
|
-
|
17182
|
-
|
17183
|
-
|
17184
|
-
|
17185
|
-
|
17186
|
-
|
17187
|
-
|
17188
|
-
|
17189
|
-
|
17180
|
+
const namespaceType = toScopeType(ele);
|
17181
|
+
if (namespaceType === 'svg') {
|
17182
|
+
const xlinkAttrs = [
|
17183
|
+
'type',
|
17184
|
+
'href',
|
17185
|
+
'role',
|
17186
|
+
'arcrole',
|
17187
|
+
'title',
|
17188
|
+
'show',
|
17189
|
+
'actuate',
|
17190
|
+
'label',
|
17191
|
+
'from',
|
17192
|
+
'to'
|
17193
|
+
].map(name => `xlink:${ name }`);
|
17194
|
+
const config = {
|
17195
|
+
IN_PLACE: true,
|
17196
|
+
USE_PROFILES: {
|
17197
|
+
html: true,
|
17198
|
+
svg: true,
|
17199
|
+
svgFilters: true
|
17200
|
+
},
|
17201
|
+
ALLOWED_ATTR: xlinkAttrs
|
17202
|
+
};
|
17203
|
+
purify().sanitize(ele, config);
|
17204
|
+
} else if (namespaceType === 'math') {
|
17205
|
+
const config = {
|
17206
|
+
IN_PLACE: true,
|
17207
|
+
USE_PROFILES: { mathMl: true }
|
17208
|
+
};
|
17209
|
+
purify().sanitize(ele, config);
|
17210
|
+
} else {
|
17211
|
+
throw new Error('Not a namespace element');
|
17212
|
+
}
|
17190
17213
|
};
|
17191
17214
|
const getSanitizer = (settings, schema) => {
|
17192
17215
|
const namespaceTracker = createNamespaceTracker();
|
@@ -19466,7 +19489,7 @@
|
|
19466
19489
|
return a.type === b.type && a.text === b.text && !a.progressBar && !a.timeout && !b.progressBar && !b.timeout;
|
19467
19490
|
};
|
19468
19491
|
const reposition = () => {
|
19469
|
-
each
|
19492
|
+
getTopNotification().each(notification => {
|
19470
19493
|
notification.reposition();
|
19471
19494
|
});
|
19472
19495
|
};
|
@@ -19493,11 +19516,7 @@
|
|
19493
19516
|
editor.editorManager.setActive(editor);
|
19494
19517
|
const notification = getImplementation().open(spec, () => {
|
19495
19518
|
closeNotification(notification);
|
19496
|
-
|
19497
|
-
if (hasEditorOrUiFocus(editor)) {
|
19498
|
-
getTopNotification().fold(() => editor.focus(), top => focus$1(SugarElement.fromDom(top.getEl())));
|
19499
|
-
}
|
19500
|
-
});
|
19519
|
+
}, () => hasEditorOrUiFocus(editor));
|
19501
19520
|
addNotification(notification);
|
19502
19521
|
reposition();
|
19503
19522
|
editor.dispatch('OpenNotification', { notification: { ...notification } });
|
@@ -19524,7 +19543,7 @@
|
|
19524
19543
|
}
|
19525
19544
|
reposition();
|
19526
19545
|
});
|
19527
|
-
editor.on('show ResizeEditor
|
19546
|
+
editor.on('show ResizeEditor NodeChange', () => {
|
19528
19547
|
requestAnimationFrame(reposition);
|
19529
19548
|
});
|
19530
19549
|
editor.on('remove', () => {
|
@@ -19532,6 +19551,7 @@
|
|
19532
19551
|
getImplementation().close(notification);
|
19533
19552
|
});
|
19534
19553
|
});
|
19554
|
+
editor.addShortcut('alt+F12', 'Focus to notification', () => getTopNotification().map(notificationApi => SugarElement.fromDom(notificationApi.getEl())).each(elm => focus$1(elm)));
|
19535
19555
|
};
|
19536
19556
|
registerEvents(editor);
|
19537
19557
|
return {
|
@@ -21238,6 +21258,7 @@
|
|
21238
21258
|
const containerElm = SugarElement.fromDom(pos.container());
|
21239
21259
|
return getParentBlock$2(rootElm, containerElm).map(block => blockPosition(block, pos));
|
21240
21260
|
};
|
21261
|
+
const isNotAncestorial = blockBoundary => !(contains(blockBoundary.to.block, blockBoundary.from.block) || contains(blockBoundary.from.block, blockBoundary.to.block));
|
21241
21262
|
const isDifferentBlocks = blockBoundary => !eq(blockBoundary.from.block, blockBoundary.to.block);
|
21242
21263
|
const getClosestHost = (root, scope) => {
|
21243
21264
|
const isRoot = node => eq(node, root);
|
@@ -21269,7 +21290,7 @@
|
|
21269
21290
|
const readFromRange = (schema, rootNode, forward, rng) => {
|
21270
21291
|
const fromBlockPos = getBlockPosition(rootNode, CaretPosition.fromRangeStart(rng));
|
21271
21292
|
const toBlockPos = fromBlockPos.bind(blockPos => fromPosition(forward, rootNode, blockPos.position).bind(to => getBlockPosition(rootNode, to).map(blockPos => skipLastBr(schema, rootNode, forward, blockPos))));
|
21272
|
-
return lift2(fromBlockPos, toBlockPos, blockBoundary).filter(blockBoundary => isDifferentBlocks(blockBoundary) && hasSameHost(rootNode, blockBoundary) && isEditable$1(blockBoundary) && hasValidBlocks(blockBoundary));
|
21293
|
+
return lift2(fromBlockPos, toBlockPos, blockBoundary).filter(blockBoundary => isDifferentBlocks(blockBoundary) && hasSameHost(rootNode, blockBoundary) && isEditable$1(blockBoundary) && hasValidBlocks(blockBoundary) && isNotAncestorial(blockBoundary));
|
21273
21294
|
};
|
21274
21295
|
const read$1 = (schema, rootNode, forward, rng) => rng.collapsed ? readFromRange(schema, rootNode, forward, rng) : Optional.none();
|
21275
21296
|
|
@@ -28976,9 +28997,10 @@
|
|
28976
28997
|
return iframeHTML;
|
28977
28998
|
};
|
28978
28999
|
const createIframe = (editor, boxInfo) => {
|
28979
|
-
const iframeTitle =
|
29000
|
+
const iframeTitle = Env.browser.isFirefox() ? getIframeAriaText(editor) : 'Rich Text Area';
|
29001
|
+
const translatedTitle = editor.translate(iframeTitle);
|
28980
29002
|
const tabindex = getOpt(SugarElement.fromDom(editor.getElement()), 'tabindex').bind(toInt);
|
28981
|
-
const ifr = createIframeElement(editor.id,
|
29003
|
+
const ifr = createIframeElement(editor.id, translatedTitle, getIframeAttrs(editor), tabindex).dom;
|
28982
29004
|
ifr.onload = () => {
|
28983
29005
|
ifr.onload = null;
|
28984
29006
|
editor.dispatch('load');
|
@@ -31319,8 +31341,8 @@
|
|
31319
31341
|
documentBaseURL: null,
|
31320
31342
|
suffix: null,
|
31321
31343
|
majorVersion: '7',
|
31322
|
-
minorVersion: '0
|
31323
|
-
releaseDate: '2024-
|
31344
|
+
minorVersion: '1.0',
|
31345
|
+
releaseDate: '2024-05-08',
|
31324
31346
|
i18n: I18n,
|
31325
31347
|
activeEditor: null,
|
31326
31348
|
focusedEditor: null,
|