vue-ele-plus
Version:
1,046 lines • 1.27 MB
JavaScript
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a2, b2) => {
for (var prop in b2 || (b2 = {}))
if (__hasOwnProp.call(b2, prop))
__defNormalProp(a2, prop, b2[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b2)) {
if (__propIsEnum.call(b2, prop))
__defNormalProp(a2, prop, b2[prop]);
}
return a2;
};
var __spreadProps = (a2, b2) => __defProps(a2, __getOwnPropDescs(b2));
import { defineComponent, ref, shallowRef, onMounted, watch, watchEffect, toRaw, openBlock, createElementBlock, onBeforeUnmount, resolveComponent, unref, createBlock, mergeProps, withCtx, Fragment, renderList, resolveDynamicComponent, createCommentVNode, createElementVNode, renderSlot, createVNode } from "vue";
var style = "";
var _a$4;
if (typeof global === "undefined") {
if ("ActiveXObject" in window) {
var info = "\u62B1\u6B49\uFF0CwangEditor V5+ \u7248\u672C\u5F00\u59CB\uFF0C\u4E0D\u5728\u652F\u6301 IE \u6D4F\u89C8\u5668";
info += "\n Sorry, wangEditor V5+ versions do not support IE browser.";
console.error(info);
}
globalThisPolyfill();
AggregateErrorPolyfill();
} else if (global && ((_a$4 = global.navigator) === null || _a$4 === void 0 ? void 0 : _a$4.userAgent.match("QQBrowser"))) {
globalThisPolyfill();
AggregateErrorPolyfill();
}
function globalThisPolyfill() {
if (typeof globalThis === "undefined") {
window.globalThis = window;
}
}
function AggregateErrorPolyfill() {
if (typeof AggregateError === "undefined") {
window.AggregateError = function(errors, msg) {
var err = new Error(msg);
err.errors = errors;
return err;
};
}
}
if (typeof global === "object") {
var globalProperty = Object.getOwnPropertyDescriptor(global, "window");
if (!global.window || globalProperty.set) {
global.window = global;
global.requestAnimationFrame = function() {
};
global.navigator = {
userAgent: ""
};
global.location = {
hostname: "0.0.0.0",
port: 0,
protocol: "http:"
};
global.btoa = function() {
};
global.crypto = {
getRandomValues: function(buffer) {
return nodeCrypto.randomFillSync(buffer);
}
};
}
if (global.document != null) {
if (global.document.getElementsByTagName == null) {
global.document.getElementsByTagName = function() {
return [];
};
}
}
}
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
function isObject$5$1(o2) {
return Object.prototype.toString.call(o2) === "[object Object]";
}
function isPlainObject(o2) {
var ctor, prot;
if (isObject$5$1(o2) === false)
return false;
ctor = o2.constructor;
if (ctor === void 0)
return true;
prot = ctor.prototype;
if (isObject$5$1(prot) === false)
return false;
if (prot.hasOwnProperty("isPrototypeOf") === false) {
return false;
}
return true;
}
function n(n2) {
for (var t2 = arguments.length, r2 = Array(t2 > 1 ? t2 - 1 : 0), e2 = 1; e2 < t2; e2++)
r2[e2 - 1] = arguments[e2];
{
var i2 = Y$6[n2], o2 = i2 ? typeof i2 == "function" ? i2.apply(null, r2) : i2 : "unknown error nr: " + n2;
throw Error("[Immer] " + o2);
}
}
function t(n2) {
return !!n2 && !!n2[Q$6];
}
function r(n2) {
return !!n2 && (function(n3) {
if (!n3 || typeof n3 != "object")
return false;
var t2 = Object.getPrototypeOf(n3);
if (t2 === null)
return true;
var r2 = Object.hasOwnProperty.call(t2, "constructor") && t2.constructor;
return r2 === Object || typeof r2 == "function" && Function.toString.call(r2) === Z$6;
}(n2) || Array.isArray(n2) || !!n2[L$5] || !!n2.constructor[L$5] || s(n2) || v$2(n2));
}
function i(n2, t2, r2) {
r2 === void 0 && (r2 = false), o(n2) === 0 ? (r2 ? Object.keys : nn$7)(n2).forEach(function(e2) {
r2 && typeof e2 == "symbol" || t2(e2, n2[e2], n2);
}) : n2.forEach(function(r3, e2) {
return t2(e2, r3, n2);
});
}
function o(n2) {
var t2 = n2[Q$6];
return t2 ? t2.i > 3 ? t2.i - 4 : t2.i : Array.isArray(n2) ? 1 : s(n2) ? 2 : v$2(n2) ? 3 : 0;
}
function u$1(n2, t2) {
return o(n2) === 2 ? n2.has(t2) : Object.prototype.hasOwnProperty.call(n2, t2);
}
function a(n2, t2) {
return o(n2) === 2 ? n2.get(t2) : n2[t2];
}
function f$2(n2, t2, r2) {
var e2 = o(n2);
e2 === 2 ? n2.set(t2, r2) : e2 === 3 ? (n2.delete(t2), n2.add(r2)) : n2[t2] = r2;
}
function c$1(n2, t2) {
return n2 === t2 ? n2 !== 0 || 1 / n2 == 1 / t2 : n2 != n2 && t2 != t2;
}
function s(n2) {
return X$6 && n2 instanceof Map;
}
function v$2(n2) {
return q$6 && n2 instanceof Set;
}
function p$3(n2) {
return n2.o || n2.t;
}
function l$1(n2) {
if (Array.isArray(n2))
return Array.prototype.slice.call(n2);
var t2 = tn$7(n2);
delete t2[Q$6];
for (var r2 = nn$7(t2), e2 = 0; e2 < r2.length; e2++) {
var i2 = r2[e2], o2 = t2[i2];
o2.writable === false && (o2.writable = true, o2.configurable = true), (o2.get || o2.set) && (t2[i2] = { configurable: true, writable: true, enumerable: o2.enumerable, value: n2[i2] });
}
return Object.create(Object.getPrototypeOf(n2), t2);
}
function d$3(n2, e2) {
return e2 === void 0 && (e2 = false), y$3(n2) || t(n2) || !r(n2) ? n2 : (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h$4), Object.freeze(n2), e2 && i(n2, function(n3, t2) {
return d$3(t2, true);
}, true), n2);
}
function h$4() {
n(2);
}
function y$3(n2) {
return n2 == null || typeof n2 != "object" || Object.isFrozen(n2);
}
function b$3(t2) {
var r2 = rn$7[t2];
return r2 || n(18, t2), r2;
}
function _$6() {
return U$6 || n(0), U$6;
}
function j$5(n2, t2) {
t2 && (b$3("Patches"), n2.u = [], n2.s = [], n2.v = t2);
}
function O$5(n2) {
g$3(n2), n2.p.forEach(S$4), n2.p = null;
}
function g$3(n2) {
n2 === U$6 && (U$6 = n2.l);
}
function w$3(n2) {
return U$6 = { p: [], l: U$6, h: n2, m: true, _: 0 };
}
function S$4(n2) {
var t2 = n2[Q$6];
t2.i === 0 || t2.i === 1 ? t2.j() : t2.O = true;
}
function P$5(t2, e2) {
e2._ = e2.p.length;
var i2 = e2.p[0], o2 = t2 !== void 0 && t2 !== i2;
return e2.h.g || b$3("ES5").S(e2, t2, o2), o2 ? (i2[Q$6].P && (O$5(e2), n(4)), r(t2) && (t2 = M$4(e2, t2), e2.l || x$4(e2, t2)), e2.u && b$3("Patches").M(i2[Q$6], t2, e2.u, e2.s)) : t2 = M$4(e2, i2, []), O$5(e2), e2.u && e2.v(e2.u, e2.s), t2 !== H$5 ? t2 : void 0;
}
function M$4(n2, t2, r2) {
if (y$3(t2))
return t2;
var e2 = t2[Q$6];
if (!e2)
return i(t2, function(i2, o3) {
return A$5(n2, e2, t2, i2, o3, r2);
}, true), t2;
if (e2.A !== n2)
return t2;
if (!e2.P)
return x$4(n2, e2.t, true), e2.t;
if (!e2.I) {
e2.I = true, e2.A._--;
var o2 = e2.i === 4 || e2.i === 5 ? e2.o = l$1(e2.k) : e2.o;
i(e2.i === 3 ? new Set(o2) : o2, function(t3, i2) {
return A$5(n2, e2, o2, t3, i2, r2);
}), x$4(n2, o2, false), r2 && n2.u && b$3("Patches").R(e2, r2, n2.u, n2.s);
}
return e2.o;
}
function A$5(e2, i2, o2, a2, c2, s2) {
if (c2 === o2 && n(5), t(c2)) {
var v2 = M$4(e2, c2, s2 && i2 && i2.i !== 3 && !u$1(i2.D, a2) ? s2.concat(a2) : void 0);
if (f$2(o2, a2, v2), !t(v2))
return;
e2.m = false;
}
if (r(c2) && !y$3(c2)) {
if (!e2.h.F && e2._ < 1)
return;
M$4(e2, c2), i2 && i2.A.l || x$4(e2, c2);
}
}
function x$4(n2, t2, r2) {
r2 === void 0 && (r2 = false), n2.h.F && n2.m && d$3(t2, r2);
}
function z$5(n2, t2) {
var r2 = n2[Q$6];
return (r2 ? p$3(r2) : n2)[t2];
}
function I$5(n2, t2) {
if (t2 in n2)
for (var r2 = Object.getPrototypeOf(n2); r2; ) {
var e2 = Object.getOwnPropertyDescriptor(r2, t2);
if (e2)
return e2;
r2 = Object.getPrototypeOf(r2);
}
}
function k$5(n2) {
n2.P || (n2.P = true, n2.l && k$5(n2.l));
}
function E$4(n2) {
n2.o || (n2.o = l$1(n2.t));
}
function R$5(n2, t2, r2) {
var e2 = s(t2) ? b$3("MapSet").N(t2, r2) : v$2(t2) ? b$3("MapSet").T(t2, r2) : n2.g ? function(n3, t3) {
var r3 = Array.isArray(n3), e3 = { i: r3 ? 1 : 0, A: t3 ? t3.A : _$6(), P: false, I: false, D: {}, l: t3, t: n3, k: null, o: null, j: null, C: false }, i2 = e3, o2 = en$7;
r3 && (i2 = [e3], o2 = on$8);
var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy;
return e3.k = f2, e3.j = a2, f2;
}(t2, r2) : b$3("ES5").J(t2, r2);
return (r2 ? r2.A : _$6()).p.push(e2), e2;
}
function D$5(e2) {
return t(e2) || n(22, e2), function n2(t2) {
if (!r(t2))
return t2;
var e3, u2 = t2[Q$6], c2 = o(t2);
if (u2) {
if (!u2.P && (u2.i < 4 || !b$3("ES5").K(u2)))
return u2.t;
u2.I = true, e3 = F$5(t2, c2), u2.I = false;
} else
e3 = F$5(t2, c2);
return i(e3, function(t3, r2) {
u2 && a(u2.t, t3) === r2 || f$2(e3, t3, n2(r2));
}), c2 === 3 ? new Set(e3) : e3;
}(e2);
}
function F$5(n2, t2) {
switch (t2) {
case 2:
return new Map(n2);
case 3:
return Array.from(n2);
}
return l$1(n2);
}
var G$6, U$6, W$6 = typeof Symbol != "undefined" && typeof Symbol("x") == "symbol", X$6 = typeof Map != "undefined", q$6 = typeof Set != "undefined", B$5 = typeof Proxy != "undefined" && Proxy.revocable !== void 0 && typeof Reflect != "undefined", H$5 = W$6 ? Symbol.for("immer-nothing") : ((G$6 = {})["immer-nothing"] = true, G$6), L$5 = W$6 ? Symbol.for("immer-draftable") : "__$immer_draftable", Q$6 = W$6 ? Symbol.for("immer-state") : "__$immer_state", Y$6 = { 0: "Illegal state", 1: "Immer drafts cannot have computed properties", 2: "This object has been frozen and should not be mutated", 3: function(n2) {
return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + n2;
}, 4: "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.", 5: "Immer forbids circular references", 6: "The first or second argument to `produce` must be a function", 7: "The third argument to `produce` must be a function or undefined", 8: "First argument to `createDraft` must be a plain object, an array, or an immerable object", 9: "First argument to `finishDraft` must be a draft returned by `createDraft`", 10: "The given draft is already finalized", 11: "Object.defineProperty() cannot be used on an Immer draft", 12: "Object.setPrototypeOf() cannot be used on an Immer draft", 13: "Immer only supports deleting array indices", 14: "Immer only supports setting array indices and the 'length' property", 15: function(n2) {
return "Cannot apply patch, path doesn't resolve: " + n2;
}, 16: 'Sets cannot have "replace" patches.', 17: function(n2) {
return "Unsupported patch operation: " + n2;
}, 18: function(n2) {
return "The plugin for '" + n2 + "' has not been loaded into Immer. To enable the plugin, import and call `enable" + n2 + "()` when initializing your application.";
}, 20: "Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available", 21: function(n2) {
return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '" + n2 + "'";
}, 22: function(n2) {
return "'current' expects a draft, got: " + n2;
}, 23: function(n2) {
return "'original' expects a draft, got: " + n2;
}, 24: "Patching reserved attributes like __proto__, prototype and constructor is not allowed" }, Z$6 = "" + Object.prototype.constructor, nn$7 = typeof Reflect != "undefined" && Reflect.ownKeys ? Reflect.ownKeys : Object.getOwnPropertySymbols !== void 0 ? function(n2) {
return Object.getOwnPropertyNames(n2).concat(Object.getOwnPropertySymbols(n2));
} : Object.getOwnPropertyNames, tn$7 = Object.getOwnPropertyDescriptors || function(n2) {
var t2 = {};
return nn$7(n2).forEach(function(r2) {
t2[r2] = Object.getOwnPropertyDescriptor(n2, r2);
}), t2;
}, rn$7 = {}, en$7 = { get: function(n2, t2) {
if (t2 === Q$6)
return n2;
var e2 = p$3(n2);
if (!u$1(e2, t2))
return function(n3, t3, r2) {
var e3, i3 = I$5(t3, r2);
return i3 ? "value" in i3 ? i3.value : (e3 = i3.get) === null || e3 === void 0 ? void 0 : e3.call(n3.k) : void 0;
}(n2, e2, t2);
var i2 = e2[t2];
return n2.I || !r(i2) ? i2 : i2 === z$5(n2.t, t2) ? (E$4(n2), n2.o[t2] = R$5(n2.A.h, i2, n2)) : i2;
}, has: function(n2, t2) {
return t2 in p$3(n2);
}, ownKeys: function(n2) {
return Reflect.ownKeys(p$3(n2));
}, set: function(n2, t2, r2) {
var e2 = I$5(p$3(n2), t2);
if (e2 == null ? void 0 : e2.set)
return e2.set.call(n2.k, r2), true;
if (!n2.P) {
var i2 = z$5(p$3(n2), t2), o2 = i2 == null ? void 0 : i2[Q$6];
if (o2 && o2.t === r2)
return n2.o[t2] = r2, n2.D[t2] = false, true;
if (c$1(r2, i2) && (r2 !== void 0 || u$1(n2.t, t2)))
return true;
E$4(n2), k$5(n2);
}
return n2.o[t2] === r2 && typeof r2 != "number" && (r2 !== void 0 || t2 in n2.o) || (n2.o[t2] = r2, n2.D[t2] = true, true);
}, deleteProperty: function(n2, t2) {
return z$5(n2.t, t2) !== void 0 || t2 in n2.t ? (n2.D[t2] = false, E$4(n2), k$5(n2)) : delete n2.D[t2], n2.o && delete n2.o[t2], true;
}, getOwnPropertyDescriptor: function(n2, t2) {
var r2 = p$3(n2), e2 = Reflect.getOwnPropertyDescriptor(r2, t2);
return e2 ? { writable: true, configurable: n2.i !== 1 || t2 !== "length", enumerable: e2.enumerable, value: r2[t2] } : e2;
}, defineProperty: function() {
n(11);
}, getPrototypeOf: function(n2) {
return Object.getPrototypeOf(n2.t);
}, setPrototypeOf: function() {
n(12);
} }, on$8 = {};
i(en$7, function(n2, t2) {
on$8[n2] = function() {
return arguments[0] = arguments[0][0], t2.apply(this, arguments);
};
}), on$8.deleteProperty = function(t2, r2) {
return isNaN(parseInt(r2)) && n(13), en$7.deleteProperty.call(this, t2[0], r2);
}, on$8.set = function(t2, r2, e2) {
return r2 !== "length" && isNaN(parseInt(r2)) && n(14), en$7.set.call(this, t2[0], r2, e2, t2[0]);
};
var un$7 = function() {
function e2(t2) {
var e3 = this;
this.g = B$5, this.F = true, this.produce = function(t3, i3, o2) {
if (typeof t3 == "function" && typeof i3 != "function") {
var u2 = i3;
i3 = t3;
var a2 = e3;
return function(n2) {
var t4 = this;
n2 === void 0 && (n2 = u2);
for (var r2 = arguments.length, e4 = Array(r2 > 1 ? r2 - 1 : 0), o3 = 1; o3 < r2; o3++)
e4[o3 - 1] = arguments[o3];
return a2.produce(n2, function(n3) {
var r3;
return (r3 = i3).call.apply(r3, [t4, n3].concat(e4));
});
};
}
var f2;
if (typeof i3 != "function" && n(6), o2 !== void 0 && typeof o2 != "function" && n(7), r(t3)) {
var c2 = w$3(e3), s2 = R$5(e3, t3, void 0), v2 = true;
try {
f2 = i3(s2), v2 = false;
} finally {
v2 ? O$5(c2) : g$3(c2);
}
return typeof Promise != "undefined" && f2 instanceof Promise ? f2.then(function(n2) {
return j$5(c2, o2), P$5(n2, c2);
}, function(n2) {
throw O$5(c2), n2;
}) : (j$5(c2, o2), P$5(f2, c2));
}
if (!t3 || typeof t3 != "object") {
if ((f2 = i3(t3)) === H$5)
return;
return f2 === void 0 && (f2 = t3), e3.F && d$3(f2, true), f2;
}
n(21, t3);
}, this.produceWithPatches = function(n2, t3) {
return typeof n2 == "function" ? function(t4) {
for (var r3 = arguments.length, i4 = Array(r3 > 1 ? r3 - 1 : 0), o2 = 1; o2 < r3; o2++)
i4[o2 - 1] = arguments[o2];
return e3.produceWithPatches(t4, function(t5) {
return n2.apply(void 0, [t5].concat(i4));
});
} : [e3.produce(n2, t3, function(n3, t4) {
r2 = n3, i3 = t4;
}), r2, i3];
var r2, i3;
}, typeof (t2 == null ? void 0 : t2.useProxies) == "boolean" && this.setUseProxies(t2.useProxies), typeof (t2 == null ? void 0 : t2.autoFreeze) == "boolean" && this.setAutoFreeze(t2.autoFreeze);
}
var i2 = e2.prototype;
return i2.createDraft = function(e3) {
r(e3) || n(8), t(e3) && (e3 = D$5(e3));
var i3 = w$3(this), o2 = R$5(this, e3, void 0);
return o2[Q$6].C = true, g$3(i3), o2;
}, i2.finishDraft = function(t2, r2) {
var e3 = t2 && t2[Q$6];
e3 && e3.C || n(9), e3.I && n(10);
var i3 = e3.A;
return j$5(i3, r2), P$5(void 0, i3);
}, i2.setAutoFreeze = function(n2) {
this.F = n2;
}, i2.setUseProxies = function(t2) {
t2 && !B$5 && n(20), this.g = t2;
}, i2.applyPatches = function(n2, r2) {
var e3;
for (e3 = r2.length - 1; e3 >= 0; e3--) {
var i3 = r2[e3];
if (i3.path.length === 0 && i3.op === "replace") {
n2 = i3.value;
break;
}
}
e3 > -1 && (r2 = r2.slice(e3 + 1));
var o2 = b$3("Patches").$;
return t(n2) ? o2(n2, r2) : this.produce(n2, function(n3) {
return o2(n3, r2);
});
}, e2;
}(), an$7 = new un$7(), fn$7 = an$7.produce;
an$7.produceWithPatches.bind(an$7);
an$7.setAutoFreeze.bind(an$7);
an$7.setUseProxies.bind(an$7);
an$7.applyPatches.bind(an$7);
var ln$7 = an$7.createDraft.bind(an$7), dn$7 = an$7.finishDraft.bind(an$7);
function _defineProperty$1(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
var DIRTY_PATHS = /* @__PURE__ */ new WeakMap();
var FLUSHING = /* @__PURE__ */ new WeakMap();
var NORMALIZING = /* @__PURE__ */ new WeakMap();
var PATH_REFS = /* @__PURE__ */ new WeakMap();
var POINT_REFS = /* @__PURE__ */ new WeakMap();
var RANGE_REFS = /* @__PURE__ */ new WeakMap();
function ownKeys$9(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$9(target) {
for (var i2 = 1; i2 < arguments.length; i2++) {
var source = arguments[i2] != null ? arguments[i2] : {};
if (i2 % 2) {
ownKeys$9(Object(source), true).forEach(function(key) {
_defineProperty$1(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
ownKeys$9(Object(source)).forEach(function(key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
}
return target;
}
var createEditor$1 = () => {
var editor = {
children: [],
operations: [],
selection: null,
marks: null,
isInline: () => false,
isVoid: () => false,
onChange: () => {
},
apply: (op2) => {
for (var ref2 of Editor$1.pathRefs(editor)) {
PathRef.transform(ref2, op2);
}
for (var _ref of Editor$1.pointRefs(editor)) {
PointRef.transform(_ref, op2);
}
for (var _ref2 of Editor$1.rangeRefs(editor)) {
RangeRef.transform(_ref2, op2);
}
var set = /* @__PURE__ */ new Set();
var dirtyPaths = [];
var add = (path2) => {
if (path2) {
var key = path2.join(",");
if (!set.has(key)) {
set.add(key);
dirtyPaths.push(path2);
}
}
};
var oldDirtyPaths = DIRTY_PATHS.get(editor) || [];
var newDirtyPaths = getDirtyPaths(op2);
for (var path of oldDirtyPaths) {
var newPath = Path.transform(path, op2);
add(newPath);
}
for (var _path of newDirtyPaths) {
add(_path);
}
DIRTY_PATHS.set(editor, dirtyPaths);
Transforms.transform(editor, op2);
editor.operations.push(op2);
Editor$1.normalize(editor);
if (op2.type === "set_selection") {
editor.marks = null;
}
if (!FLUSHING.get(editor)) {
FLUSHING.set(editor, true);
Promise.resolve().then(() => {
FLUSHING.set(editor, false);
editor.onChange();
editor.operations = [];
});
}
},
addMark: (key, value) => {
var {
selection
} = editor;
if (selection) {
if (Range.isExpanded(selection)) {
Transforms.setNodes(editor, {
[key]: value
}, {
match: Text.isText,
split: true
});
} else {
var marks = _objectSpread$9(_objectSpread$9({}, Editor$1.marks(editor) || {}), {}, {
[key]: value
});
editor.marks = marks;
if (!FLUSHING.get(editor)) {
editor.onChange();
}
}
}
},
deleteBackward: (unit) => {
var {
selection
} = editor;
if (selection && Range.isCollapsed(selection)) {
Transforms.delete(editor, {
unit,
reverse: true
});
}
},
deleteForward: (unit) => {
var {
selection
} = editor;
if (selection && Range.isCollapsed(selection)) {
Transforms.delete(editor, {
unit
});
}
},
deleteFragment: (direction) => {
var {
selection
} = editor;
if (selection && Range.isExpanded(selection)) {
Transforms.delete(editor, {
reverse: direction === "backward"
});
}
},
getFragment: () => {
var {
selection
} = editor;
if (selection) {
return Node$1.fragment(editor, selection);
}
return [];
},
insertBreak: () => {
Transforms.splitNodes(editor, {
always: true
});
},
insertFragment: (fragment) => {
Transforms.insertFragment(editor, fragment);
},
insertNode: (node) => {
Transforms.insertNodes(editor, node);
},
insertText: (text2) => {
var {
selection,
marks
} = editor;
if (selection) {
if (marks) {
var node = _objectSpread$9({
text: text2
}, marks);
Transforms.insertNodes(editor, node);
} else {
Transforms.insertText(editor, text2);
}
editor.marks = null;
}
},
normalizeNode: (entry) => {
var [node, path] = entry;
if (Text.isText(node)) {
return;
}
if (Element$1.isElement(node) && node.children.length === 0) {
var child = {
text: ""
};
Transforms.insertNodes(editor, child, {
at: path.concat(0),
voids: true
});
return;
}
var shouldHaveInlines = Editor$1.isEditor(node) ? false : Element$1.isElement(node) && (editor.isInline(node) || node.children.length === 0 || Text.isText(node.children[0]) || editor.isInline(node.children[0]));
var n2 = 0;
for (var i2 = 0; i2 < node.children.length; i2++, n2++) {
var currentNode = Node$1.get(editor, path);
if (Text.isText(currentNode))
continue;
var _child = node.children[i2];
var prev = currentNode.children[n2 - 1];
var isLast = i2 === node.children.length - 1;
var isInlineOrText = Text.isText(_child) || Element$1.isElement(_child) && editor.isInline(_child);
if (isInlineOrText !== shouldHaveInlines) {
Transforms.removeNodes(editor, {
at: path.concat(n2),
voids: true
});
n2--;
} else if (Element$1.isElement(_child)) {
if (editor.isInline(_child)) {
if (prev == null || !Text.isText(prev)) {
var newChild = {
text: ""
};
Transforms.insertNodes(editor, newChild, {
at: path.concat(n2),
voids: true
});
n2++;
} else if (isLast) {
var _newChild = {
text: ""
};
Transforms.insertNodes(editor, _newChild, {
at: path.concat(n2 + 1),
voids: true
});
n2++;
}
}
} else {
if (prev != null && Text.isText(prev)) {
if (Text.equals(_child, prev, {
loose: true
})) {
Transforms.mergeNodes(editor, {
at: path.concat(n2),
voids: true
});
n2--;
} else if (prev.text === "") {
Transforms.removeNodes(editor, {
at: path.concat(n2 - 1),
voids: true
});
n2--;
} else if (_child.text === "") {
Transforms.removeNodes(editor, {
at: path.concat(n2),
voids: true
});
n2--;
}
}
}
}
},
removeMark: (key) => {
var {
selection
} = editor;
if (selection) {
if (Range.isExpanded(selection)) {
Transforms.unsetNodes(editor, key, {
match: Text.isText,
split: true
});
} else {
var marks = _objectSpread$9({}, Editor$1.marks(editor) || {});
delete marks[key];
editor.marks = marks;
if (!FLUSHING.get(editor)) {
editor.onChange();
}
}
}
}
};
return editor;
};
var getDirtyPaths = (op2) => {
switch (op2.type) {
case "insert_text":
case "remove_text":
case "set_node": {
var {
path
} = op2;
return Path.levels(path);
}
case "insert_node": {
var {
node,
path: _path2
} = op2;
var levels = Path.levels(_path2);
var descendants = Text.isText(node) ? [] : Array.from(Node$1.nodes(node), (_ref3) => {
var [, p3] = _ref3;
return _path2.concat(p3);
});
return [...levels, ...descendants];
}
case "merge_node": {
var {
path: _path3
} = op2;
var ancestors = Path.ancestors(_path3);
var previousPath = Path.previous(_path3);
return [...ancestors, previousPath];
}
case "move_node": {
var {
path: _path4,
newPath
} = op2;
if (Path.equals(_path4, newPath)) {
return [];
}
var oldAncestors = [];
var newAncestors = [];
for (var ancestor of Path.ancestors(_path4)) {
var p2 = Path.transform(ancestor, op2);
oldAncestors.push(p2);
}
for (var _ancestor of Path.ancestors(newPath)) {
var _p = Path.transform(_ancestor, op2);
newAncestors.push(_p);
}
var newParent = newAncestors[newAncestors.length - 1];
var newIndex = newPath[newPath.length - 1];
var resultPath = newParent.concat(newIndex);
return [...oldAncestors, ...newAncestors, resultPath];
}
case "remove_node": {
var {
path: _path5
} = op2;
var _ancestors = Path.ancestors(_path5);
return [..._ancestors];
}
case "split_node": {
var {
path: _path6
} = op2;
var _levels = Path.levels(_path6);
var nextPath = Path.next(_path6);
return [..._levels, nextPath];
}
default: {
return [];
}
}
};
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null)
return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i2;
for (i2 = 0; i2 < sourceKeys.length; i2++) {
key = sourceKeys[i2];
if (excluded.indexOf(key) >= 0)
continue;
target[key] = source[key];
}
return target;
}
function _objectWithoutProperties(source, excluded) {
if (source == null)
return {};
var target = _objectWithoutPropertiesLoose(source, excluded);
var key, i2;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i2 = 0; i2 < sourceSymbolKeys.length; i2++) {
key = sourceSymbolKeys[i2];
if (excluded.indexOf(key) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key))
continue;
target[key] = source[key];
}
}
return target;
}
var getCharacterDistance = function getCharacterDistance2(str) {
var isRTL = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
var isLTR = !isRTL;
var codepoints = isRTL ? codepointsIteratorRTL(str) : str;
var left = CodepointType.None;
var right = CodepointType.None;
var distance = 0;
var gb11 = null;
var gb12Or13 = null;
for (var char of codepoints) {
var code = char.codePointAt(0);
if (!code)
break;
var type = getCodepointType(char, code);
[left, right] = isLTR ? [right, type] : [type, left];
if (intersects(left, CodepointType.ZWJ) && intersects(right, CodepointType.ExtPict)) {
if (isLTR) {
gb11 = endsWithEmojiZWJ(str.substring(0, distance));
} else {
gb11 = endsWithEmojiZWJ(str.substring(0, str.length - distance));
}
if (!gb11)
break;
}
if (intersects(left, CodepointType.RI) && intersects(right, CodepointType.RI)) {
if (gb12Or13 !== null) {
gb12Or13 = !gb12Or13;
} else {
if (isLTR) {
gb12Or13 = true;
} else {
gb12Or13 = endsWithOddNumberOfRIs(str.substring(0, str.length - distance));
}
}
if (!gb12Or13)
break;
}
if (left !== CodepointType.None && right !== CodepointType.None && isBoundaryPair(left, right)) {
break;
}
distance += char.length;
}
return distance || 1;
};
var SPACE = /\s/;
var PUNCTUATION = /[\u0021-\u0023\u0025-\u002A\u002C-\u002F\u003A\u003B\u003F\u0040\u005B-\u005D\u005F\u007B\u007D\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E3B\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/;
var CHAMELEON = /['\u2018\u2019]/;
var getWordDistance = function getWordDistance2(text2) {
var isRTL = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
var dist = 0;
var started = false;
while (text2.length > 0) {
var charDist = getCharacterDistance(text2, isRTL);
var [char, remaining] = splitByCharacterDistance(text2, charDist, isRTL);
if (isWordCharacter(char, remaining, isRTL)) {
started = true;
dist += charDist;
} else if (!started) {
dist += charDist;
} else {
break;
}
text2 = remaining;
}
return dist;
};
var splitByCharacterDistance = (str, dist, isRTL) => {
if (isRTL) {
var at2 = str.length - dist;
return [str.slice(at2, str.length), str.slice(0, at2)];
}
return [str.slice(0, dist), str.slice(dist)];
};
var isWordCharacter = function isWordCharacter2(char, remaining) {
var isRTL = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
if (SPACE.test(char)) {
return false;
}
if (CHAMELEON.test(char)) {
var charDist = getCharacterDistance(remaining, isRTL);
var [nextChar, nextRemaining] = splitByCharacterDistance(remaining, charDist, isRTL);
if (isWordCharacter2(nextChar, nextRemaining, isRTL)) {
return true;
}
}
if (PUNCTUATION.test(char)) {
return false;
}
return true;
};
var codepointsIteratorRTL = function* codepointsIteratorRTL2(str) {
var end = str.length - 1;
for (var i2 = 0; i2 < str.length; i2++) {
var char1 = str.charAt(end - i2);
if (isLowSurrogate(char1.charCodeAt(0))) {
var char2 = str.charAt(end - i2 - 1);
if (isHighSurrogate(char2.charCodeAt(0))) {
yield char2 + char1;
i2++;
continue;
}
}
yield char1;
}
};
var isHighSurrogate = (charCode) => {
return charCode >= 55296 && charCode <= 56319;
};
var isLowSurrogate = (charCode) => {
return charCode >= 56320 && charCode <= 57343;
};
var CodepointType;
(function(CodepointType2) {
CodepointType2[CodepointType2["None"] = 0] = "None";
CodepointType2[CodepointType2["Extend"] = 1] = "Extend";
CodepointType2[CodepointType2["ZWJ"] = 2] = "ZWJ";
CodepointType2[CodepointType2["RI"] = 4] = "RI";
CodepointType2[CodepointType2["Prepend"] = 8] = "Prepend";
CodepointType2[CodepointType2["SpacingMark"] = 16] = "SpacingMark";
CodepointType2[CodepointType2["L"] = 32] = "L";
CodepointType2[CodepointType2["V"] = 64] = "V";
CodepointType2[CodepointType2["T"] = 128] = "T";
CodepointType2[CodepointType2["LV"] = 256] = "LV";
CodepointType2[CodepointType2["LVT"] = 512] = "LVT";
CodepointType2[CodepointType2["ExtPict"] = 1024] = "ExtPict";
CodepointType2[CodepointType2["Any"] = 2048] = "Any";
})(CodepointType || (CodepointType = {}));
var reExtend = /^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09BE\u09C1-\u09C4\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3E\u0B3F\u0B41-\u0B44\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE\u0BC0\u0BCD\u0BD7\u0C00\u0C04\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC2\u0CC6\u0CCC\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D3E\u0D41-\u0D44\u0D4D\u0D57\u0D62\u0D63\u0D81\u0DCA\u0DCF\u0DD2-\u0DD4\u0DD6\u0DDF\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B03\u1B34-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF3E\uDF40\uDF57\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB0\uDCB3-\uDCB8\uDCBA\uDCBD\uDCBF\uDCC0\uDCC2\uDCC3\uDDAF\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD30\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65\uDD67-\uDD69\uDD6E-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF])$/;
var rePrepend = /^(?:[\u0600-\u0605\u06DD\u070F\u0890\u0891\u08E2\u0D4E]|\uD804[\uDCBD\uDCCD\uDDC2\uDDC3]|\uD806[\uDD3F\uDD41\uDE3A\uDE84-\uDE89]|\uD807\uDD46)$/;
var reSpacingMark = /^(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0D02\u0D03\u0D3F\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D82\u0D83\u0DD0\u0DD1\u0DD8-\u0DDE\u0DF2\u0DF3\u0E33\u0EB3\u0F3E\u0F3F\u0F7F\u1031\u103B\u103C\u1056\u1057\u1084\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A6D-\u1A72\u1B04\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB1\uDCB2\uDCB9\uDCBB\uDCBC\uDCBE\uDCC1\uDDB0\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD31-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD66\uDD6D])$/;
var reL = /^[\u1100-\u115F\uA960-\uA97C]$/;
var reV = /^[\u1160-\u11A7\uD7B0-\uD7C6]$/;
var reT = /^[\u11A8-\u11FF\uD7CB-\uD7FB]$/;
var reLV = /^[\uAC00\uAC1C\uAC38\uAC54\uAC70\uAC8C\uACA8\uACC4\uACE0\uACFC\uAD18\uAD34\uAD50\uAD6C\uAD88\uADA4\uADC0\uADDC\uADF8\uAE14\uAE30\uAE4C\uAE68\uAE84\uAEA0\uAEBC\uAED8\uAEF4\uAF10\uAF2C\uAF48\uAF64\uAF80\uAF9C\uAFB8\uAFD4\uAFF0\uB00C\uB028\uB044\uB060\uB07C\uB098\uB0B4\uB0D0\uB0EC\uB108\uB124\uB140\uB15C\uB178\uB194\uB1B0\uB1CC\uB1E8\uB204\uB220\uB23C\uB258\uB274\uB290\uB2AC\uB2C8\uB2E4\uB300\uB31C\uB338\uB354\uB370\uB38C\uB3A8\uB3C4\uB3E0\uB3FC\uB418\uB434\uB450\uB46C\uB488\uB4A4\uB4C0\uB4DC\uB4F8\uB514\uB530\uB54C\uB568\uB584\uB5A0\uB5BC\uB5D8\uB5F4\uB610\uB62C\uB648\uB664\uB680\uB69C\uB6B8\uB6D4\uB6F0\uB70C\uB728\uB744\uB760\uB77C\uB798\uB7B4\uB7D0\uB7EC\uB808\uB824\uB840\uB85C\uB878\uB894\uB8B0\uB8CC\uB8E8\uB904\uB920\uB93C\uB958\uB974\uB990\uB9AC\uB9C8\uB9E4\uBA00\uBA1C\uBA38\uBA54\uBA70\uBA8C\uBAA8\uBAC4\uBAE0\uBAFC\uBB18\uBB34\uBB50\uBB6C\uBB88\uBBA4\uBBC0\uBBDC\uBBF8\uBC14\uBC30\uBC4C\uBC68\uBC84\uBCA0\uBCBC\uBCD8\uBCF4\uBD10\uBD2C\uBD48\uBD64\uBD80\uBD9C\uBDB8\uBDD4\uBDF0\uBE0C\uBE28\uBE44\uBE60\uBE7C\uBE98\uBEB4\uBED0\uBEEC\uBF08\uBF24\uBF40\uBF5C\uBF78\uBF94\uBFB0\uBFCC\uBFE8\uC004\uC020\uC03C\uC058\uC074\uC090\uC0AC\uC0C8\uC0E4\uC100\uC11C\uC138\uC154\uC170\uC18C\uC1A8\uC1C4\uC1E0\uC1FC\uC218\uC234\uC250\uC26C\uC288\uC2A4\uC2C0\uC2DC\uC2F8\uC314\uC330\uC34C\uC368\uC384\uC3A0\uC3BC\uC3D8\uC3F4\uC410\uC42C\uC448\uC464\uC480\uC49C\uC4B8\uC4D4\uC4F0\uC50C\uC528\uC544\uC560\uC57C\uC598\uC5B4\uC5D0\uC5EC\uC608\uC624\uC640\uC65C\uC678\uC694\uC6B0\uC6CC\uC6E8\uC704\uC720\uC73C\uC758\uC774\uC790\uC7AC\uC7C8\uC7E4\uC800\uC81C\uC838\uC854\uC870\uC88C\uC8A8\uC8C4\uC8E0\uC8FC\uC918\uC934\uC950\uC96C\uC988\uC9A4\uC9C0\uC9DC\uC9F8\uCA14\uCA30\uCA4C\uCA68\uCA84\uCAA0\uCABC\uCAD8\uCAF4\uCB10\uCB2C\uCB48\uCB64\uCB80\uCB9C\uCBB8\uCBD4\uCBF0\uCC0C\uCC28\uCC44\uCC60\uCC7C\uCC98\uCCB4\uCCD0\uCCEC\uCD08\uCD24\uCD40\uCD5C\uCD78\uCD94\uCDB0\uCDCC\uCDE8\uCE04\uCE20\uCE3C\uCE58\uCE74\uCE90\uCEAC\uCEC8\uCEE4\uCF00\uCF1C\uCF38\uCF54\uCF70\uCF8C\uCFA8\uCFC4\uCFE0\uCFFC\uD018\uD034\uD050\uD06C\uD088\uD0A4\uD0C0\uD0DC\uD0F8\uD114\uD130\uD14C\uD168\uD184\uD1A0\uD1BC\uD1D8\uD1F4\uD210\uD22C\uD248\uD264\uD280\uD29C\uD2B8\uD2D4\uD2F0\uD30C\uD328\uD344\uD360\uD37C\uD398\uD3B4\uD3D0\uD3EC\uD408\uD424\uD440\uD45C\uD478\uD494\uD4B0\uD4CC\uD4E8\uD504\uD520\uD53C\uD558\uD574\uD590\uD5AC\uD5C8\uD5E4\uD600\uD61C\uD638\uD654\uD670\uD68C\uD6A8\uD6C4\uD6E0\uD6FC\uD718\uD734\uD750\uD76C\uD788]$/;
var reLVT = /^[\uAC01-\uAC1B\uAC1D-\uAC37\uAC39-\uAC53\uAC55-\uAC6F\uAC71-\uAC8B\uAC8D-\uACA7\uACA9-\uACC3\uACC5-\uACDF\uACE1-\uACFB\uACFD-\uAD17\uAD19-\uAD33\uAD35-\uAD4F\uAD51-\uAD6B\uAD6D-\uAD87\uAD89-\uADA3\uADA5-\uADBF\uADC1-\uADDB\uADDD-\uADF7\uADF9-\uAE13\uAE15-\uAE2F\uAE31-\uAE4B\uAE4D-\uAE67\uAE69-\uAE83\uAE85-\uAE9F\uAEA1-\uAEBB\uAEBD-\uAED7\uAED9-\uAEF3\uAEF5-\uAF0F\uAF11-\uAF2B\uAF2D-\uAF47\uAF49-\uAF63\uAF65-\uAF7F\uAF81-\uAF9B\uAF9D-\uAFB7\uAFB9-\uAFD3\uAFD5-\uAFEF\uAFF1-\uB00B\uB00D-\uB027\uB029-\uB043\uB045-\uB05F\uB061-\uB07B\uB07D-\uB097\uB099-\uB0B3\uB0B5-\uB0CF\uB0D1-\uB0EB\uB0ED-\uB107\uB109-\uB123\uB125-\uB13F\uB141-\uB15B\uB15D-\uB177\uB179-\uB193\uB195-\uB1AF\uB1B1-\uB1CB\uB1CD-\uB1E7\uB1E9-\uB203\uB205-\uB21F\uB221-\uB23B\uB23D-\uB257\uB259-\uB273\uB275-\uB28F\uB291-\uB2AB\uB2AD-\uB2C7\uB2C9-\uB2E3\uB2E5-\uB2FF\uB301-\uB31B\uB31D-\uB337\uB339-\uB353\uB355-\uB36F\uB371-\uB38B\uB38D-\uB3A7\uB3A9-\uB3C3\uB3C5-\uB3DF\uB3E1-\uB3FB\uB3FD-\uB417\uB419-\uB433\uB435-\uB44F\uB451-\uB46B\uB46D-\uB487\uB489-\uB4A3\uB4A5-\uB4BF\uB4C1-\uB4DB\uB4DD-\uB4F7\uB4F9-\uB513\uB515-\uB52F\uB531-\uB54B\uB54D-\uB567\uB569-\uB583\uB585-\uB59F\uB5A1-\uB5BB\uB5BD-\uB5D7\uB5D9-\uB5F3\uB5F5-\uB60F\uB611-\uB62B\uB62D-\uB647\uB649-\uB663\uB665-\uB67F\uB681-\uB69B\uB69D-\uB6B7\uB6B9-\uB6D3\uB6D5-\uB6EF\uB6F1-\uB70B\uB70D-\uB727\uB729-\uB743\uB745-\uB75F\uB761-\uB77B\uB77D-\uB797\uB799-\uB7B3\uB7B5-\uB7CF\uB7D1-\uB7EB\uB7ED-\uB807\uB809-\uB823\uB825-\uB83F\uB841-\uB85B\uB85D-\uB877\uB879-\uB893\uB895-\uB8AF\uB8B1-\uB8CB\uB8CD-\uB8E7\uB8E9-\uB903\uB905-\uB91F\uB921-\uB93B\uB93D-\uB957\uB959-\uB973\uB975-\uB98F\uB991-\uB9AB\uB9AD-\uB9C7\uB9C9-\uB9E3\uB9E5-\uB9FF\uBA01-\uBA1B\uBA1D-\uBA37\uBA39-\uBA53\uBA55-\uBA6F\uBA71-\uBA8B\uBA8D-\uBAA7\uBAA9-\uBAC3\uBAC5-\uBADF\uBAE1-\uBAFB\uBAFD-\uBB17\uBB19-\uBB33\uBB35-\uBB4F\uBB51-\uBB6B\uBB6D-\uBB87\uBB89-\uBBA3\uBBA5-\uBBBF\uBBC1-\uBBDB\uBBDD-\uBBF7\uBBF9-\uBC13\uBC15-\uBC2F\uBC31-\uBC4B\uBC4D-\uBC67\uBC69-\uBC83\uBC85-\uBC9F\uBCA1-\uBCBB\uBCBD-\uBCD7\uBCD9-\uBCF3\uBCF5-\uBD0F\uBD11-\uBD2B\uBD2D-\uBD47\uBD49-\uBD63\uBD65-\uBD7F\uBD81-\uBD9B\uBD9D-\uBDB7\uBDB9-\uBDD3\uBDD5-\uBDEF\uBDF1-\uBE0B\uBE0D-\uBE27\uBE29-\uBE43\uBE45-\uBE5F\uBE61-\uBE7B\uBE7D-\uBE97\uBE99-\uBEB3\uBEB5-\uBECF\uBED1-\uBEEB\uBEED-\uBF07\uBF09-\uBF23\uBF25-\uBF3F\uBF41-\uBF5B\uBF5D-\uBF77\uBF79-\uBF93\uBF95-\uBFAF\uBFB1-\uBFCB\uBFCD-\uBFE7\uBFE9-\uC003\uC005-\uC01F\uC021-\uC03B\uC03D-\uC057\uC059-\uC073\uC075-\uC08F\uC091-\uC0AB\uC0AD-\uC0C7\uC0C9-\uC0E3\uC0E5-\uC0FF\uC101-\uC11B\uC11D-\uC137\uC139-\uC153\uC155-\uC16F\uC171-\uC18B\uC18D-\uC1A7\uC1A9-\uC1C3\uC1C5-\uC1DF\uC1E1-\uC1FB\uC1FD-\uC217\uC219-\uC233\uC235-\uC24F\uC251-\uC26B\uC26D-\uC287\uC289-\uC2A3\uC2A5-\uC2BF\uC2C1-\uC2DB\uC2DD-\uC2F7\uC2F9-\uC313\uC315-\uC32F\uC331-\uC34B\uC34D-\uC367\uC369-\uC383\uC385-\uC39F\uC3A1-\uC3BB\uC3BD-\uC3D7\uC3D9-\uC3F3\uC3F5-\uC40F\uC411-\uC42B\uC42D-\uC447\uC449-\uC463\uC465-\uC47F\uC481-\uC49B\uC49D-\uC4B7\uC4B9-\uC4D3\uC4D5-\uC4EF\uC4F1-\uC50B\uC50D-\uC527\uC529-\uC543\uC545-\uC55F\uC561-\uC57B\uC57D-\uC597\uC599-\uC5B3\uC5B5-\uC5CF\uC5D1-\uC5EB\uC5ED-\uC607\uC609-\uC623\uC625-\uC63F\uC641-\uC65B\uC65D-\uC677\uC679-\uC693\uC695-\uC6AF\uC6B1-\uC6CB\uC6CD-\uC6E7\uC6E9-\uC703\uC705-\uC71F\uC721-\uC73B\uC73D-\uC757\uC759-\uC773\uC775-\uC78F\uC791-\uC7AB\uC7AD-\uC7C7\uC7C9-\uC7E3\uC7E5-\uC7FF\uC801-\uC81B\uC81D-\uC837\uC839-\uC853\uC855-\uC86F\uC871-\uC88B\uC88D-\uC8A7\uC8A9-\uC8C3\uC8C5-\uC8DF\uC8E1-\uC8FB\uC8FD-\uC917\uC919-\uC933\uC935-\uC94F\uC951-\uC96B\uC96D-\uC987\uC989-\uC9A3\uC9A5-\uC9BF\uC9C1-\uC9DB\uC9DD-\uC9F7\uC9F9-\uCA13\uCA15-\uCA2F\uCA31-\uCA4B\uCA4D-\uCA67\uCA69-\uCA83\uCA85-\uCA9F\uCAA1-\uCABB\uCABD-\uCAD7\uCAD9-\uCAF3\uCAF5-\uCB0F\uCB11-\uCB2B\uCB2D-\uCB47\uCB49-\uCB63\uCB65-\uCB7F\uCB81-\uCB9B\uCB9D-\uCBB7\uCBB9-\uCBD3\uCBD5-\uCBEF\uCBF1-\uCC0B\uCC0D-\uCC27\uCC29-\uCC43\uCC45-\uCC5F\uCC61-\uCC7B\uCC7D-\uCC97\uCC99-\uCCB3\uCCB5-\uCCCF\uCCD1-\uCCEB\uCCED-\uCD07\uCD09-\uCD23\uCD25-\uCD3F\uCD41-\uCD5B\uCD5D-\uCD77\uCD79-\uCD93\uCD95-\uCDAF\uCDB1-\uCDCB\uCDCD-\uCDE7\uCDE9-\uCE03\uCE05-\uCE1F\uCE21-\uCE3B\uCE3D-\uCE57\uCE59-\uCE73\uCE75-\uCE8F\uCE91-\uCEAB\uCEAD-\uCEC7\uCEC9-\uCEE3\uCEE5-\uCEFF\uCF01-\uCF1B\uCF1D-\uCF37\uCF39-\uCF53\uCF55-\uCF6F\uCF71-\uCF8B\uCF8D-\uCFA7\uCFA9-\uCFC3\uCFC5-\uCFDF\uCFE1-\uCFFB\uCFFD-\uD017\uD019-\uD033\uD035-\uD04F\uD051-\uD06B\uD06D-\uD087\uD089-\uD0A3\uD0A5-\uD0BF\uD0C1-\uD0DB\uD0DD-\uD0F7\uD0F9-\uD113\uD115-\uD12F\uD131-\uD14B\uD14D-\uD167\uD169-\uD183\uD185-\uD19F\uD1A1-\uD1BB\uD1BD-\uD1D7\uD1D9-\uD1F3\uD1F5-\uD20F\uD211-\uD22B\uD22D-\uD247\uD249-\uD263\uD265-\uD27F\uD281-\uD29B\uD29D-\uD2B7\uD2B9-\uD2D3\uD2D5-\uD2EF\uD2F1-\uD30B\uD30D-\uD327\uD329-\uD343\uD345-\uD35F\uD361-\uD37B\uD37D-\uD397\uD399-\uD3B3\uD3B5-\uD3CF\uD3D1-\uD3EB\uD3ED-\uD407\uD409-\uD423\uD425-\uD43F\uD441-\uD45B\uD45D-\uD477\uD479-\uD493\uD495-\uD4AF\uD4B1-\uD4CB\uD4CD-\uD4E7\uD4E9-\uD503\uD505-\uD51F\uD521-\uD53B\uD53D-\uD557\uD559-\uD573\uD575-\uD58F\uD591-\uD5AB\uD5AD-\uD5C7\uD5C9-\uD5E3\uD5E5-\uD5FF\uD601-\uD61B\uD61D-\uD637\uD639-\uD653\uD655-\uD66F\uD671-\uD68B\uD68D-\uD6A7\uD6A9-\uD6C3\uD6C5-\uD6DF\uD6E1-\uD6FB\uD6FD-\uD717\uD719-\uD733\uD735-\uD74F\uD751-\uD76B\uD76D-\uD787\uD789-\uD7A3]$/;
var reExtPict = /^(?:[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2605\u2607-\u2612\u2614-\u2685\u2690-\u2705\u2708-\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763-\u2767\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC00-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDAD-\uDDE5\uDE01-\uDE0F\uDE1A\uDE2F\uDE32-\uDE3A\uDE3C-\uDE3F\uDE49-\uDFFA]|\uD83D[\uDC00-\uDD3D\uDD46-\uDE4F\uDE80-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDCFF\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDEFF]|\uD83F[\uDC00-\uDFFD])$/;
var getCodepointType = (char, code) => {
var type = CodepointType.Any;
if (char.search(reExtend) !== -1) {
type |= CodepointType.Extend;
}
if (code === 8205) {
type |= CodepointType.ZWJ;
}
if (code >= 127462 && code <= 127487) {
type |= CodepointType.RI;
}
if (char.search(rePrepend) !== -1) {
type |= CodepointType.Prepend;
}
if (char.search(reSpacingMark) !== -1) {
type |= CodepointType.SpacingMark;
}
if (char.search(reL) !== -1) {
type |= CodepointType.L;
}
if (char.search(reV) !== -1) {
type |= CodepointType.V;
}
if (char.search(reT) !== -1) {
type |= CodepointType.T;
}
if (char.search(reLV) !== -1) {
type |= CodepointType.LV;
}
if (char.search(reLVT) !== -1) {
type |= CodepointType.LVT;
}
if (char.search(reExtPict) !== -1) {
type |= CodepointType.ExtPict;
}
return type;
};
function intersects(x2, y2) {
return (x2 & y2) !== 0;
}
var NonBoundaryPairs = [
[CodepointType.L, CodepointType.L | CodepointType.V | CodepointType.LV | CodepointType.LVT],
[CodepointType.LV | CodepointType.V, CodepointType.V | CodepointType.T],
[CodepointType.LVT | CodepointType.T, CodepointType.T],
[CodepointType.Any, CodepointType.Extend | CodepointType.ZWJ],
[CodepointType.Any, CodepointType.SpacingMark],
[CodepointType.Prepend, CodepointType.Any],
[CodepointType.ZWJ, CodepointType.ExtPict],
[CodepointType.RI, CodepointType.RI]
];
function isBoundaryPair(left, right) {
return NonBoundaryPairs.findIndex((r2) => in