jodit-pro-react 5.4.32 → 5.5.2
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.
|
@@ -182,7 +182,7 @@ var APP_VERSION, ES, IS_ES_MODERN, IS_ES_NEXT, IS_PROD, IS_TEST, FAT_MODE, HOMEP
|
|
|
182
182
|
var init_constants = __esm({
|
|
183
183
|
"node_modules/jodit/esm/core/constants.js"() {
|
|
184
184
|
"use strict";
|
|
185
|
-
APP_VERSION = "4.
|
|
185
|
+
APP_VERSION = "4.11.3";
|
|
186
186
|
ES = "es2020";
|
|
187
187
|
IS_ES_MODERN = true;
|
|
188
188
|
IS_ES_NEXT = true;
|
|
@@ -4294,17 +4294,52 @@ var init_utils3 = __esm({
|
|
|
4294
4294
|
|
|
4295
4295
|
// node_modules/jodit/esm/core/helpers/html/safe-html.js
|
|
4296
4296
|
function safeHTML(box, options2) {
|
|
4297
|
+
var _a2;
|
|
4297
4298
|
if (!Dom.isElement(box) && !Dom.isFragment(box)) {
|
|
4298
4299
|
return;
|
|
4299
4300
|
}
|
|
4300
|
-
|
|
4301
|
-
|
|
4301
|
+
const removeEvents = (_a2 = options2.removeEventAttributes) !== null && _a2 !== void 0 ? _a2 : options2.removeOnError;
|
|
4302
|
+
if (removeEvents) {
|
|
4303
|
+
removeAllEventAttributes(box);
|
|
4304
|
+
$$("*", box).forEach((elm) => removeAllEventAttributes(elm));
|
|
4305
|
+
} else if (options2.removeOnError) {
|
|
4306
|
+
sanitizeHTMLElement(box, options2);
|
|
4302
4307
|
$$("[onerror]", box).forEach((elm) => sanitizeHTMLElement(elm, options2));
|
|
4303
4308
|
}
|
|
4304
4309
|
if (options2.safeJavaScriptLink) {
|
|
4305
|
-
sanitizeHTMLElement(box);
|
|
4310
|
+
sanitizeHTMLElement(box, options2);
|
|
4306
4311
|
$$('a[href^="javascript"]', box).forEach((elm) => sanitizeHTMLElement(elm, options2));
|
|
4307
4312
|
}
|
|
4313
|
+
if (options2.safeLinksTarget) {
|
|
4314
|
+
$$('a[target="_blank"]', box).forEach((elm) => {
|
|
4315
|
+
const rel = elm.getAttribute("rel") || "";
|
|
4316
|
+
const parts = rel.split(/\s+/).filter(Boolean);
|
|
4317
|
+
if (!parts.includes("noopener")) {
|
|
4318
|
+
parts.push("noopener");
|
|
4319
|
+
}
|
|
4320
|
+
if (!parts.includes("noreferrer")) {
|
|
4321
|
+
parts.push("noreferrer");
|
|
4322
|
+
}
|
|
4323
|
+
attr(elm, "rel", parts.join(" "));
|
|
4324
|
+
});
|
|
4325
|
+
}
|
|
4326
|
+
}
|
|
4327
|
+
function removeAllEventAttributes(elm) {
|
|
4328
|
+
if (!Dom.isElement(elm)) {
|
|
4329
|
+
return false;
|
|
4330
|
+
}
|
|
4331
|
+
let effected = false;
|
|
4332
|
+
const toRemove = [];
|
|
4333
|
+
for (let i48 = 0; i48 < elm.attributes.length; i48++) {
|
|
4334
|
+
if (elm.attributes[i48].name.toLowerCase().startsWith("on")) {
|
|
4335
|
+
toRemove.push(elm.attributes[i48].name);
|
|
4336
|
+
}
|
|
4337
|
+
}
|
|
4338
|
+
for (const name of toRemove) {
|
|
4339
|
+
elm.removeAttribute(name);
|
|
4340
|
+
effected = true;
|
|
4341
|
+
}
|
|
4342
|
+
return effected;
|
|
4308
4343
|
}
|
|
4309
4344
|
function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError } = {
|
|
4310
4345
|
safeJavaScriptLink: true,
|
|
@@ -19398,10 +19433,16 @@ Config.prototype.cleanHTML = {
|
|
|
19398
19433
|
b: "strong"
|
|
19399
19434
|
},
|
|
19400
19435
|
allowTags: false,
|
|
19401
|
-
denyTags: "script",
|
|
19436
|
+
denyTags: "script,iframe,object,embed",
|
|
19402
19437
|
useIframeSandbox: false,
|
|
19403
19438
|
removeOnError: true,
|
|
19439
|
+
removeEventAttributes: true,
|
|
19404
19440
|
safeJavaScriptLink: true,
|
|
19441
|
+
safeLinksTarget: true,
|
|
19442
|
+
allowedStyles: false,
|
|
19443
|
+
sanitizer: false,
|
|
19444
|
+
sandboxIframesInContent: true,
|
|
19445
|
+
convertUnsafeEmbeds: ["object", "embed"],
|
|
19405
19446
|
disableCleanFilter: null
|
|
19406
19447
|
};
|
|
19407
19448
|
Config.prototype.controls.eraser = {
|
|
@@ -19534,11 +19575,15 @@ init_constants();
|
|
|
19534
19575
|
var filters_exports = {};
|
|
19535
19576
|
__export(filters_exports, {
|
|
19536
19577
|
allowAttributes: () => allowAttributes,
|
|
19578
|
+
convertUnsafeEmbeds: () => convertUnsafeEmbeds,
|
|
19537
19579
|
fillEmptyParagraph: () => fillEmptyParagraph,
|
|
19538
19580
|
removeEmptyTextNode: () => removeEmptyTextNode,
|
|
19539
19581
|
removeInvTextNodes: () => removeInvTextNodes,
|
|
19540
19582
|
replaceOldTags: () => replaceOldTags,
|
|
19583
|
+
safeLinksTarget: () => safeLinksTarget,
|
|
19584
|
+
sandboxIframesInContent: () => sandboxIframesInContent,
|
|
19541
19585
|
sanitizeAttributes: () => sanitizeAttributes,
|
|
19586
|
+
sanitizeStyles: () => sanitizeStyles,
|
|
19542
19587
|
tryRemoveNode: () => tryRemoveNode
|
|
19543
19588
|
});
|
|
19544
19589
|
|
|
@@ -19566,6 +19611,36 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) {
|
|
|
19566
19611
|
return hadEffect;
|
|
19567
19612
|
}
|
|
19568
19613
|
|
|
19614
|
+
// node_modules/jodit/esm/plugins/clean-html/helpers/visitor/filters/convert-unsafe-embeds.js
|
|
19615
|
+
init_dom();
|
|
19616
|
+
init_attr();
|
|
19617
|
+
function convertUnsafeEmbeds(jodit, nodeElm, hadEffect) {
|
|
19618
|
+
const opt = jodit.o.cleanHTML.convertUnsafeEmbeds;
|
|
19619
|
+
if (!opt || !Dom.isElement(nodeElm)) {
|
|
19620
|
+
return hadEffect;
|
|
19621
|
+
}
|
|
19622
|
+
const tag = nodeElm.nodeName.toLowerCase();
|
|
19623
|
+
if (!opt.includes(tag)) {
|
|
19624
|
+
return hadEffect;
|
|
19625
|
+
}
|
|
19626
|
+
const elm = nodeElm;
|
|
19627
|
+
const src = attr(elm, "data") || attr(elm, "src") || attr(elm, "movie") || "";
|
|
19628
|
+
if (!src) {
|
|
19629
|
+
Dom.safeRemove(elm);
|
|
19630
|
+
return true;
|
|
19631
|
+
}
|
|
19632
|
+
const iframe2 = jodit.createInside.element("iframe");
|
|
19633
|
+
attr(iframe2, {
|
|
19634
|
+
src,
|
|
19635
|
+
sandbox: "",
|
|
19636
|
+
frameborder: "0",
|
|
19637
|
+
width: attr(elm, "width"),
|
|
19638
|
+
height: attr(elm, "height")
|
|
19639
|
+
});
|
|
19640
|
+
Dom.replace(elm, iframe2, void 0, false, true);
|
|
19641
|
+
return true;
|
|
19642
|
+
}
|
|
19643
|
+
|
|
19569
19644
|
// node_modules/jodit/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.js
|
|
19570
19645
|
init_constants();
|
|
19571
19646
|
init_dom();
|
|
@@ -19643,19 +19718,127 @@ function replaceIfMatched(jodit, oldParent, list) {
|
|
|
19643
19718
|
return oldParent;
|
|
19644
19719
|
}
|
|
19645
19720
|
|
|
19721
|
+
// node_modules/jodit/esm/plugins/clean-html/helpers/visitor/filters/safe-links-target.js
|
|
19722
|
+
init_dom();
|
|
19723
|
+
init_attr();
|
|
19724
|
+
function safeLinksTarget(jodit, nodeElm, hadEffect) {
|
|
19725
|
+
if (!jodit.o.cleanHTML.safeLinksTarget || !Dom.isElement(nodeElm) || nodeElm.nodeName !== "A") {
|
|
19726
|
+
return hadEffect;
|
|
19727
|
+
}
|
|
19728
|
+
const elm = nodeElm;
|
|
19729
|
+
if (attr(elm, "target") !== "_blank") {
|
|
19730
|
+
return hadEffect;
|
|
19731
|
+
}
|
|
19732
|
+
const rel = attr(elm, "rel") || "";
|
|
19733
|
+
const parts = rel.split(/\s+/).filter(Boolean);
|
|
19734
|
+
let changed = false;
|
|
19735
|
+
if (!parts.includes("noopener")) {
|
|
19736
|
+
parts.push("noopener");
|
|
19737
|
+
changed = true;
|
|
19738
|
+
}
|
|
19739
|
+
if (!parts.includes("noreferrer")) {
|
|
19740
|
+
parts.push("noreferrer");
|
|
19741
|
+
changed = true;
|
|
19742
|
+
}
|
|
19743
|
+
if (changed) {
|
|
19744
|
+
attr(elm, "rel", parts.join(" "));
|
|
19745
|
+
return true;
|
|
19746
|
+
}
|
|
19747
|
+
return hadEffect;
|
|
19748
|
+
}
|
|
19749
|
+
|
|
19750
|
+
// node_modules/jodit/esm/plugins/clean-html/helpers/visitor/filters/sandbox-iframes-in-content.js
|
|
19751
|
+
init_dom();
|
|
19752
|
+
init_attr();
|
|
19753
|
+
function sandboxIframesInContent(jodit, nodeElm, hadEffect) {
|
|
19754
|
+
if (!jodit.o.cleanHTML.sandboxIframesInContent || !Dom.isElement(nodeElm) || nodeElm.nodeName !== "IFRAME") {
|
|
19755
|
+
return hadEffect;
|
|
19756
|
+
}
|
|
19757
|
+
const elm = nodeElm;
|
|
19758
|
+
if (!elm.hasAttribute("sandbox")) {
|
|
19759
|
+
attr(elm, "sandbox", "");
|
|
19760
|
+
return true;
|
|
19761
|
+
}
|
|
19762
|
+
return hadEffect;
|
|
19763
|
+
}
|
|
19764
|
+
|
|
19646
19765
|
// node_modules/jodit/esm/plugins/clean-html/helpers/visitor/filters/sanitize-attributes.js
|
|
19647
19766
|
init_dom();
|
|
19648
19767
|
init_helpers();
|
|
19649
19768
|
function sanitizeAttributes(jodit, nodeElm, hadEffect) {
|
|
19650
|
-
if (Dom.isElement(nodeElm)
|
|
19651
|
-
|
|
19652
|
-
|
|
19769
|
+
if (!Dom.isElement(nodeElm)) {
|
|
19770
|
+
return hadEffect;
|
|
19771
|
+
}
|
|
19772
|
+
const opts = jodit.options.cleanHTML;
|
|
19773
|
+
if (sanitizeHTMLElement(nodeElm, {
|
|
19774
|
+
safeJavaScriptLink: opts.safeJavaScriptLink,
|
|
19775
|
+
removeOnError: opts.removeOnError,
|
|
19776
|
+
removeEventAttributes: opts.removeEventAttributes,
|
|
19777
|
+
safeLinksTarget: opts.safeLinksTarget
|
|
19653
19778
|
})) {
|
|
19654
19779
|
return true;
|
|
19655
19780
|
}
|
|
19656
19781
|
return hadEffect;
|
|
19657
19782
|
}
|
|
19658
19783
|
|
|
19784
|
+
// node_modules/jodit/esm/plugins/clean-html/helpers/visitor/filters/sanitize-styles.js
|
|
19785
|
+
init_dom();
|
|
19786
|
+
init_attr();
|
|
19787
|
+
function sanitizeStyles(jodit, nodeElm, hadEffect) {
|
|
19788
|
+
const allowedStyles = jodit.o.cleanHTML.allowedStyles;
|
|
19789
|
+
if (!allowedStyles || !Dom.isElement(nodeElm)) {
|
|
19790
|
+
return hadEffect;
|
|
19791
|
+
}
|
|
19792
|
+
const elm = nodeElm;
|
|
19793
|
+
const style = attr(elm, "style");
|
|
19794
|
+
if (!style) {
|
|
19795
|
+
return hadEffect;
|
|
19796
|
+
}
|
|
19797
|
+
const tagName = nodeElm.nodeName.toLowerCase();
|
|
19798
|
+
const allowed = getAllowedPropsForTag(tagName, allowedStyles);
|
|
19799
|
+
if (!allowed) {
|
|
19800
|
+
return hadEffect;
|
|
19801
|
+
}
|
|
19802
|
+
const filtered = filterStyleProperties(style, allowed);
|
|
19803
|
+
if (filtered !== style) {
|
|
19804
|
+
attr(elm, "style", filtered || null);
|
|
19805
|
+
return true;
|
|
19806
|
+
}
|
|
19807
|
+
return hadEffect;
|
|
19808
|
+
}
|
|
19809
|
+
function getAllowedPropsForTag(tagName, allowedStyles) {
|
|
19810
|
+
const tagSpecific = allowedStyles[tagName];
|
|
19811
|
+
const global = allowedStyles["*"];
|
|
19812
|
+
if (!tagSpecific && !global) {
|
|
19813
|
+
return null;
|
|
19814
|
+
}
|
|
19815
|
+
const set2 = /* @__PURE__ */ new Set();
|
|
19816
|
+
if (global) {
|
|
19817
|
+
for (const prop of global) {
|
|
19818
|
+
set2.add(prop.toLowerCase());
|
|
19819
|
+
}
|
|
19820
|
+
}
|
|
19821
|
+
if (tagSpecific) {
|
|
19822
|
+
for (const prop of tagSpecific) {
|
|
19823
|
+
set2.add(prop.toLowerCase());
|
|
19824
|
+
}
|
|
19825
|
+
}
|
|
19826
|
+
return set2;
|
|
19827
|
+
}
|
|
19828
|
+
function filterStyleProperties(style, allowed) {
|
|
19829
|
+
return style.split(";").map((s52) => s52.trim()).filter((s52) => {
|
|
19830
|
+
if (!s52) {
|
|
19831
|
+
return false;
|
|
19832
|
+
}
|
|
19833
|
+
const colonIdx = s52.indexOf(":");
|
|
19834
|
+
if (colonIdx === -1) {
|
|
19835
|
+
return false;
|
|
19836
|
+
}
|
|
19837
|
+
const prop = s52.substring(0, colonIdx).trim().toLowerCase();
|
|
19838
|
+
return allowed.has(prop);
|
|
19839
|
+
}).join("; ").replace(/;\s*$/, "");
|
|
19840
|
+
}
|
|
19841
|
+
|
|
19659
19842
|
// node_modules/jodit/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.js
|
|
19660
19843
|
init_constants();
|
|
19661
19844
|
init_dom();
|
|
@@ -19777,6 +19960,10 @@ var cleanHtml = class extends Plugin {
|
|
|
19777
19960
|
return false;
|
|
19778
19961
|
}
|
|
19779
19962
|
onSafeHTML(sandBox) {
|
|
19963
|
+
const sanitizer = this.j.o.cleanHTML.sanitizer;
|
|
19964
|
+
if (sanitizer) {
|
|
19965
|
+
sandBox.innerHTML = sanitizer(sandBox.innerHTML);
|
|
19966
|
+
}
|
|
19780
19967
|
safeHTML(sandBox, this.j.o.cleanHTML);
|
|
19781
19968
|
}
|
|
19782
19969
|
/** @override */
|
|
@@ -20668,7 +20855,7 @@ var dragAndDrop = class extends Plugin {
|
|
|
20668
20855
|
if (this.isCopyMode) {
|
|
20669
20856
|
const [tagName, field] = attr(this.draggable, "-is-file") === "1" ? ["a", "href"] : ["img", "src"];
|
|
20670
20857
|
fragment = this.j.createInside.element(tagName);
|
|
20671
|
-
fragment
|
|
20858
|
+
attr(fragment, field, attr(this.draggable, "data-src") || attr(this.draggable, "src") || "");
|
|
20672
20859
|
if (tagName === "a") {
|
|
20673
20860
|
fragment.textContent = attr(fragment, field) || "";
|
|
20674
20861
|
}
|
|
@@ -20993,6 +21180,7 @@ function hasPreviousBlock(fake, jodit) {
|
|
|
20993
21180
|
|
|
20994
21181
|
// node_modules/jodit/esm/plugins/enter/helpers/insert-paragraph.js
|
|
20995
21182
|
init_dom();
|
|
21183
|
+
init_attr();
|
|
20996
21184
|
init_scroll_into_view();
|
|
20997
21185
|
function insertParagraph(fake, editor, wrapperTag, style) {
|
|
20998
21186
|
const isBR = wrapperTag.toLowerCase() === "br", { createInside } = editor, p56 = createInside.element(wrapperTag), br = createInside.element("br");
|
|
@@ -21000,7 +21188,7 @@ function insertParagraph(fake, editor, wrapperTag, style) {
|
|
|
21000
21188
|
p56.appendChild(br);
|
|
21001
21189
|
}
|
|
21002
21190
|
if (style && style.cssText) {
|
|
21003
|
-
p56
|
|
21191
|
+
attr(p56, "style", style.cssText);
|
|
21004
21192
|
}
|
|
21005
21193
|
Dom.after(fake, p56);
|
|
21006
21194
|
Dom.before(isBR ? p56 : br, fake);
|
|
@@ -21182,6 +21370,7 @@ pluginSystem.add("enter", enter);
|
|
|
21182
21370
|
// node_modules/jodit/esm/plugins/file/file.js
|
|
21183
21371
|
init_dom();
|
|
21184
21372
|
init_global2();
|
|
21373
|
+
init_attr();
|
|
21185
21374
|
init_config();
|
|
21186
21375
|
Config.prototype.controls.file = {
|
|
21187
21376
|
popup: (editor, current, close) => {
|
|
@@ -21200,8 +21389,8 @@ Config.prototype.controls.file = {
|
|
|
21200
21389
|
upload: true,
|
|
21201
21390
|
url: (url2, text) => {
|
|
21202
21391
|
if (sourceAnchor) {
|
|
21203
|
-
sourceAnchor
|
|
21204
|
-
sourceAnchor
|
|
21392
|
+
attr(sourceAnchor, "href", url2);
|
|
21393
|
+
attr(sourceAnchor, "title", text);
|
|
21205
21394
|
} else {
|
|
21206
21395
|
insert(url2, text);
|
|
21207
21396
|
}
|
|
@@ -21808,8 +21997,8 @@ function iframe(editor) {
|
|
|
21808
21997
|
if (opt.iframeCSSLinks) {
|
|
21809
21998
|
opt.iframeCSSLinks.forEach((href) => {
|
|
21810
21999
|
const link2 = doc.createElement("link");
|
|
21811
|
-
link2
|
|
21812
|
-
link2
|
|
22000
|
+
attr(link2, "rel", "stylesheet");
|
|
22001
|
+
attr(link2, "href", href);
|
|
21813
22002
|
doc.head && doc.head.appendChild(link2);
|
|
21814
22003
|
});
|
|
21815
22004
|
}
|
|
@@ -21826,11 +22015,13 @@ function iframe(editor) {
|
|
|
21826
22015
|
iframe2.style.display = "block";
|
|
21827
22016
|
iframe2.src = "about:blank";
|
|
21828
22017
|
iframe2.className = "jodit-wysiwyg_iframe";
|
|
21829
|
-
iframe2
|
|
21830
|
-
|
|
21831
|
-
|
|
22018
|
+
attr(iframe2, {
|
|
22019
|
+
allowtransparency: "true",
|
|
22020
|
+
tabindex: opt.tabIndex.toString(),
|
|
22021
|
+
frameborder: "0"
|
|
22022
|
+
});
|
|
21832
22023
|
if (opt.iframeSandbox != null) {
|
|
21833
|
-
iframe2
|
|
22024
|
+
attr(iframe2, "sandbox", opt.iframeSandbox);
|
|
21834
22025
|
}
|
|
21835
22026
|
editor.workplace.appendChild(iframe2);
|
|
21836
22027
|
editor.iframe = iframe2;
|
|
@@ -21924,6 +22115,7 @@ pluginSystem.add("iframe", iframe);
|
|
|
21924
22115
|
init_dom2();
|
|
21925
22116
|
init_global2();
|
|
21926
22117
|
init_helpers();
|
|
22118
|
+
init_attr();
|
|
21927
22119
|
init_config();
|
|
21928
22120
|
|
|
21929
22121
|
// node_modules/jodit/esm/plugins/image/image.svg.js
|
|
@@ -21951,8 +22143,8 @@ Config.prototype.controls.image = {
|
|
|
21951
22143
|
url2 = "//" + url2;
|
|
21952
22144
|
}
|
|
21953
22145
|
const image2 = sourceImage || editor.createInside.element("img");
|
|
21954
|
-
image2
|
|
21955
|
-
image2
|
|
22146
|
+
attr(image2, "src", url2);
|
|
22147
|
+
attr(image2, "alt", text);
|
|
21956
22148
|
if (!sourceImage) {
|
|
21957
22149
|
yield editor.s.insertImage(image2, null, editor.o.imageDefaultWidth);
|
|
21958
22150
|
}
|
|
@@ -22907,6 +23099,10 @@ function applyLink(j10, image2, imageLink, imageLinkOpenInNewTab) {
|
|
|
22907
23099
|
}
|
|
22908
23100
|
attr(link2, "href", imageLink);
|
|
22909
23101
|
attr(link2, "target", imageLinkOpenInNewTab ? "_blank" : null);
|
|
23102
|
+
if (!imageLinkOpenInNewTab) {
|
|
23103
|
+
const relParts = (attr(link2, "rel") || "").split(/\s+/).filter((p56) => p56 && p56 !== "noopener" && p56 !== "noreferrer");
|
|
23104
|
+
attr(link2, "rel", relParts.length ? relParts.join(" ") : null);
|
|
23105
|
+
}
|
|
22910
23106
|
} else {
|
|
22911
23107
|
if (link2 && link2.parentNode) {
|
|
22912
23108
|
link2.parentNode.replaceChild(image2, link2);
|
|
@@ -24599,7 +24795,7 @@ var link = class extends Plugin {
|
|
|
24599
24795
|
}
|
|
24600
24796
|
if (jodit.s.isCollapsed()) {
|
|
24601
24797
|
const a68 = jodit.createInside.element("a");
|
|
24602
|
-
a68
|
|
24798
|
+
attr(a68, "href", html);
|
|
24603
24799
|
a68.textContent = html;
|
|
24604
24800
|
jodit.e.fire("applyLink", jodit, a68, null);
|
|
24605
24801
|
return a68;
|
|
@@ -24659,7 +24855,7 @@ var link = class extends Plugin {
|
|
|
24659
24855
|
target_checkbox.checked = attr(link2, "target") === "_blank";
|
|
24660
24856
|
}
|
|
24661
24857
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
24662
|
-
nofollow_checkbox.checked = attr(link2, "rel")
|
|
24858
|
+
nofollow_checkbox.checked = (attr(link2, "rel") || "").split(/\s+/).includes("nofollow");
|
|
24663
24859
|
}
|
|
24664
24860
|
insert.textContent = i18n2("Update");
|
|
24665
24861
|
} else {
|
|
@@ -24719,7 +24915,14 @@ var link = class extends Plugin {
|
|
|
24719
24915
|
attr(a68, "target", target_checkbox.checked ? "_blank" : null);
|
|
24720
24916
|
}
|
|
24721
24917
|
if (noFollowCheckbox && nofollow_checkbox) {
|
|
24722
|
-
attr(a68, "rel"
|
|
24918
|
+
const relParts = (attr(a68, "rel") || "").split(/\s+/).filter(Boolean);
|
|
24919
|
+
const hasNofollow = relParts.includes("nofollow");
|
|
24920
|
+
if (nofollow_checkbox.checked && !hasNofollow) {
|
|
24921
|
+
relParts.push("nofollow");
|
|
24922
|
+
} else if (!nofollow_checkbox.checked && hasNofollow) {
|
|
24923
|
+
relParts.splice(relParts.indexOf("nofollow"), 1);
|
|
24924
|
+
}
|
|
24925
|
+
attr(a68, "rel", relParts.length ? relParts.join(" ") : null);
|
|
24723
24926
|
}
|
|
24724
24927
|
jodit.e.fire("applyLink", jodit, a68, form2);
|
|
24725
24928
|
});
|
|
@@ -26840,8 +27043,8 @@ var resizer = class extends Plugin {
|
|
|
26840
27043
|
this.j.e.off(element, "mousedown.select touchstart.select").on(element, "mousedown.select touchstart.select", () => {
|
|
26841
27044
|
this.j.s.select(element);
|
|
26842
27045
|
}).off(element, "changesize").on(element, "changesize", () => {
|
|
26843
|
-
iframe2
|
|
26844
|
-
iframe2
|
|
27046
|
+
attr(iframe2, "width", element.offsetWidth + "px");
|
|
27047
|
+
attr(iframe2, "height", element.offsetHeight + "px");
|
|
26845
27048
|
});
|
|
26846
27049
|
}
|
|
26847
27050
|
this.j.e.on(element, "dragstart", this.hide);
|
|
@@ -28578,6 +28781,7 @@ var AceEditor = class extends SourceEditor {
|
|
|
28578
28781
|
|
|
28579
28782
|
// node_modules/jodit/esm/plugins/source/editor/engines/area.js
|
|
28580
28783
|
init_dom();
|
|
28784
|
+
init_attr();
|
|
28581
28785
|
init_css();
|
|
28582
28786
|
var TextAreaEditor = class extends SourceEditor {
|
|
28583
28787
|
constructor() {
|
|
@@ -28638,14 +28842,10 @@ var TextAreaEditor = class extends SourceEditor {
|
|
|
28638
28842
|
this.instance.blur();
|
|
28639
28843
|
}
|
|
28640
28844
|
setPlaceHolder(title) {
|
|
28641
|
-
this.instance
|
|
28845
|
+
attr(this.instance, "placeholder", title);
|
|
28642
28846
|
}
|
|
28643
28847
|
setReadOnly(isReadOnly) {
|
|
28644
|
-
|
|
28645
|
-
this.instance.setAttribute("readonly", "true");
|
|
28646
|
-
} else {
|
|
28647
|
-
this.instance.removeAttribute("readonly");
|
|
28648
|
-
}
|
|
28848
|
+
attr(this.instance, "readonly", isReadOnly ? "true" : null);
|
|
28649
28849
|
}
|
|
28650
28850
|
selectAll() {
|
|
28651
28851
|
this.instance.select();
|
|
@@ -48358,11 +48558,15 @@ jodit/esm/plugins/clean-html/helpers/get-hash.js:
|
|
|
48358
48558
|
jodit/esm/plugins/clean-html/helpers/remove-format/remove-format-for-collapsed-selection.js:
|
|
48359
48559
|
jodit/esm/plugins/clean-html/helpers/remove-format/remove-format-for-selection.js:
|
|
48360
48560
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/allow-attributes.js:
|
|
48561
|
+
jodit/esm/plugins/clean-html/helpers/visitor/filters/convert-unsafe-embeds.js:
|
|
48361
48562
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/fill-empty-paragraph.js:
|
|
48362
48563
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/remove-empty-text-node.js:
|
|
48363
48564
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/remove-inv-text-nodes.js:
|
|
48364
48565
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/replace-old-tags.js:
|
|
48566
|
+
jodit/esm/plugins/clean-html/helpers/visitor/filters/safe-links-target.js:
|
|
48567
|
+
jodit/esm/plugins/clean-html/helpers/visitor/filters/sandbox-iframes-in-content.js:
|
|
48365
48568
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/sanitize-attributes.js:
|
|
48569
|
+
jodit/esm/plugins/clean-html/helpers/visitor/filters/sanitize-styles.js:
|
|
48366
48570
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/try-remove-node.js:
|
|
48367
48571
|
jodit/esm/plugins/clean-html/helpers/visitor/filters/index.js:
|
|
48368
48572
|
jodit/esm/plugins/clean-html/helpers/visitor/visit-node-walker.js:
|