import { __commonJS, init_define_APP_INFO } from "./chunk-XY75H3MP.js"; // node_modules/tinymce/plugins/noneditable/plugin.js var require_plugin = __commonJS({ "node_modules/tinymce/plugins/noneditable/plugin.js"() { init_define_APP_INFO(); (function() { "use strict"; var global$1 = tinymce.util.Tools.resolve("tinymce.PluginManager"); var global = tinymce.util.Tools.resolve("tinymce.util.Tools"); var getNonEditableClass = function(editor) { return editor.getParam("noneditable_noneditable_class", "mceNonEditable"); }; var getEditableClass = function(editor) { return editor.getParam("noneditable_editable_class", "mceEditable"); }; var getNonEditableRegExps = function(editor) { var nonEditableRegExps = editor.getParam("noneditable_regexp", []); if (nonEditableRegExps && nonEditableRegExps.constructor === RegExp) { return [nonEditableRegExps]; } else { return nonEditableRegExps; } }; var hasClass = function(checkClassName) { return function(node) { return (" " + node.attr("class") + " ").indexOf(checkClassName) !== -1; }; }; var replaceMatchWithSpan = function(editor, content, cls) { return function(match) { var args = arguments, index = args[args.length - 2]; var prevChar = index > 0 ? content.charAt(index - 1) : ""; if (prevChar === '"') { return match; } if (prevChar === ">") { var findStartTagIndex = content.lastIndexOf("<", index); if (findStartTagIndex !== -1) { var tagHtml = content.substring(findStartTagIndex, index); if (tagHtml.indexOf('contenteditable="false"') !== -1) { return match; } } } return '' + editor.dom.encode(typeof args[1] === "string" ? args[1] : args[0]) + ""; }; }; var convertRegExpsToNonEditable = function(editor, nonEditableRegExps, e) { var i = nonEditableRegExps.length, content = e.content; if (e.format === "raw") { return; } while (i--) { content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan(editor, content, getNonEditableClass(editor))); } e.content = content; }; var setup = function(editor) { var contentEditableAttrName = "contenteditable"; var editClass = " " + global.trim(getEditableClass(editor)) + " "; var nonEditClass = " " + global.trim(getNonEditableClass(editor)) + " "; var hasEditClass = hasClass(editClass); var hasNonEditClass = hasClass(nonEditClass); var nonEditableRegExps = getNonEditableRegExps(editor); editor.on("PreInit", function() { if (nonEditableRegExps.length > 0) { editor.on("BeforeSetContent", function(e) { convertRegExpsToNonEditable(editor, nonEditableRegExps, e); }); } editor.parser.addAttributeFilter("class", function(nodes) { var i = nodes.length, node; while (i--) { node = nodes[i]; if (hasEditClass(node)) { node.attr(contentEditableAttrName, "true"); } else if (hasNonEditClass(node)) { node.attr(contentEditableAttrName, "false"); } } }); editor.serializer.addAttributeFilter(contentEditableAttrName, function(nodes) { var i = nodes.length, node; while (i--) { node = nodes[i]; if (!hasEditClass(node) && !hasNonEditClass(node)) { continue; } if (nonEditableRegExps.length > 0 && node.attr("data-mce-content")) { node.name = "#text"; node.type = 3; node.raw = true; node.value = node.attr("data-mce-content"); } else { node.attr(contentEditableAttrName, null); } } }); }); }; function Plugin() { global$1.add("noneditable", function(editor) { setup(editor); }); } Plugin(); })(); } }); // node_modules/tinymce/plugins/noneditable/index.js var require_noneditable = __commonJS({ "node_modules/tinymce/plugins/noneditable/index.js"() { init_define_APP_INFO(); require_plugin(); } }); // dep:tinymce_plugins_noneditable init_define_APP_INFO(); var tinymce_plugins_noneditable_default = require_noneditable(); export { tinymce_plugins_noneditable_default as default }; //# sourceMappingURL=tinymce_plugins_noneditable.js.map