UNPKG

jodit-pro-react

Version:

Jodit PRO is awesome and usefully wysiwyg editor with filebrowser

1,516 lines (1,477 loc) 2.12 MB
var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __reflectGet = Reflect.get; var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name); var __typeError = (msg) => { throw TypeError(msg); }; var __defNormalProp = (obj, key3, value) => key3 in obj ? __defProp(obj, key3, { enumerable: true, configurable: true, writable: true, value }) : obj[key3] = value; var __spreadValues = (a71, b17) => { for (var prop in b17 || (b17 = {})) if (__hasOwnProp.call(b17, prop)) __defNormalProp(a71, prop, b17[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b17)) { if (__propIsEnum.call(b17, prop)) __defNormalProp(a71, prop, b17[prop]); } return a71; }; var __spreadProps = (a71, b17) => __defProps(a71, __getOwnPropDescs(b17)); var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key3 of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key3) && key3 !== except) __defProp(to, key3, { get: () => from[key3], enumerable: !(desc = __getOwnPropDesc(from, key3)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __publicField = (obj, key3, value) => __defNormalProp(obj, typeof key3 !== "symbol" ? key3 + "" : key3, value); var __superGet = (cls, obj, key3) => __reflectGet(__getProtoOf(cls), key3, obj); var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e42) { reject(e42); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e42) { reject(e42); } }; var step = (x8) => x8.done ? resolve(x8.value) : Promise.resolve(x8.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; var __await = function(promise, isYieldStar) { this[0] = promise; this[1] = isYieldStar; }; var __asyncGenerator = (__this, __arguments, generator) => { var resume = (k6, v18, yes, no) => { try { var x8 = generator[k6](v18), isAwait = (v18 = x8.value) instanceof __await, done = x8.done; Promise.resolve(isAwait ? v18[0] : v18).then((y9) => isAwait ? resume(k6 === "return" ? k6 : "next", v18[1] ? { done: y9.done, value: y9.value } : y9, yes, no) : yes({ value: y9, done })).catch((e42) => resume("throw", e42, yes, no)); } catch (e42) { no(e42); } }, method = (k6) => it2[k6] = (x8) => new Promise((yes, no) => resume(k6, x8, yes, no)), it2 = {}; return generator = generator.apply(__this, __arguments), it2[__knownSymbol("asyncIterator")] = () => it2, method("next"), method("throw"), method("return"), it2; }; var __yieldStar = (value) => { var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it2 = {}; if (obj == null) { obj = value[__knownSymbol("iterator")](); method = (k6) => it2[k6] = (x8) => obj[k6](x8); } else { obj = obj.call(value); method = (k6) => it2[k6] = (v18) => { if (isAwait) { isAwait = false; if (k6 === "throw") throw v18; return v18; } isAwait = true; return { done: false, value: new __await(new Promise((resolve) => { var x8 = obj[k6](v18); if (!(x8 instanceof Object)) __typeError("Object expected"); resolve(x8); }), 1) }; }; } return it2[__knownSymbol("iterator")] = () => it2, method("next"), "throw" in obj ? method("throw") : it2.throw = (x8) => { throw x8; }, "return" in obj && method("return"), it2; }; var __forAwait = (obj, it2, method) => (it2 = obj[__knownSymbol("asyncIterator")]) ? it2.call(obj) : (obj = obj[__knownSymbol("iterator")](), it2 = {}, method = (key3, fn) => (fn = obj[key3]) && (it2[key3] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it2); // node_modules/jodit/esm/core/constants.js var constants_exports = {}; __export(constants_exports, { ACCURACY: () => ACCURACY, APP_VERSION: () => APP_VERSION, BASE_PATH: () => BASE_PATH, BASE_PATH_IS_MIN: () => BASE_PATH_IS_MIN, BR: () => BR, CLIPBOARD_ID: () => CLIPBOARD_ID, COMMAND_KEYS: () => COMMAND_KEYS, EMULATE_DBLCLICK_TIMEOUT: () => EMULATE_DBLCLICK_TIMEOUT, ES: () => ES, FAT_MODE: () => FAT_MODE, HOMEPAGE: () => HOMEPAGE, INSEPARABLE_TAGS: () => INSEPARABLE_TAGS, INSERT_AS_HTML: () => INSERT_AS_HTML, INSERT_AS_TEXT: () => INSERT_AS_TEXT, INSERT_CLEAR_HTML: () => INSERT_CLEAR_HTML, INSERT_ONLY_TEXT: () => INSERT_ONLY_TEXT, INVISIBLE_SPACE: () => INVISIBLE_SPACE, INVISIBLE_SPACE_REG_EXP: () => INVISIBLE_SPACE_REG_EXP, INVISIBLE_SPACE_REG_EXP_END: () => INVISIBLE_SPACE_REG_EXP_END, INVISIBLE_SPACE_REG_EXP_START: () => INVISIBLE_SPACE_REG_EXP_START, IS_BLOCK: () => IS_BLOCK, IS_ES_MODERN: () => IS_ES_MODERN, IS_ES_NEXT: () => IS_ES_NEXT, IS_IE: () => IS_IE, IS_INLINE: () => IS_INLINE, IS_MAC: () => IS_MAC, IS_PROD: () => IS_PROD, IS_TEST: () => IS_TEST, KEY_ALIASES: () => KEY_ALIASES, KEY_ALT: () => KEY_ALT, KEY_BACKSPACE: () => KEY_BACKSPACE, KEY_DELETE: () => KEY_DELETE, KEY_DOWN: () => KEY_DOWN, KEY_ENTER: () => KEY_ENTER, KEY_ESC: () => KEY_ESC, KEY_F3: () => KEY_F3, KEY_LEFT: () => KEY_LEFT, KEY_META: () => KEY_META, KEY_RIGHT: () => KEY_RIGHT, KEY_SPACE: () => KEY_SPACE, KEY_TAB: () => KEY_TAB, KEY_UP: () => KEY_UP, LIST_TAGS: () => LIST_TAGS, MARKER_CLASS: () => MARKER_CLASS, MODE_SOURCE: () => MODE_SOURCE, MODE_SPLIT: () => MODE_SPLIT, MODE_WYSIWYG: () => MODE_WYSIWYG, NBSP_SPACE: () => NBSP_SPACE, NEARBY: () => NEARBY, NO_EMPTY_TAGS: () => NO_EMPTY_TAGS, PARAGRAPH: () => PARAGRAPH, PASSIVE_EVENTS: () => PASSIVE_EVENTS, SAFE_COUNT_CHANGE_CALL: () => SAFE_COUNT_CHANGE_CALL, SET_TEST: () => SET_TEST, SOURCE_CONSUMER: () => SOURCE_CONSUMER, SPACE_REG_EXP: () => SPACE_REG_EXP, SPACE_REG_EXP_END: () => SPACE_REG_EXP_END, SPACE_REG_EXP_START: () => SPACE_REG_EXP_START, TEMP_ATTR: () => TEMP_ATTR, TEXT_HTML: () => TEXT_HTML, TEXT_PLAIN: () => TEXT_PLAIN, TEXT_RTF: () => TEXT_RTF, TOKENS: () => TOKENS, globalDocument: () => globalDocument, globalWindow: () => globalWindow, lang: () => lang }); var APP_VERSION, ES, IS_ES_MODERN, IS_ES_NEXT, IS_PROD, IS_TEST, FAT_MODE, HOMEPAGE, SET_TEST, TOKENS, INVISIBLE_SPACE, NBSP_SPACE, INVISIBLE_SPACE_REG_EXP, INVISIBLE_SPACE_REG_EXP_END, INVISIBLE_SPACE_REG_EXP_START, SPACE_REG_EXP, SPACE_REG_EXP_START, SPACE_REG_EXP_END, globalWindow, globalDocument, IS_BLOCK, IS_INLINE, LIST_TAGS, __UNSEPARABLE_TAGS, INSEPARABLE_TAGS, NO_EMPTY_TAGS, KEY_META, KEY_BACKSPACE, KEY_TAB, KEY_ENTER, KEY_ESC, KEY_ALT, KEY_LEFT, KEY_UP, KEY_RIGHT, KEY_DOWN, KEY_SPACE, KEY_DELETE, KEY_F3, NEARBY, ACCURACY, COMMAND_KEYS, BR, PARAGRAPH, MODE_WYSIWYG, MODE_SOURCE, MODE_SPLIT, IS_IE, TEXT_PLAIN, TEXT_HTML, TEXT_RTF, MARKER_CLASS, EMULATE_DBLCLICK_TIMEOUT, INSERT_AS_HTML, INSERT_CLEAR_HTML, INSERT_AS_TEXT, INSERT_ONLY_TEXT, SAFE_COUNT_CHANGE_CALL, IS_MAC, KEY_ALIASES, removeScriptName, basePath, isMin, BASE_PATH, BASE_PATH_IS_MIN, TEMP_ATTR, lang, CLIPBOARD_ID, SOURCE_CONSUMER, PASSIVE_EVENTS; var init_constants = __esm({ "node_modules/jodit/esm/core/constants.js"() { "use strict"; APP_VERSION = "4.12.2"; ES = "es2020"; IS_ES_MODERN = true; IS_ES_NEXT = true; IS_PROD = true; IS_TEST = false; FAT_MODE = true; HOMEPAGE = "https://xdsoft.net/jodit/"; SET_TEST = () => IS_TEST = true; TOKENS = {}; INVISIBLE_SPACE = "\uFEFF"; NBSP_SPACE = "\xA0"; INVISIBLE_SPACE_REG_EXP = () => /[\uFEFF]/g; INVISIBLE_SPACE_REG_EXP_END = () => /[\uFEFF]+$/g; INVISIBLE_SPACE_REG_EXP_START = () => /^[\uFEFF]+/g; SPACE_REG_EXP = () => /[\s\n\t\r\uFEFF\u200b]+/g; SPACE_REG_EXP_START = () => /^[\s\n\t\r\uFEFF\u200b]+/g; SPACE_REG_EXP_END = () => /[\s\n\t\r\uFEFF\u200b]+$/g; globalWindow = typeof window !== "undefined" ? window : void 0; globalDocument = typeof document !== "undefined" ? document : void 0; IS_BLOCK = /^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i; IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i; LIST_TAGS = /* @__PURE__ */ new Set(["ul", "ol"]); __UNSEPARABLE_TAGS = [ "img", "video", "svg", "iframe", "script", "input", "textarea", "link", "jodit", "jodit-media" ]; INSEPARABLE_TAGS = /* @__PURE__ */ new Set([ ...__UNSEPARABLE_TAGS, "br", "hr" ]); NO_EMPTY_TAGS = new Set(__UNSEPARABLE_TAGS); KEY_META = "Meta"; KEY_BACKSPACE = "Backspace"; KEY_TAB = "Tab"; KEY_ENTER = "Enter"; KEY_ESC = "Escape"; KEY_ALT = "Alt"; KEY_LEFT = "ArrowLeft"; KEY_UP = "ArrowUp"; KEY_RIGHT = "ArrowRight"; KEY_DOWN = "ArrowDown"; KEY_SPACE = "Space"; KEY_DELETE = "Delete"; KEY_F3 = "F3"; NEARBY = 5; ACCURACY = 10; COMMAND_KEYS = [ KEY_META, KEY_BACKSPACE, KEY_DELETE, KEY_UP, KEY_DOWN, KEY_RIGHT, KEY_LEFT, KEY_ENTER, KEY_ESC, KEY_F3, KEY_TAB ]; BR = "br"; PARAGRAPH = "p"; MODE_WYSIWYG = 1; MODE_SOURCE = 2; MODE_SPLIT = 3; IS_IE = typeof navigator !== "undefined" && (navigator.userAgent.indexOf("MSIE") !== -1 || /rv:11.0/i.test(navigator.userAgent)); TEXT_PLAIN = IS_IE ? "text" : "text/plain"; TEXT_HTML = IS_IE ? "html" : "text/html"; TEXT_RTF = IS_IE ? "rtf" : "text/rtf"; MARKER_CLASS = "jodit-selection_marker"; EMULATE_DBLCLICK_TIMEOUT = 300; INSERT_AS_HTML = "insert_as_html"; INSERT_CLEAR_HTML = "insert_clear_html"; INSERT_AS_TEXT = "insert_as_text"; INSERT_ONLY_TEXT = "insert_only_text"; SAFE_COUNT_CHANGE_CALL = 10; IS_MAC = typeof globalWindow !== "undefined" && /Mac|iPod|iPhone|iPad/.test(globalWindow.navigator.platform); KEY_ALIASES = { add: "+", break: "pause", cmd: "meta", command: "meta", ctl: "control", ctrl: "control", del: "delete", down: "arrowdown", esc: "escape", ins: "insert", left: "arrowleft", mod: IS_MAC ? "meta" : "control", opt: "alt", option: "alt", return: "enter", right: "arrowright", space: "space", spacebar: "space", up: "arrowup", win: "meta", windows: "meta" }; removeScriptName = (src) => { const parts = src.split("/"); const isMin2 = true ? false : /\.min\.js/.test(src); if (/\.js/.test(parts[parts.length - 1])) { return { basePath: parts.slice(0, parts.length - 1).join("/") + "/", isMin: isMin2 }; } return { basePath: src, isMin: isMin2 }; }; ({ basePath, isMin } = (() => { if (typeof document === "undefined") { return { basePath: "", isMin: Boolean(false) }; } const script = globalDocument.currentScript; if (script) { return removeScriptName(script.src); } const scripts = globalDocument.querySelectorAll("script[src]"); if (scripts && scripts.length) { return removeScriptName(scripts[scripts.length - 1].src); } return removeScriptName(globalWindow.location.href); })()); BASE_PATH = basePath; BASE_PATH_IS_MIN = isMin; TEMP_ATTR = "data-jodit-temp"; lang = {}; CLIPBOARD_ID = "clipboard"; SOURCE_CONSUMER = "source-consumer"; PASSIVE_EVENTS = /* @__PURE__ */ new Set([ "touchstart", "touchend", "scroll", "mousewheel", "mousemove", "touchmove" ]); } }); // node_modules/jodit/esm/core/helpers/checker/is-function.js function isFunction(value) { return typeof value === "function"; } var init_is_function = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-function.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/checker/is-jodit-object.js function isJoditObject(jodit) { return Boolean(jodit && jodit instanceof Object && isFunction(jodit.constructor) && // @ts-ignore (typeof Jodit !== "undefined" && jodit instanceof Jodit || jodit.isJodit)); } var init_is_jodit_object = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-jodit-object.js"() { "use strict"; init_is_function(); } }); // node_modules/jodit/esm/core/helpers/checker/is-array.js function isArray(elm) { return Array.isArray(elm); } var init_is_array = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-array.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/checker/is-string.js function isString(value) { return typeof value === "string"; } function isStringArray(value) { return isArray(value) && isString(value[0]); } var init_is_string = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-string.js"() { "use strict"; init_is_array(); } }); // node_modules/jodit/esm/core/helpers/checker/is-view-object.js function isViewObject(jodit) { return Boolean(jodit && jodit instanceof Object && isFunction(jodit.constructor) && jodit.isView); } var init_is_view_object = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-view-object.js"() { "use strict"; init_is_function(); } }); // node_modules/jodit/esm/core/helpers/string/kebab-case.js var kebabCase, CamelCaseToKebabCase; var init_kebab_case = __esm({ "node_modules/jodit/esm/core/helpers/string/kebab-case.js"() { "use strict"; kebabCase = (key3) => { return key3.replace(/([A-Z])([A-Z])([a-z])/g, "$1-$2$3").replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase(); }; CamelCaseToKebabCase = (key3) => { return key3.replace(/([A-Z])([A-Z])([a-z])/g, "$1-$2$3").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(); }; } }); // node_modules/jodit/esm/core/helpers/checker/is-boolean.js function isBoolean(elm) { return typeof elm === "boolean"; } var init_is_boolean = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-boolean.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/checker/is-window.js function isWindow(obj) { return obj != null && obj === obj.window; } var init_is_window = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-window.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/checker/is-plain-object.js function isPlainObject(obj) { if (!obj || typeof obj !== "object" || obj.nodeType || isWindow(obj)) { return false; } return !(obj.constructor && !{}.hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf")); } var init_is_plain_object = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-plain-object.js"() { "use strict"; init_is_window(); } }); // node_modules/jodit/esm/core/helpers/checker/is-numeric.js function isNumeric(value) { if (isString(value)) { if (!value.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/)) { return false; } value = parseFloat(value); } return typeof value === "number" && !isNaN(value) && isFinite(value); } var init_is_numeric = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-numeric.js"() { "use strict"; init_is_string(); } }); // node_modules/jodit/esm/core/helpers/checker/is-void.js function isVoid(value) { return value === void 0 || value === null; } var init_is_void = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-void.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/color/color-to-hex.js var colorToHex; var init_color_to_hex = __esm({ "node_modules/jodit/esm/core/helpers/color/color-to-hex.js"() { "use strict"; colorToHex = (color2) => { if (color2 === "rgba(0, 0, 0, 0)" || color2 === "") { return false; } if (!color2) { return "#000000"; } if (color2.substr(0, 1) === "#") { return color2; } const digits = /([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color2) || /([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(color2); if (!digits) { return "#000000"; } const red = parseInt(digits[2], 10), green = parseInt(digits[3], 10), blue = parseInt(digits[4], 10), rgb = blue | green << 8 | red << 16; let hex = rgb.toString(16).toUpperCase(); while (hex.length < 6) { hex = "0" + hex; } return digits[1] + "#" + hex; }; } }); // node_modules/jodit/esm/core/helpers/normalize/normalize-css-value.js function normalizeCssNumericValue(key3, value) { if (!isVoid(value) && NUMBER_FIELDS_REG.test(key3) && isNumeric(value.toString())) { return parseInt(value.toString(), 10) + "px"; } return value; } function normalizeCssValue(key3, value) { switch (kebabCase(key3)) { case "font-weight": switch (value.toString().toLowerCase()) { case "700": case "bold": return 700; case "400": case "normal": return 400; case "900": case "heavy": return 900; } return isNumeric(value) ? Number(value) : value; } if (/color/i.test(key3) && /^rgb/i.test(value.toString())) { return colorToHex(value.toString()) || value; } return value; } var NUMBER_FIELDS_REG; var init_normalize_css_value = __esm({ "node_modules/jodit/esm/core/helpers/normalize/normalize-css-value.js"() { "use strict"; init_is_numeric(); init_is_void(); init_color_to_hex(); init_kebab_case(); NUMBER_FIELDS_REG = /^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i; } }); // node_modules/jodit/esm/core/helpers/string/camel-case.js var camelCase; var init_camel_case = __esm({ "node_modules/jodit/esm/core/helpers/string/camel-case.js"() { "use strict"; camelCase = (key3) => { return key3.replace(/([-_])(.)/g, (m53, code, letter) => { return letter.toUpperCase(); }); }; } }); // node_modules/jodit/esm/core/helpers/utils/css.js function css(element, key3, value, onlyStyleMode = false) { if (isBoolean(value)) { onlyStyleMode = value; value = void 0; } if (isPlainObject(key3) || value !== void 0) { const setValue = (elm, _key, _value) => { _value = normalizeCssNumericValue(_key, _value); if (_value !== void 0 && (_value == null || css(elm, _key, true) !== normalizeCssValue(_key, _value))) { elm.style[_key] = _value; } }; if (isPlainObject(key3)) { const keys3 = Object.keys(key3); for (let j10 = 0; j10 < keys3.length; j10 += 1) { setValue(element, camelCase(keys3[j10]), key3[keys3[j10]]); } } else { setValue(element, camelCase(key3), value); } return ""; } const key22 = kebabCase(key3); const doc = element.ownerDocument || document; const win = doc ? doc.defaultView || doc.parentWindow : false; const currentValue = element.style[key3]; let result = ""; if (currentValue !== void 0 && currentValue !== "") { result = currentValue; } else if (win && !onlyStyleMode) { result = win.getComputedStyle(element).getPropertyValue(key22); } if (NUMBER_FIELDS_REG.test(key3) && /^[-+]?[0-9.]+px$/.test(result.toString())) { result = parseInt(result.toString(), 10); } return normalizeCssValue(key3, result); } var clearCenterAlign; var init_css = __esm({ "node_modules/jodit/esm/core/helpers/utils/css.js"() { "use strict"; init_is_boolean(); init_is_plain_object(); init_normalize_css_value(); init_camel_case(); init_kebab_case(); clearCenterAlign = (image2) => { if (css(image2, "display") === "block") { css(image2, "display", ""); } const { style } = image2; if (style.marginLeft === "auto" && style.marginRight === "auto") { style.marginLeft = ""; style.marginRight = ""; } }; } }); // node_modules/jodit/esm/core/helpers/utils/get-class-name.js var keepNames, getClassName; var init_get_class_name = __esm({ "node_modules/jodit/esm/core/helpers/utils/get-class-name.js"() { "use strict"; init_is_function(); keepNames = /* @__PURE__ */ new Map(); getClassName = (obj) => { var _a2; if (isFunction(obj.className)) { return obj.className(); } const constructor = ((_a2 = obj.constructor) === null || _a2 === void 0 ? void 0 : _a2.originalConstructor) || obj.constructor; if (keepNames.has(constructor)) { return keepNames.get(constructor); } if (constructor.name) { return constructor.name; } const regex = new RegExp(/^\s*function\s*(\S*)\s*\(/); const res = constructor.toString().match(regex); return res ? res[1] : ""; }; } }); // node_modules/jodit/esm/core/helpers/array/split-array.js function splitArray(a71) { return Array.isArray(a71) ? a71 : a71.split(/[,\s]+/); } var init_split_array = __esm({ "node_modules/jodit/esm/core/helpers/array/split-array.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/utils/error/errors/abort-error.js function abort(message = "Aborted") { return new DOMException(message, "AbortError"); } var init_abort_error = __esm({ "node_modules/jodit/esm/core/helpers/utils/error/errors/abort-error.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/utils/error/errors/connection-error.js var ConnectionError; var init_connection_error = __esm({ "node_modules/jodit/esm/core/helpers/utils/error/errors/connection-error.js"() { "use strict"; ConnectionError = class _ConnectionError extends Error { constructor(m53) { super(m53); Object.setPrototypeOf(this, _ConnectionError.prototype); } }; } }); // node_modules/jodit/esm/core/helpers/utils/error/errors/options-error.js var OptionsError; var init_options_error = __esm({ "node_modules/jodit/esm/core/helpers/utils/error/errors/options-error.js"() { "use strict"; OptionsError = class _OptionsError extends TypeError { constructor(m53) { super(m53); Object.setPrototypeOf(this, _OptionsError.prototype); } }; } }); // node_modules/jodit/esm/core/helpers/utils/error/errors/index.js var init_errors = __esm({ "node_modules/jodit/esm/core/helpers/utils/error/errors/index.js"() { "use strict"; init_abort_error(); init_connection_error(); init_options_error(); } }); // node_modules/jodit/esm/core/helpers/utils/error/error.js function error(message) { return new TypeError(message); } function connection(message) { return new ConnectionError(message); } function options(message) { return new OptionsError(message); } var init_error = __esm({ "node_modules/jodit/esm/core/helpers/utils/error/error.js"() { "use strict"; init_errors(); } }); // node_modules/jodit/esm/core/helpers/utils/error/index.js var init_error2 = __esm({ "node_modules/jodit/esm/core/helpers/utils/error/index.js"() { "use strict"; init_error(); init_errors(); } }); // node_modules/jodit/esm/core/helpers/checker/is-native-function.js function isNativeFunction(f50) { return Boolean(f50) && (typeof f50).toLowerCase() === "function" && (f50 === Function.prototype || /^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(String(f50))); } var init_is_native_function = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-native-function.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/utils/get.js function get(chain, obj) { if (!isString(chain) || !chain.length) { return null; } const parts = chain.split("."); let result = obj; try { for (const part of parts) { if (isVoid(result[part])) { return null; } result = result[part]; } } catch (_a2) { return null; } if (isVoid(result)) { return null; } return result; } var init_get = __esm({ "node_modules/jodit/esm/core/helpers/utils/get.js"() { "use strict"; init_is_string(); init_is_void(); } }); // node_modules/jodit/esm/core/helpers/utils/reset.js function reset(key3) { var _a2, _b; if (!(key3 in map)) { const iframe2 = globalDocument.createElement("iframe"); try { iframe2.src = "about:blank"; globalDocument.body.appendChild(iframe2); if (!iframe2.contentWindow) { return null; } const func = get(key3, iframe2.contentWindow), bind = get(key3.split(".").slice(0, -1).join("."), iframe2.contentWindow); if (isFunction(func)) { map[key3] = func.bind(bind); } } catch (e42) { if (!IS_PROD) { throw e42; } } finally { (_a2 = iframe2.parentNode) === null || _a2 === void 0 ? void 0 : _a2.removeChild(iframe2); } } return (_b = map[key3]) !== null && _b !== void 0 ? _b : null; } var map; var init_reset = __esm({ "node_modules/jodit/esm/core/helpers/utils/reset.js"() { "use strict"; init_constants(); init_is_function(); init_get(); map = {}; } }); // node_modules/jodit/esm/core/helpers/array/to-array.js var toArray; var init_to_array = __esm({ "node_modules/jodit/esm/core/helpers/array/to-array.js"() { "use strict"; init_is_native_function(); init_reset(); toArray = function toArray2(...args) { var _a2; const func = isNativeFunction(Array.from) ? Array.from : (_a2 = reset("Array.from")) !== null && _a2 !== void 0 ? _a2 : Array.from; return func.apply(Array, args); }; } }); // node_modules/jodit/esm/core/helpers/utils/assert.js function assert(condition, message) { if (true) { } if (!condition) { throw new AssertionError(`Assertion failed: ${message}`); } } var AssertionError; var init_assert = __esm({ "node_modules/jodit/esm/core/helpers/utils/assert.js"() { "use strict"; AssertionError = class extends Error { constructor(message) { super(message); this.name = "AssertionError"; } }; } }); // node_modules/jodit/esm/core/event-emitter/store.js var defaultNameSpace, EventHandlersStore; var init_store = __esm({ "node_modules/jodit/esm/core/event-emitter/store.js"() { "use strict"; init_to_array(); init_assert(); defaultNameSpace = "JoditEventDefaultNamespace"; EventHandlersStore = class { constructor() { this.__store = /* @__PURE__ */ new Map(); } get(event, namespace) { if (this.__store.has(namespace)) { const ns2 = this.__store.get(namespace); assert(ns2, "-"); return ns2[event]; } } indexOf(event, namespace, originalCallback) { const blocks = this.get(event, namespace); if (blocks) { for (let i52 = 0; i52 < blocks.length; i52 += 1) { if (blocks[i52].originalCallback === originalCallback) { return i52; } } } return false; } namespaces(withoutDefault = false) { const nss = toArray(this.__store.keys()); return withoutDefault ? nss.filter((ns2) => ns2 !== defaultNameSpace) : nss; } events(namespace) { const ns2 = this.__store.get(namespace); return ns2 ? Object.keys(ns2) : []; } set(event, namespace, data, onTop = false) { let ns2 = this.__store.get(namespace); if (!ns2) { ns2 = {}; this.__store.set(namespace, ns2); } if (ns2[event] === void 0) { ns2[event] = []; } if (!onTop) { ns2[event].push(data); } else { ns2[event].unshift(data); } } clear() { this.__store.clear(); } clearEvents(namespace, event) { const ns2 = this.__store.get(namespace); if (ns2 && ns2[event]) { delete ns2[event]; if (!Object.keys(ns2).length) { this.__store.delete(namespace); } } } isEmpty() { return this.__store.size === 0; } }; } }); // node_modules/jodit/esm/core/event-emitter/event-emitter.js function isDOMElement(subject) { return subject && isFunction(subject.addEventListener); } var EventEmitter; var init_event_emitter = __esm({ "node_modules/jodit/esm/core/event-emitter/event-emitter.js"() { "use strict"; init_constants(); init_split_array(); init_is_array(); init_is_function(); init_is_string(); init_error2(); init_store(); EventEmitter = class { mute(event) { this.__mutedEvents.add(event !== null && event !== void 0 ? event : "*"); return this; } isMuted(event) { if (event && this.__mutedEvents.has(event)) { return true; } return this.__mutedEvents.has("*"); } unmute(event) { this.__mutedEvents.delete(event !== null && event !== void 0 ? event : "*"); return this; } __eachEvent(events, callback) { const eventParts = splitArray(events).map((e42) => e42.trim()); eventParts.forEach((eventNameSpace) => { const eventAndNameSpace = eventNameSpace.split("."); const namespace = eventAndNameSpace[1] || defaultNameSpace; callback.call(this, eventAndNameSpace[0], namespace); }); } __getStore(subject) { if (!subject) { throw error("Need subject"); } if (subject[this.__key] === void 0) { const store2 = new EventHandlersStore(); Object.defineProperty(subject, this.__key, { enumerable: false, configurable: true, writable: true, value: store2 }); } return subject[this.__key]; } __removeStoreFromSubject(subject) { if (subject[this.__key] !== void 0) { Object.defineProperty(subject, this.__key, { enumerable: false, configurable: true, writable: true, value: void 0 }); } } __triggerNativeEvent(element, event) { const evt = this.__doc.createEvent("HTMLEvents"); if (isString(event)) { evt.initEvent(event, true, true); } else { evt.initEvent(event.type, event.bubbles, event.cancelable); [ "screenX", "screenY", "clientX", "clientY", "target", "srcElement", "currentTarget", "timeStamp", "which", "keyCode" ].forEach((property) => { Object.defineProperty(evt, property, { value: event[property], enumerable: true }); }); Object.defineProperty(evt, "originalEvent", { value: event, enumerable: true }); } element.dispatchEvent(evt); } /** * Get current event name * * @example * ```javascript * parent.e.on('openDialog closeDialog', function () { * if (parent.e.current === 'closeDialog') { * alert('Dialog was closed'); * } else { * alert('Dialog was opened'); * } * }); * ``` */ get current() { return this.currents[this.currents.length - 1]; } on(eventsOrSubjects, callbackOrEvents, optionsOrCallback, opts) { let subjects; let events; let callback; let options2; if (isString(eventsOrSubjects) || isStringArray(eventsOrSubjects)) { subjects = this; events = eventsOrSubjects; callback = callbackOrEvents; options2 = optionsOrCallback; } else { subjects = eventsOrSubjects; events = callbackOrEvents; callback = optionsOrCallback; options2 = opts; } if (!(isString(events) || isStringArray(events)) || events.length === 0) { throw error("Need events names"); } if (!isFunction(callback)) { throw error("Need event handler"); } if (isArray(subjects)) { subjects.forEach((subj) => { this.on(subj, events, callback, options2); }); return this; } const subject = subjects; const store2 = this.__getStore(subject); const self2 = this; let syntheticCallback = function(event, ...args) { if (self2.isMuted(event)) { return; } return callback && callback.call(this, ...args); }; if (isDOMElement(subject)) { syntheticCallback = function(event) { if (self2.isMuted(event.type)) { return; } self2.__prepareEvent(event); if (callback && callback.call(this, event) === false) { event.preventDefault(); event.stopImmediatePropagation(); return false; } return; }; } this.__eachEvent(events, (event, namespace) => { var _a2, _b; if (event.length === 0) { throw error("Need event name"); } if (store2.indexOf(event, namespace, callback) === false) { const block = { event, originalCallback: callback, syntheticCallback }; store2.set(event, namespace, block, options2 === null || options2 === void 0 ? void 0 : options2.top); if (isDOMElement(subject)) { const eOpts = PASSIVE_EVENTS.has(event) ? { passive: true, capture: (_a2 = options2 === null || options2 === void 0 ? void 0 : options2.capture) !== null && _a2 !== void 0 ? _a2 : false } : (_b = options2 === null || options2 === void 0 ? void 0 : options2.capture) !== null && _b !== void 0 ? _b : false; syntheticCallback.options = eOpts; subject.addEventListener(event, syntheticCallback, eOpts); this.__memoryDOMSubjectToHandler(subject, syntheticCallback); } } }); return this; } __memoryDOMSubjectToHandler(subject, syntheticCallback) { const callbackStore = this.__domEventsMap.get(subject) || /* @__PURE__ */ new Set(); callbackStore.add(syntheticCallback); this.__domEventsMap.set(subject, callbackStore); } __unmemoryDOMSubjectToHandler(subject, syntheticCallback) { const m53 = this.__domEventsMap; const callbackStore = m53.get(subject) || /* @__PURE__ */ new Set(); callbackStore.delete(syntheticCallback); if (callbackStore.size) { m53.set(subject, callbackStore); } else { m53.delete(subject); } } one(eventsOrSubjects, callbackOrEvents, optionsOrCallback, opts) { let subjects; let events; let callback; let options2; if (isString(eventsOrSubjects) || isStringArray(eventsOrSubjects)) { subjects = this; events = eventsOrSubjects; callback = callbackOrEvents; options2 = optionsOrCallback; } else { subjects = eventsOrSubjects; events = callbackOrEvents; callback = optionsOrCallback; options2 = opts; } const newCallback = (...args) => { this.off(subjects, events, newCallback); return callback(...args); }; this.on(subjects, events, newCallback, options2); return this; } off(eventsOrSubjects, callbackOrEvents, handler) { let subjects; let events; let callback; if (isString(eventsOrSubjects) || isStringArray(eventsOrSubjects)) { subjects = this; events = eventsOrSubjects; callback = callbackOrEvents; } else { subjects = eventsOrSubjects; events = callbackOrEvents; callback = handler; } if (isArray(subjects)) { subjects.forEach((subj) => { this.off(subj, events, callback); }); return this; } const subject = subjects; const store2 = this.__getStore(subject); if (!(isString(events) || isStringArray(events)) || events.length === 0) { store2.namespaces().forEach((namespace) => { this.off(subject, "." + namespace); }); this.__removeStoreFromSubject(subject); return this; } const removeEventListener = (block) => { var _a2; if (isDOMElement(subject)) { subject.removeEventListener(block.event, block.syntheticCallback, (_a2 = block.syntheticCallback.options) !== null && _a2 !== void 0 ? _a2 : false); this.__unmemoryDOMSubjectToHandler(subject, block.syntheticCallback); } }, removeCallbackFromNameSpace = (event, namespace) => { if (event === "") { store2.events(namespace).forEach((eventName) => { if (eventName !== "") { removeCallbackFromNameSpace(eventName, namespace); } }); return; } const blocks = store2.get(event, namespace); if (!blocks || !blocks.length) { return; } if (!isFunction(callback)) { blocks.forEach(removeEventListener); blocks.length = 0; store2.clearEvents(namespace, event); } else { const index = store2.indexOf(event, namespace, callback); if (index !== false) { removeEventListener(blocks[index]); blocks.splice(index, 1); if (!blocks.length) { store2.clearEvents(namespace, event); } } } }; this.__eachEvent(events, (event, namespace) => { if (namespace === defaultNameSpace) { store2.namespaces().forEach((namespace2) => { removeCallbackFromNameSpace(event, namespace2); }); } else { removeCallbackFromNameSpace(event, namespace); } }); if (store2.isEmpty()) { this.__removeStoreFromSubject(subject); } return this; } stopPropagation(subjectOrEvents, eventsList) { const subject = isString(subjectOrEvents) ? this : subjectOrEvents; const events = isString(subjectOrEvents) ? subjectOrEvents : eventsList; if (typeof events !== "string") { throw error("Need event names"); } const store2 = this.__getStore(subject); this.__eachEvent(events, (event, namespace) => { const blocks = store2.get(event, namespace); if (blocks) { this.__stopped.push(blocks); } if (namespace === defaultNameSpace) { store2.namespaces(true).forEach((ns2) => this.stopPropagation(subject, event + "." + ns2)); } }); } __removeStop(currentBlocks) { if (currentBlocks) { const index = this.__stopped.indexOf(currentBlocks); index !== -1 && this.__stopped.splice(0, index + 1); } } __isStopped(currentBlocks) { return currentBlocks !== void 0 && this.__stopped.indexOf(currentBlocks) !== -1; } fire(subjectOrEvents, eventsList, ...args) { let result, result_value; const subject = isString(subjectOrEvents) ? this : subjectOrEvents; const events = isString(subjectOrEvents) ? subjectOrEvents : eventsList; const argumentsList = isString(subjectOrEvents) ? [eventsList, ...args] : args; if (!isDOMElement(subject) && !isString(events)) { throw error("Need events names"); } const store2 = this.__getStore(subject); if (!isString(events) && isDOMElement(subject)) { this.__triggerNativeEvent(subject, eventsList); } else { this.__eachEvent(events, (event, namespace) => { if (isDOMElement(subject)) { this.__triggerNativeEvent(subject, event); } else { const blocks = store2.get(event, namespace); if (blocks) { try { [...blocks].every((block) => { if (this.__isStopped(blocks)) { return false; } this.currents.push(event); result_value = block.syntheticCallback.call(subject, event, ...argumentsList); this.currents.pop(); if (result_value !== void 0) { result = result_value; } return true; }); } finally { this.__removeStop(blocks); } } if (namespace === defaultNameSpace && !isDOMElement(subject)) { store2.namespaces().filter((ns2) => ns2 !== namespace).forEach((ns2) => { const result_second = this.fire.apply(this, [ subject, event + "." + ns2, ...argumentsList ]); if (result_second !== void 0) { result = result_second; } }); } } }); } return result; } constructor(doc) { this.__domEventsMap = /* @__PURE__ */ new Map(); this.__mutedEvents = /* @__PURE__ */ new Set(); this.__key = "__JoditEventEmitterNamespaces"; this.__doc = globalDocument; this.__prepareEvent = (e42) => { if (e42.cancelBubble) { return; } if (e42.composed && isFunction(e42.composedPath) && e42.composedPath()[0]) { Object.defineProperty(e42, "target", { value: e42.composedPath()[0], configurable: true, enumerable: true }); } if (e42.type.match(/^touch/) && e42.changedTouches && e42.changedTouches.length) { ["clientX", "clientY", "pageX", "pageY"].forEach((key3) => { Object.defineProperty(e42, key3, { value: e42.changedTouches[0][key3], configurable: true, enumerable: true }); }); } if (!e42.originalEvent) { e42.originalEvent = e42; } if (e42.type === "paste" && e42.clipboardData === void 0 && this.__doc.defaultView.clipboardData) { Object.defineProperty(e42, "clipboardData", { get: () => { return this.__doc.defaultView.clipboardData; }, configurable: true, enumerable: true }); } }; this.currents = []; this.__stopped = []; this.__isDestructed = false; if (doc) { this.__doc = doc; } this.__key += (/* @__PURE__ */ new Date()).getTime(); } destruct() { if (this.__isDestructed) { return; } this.__isDestructed = true; this.__domEventsMap.forEach((set2, elm) => { this.off(elm); }); this.__domEventsMap.clear(); this.__mutedEvents.clear(); this.currents.length = 0; this.__stopped.length = 0; this.off(this); this.__getStore(this).clear(); this.__removeStoreFromSubject(this); } }; } }); // node_modules/jodit/esm/core/event-emitter/global.js var eventEmitter; var init_global = __esm({ "node_modules/jodit/esm/core/event-emitter/global.js"() { "use strict"; init_event_emitter(); eventEmitter = new EventEmitter(); } }); // node_modules/jodit/esm/core/helpers/checker/is-html.js var isHTML; var init_is_html = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-html.js"() { "use strict"; init_is_string(); isHTML = (str) => isString(str) && /<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(str.replace(/[\r\n]/g, "")); } }); // node_modules/jodit/esm/core/helpers/checker/is-set.js function isSet(elm) { return Boolean(elm) && isFunction(elm.has) && isFunction(elm.add) && isFunction(elm.delete); } var init_is_set = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-set.js"() { "use strict"; init_is_function(); } }); // node_modules/jodit/esm/core/helpers/string/trim.js function trim(value) { return value.replace(SPACE_REG_EXP_END(), "").replace(SPACE_REG_EXP_START(), ""); } function trimChars(value, chars) { return value.replace(RegExp(`[${chars}]+$`), "").replace(RegExp(`^[${chars}]+`), ""); } function trimInv(value) { return value.replace(INVISIBLE_SPACE_REG_EXP_END(), "").replace(INVISIBLE_SPACE_REG_EXP_START(), ""); } var init_trim = __esm({ "node_modules/jodit/esm/core/helpers/string/trim.js"() { "use strict"; init_constants(); } }); // node_modules/jodit/esm/core/helpers/utils/attr.js function attr(elm, keyOrAttributes, value) { if (!elm || !isFunction(elm.getAttribute)) { return null; } if (!isString(keyOrAttributes)) { Object.keys(keyOrAttributes).forEach((key4) => { const value2 = keyOrAttributes[key4]; if (isPlainObject(value2) && key4 === "style") { css(elm, value2); } else { if (key4 === "className") { key4 = "class"; } attr(elm, key4, value2); } }); return null; } let key3 = CamelCaseToKebabCase(keyOrAttributes); if (/^-/.test(key3)) { const res = attr(elm, `data${key3}`); if (res) { return res; } key3 = key3.substr(1); } if (value !== void 0) { if (value == null) { elm.hasAttribute(key3) && elm.removeAttribute(key3); } else { let replaceValue = value.toString(); if (elm.nodeName === "IMG" && (key3 === "width" || key3 === "height")) { replaceValue = replaceValue.replace("px", ""); } elm.setAttribute(key3, replaceValue); return replaceValue; } } return elm.getAttribute(key3); } var init_attr = __esm({ "node_modules/jodit/esm/core/helpers/utils/attr.js"() { "use strict"; init_is_function(); init_is_plain_object(); init_is_string(); init_kebab_case(); init_css(); } }); // node_modules/jodit/esm/core/helpers/utils/data-bind.js var store, dataBind; var init_data_bind = __esm({ "node_modules/jodit/esm/core/helpers/utils/data-bind.js"() { "use strict"; init_is_view_object(); store = /* @__PURE__ */ new WeakMap(); dataBind = (elm, key3, value) => { let itemStore = store.get(elm); if (!itemStore) { itemStore = {}; store.set(elm, itemStore); let e42 = null; if (isViewObject(elm.j)) { e42 = elm.j.e; } if (isViewObject(elm)) { e42 = elm.e; } e42 && e42.on("beforeDestruct", () => { store.delete(elm); }); } if (value === void 0) { return itemStore[key3]; } itemStore[key3] = value; return value; }; } }); // node_modules/jodit/esm/core/helpers/checker/is-promise.js function isPromise(val2) { return val2 && typeof val2.then === "function"; } var init_is_promise = __esm({ "node_modules/jodit/esm/core/helpers/checker/is-promise.js"() { "use strict"; } }); // node_modules/jodit/esm/core/helpers/utils/utils.js function call(func, ...args) { return func(...args); } function callThis(func, thisArg, ...args) { return func.apply(thisArg, args); } function markOwner(jodit, elm) { attr(elm, "data-editor_id", jodit.id); !elm.component && Object.defineProperty(elm, "jodit"