tinymce-rails 6.7.0 → 6.7.1
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 +65 -107
- data/lib/tinymce/rails/version.rb +2 -2
- 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 +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/help/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/image/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/importcss/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/insertdatetime/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/link/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/lists/plugin.js +1 -1
- data/vendor/assets/javascripts/tinymce/plugins/media/plugin.js +1 -1
- 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/template/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/themes/silver/theme.js +2 -2
- 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: efc80723357931ab9337eb5d78bb6aa2bee3948873596abf352086403dc3fd17
|
4
|
+
data.tar.gz: cea2141e6ee4b3305bfca7278732d0eb59a9a3f3b5769ce0093f09d99b3b4301
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0f434311888363b39f94d5a89aeb49a83021b6886df6bd9cc4538d13365f08277a793c951da76a9ddd7ca58bb62a592035c76718b92db8504c30ba2132000b0
|
7
|
+
data.tar.gz: 76f3be7f4d755263432e1f8cf130da89ff593dfb68303ef7c01beb6fdfecf01cc3007a27403fd15e7f2208ba9f57d5d94e5a5fe44b434a03c7032cbc2aa0cc6c
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* TinyMCE version 6.7.
|
2
|
+
* TinyMCE version 6.7.1 (2023-10-19)
|
3
3
|
*/
|
4
4
|
|
5
5
|
(function () {
|
@@ -735,7 +735,7 @@
|
|
735
735
|
return checkRange(str, suffix, str.length - suffix.length);
|
736
736
|
};
|
737
737
|
const blank = r => s => s.replace(r, '');
|
738
|
-
const trim$
|
738
|
+
const trim$4 = blank(/^\s+|\s+$/g);
|
739
739
|
const lTrim = blank(/^\s+/g);
|
740
740
|
const rTrim = blank(/\s+$/g);
|
741
741
|
const isNotEmpty = s => s.length > 0;
|
@@ -1005,7 +1005,7 @@
|
|
1005
1005
|
};
|
1006
1006
|
|
1007
1007
|
const whiteSpaceRegExp$1 = /^\s*|\s*$/g;
|
1008
|
-
const trim$
|
1008
|
+
const trim$3 = str => {
|
1009
1009
|
return isNullable(str) ? '' : ('' + str).replace(whiteSpaceRegExp$1, '');
|
1010
1010
|
};
|
1011
1011
|
const is$3 = (obj, type) => {
|
@@ -1072,7 +1072,7 @@
|
|
1072
1072
|
} else if (s === '') {
|
1073
1073
|
return [];
|
1074
1074
|
} else {
|
1075
|
-
return map$1(s.split(d || ','), trim$
|
1075
|
+
return map$1(s.split(d || ','), trim$3);
|
1076
1076
|
}
|
1077
1077
|
};
|
1078
1078
|
const _addCacheSuffix = url => {
|
@@ -1083,7 +1083,7 @@
|
|
1083
1083
|
return url;
|
1084
1084
|
};
|
1085
1085
|
const Tools = {
|
1086
|
-
trim: trim$
|
1086
|
+
trim: trim$3,
|
1087
1087
|
isArray: isArray,
|
1088
1088
|
is: is$3,
|
1089
1089
|
toArray: toArray$1,
|
@@ -1564,7 +1564,7 @@
|
|
1564
1564
|
const remove$6 = (element, property) => {
|
1565
1565
|
const dom = element.dom;
|
1566
1566
|
internalRemove(dom, property);
|
1567
|
-
if (is$2(getOpt(element, 'style').map(trim$
|
1567
|
+
if (is$2(getOpt(element, 'style').map(trim$4), '')) {
|
1568
1568
|
remove$a(element, 'style');
|
1569
1569
|
}
|
1570
1570
|
};
|
@@ -2170,7 +2170,7 @@
|
|
2170
2170
|
|
2171
2171
|
const ZWSP$1 = zeroWidth;
|
2172
2172
|
const isZwsp$1 = isZwsp$2;
|
2173
|
-
const trim$
|
2173
|
+
const trim$2 = removeZwsp;
|
2174
2174
|
|
2175
2175
|
const isElement$5 = isElement$6;
|
2176
2176
|
const isText$9 = isText$a;
|
@@ -6309,7 +6309,7 @@
|
|
6309
6309
|
};
|
6310
6310
|
const getBookmark$2 = (selection, type, normalized = false) => {
|
6311
6311
|
if (type === 2) {
|
6312
|
-
return getOffsetBookmark(trim$
|
6312
|
+
return getOffsetBookmark(trim$2, normalized, selection);
|
6313
6313
|
} else if (type === 3) {
|
6314
6314
|
return getCaretBookmark(selection);
|
6315
6315
|
} else if (type) {
|
@@ -6603,7 +6603,7 @@
|
|
6603
6603
|
const arr = item.split('=');
|
6604
6604
|
const key = arr[0];
|
6605
6605
|
const val = arr.length > 1 ? arr[1] : key;
|
6606
|
-
output[trim$
|
6606
|
+
output[trim$4(key)] = trim$4(val);
|
6607
6607
|
return output;
|
6608
6608
|
}, {});
|
6609
6609
|
};
|
@@ -6838,7 +6838,7 @@
|
|
6838
6838
|
if (valid) {
|
6839
6839
|
if (isString(value)) {
|
6840
6840
|
return {
|
6841
|
-
value: map$3(value.split(','), trim$
|
6841
|
+
value: map$3(value.split(','), trim$4),
|
6842
6842
|
valid
|
6843
6843
|
};
|
6844
6844
|
} else if (isArray$1(value)) {
|
@@ -6875,7 +6875,7 @@
|
|
6875
6875
|
processor: value => {
|
6876
6876
|
const valid = isString(value) || isArrayOf(value, isString);
|
6877
6877
|
if (valid) {
|
6878
|
-
const newValue = isArray$1(value) ? value : map$3(value.split(','), trim$
|
6878
|
+
const newValue = isArray$1(value) ? value : map$3(value.split(','), trim$4);
|
6879
6879
|
return {
|
6880
6880
|
value: newValue,
|
6881
6881
|
valid
|
@@ -7455,7 +7455,7 @@
|
|
7455
7455
|
}
|
7456
7456
|
};
|
7457
7457
|
const trimCount = text => {
|
7458
|
-
const trimmedText = trim$
|
7458
|
+
const trimmedText = trim$2(text);
|
7459
7459
|
return {
|
7460
7460
|
count: text.length - trimmedText.length,
|
7461
7461
|
text: trimmedText
|
@@ -11165,85 +11165,51 @@
|
|
11165
11165
|
}
|
11166
11166
|
}
|
11167
11167
|
|
11168
|
-
const
|
11169
|
-
const
|
11170
|
-
|
11171
|
-
|
11172
|
-
|
11173
|
-
|
11174
|
-
|
11175
|
-
|
11176
|
-
|
11177
|
-
|
11168
|
+
const getTemporaryNodeSelector = tempAttrs => `${ tempAttrs.length === 0 ? '' : `${ map$3(tempAttrs, attr => `[${ attr }]`).join(',') },` }[data-mce-bogus="all"]`;
|
11169
|
+
const getTemporaryNodes = (body, tempAttrs) => body.querySelectorAll(getTemporaryNodeSelector(tempAttrs));
|
11170
|
+
const createCommentWalker = body => document.createTreeWalker(body, NodeFilter.SHOW_COMMENT, null);
|
11171
|
+
const hasComments = body => createCommentWalker(body).nextNode() !== null;
|
11172
|
+
const hasTemporaryNodes = (body, tempAttrs) => body.querySelector(getTemporaryNodeSelector(tempAttrs)) !== null;
|
11173
|
+
const trimTemporaryNodes = (body, tempAttrs) => {
|
11174
|
+
each$e(getTemporaryNodes(body, tempAttrs), elm => {
|
11175
|
+
const element = SugarElement.fromDom(elm);
|
11176
|
+
if (get$9(element, 'data-mce-bogus') === 'all') {
|
11177
|
+
remove$5(element);
|
11178
11178
|
} else {
|
11179
|
-
|
11180
|
-
|
11181
|
-
|
11182
|
-
|
11179
|
+
each$e(tempAttrs, attr => {
|
11180
|
+
if (has$1(element, attr)) {
|
11181
|
+
remove$a(element, attr);
|
11182
|
+
}
|
11183
|
+
});
|
11183
11184
|
}
|
11184
|
-
}
|
11185
|
+
});
|
11185
11186
|
};
|
11186
|
-
const
|
11187
|
-
const
|
11188
|
-
|
11189
|
-
|
11190
|
-
|
11191
|
-
|
11192
|
-
|
11193
|
-
|
11194
|
-
const startMatch = startTagRegExp.exec(html);
|
11195
|
-
if (startMatch === null) {
|
11196
|
-
return index;
|
11197
|
-
} else if (startMatch[1] === '!') {
|
11198
|
-
if (startsWith(startMatch[2], '--')) {
|
11199
|
-
index = findCommentEndIndex(html, false, startMatch.index + '!--'.length);
|
11200
|
-
} else {
|
11201
|
-
index = findCommentEndIndex(html, true, startMatch.index + 1);
|
11202
|
-
}
|
11203
|
-
break;
|
11204
|
-
} else {
|
11205
|
-
endTagRegExp.lastIndex = startTagRegExp.lastIndex;
|
11206
|
-
const endMatch = endTagRegExp.exec(html);
|
11207
|
-
if (isNull(endMatch) || endMatch.index !== startTagRegExp.lastIndex) {
|
11208
|
-
continue;
|
11209
|
-
}
|
11210
|
-
if (startMatch[1] === '/') {
|
11211
|
-
count -= 1;
|
11212
|
-
} else if (!has$2(voidElements, startMatch[2])) {
|
11213
|
-
count += 1;
|
11214
|
-
}
|
11215
|
-
index = startTagRegExp.lastIndex + endMatch[0].length;
|
11216
|
-
break;
|
11217
|
-
}
|
11187
|
+
const removeCommentsContainingZwsp = body => {
|
11188
|
+
const walker = createCommentWalker(body);
|
11189
|
+
let nextNode = walker.nextNode();
|
11190
|
+
while (nextNode !== null) {
|
11191
|
+
const comment = walker.currentNode;
|
11192
|
+
nextNode = walker.nextNode();
|
11193
|
+
if (isString(comment.nodeValue) && comment.nodeValue.includes(ZWSP$1)) {
|
11194
|
+
remove$5(SugarElement.fromDom(comment));
|
11218
11195
|
}
|
11219
11196
|
}
|
11220
|
-
return index;
|
11221
|
-
};
|
11222
|
-
const trimHtml$1 = (tempAttrs, html) => {
|
11223
|
-
const trimContentRegExp = new RegExp(['\\s?(' + tempAttrs.join('|') + ')="[^"]+"'].join('|'), 'gi');
|
11224
|
-
return html.replace(trimContentRegExp, '');
|
11225
11197
|
};
|
11226
|
-
const
|
11227
|
-
|
11228
|
-
|
11229
|
-
|
11230
|
-
|
11231
|
-
|
11232
|
-
|
11233
|
-
|
11234
|
-
const matchLength = matches[0].length;
|
11235
|
-
let endTagIndex;
|
11236
|
-
if (voidElements[matches[1]]) {
|
11237
|
-
endTagIndex = index;
|
11238
|
-
} else {
|
11239
|
-
endTagIndex = findMatchingEndTagIndex(schema, content, index);
|
11198
|
+
const deepClone = body => body.cloneNode(true);
|
11199
|
+
const trim$1 = (body, tempAttrs) => {
|
11200
|
+
let trimmed = body;
|
11201
|
+
if (hasComments(body)) {
|
11202
|
+
trimmed = deepClone(body);
|
11203
|
+
removeCommentsContainingZwsp(trimmed);
|
11204
|
+
if (hasTemporaryNodes(trimmed, tempAttrs)) {
|
11205
|
+
trimTemporaryNodes(trimmed, tempAttrs);
|
11240
11206
|
}
|
11241
|
-
|
11242
|
-
|
11207
|
+
} else if (hasTemporaryNodes(body, tempAttrs)) {
|
11208
|
+
trimmed = deepClone(body);
|
11209
|
+
trimTemporaryNodes(trimmed, tempAttrs);
|
11243
11210
|
}
|
11244
|
-
return
|
11211
|
+
return trimmed;
|
11245
11212
|
};
|
11246
|
-
const trimExternal = trimInternal;
|
11247
11213
|
|
11248
11214
|
const cleanupBogusElements = parent => {
|
11249
11215
|
const bogusElements = descendants(parent, '[data-mce-bogus]');
|
@@ -11286,14 +11252,14 @@
|
|
11286
11252
|
cleanupInputNames(offscreenDiv);
|
11287
11253
|
const root = getContentContainer(dos);
|
11288
11254
|
append$1(root, offscreenDiv);
|
11289
|
-
const content = trim$
|
11255
|
+
const content = trim$2(offscreenDiv.dom.innerText);
|
11290
11256
|
remove$5(offscreenDiv);
|
11291
11257
|
return content;
|
11292
11258
|
};
|
11293
11259
|
const getContentFromBody = (editor, args, body) => {
|
11294
11260
|
let content;
|
11295
11261
|
if (args.format === 'raw') {
|
11296
|
-
content = Tools.trim(
|
11262
|
+
content = Tools.trim(trim$2(trim$1(body, editor.serializer.getTempAttrs()).innerHTML));
|
11297
11263
|
} else if (args.format === 'text') {
|
11298
11264
|
content = getPlainTextContent(editor, body);
|
11299
11265
|
} else if (args.format === 'tree') {
|
@@ -17477,7 +17443,7 @@
|
|
17477
17443
|
|
17478
17444
|
const isCollapsibleWhitespace = (text, index) => index >= 0 && index < text.length && isWhiteSpace(text.charAt(index));
|
17479
17445
|
const getInnerText = bin => {
|
17480
|
-
return trim$
|
17446
|
+
return trim$2(bin.innerText);
|
17481
17447
|
};
|
17482
17448
|
const getContextNodeName = parentBlockOpt => parentBlockOpt.map(block => block.nodeName).getOr('div').toLowerCase();
|
17483
17449
|
const getTextContent = editor => Optional.from(editor.selection.getRng()).map(rng => {
|
@@ -17493,7 +17459,7 @@
|
|
17493
17459
|
'style': 'overflow: hidden; opacity: 0;'
|
17494
17460
|
}, rangeContentClone.dom);
|
17495
17461
|
const text = getInnerText(bin);
|
17496
|
-
const nonRenderedText = trim$
|
17462
|
+
const nonRenderedText = trim$2((_a = bin.textContent) !== null && _a !== void 0 ? _a : '');
|
17497
17463
|
editor.dom.remove(bin);
|
17498
17464
|
if (isCollapsibleWhitespace(nonRenderedText, 0) || isCollapsibleWhitespace(nonRenderedText, nonRenderedText.length - 1)) {
|
17499
17465
|
const parentBlock = parentBlockOpt.getOr(body);
|
@@ -17715,11 +17681,9 @@
|
|
17715
17681
|
}
|
17716
17682
|
});
|
17717
17683
|
};
|
17718
|
-
const read$2 = elm => {
|
17719
|
-
return
|
17720
|
-
|
17721
|
-
});
|
17722
|
-
};
|
17684
|
+
const read$2 = (elm, trimZwsp) => filter$5(map$3(from(elm.childNodes), trimZwsp ? compose(trim$2, getOuterHtml) : getOuterHtml), item => {
|
17685
|
+
return item.length > 0;
|
17686
|
+
});
|
17723
17687
|
const write = (fragments, elm) => {
|
17724
17688
|
const currentFragments = map$3(from(elm.childNodes), getOuterHtml);
|
17725
17689
|
applyDiff(diff(currentFragments, fragments), elm);
|
@@ -17727,9 +17691,7 @@
|
|
17727
17691
|
};
|
17728
17692
|
|
17729
17693
|
const lazyTempDocument = cached(() => document.implementation.createHTMLDocument('undo'));
|
17730
|
-
const hasIframes =
|
17731
|
-
return html.indexOf('</iframe>') !== -1;
|
17732
|
-
};
|
17694
|
+
const hasIframes = body => body.querySelector('iframe') !== null;
|
17733
17695
|
const createFragmentedLevel = fragments => {
|
17734
17696
|
return {
|
17735
17697
|
type: 'fragmented',
|
@@ -17749,13 +17711,9 @@
|
|
17749
17711
|
};
|
17750
17712
|
};
|
17751
17713
|
const createFromEditor = editor => {
|
17752
|
-
const
|
17753
|
-
const
|
17754
|
-
|
17755
|
-
return trimmed.length > 0 ? [trimmed] : [];
|
17756
|
-
});
|
17757
|
-
const content = trimmedFragments.join('');
|
17758
|
-
return hasIframes(content) ? createFragmentedLevel(trimmedFragments) : createCompleteLevel(content);
|
17714
|
+
const tempAttrs = editor.serializer.getTempAttrs();
|
17715
|
+
const body = trim$1(editor.getBody(), tempAttrs);
|
17716
|
+
return hasIframes(body) ? createFragmentedLevel(read$2(body, true)) : createCompleteLevel(trim$2(body.innerHTML));
|
17759
17717
|
};
|
17760
17718
|
const applyToEditor = (editor, level, before) => {
|
17761
17719
|
const bookmark = before ? level.beforeBookmark : level.bookmark;
|
@@ -18812,7 +18770,7 @@
|
|
18812
18770
|
}
|
18813
18771
|
};
|
18814
18772
|
const getHtmlFromNode = (dom, node, args) => {
|
18815
|
-
const html = trim$
|
18773
|
+
const html = trim$2(args.getInner ? node.innerHTML : dom.getOuterHTML(node));
|
18816
18774
|
return args.selection || isWsPreserveElement(SugarElement.fromDom(node)) ? html : Tools.trim(html);
|
18817
18775
|
};
|
18818
18776
|
const parseHtml = (htmlParser, html, args) => {
|
@@ -23075,7 +23033,7 @@
|
|
23075
23033
|
};
|
23076
23034
|
|
23077
23035
|
const isValidTextRange = rng => rng.collapsed && isText$a(rng.startContainer);
|
23078
|
-
const getText = rng => trim$
|
23036
|
+
const getText = rng => trim$2(rng.toString().replace(/\u00A0/g, ' '));
|
23079
23037
|
const isWhitespace = chr => chr !== '' && ' \xA0\f\n\r\t\x0B'.indexOf(chr) !== -1;
|
23080
23038
|
|
23081
23039
|
const stripTrigger = (text, trigger) => text.substring(trigger.length);
|
@@ -24377,7 +24335,7 @@
|
|
24377
24335
|
const trimZwsp = fragment => {
|
24378
24336
|
each$e(descendants$1(SugarElement.fromDom(fragment), isText$b), text => {
|
24379
24337
|
const rawNode = text.dom;
|
24380
|
-
rawNode.nodeValue = trim$
|
24338
|
+
rawNode.nodeValue = trim$2(rawNode.data);
|
24381
24339
|
});
|
24382
24340
|
};
|
24383
24341
|
const isWithinNonEditableList = (editor, node) => {
|
@@ -28933,7 +28891,7 @@
|
|
28933
28891
|
return [];
|
28934
28892
|
} else {
|
28935
28893
|
const pluginNames = isArray$1(plugins) ? plugins : plugins.split(/[ ,]/);
|
28936
|
-
const trimmedPlugins = map$3(pluginNames, trim$
|
28894
|
+
const trimmedPlugins = map$3(pluginNames, trim$4);
|
28937
28895
|
return filter$5(trimmedPlugins, isNotEmpty);
|
28938
28896
|
}
|
28939
28897
|
};
|
@@ -30914,8 +30872,8 @@
|
|
30914
30872
|
documentBaseURL: null,
|
30915
30873
|
suffix: null,
|
30916
30874
|
majorVersion: '6',
|
30917
|
-
minorVersion: '7.
|
30918
|
-
releaseDate: '2023-
|
30875
|
+
minorVersion: '7.1',
|
30876
|
+
releaseDate: '2023-10-19',
|
30919
30877
|
i18n: I18n,
|
30920
30878
|
activeEditor: null,
|
30921
30879
|
focusedEditor: null,
|