@lobehub/editor
Version:
A powerful and extensible rich text editor built on Meta's Lexical framework, providing a modern editing experience with React integration.
1,329 lines (1,327 loc) • 253 kB
JavaScript
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
'use strict';
var _Symbol$iterator, _Symbol$iterator2;
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e125) { throw _e125; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e126) { didErr = true; err = _e126; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function t(t) {
var n = new URL('https://lexical.dev/docs/error'),
r = new URLSearchParams();
r.append('code', t);
for (var _len = arguments.length, e = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
e[_key - 1] = arguments[_key];
}
for (var _i2 = 0, _e2 = e; _i2 < _e2.length; _i2++) {
var _t2 = _e2[_i2];
r.append('v', _t2);
}
throw n.search = r.toString(), Error("Minified Lexical error #".concat(t, "; visit ").concat(n.toString(), " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."));
}
function e(t) {
for (var _len2 = arguments.length, e = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
e[_key2 - 1] = arguments[_key2];
}
var n = new URL('https://lexical.dev/docs/error'),
r = new URLSearchParams();
r.append('code', t);
for (var _i3 = 0, _e3 = e; _i3 < _e3.length; _i3++) {
var _t3 = _e3[_i3];
r.append('v', _t3);
}
n.search = r.toString(), console.warn("Minified Lexical warning #".concat(t, "; visit ").concat(n.toString(), " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."));
}
var n = 'undefined' != typeof window && void 0 !== window.document && void 0 !== window.document.createElement,
r = n && 'documentMode' in document ? document.documentMode : null,
o = n && /Mac|iPod|iPhone|iPad/.test(navigator.platform),
i = n && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),
s = !(!n || !('InputEvent' in window) || r) && 'getTargetRanges' in new window.InputEvent('input'),
l = n && /Version\/[\d.]+.*Safari/.test(navigator.userAgent),
c = n && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream,
a = n && /Android/.test(navigator.userAgent),
u = n && /^(?=.*Chrome).*/i.test(navigator.userAgent),
f = n && a && u,
d = n && /AppleWebKit\/[\d.]+/.test(navigator.userAgent) && o && !u;
function h() {
var e = [];
for (var _len3 = arguments.length, t = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
t[_key3] = arguments[_key3];
}
for (var _i4 = 0, _t4 = t; _i4 < _t4.length; _i4++) {
var _n2 = _t4[_i4];
if (_n2 && 'string' == typeof _n2) {
var _iterator = _createForOfIteratorHelper(_n2.matchAll(/\S+/g)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _step$value = _slicedToArray(_step.value, 1),
_t5 = _step$value[0];
e.push(_t5);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
}
return e;
}
var g = 0,
_ = 1,
p = 2,
y = 128,
m = 1,
x = 2,
C = 3,
S = 4,
N = 5,
T = 6,
v = l || c || d ? ' ' : '',
k = '\n\n',
E = i ? ' ' : v,
O = '֑-߿יִ-﷽ﹰ-ﻼ',
b = 'A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--',
M = new RegExp('^[^' + b + ']*[' + O + ']'),
A = new RegExp('^[^' + O + ']*[' + b + ']'),
w = {
bold: 1,
capitalize: 1024,
code: 16,
highlight: y,
italic: 2,
lowercase: 256,
strikethrough: 4,
subscript: 32,
superscript: 64,
underline: 8,
uppercase: 512
},
D = {
directionless: 1,
unmergeable: 2
},
P = {
center: 2,
end: 6,
justify: 4,
left: 1,
right: 3,
start: 5
},
I = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, x, 'center'), T, 'end'), S, 'justify'), m, 'left'), C, 'right'), N, 'start'),
L = {
normal: 0,
segmented: 2,
token: 1
},
F = _defineProperty(_defineProperty(_defineProperty({}, g, 'normal'), p, 'segmented'), _, 'token'),
R = '$config';
function K(t, e, n, r, o, i) {
var s = t.getFirstChild();
for (; null !== s;) {
var _t6 = s.__key;
s.__parent === e && (co(s) && K(s, _t6, n, r, o, i), n.has(_t6) || i.delete(_t6), o.push(_t6)), s = s.getNextSibling();
}
}
var B = !1,
z = 0;
function W(t) {
z = t.timeStamp;
}
function $(t, e, n) {
var r = 'BR' === t.nodeName,
o = e.__lexicalLineBreak;
return o && (t === o || r && t.previousSibling === o) || r && void 0 !== Zo(t, n);
}
function U(t, e, n) {
var r = Ji(Li(n));
var o = null,
i = null;
null !== r && r.anchorNode === t && (o = r.anchorOffset, i = r.focusOffset);
var s = t.nodeValue;
null !== s && di(e, s, o, i, !1);
}
function J(t, e, n) {
if (ar(t)) {
var _e4 = t.anchor.getNode();
if (_e4.is(n) && t.format !== _e4.getFormat()) return !1;
}
return $o(e) && n.isAttached();
}
function Y(t, e, n, r) {
for (var _o2 = t; _o2 && !os(_o2); _o2 = Mi(_o2)) {
var _t7 = Zo(_o2, e);
if (void 0 !== _t7) {
var _e5 = Xo(_t7, n);
if (_e5) return fo(_e5) || !ji(_o2) ? void 0 : [_o2, _e5];
} else if (_o2 === r) return [r, oi(n)];
}
}
function j(t, e, n) {
B = !0;
var r = performance.now() - z > 100;
try {
oo(t, function () {
var o = kr() || function (t) {
return t.getEditorState().read(function () {
var t = kr();
return null !== t ? t.clone() : null;
});
}(t),
s = new Map(),
l = t.getRootElement(),
c = t._editorState,
a = t._blockCursorElement;
var u = !1,
f = '';
for (var _n3 = 0; _n3 < e.length; _n3++) {
var _d = e[_n3],
_h = _d.type,
_g = _d.target,
_2 = Y(_g, t, c, l);
if (!_2) continue;
var _3 = _slicedToArray(_2, 2),
_p = _3[0],
_y = _3[1];
if ('characterData' === _h) r && Zn(_y) && $o(_g) && J(o, _g, _y) && U(_g, _y, t);else if ('childList' === _h) {
u = !0;
var _e6 = _d.addedNodes;
for (var _n4 = 0; _n4 < _e6.length; _n4++) {
var _r2 = _e6[_n4],
_o3 = Qo(_r2),
_s2 = _r2.parentNode;
if (null != _s2 && _r2 !== a && null === _o3 && !$(_r2, _s2, t)) {
if (i) {
var _t8 = (ji(_r2) ? _r2.innerText : null) || _r2.nodeValue;
_t8 && (f += _t8);
}
_s2.removeChild(_r2);
}
}
var _n5 = _d.removedNodes,
_r3 = _n5.length;
if (_r3 > 0) {
var _e7 = 0;
for (var _o4 = 0; _o4 < _r3; _o4++) {
var _r4 = _n5[_o4];
($(_r4, _g, t) || a === _r4) && (_g.appendChild(_r4), _e7++);
}
_r3 !== _e7 && s.set(_p, _y);
}
}
}
if (s.size > 0) {
var _iterator2 = _createForOfIteratorHelper(s),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var _step2$value = _slicedToArray(_step2.value, 2),
_e8 = _step2$value[0],
_n6 = _step2$value[1];
_n6.reconcileObservedMutation(_e8, t);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
}
var d = n.takeRecords();
if (d.length > 0) {
for (var _e9 = 0; _e9 < d.length; _e9++) {
var _n7 = d[_e9],
_r5 = _n7.addedNodes,
_o5 = _n7.target;
for (var _e10 = 0; _e10 < _r5.length; _e10++) {
var _n8 = _r5[_e10],
_i5 = _n8.parentNode;
null == _i5 || 'BR' !== _n8.nodeName || $(_n8, _o5, t) || _i5.removeChild(_n8);
}
}
n.takeRecords();
}
null !== o && (u && ii(o), i && ki(t) && o.insertRawText(f));
});
} finally {
B = !1;
}
}
function H(t) {
var e = t._observer;
if (null !== e) {
j(t, e.takeRecords(), e);
}
}
function V(t) {
!function (t) {
0 === z && Li(t).addEventListener('textInput', W, !0);
}(t), t._observer = new MutationObserver(function (e, n) {
j(t, e, n);
});
}
var G = /*#__PURE__*/_createClass(function G(t, e) {
_classCallCheck(this, G);
_defineProperty(this, "key", void 0);
_defineProperty(this, "parse", void 0);
_defineProperty(this, "unparse", void 0);
_defineProperty(this, "isEqual", void 0);
_defineProperty(this, "defaultValue", void 0);
this.key = t, this.parse = e.parse.bind(e), this.unparse = (e.unparse || nt).bind(e), this.isEqual = (e.isEqual || Object.is).bind(e), this.defaultValue = this.parse(void 0);
});
function q(t, e) {
var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'latest';
var r = ('latest' === n ? t.getLatest() : t).__state;
return r ? r.getValue(e) : e.defaultValue;
}
function X(t) {
var e = new Map(),
n = new Set();
for (var _r6 = 'function' == typeof t ? t : t.replace; _r6.prototype && void 0 !== _r6.prototype.getType; _r6 = Object.getPrototypeOf(_r6)) {
var _ss = ss(_r6),
_t9 = _ss.ownNodeConfig;
if (_t9 && _t9.stateConfigs) {
var _iterator3 = _createForOfIteratorHelper(_t9.stateConfigs),
_step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
var _r7 = _step3.value;
var _t10 = void 0;
'stateConfig' in _r7 ? (_t10 = _r7.stateConfig, _r7.flat && n.add(_t10.key)) : _t10 = _r7, e.set(_t10.key, _t10);
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
}
}
return {
flatKeys: n,
sharedConfigMap: e
};
}
var Q = /*#__PURE__*/function () {
function Q(t, e) {
var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : void 0;
var r = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Map();
var o = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : void 0;
_classCallCheck(this, Q);
_defineProperty(this, "node", void 0);
_defineProperty(this, "knownState", void 0);
_defineProperty(this, "unknownState", void 0);
_defineProperty(this, "sharedNodeState", void 0);
_defineProperty(this, "size", void 0);
this.node = t, this.sharedNodeState = e, this.unknownState = n, this.knownState = r;
var i = this.sharedNodeState.sharedConfigMap,
s = void 0 !== o ? o : function (t, e, n) {
var r = n.size;
if (e) for (var _o6 in e) {
var _e11 = t.get(_o6);
_e11 && n.has(_e11) || r++;
}
return r;
}(i, n, r);
this.size = s;
}
_createClass(Q, [{
key: "getValue",
value: function getValue(t) {
var e = this.knownState.get(t);
if (void 0 !== e) return e;
this.sharedNodeState.sharedConfigMap.set(t.key, t);
var n = t.defaultValue;
if (this.unknownState && t.key in this.unknownState) {
var _e12 = this.unknownState[t.key];
void 0 !== _e12 && (n = t.parse(_e12)), this.updateFromKnown(t, n);
}
return n;
}
}, {
key: "getInternalState",
value: function getInternalState() {
return [this.unknownState, this.knownState];
}
}, {
key: "toJSON",
value: function toJSON() {
var t = _objectSpread({}, this.unknownState),
e = {};
var _iterator4 = _createForOfIteratorHelper(this.knownState),
_step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
var _step4$value = _slicedToArray(_step4.value, 2),
_e13 = _step4$value[0],
_n9 = _step4$value[1];
_e13.isEqual(_n9, _e13.defaultValue) ? delete t[_e13.key] : t[_e13.key] = _e13.unparse(_n9);
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
var _iterator5 = _createForOfIteratorHelper(this.sharedNodeState.flatKeys),
_step5;
try {
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
var _n10 = _step5.value;
_n10 in t && (e[_n10] = t[_n10], delete t[_n10]);
}
} catch (err) {
_iterator5.e(err);
} finally {
_iterator5.f();
}
return et(t) && (e.$ = t), e;
}
}, {
key: "getWritable",
value: function getWritable(t) {
if (this.node === t) return this;
var e = this.sharedNodeState,
n = this.unknownState,
r = new Map(this.knownState);
return new Q(t, e, function (t, e, n) {
var r;
if (n) for (var _i6 = 0, _Object$entries = Object.entries(n); _i6 < _Object$entries.length; _i6++) {
var _Object$entries$_i = _slicedToArray(_Object$entries[_i6], 2),
_o7 = _Object$entries$_i[0],
_i7 = _Object$entries$_i[1];
var _n11 = t.get(_o7);
_n11 ? e.has(_n11) || e.set(_n11, _n11.parse(_i7)) : (r = r || {}, r[_o7] = _i7);
}
return r;
}(e.sharedConfigMap, r, n), r, this.size);
}
}, {
key: "updateFromKnown",
value: function updateFromKnown(t, e) {
var n = t.key;
this.sharedNodeState.sharedConfigMap.set(n, t);
var r = this.knownState,
o = this.unknownState;
r.has(t) || o && n in o || (o && (delete o[n], this.unknownState = et(o)), this.size++), r.set(t, e);
}
}, {
key: "updateFromUnknown",
value: function updateFromUnknown(t, e) {
var n = this.sharedNodeState.sharedConfigMap.get(t);
n ? this.updateFromKnown(n, n.parse(e)) : (this.unknownState = this.unknownState || {}, t in this.unknownState || this.size++, this.unknownState[t] = e);
}
}, {
key: "updateFromJSON",
value: function updateFromJSON(t) {
var e = this.knownState;
var _iterator6 = _createForOfIteratorHelper(e.keys()),
_step6;
try {
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
var _t11 = _step6.value;
e.set(_t11, _t11.defaultValue);
}
} catch (err) {
_iterator6.e(err);
} finally {
_iterator6.f();
}
if (this.size = e.size, this.unknownState = void 0, t) for (var _i8 = 0, _Object$entries2 = Object.entries(t); _i8 < _Object$entries2.length; _i8++) {
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i8], 2),
_e14 = _Object$entries2$_i[0],
_n12 = _Object$entries2$_i[1];
this.updateFromUnknown(_e14, _n12);
}
}
}]);
return Q;
}();
function Z(t) {
var e = t.getWritable(),
n = e.__state ? e.__state.getWritable(e) : new Q(e, tt(e));
return e.__state = n, n;
}
function tt(t) {
return t.__state ? t.__state.sharedNodeState : wo(Qi(), t.getType()).sharedNodeState;
}
function et(t) {
if (t) for (var _e15 in t) return t;
}
function nt(t) {
return t;
}
function rt(t, e, n) {
var _iterator7 = _createForOfIteratorHelper(e.knownState),
_step7;
try {
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
var _step7$value = _slicedToArray(_step7.value, 2),
_r8 = _step7$value[0],
_o8 = _step7$value[1];
if (t.has(_r8.key)) continue;
t.add(_r8.key);
var _e16 = n ? n.getValue(_r8) : _r8.defaultValue;
if (_e16 !== _o8 && !_r8.isEqual(_e16, _o8)) return !0;
}
} catch (err) {
_iterator7.e(err);
} finally {
_iterator7.f();
}
return !1;
}
function ot(t, e, n) {
var r = e.unknownState,
o = n ? n.unknownState : void 0;
if (r) for (var _i9 = 0, _Object$entries3 = Object.entries(r); _i9 < _Object$entries3.length; _i9++) {
var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i9], 2),
_e17 = _Object$entries3$_i[0],
_n13 = _Object$entries3$_i[1];
if (t.has(_e17)) continue;
t.add(_e17);
if (_n13 !== (o ? o[_e17] : void 0)) return !0;
}
return !1;
}
function it(t, e) {
var n = t.__state;
return n && n.node === t ? n.getWritable(e) : n;
}
function st(t, e) {
var n = t.__mode,
r = t.__format,
o = t.__style,
i = e.__mode,
s = e.__format,
l = e.__style,
c = t.__state,
a = e.__state;
return (null === n || n === i) && (null === r || r === s) && (null === o || o === l) && (null === t.__state || c === a || function (t, e) {
if (t === e) return !0;
if (t && e && t.size !== e.size) return !1;
var n = new Set();
return !(t && rt(n, t, e) || e && rt(n, e, t) || t && ot(n, t, e) || e && ot(n, e, t));
}(c, a));
}
function lt(t, e) {
var n = t.mergeWithSibling(e),
r = jr()._normalizedNodes;
return r.add(t.__key), r.add(e.__key), n;
}
function ct(t) {
var e,
n,
r = t;
if ('' !== r.__text || !r.isSimpleText() || r.isUnmergeable()) {
for (; null !== (e = r.getPreviousSibling()) && Zn(e) && e.isSimpleText() && !e.isUnmergeable();) {
if ('' !== e.__text) {
if (st(e, r)) {
r = lt(e, r);
break;
}
break;
}
e.remove();
}
for (; null !== (n = r.getNextSibling()) && Zn(n) && n.isSimpleText() && !n.isUnmergeable();) {
if ('' !== n.__text) {
if (st(r, n)) {
r = lt(r, n);
break;
}
break;
}
n.remove();
}
} else r.remove();
}
function at(t) {
return ut(t.anchor), ut(t.focus), t;
}
function ut(t) {
for (; 'element' === t.type;) {
var _e18 = t.getNode(),
_n14 = t.offset;
var _r9 = void 0,
_o9 = void 0;
if (_n14 === _e18.getChildrenSize() ? (_r9 = _e18.getChildAtIndex(_n14 - 1), _o9 = !0) : (_r9 = _e18.getChildAtIndex(_n14), _o9 = !1), Zn(_r9)) {
t.set(_r9.__key, _o9 ? _r9.getTextContentSize() : 0, 'text', !0);
break;
}
if (!co(_r9)) break;
t.set(_r9.__key, _o9 ? _r9.getChildrenSize() : 0, 'element', !0);
}
}
var ft,
dt,
ht,
gt,
_t,
pt,
yt,
mt,
xt,
Ct,
St = '',
Nt = null,
Tt = null,
vt = '',
kt = !1,
Et = !1;
function Ot(t, e) {
var n = yt.get(t);
if (null !== e) {
var _n15 = Jt(t);
_n15.parentNode === e && e.removeChild(_n15);
}
if (mt.has(t) || dt._keyToDOMMap.delete(t), co(n)) {
var _t12 = Bt(n, yt);
bt(_t12, 0, _t12.length - 1, null);
}
void 0 !== n && Ni(Ct, ht, gt, n, 'destroyed');
}
function bt(t, e, n, r) {
var o = e;
for (; o <= n; ++o) {
var _e19 = t[o];
void 0 !== _e19 && Ot(_e19, r);
}
}
function Mt(t, e) {
t.setProperty('text-align', e);
}
var At = '40px';
function wt(t, e) {
var n = ft.theme.indent;
if ('string' == typeof n) {
var _r10 = t.classList.contains(n);
e > 0 && !_r10 ? t.classList.add(n) : e < 1 && _r10 && t.classList.remove(n);
}
var r = getComputedStyle(t).getPropertyValue('--lexical-indent-base-value') || At;
t.style.setProperty('padding-inline-start', 0 === e ? '' : "calc(".concat(e, " * ").concat(r, ")"));
}
function Dt(t, e) {
var n = t.style;
0 === e ? Mt(n, '') : 1 === e ? Mt(n, 'left') : 2 === e ? Mt(n, 'center') : 3 === e ? Mt(n, 'right') : 4 === e ? Mt(n, 'justify') : 5 === e ? Mt(n, 'start') : 6 === e && Mt(n, 'end');
}
function Pt(t, e) {
var n = function (t) {
var e = t.__dir;
if (null !== e) return e;
if (go(t)) return null;
var n = t.getParentOrThrow();
return go(n) && null === n.__dir ? 'auto' : null;
}(e);
null !== n ? t.dir = n : t.removeAttribute('dir');
}
function It(e, n) {
var r = mt.get(e);
void 0 === r && t(60);
var o = r.createDOM(ft, dt);
if (function (t, e, n) {
var r = n._keyToDOMMap;
(function (t, e, n) {
var r = "__lexicalKey_".concat(e._key);
t[r] = n;
})(e, n, t), r.set(t, e);
}(e, o, dt), Zn(r) ? o.setAttribute('data-lexical-text', 'true') : fo(r) && o.setAttribute('data-lexical-decorator', 'true'), co(r)) {
var _t13 = r.__indent,
_e20 = r.__size;
if (Pt(o, r), 0 !== _t13 && wt(o, _t13), 0 !== _e20) {
var _t14 = _e20 - 1;
Lt(Bt(r, mt), r, 0, _t14, r.getDOMSlot(o));
}
var _n16 = r.__format;
0 !== _n16 && Dt(o, _n16), r.isInline() || Rt(null, r, o), Oi(r) && (St += k, vt += k);
} else {
var _t15 = r.getTextContent();
if (fo(r)) {
var _t16 = r.decorate(dt, ft);
null !== _t16 && Wt(e, _t16), o.contentEditable = 'false';
}
St += _t15, vt += _t15;
}
return null !== n && n.insertChild(o), Ni(Ct, ht, gt, r, 'created'), o;
}
function Lt(t, e, n, r, o) {
var i = St;
St = '';
var s = n;
for (; s <= r; ++s) {
It(t[s], o);
var _e21 = mt.get(t[s]);
null !== _e21 && Zn(_e21) && null === Nt && (Nt = _e21.getFormat(), Tt = _e21.getStyle());
}
Oi(e) && (St += k);
o.element.__lexicalTextContent = St, St = i + St;
}
function Ft(t, e) {
if (t) {
var _n17 = t.__last;
if (_n17) {
var _t17 = e.get(_n17);
if (_t17) return Ln(_t17) ? 'line-break' : fo(_t17) && _t17.isInline() ? 'decorator' : null;
}
return 'empty';
}
return null;
}
function Rt(t, e, n) {
var r = Ft(t, yt),
o = Ft(e, mt);
r !== o && e.getDOMSlot(n).setManagedLineBreak(o);
}
function Kt(e, n, r) {
var o;
Nt = null, Tt = null, function (e, n, r) {
var o = St,
i = e.__size,
s = n.__size;
St = '';
var l = r.element;
if (1 === i && 1 === s) {
var _t18 = e.__first,
_r11 = n.__first;
if (_t18 === _r11) zt(_t18, l);else {
var _e22 = Jt(_t18),
_n18 = It(_r11, null);
try {
l.replaceChild(_n18, _e22);
} catch (o) {
if ('object' == _typeof(o) && null != o) {
var _i10 = "".concat(o.toString(), " Parent: ").concat(l.tagName, ", new child: {tag: ").concat(_n18.tagName, " key: ").concat(_r11, "}, old child: {tag: ").concat(_e22.tagName, ", key: ").concat(_t18, "}.");
throw new Error(_i10);
}
throw o;
}
Ot(_t18, null);
}
var _o10 = mt.get(_r11);
Zn(_o10) && null === Nt && (Nt = _o10.getFormat(), Tt = _o10.getStyle());
} else {
var _o11 = Bt(e, yt),
_c = Bt(n, mt);
if (_o11.length !== i && t(227), _c.length !== s && t(228), 0 === i) 0 !== s && Lt(_c, n, 0, s - 1, r);else if (0 === s) {
if (0 !== i) {
var _t19 = null == r.after && null == r.before && null == r.element.__lexicalLineBreak;
bt(_o11, 0, i - 1, _t19 ? null : l), _t19 && (l.textContent = '');
}
} else !function (t, e, n, r, o, i) {
var s = r - 1,
l = o - 1;
var c,
a,
u = i.getFirstChild(),
f = 0,
d = 0;
for (; f <= s && d <= l;) {
var _t20 = e[f],
_r12 = n[d];
if (_t20 === _r12) u = $t(zt(_r12, i.element)), f++, d++;else {
void 0 === c && (c = new Set(e)), void 0 === a && (a = new Set(n));
var _o12 = a.has(_t20),
_s3 = c.has(_r12);
if (_o12) {
if (_s3) {
var _t21 = bi(dt, _r12);
_t21 === u ? u = $t(zt(_r12, i.element)) : (i.withBefore(u).insertChild(_t21), zt(_r12, i.element)), f++, d++;
} else It(_r12, i.withBefore(u)), d++;
} else u = $t(Jt(_t20)), Ot(_t20, i.element), f++;
}
var _o13 = mt.get(_r12);
null !== _o13 && Zn(_o13) && null === Nt && (Nt = _o13.getFormat(), Tt = _o13.getStyle());
}
var h = f > s,
g = d > l;
if (h && !g) {
var _e23 = n[l + 1],
_r13 = void 0 === _e23 ? null : dt.getElementByKey(_e23);
Lt(n, t, d, l, i.withBefore(_r13));
} else g && !h && bt(e, f, s, i.element);
}(n, _o11, _c, i, s, r);
}
Oi(n) && (St += k);
l.__lexicalTextContent = St, St = o + St;
}(e, n, n.getDOMSlot(r)), o = n, null == Nt || Nt === o.__textFormat || Et || o.setTextFormat(Nt), function (t) {
null == Tt || Tt === t.__textStyle || Et || t.setTextStyle(Tt);
}(n);
}
function Bt(e, n) {
var r = [];
var o = e.__first;
for (; null !== o;) {
var _e24 = n.get(o);
void 0 === _e24 && t(101), r.push(o), o = _e24.__next;
}
return r;
}
function zt(e, n) {
var r = yt.get(e);
var o = mt.get(e);
void 0 !== r && void 0 !== o || t(61);
var i = kt || pt.has(e) || _t.has(e),
s = bi(dt, e);
if (r === o && !i) {
if (co(r)) {
var _t22 = s.__lexicalTextContent;
void 0 !== _t22 && (St += _t22, vt += _t22);
} else {
var _t23 = r.getTextContent();
vt += _t23, St += _t23;
}
return s;
}
if (r !== o && i && Ni(Ct, ht, gt, o, 'updated'), o.updateDOM(r, s, ft)) {
var _r14 = It(e, null);
return null === n && t(62), n.replaceChild(_r14, s), Ot(e, null), _r14;
}
if (co(r) && co(o)) {
var _t24 = o.__indent;
(kt || _t24 !== r.__indent) && wt(s, _t24);
var _e25 = o.__format;
if ((kt || _e25 !== r.__format) && Dt(s, _e25), i && (Kt(r, o, s), go(o) || o.isInline() || Rt(r, o, s)), Oi(o) && (St += k, vt += k), (kt || o.__dir !== r.__dir) && (Pt(s, o), go(o) && !kt)) {
var _iterator8 = _createForOfIteratorHelper(o.getChildren()),
_step8;
try {
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
var _t25 = _step8.value;
if (co(_t25)) {
Pt(bi(dt, _t25.getKey()), _t25);
}
}
} catch (err) {
_iterator8.e(err);
} finally {
_iterator8.f();
}
}
} else {
var _t26 = o.getTextContent();
if (fo(o)) {
var _t27 = o.decorate(dt, ft);
null !== _t27 && Wt(e, _t27);
}
St += _t26, vt += _t26;
}
if (!Et && go(o) && o.__cachedText !== vt) {
var _t28 = o.getWritable();
_t28.__cachedText = vt, o = _t28;
}
return s;
}
function Wt(t, e) {
var n = dt._pendingDecorators;
var r = dt._decorators;
if (null === n) {
if (r[t] === e) return;
n = ei(dt);
}
n[t] = e;
}
function $t(t) {
var e = t.nextSibling;
return null !== e && e === dt._blockCursorElement && (e = e.nextSibling), e;
}
function Ut(t, e, n, r, o, i) {
St = '', vt = '', kt = 2 === r, dt = n, ft = n._config, ht = n._nodes, gt = dt._listeners.mutation, _t = o, pt = i, yt = t._nodeMap, mt = e._nodeMap, Et = e._readOnly, xt = new Map(n._keyToDOMMap);
var s = new Map();
return Ct = s, zt('root', null), dt = void 0, ht = void 0, _t = void 0, pt = void 0, yt = void 0, mt = void 0, ft = void 0, xt = void 0, Ct = void 0, s;
}
function Jt(e) {
var n = xt.get(e);
return void 0 === n && t(75, e), n;
}
function Yt(t) {
return {
type: t
};
}
var jt = Yt('SELECTION_CHANGE_COMMAND'),
Ht = Yt('SELECTION_INSERT_CLIPBOARD_NODES_COMMAND'),
Vt = Yt('CLICK_COMMAND'),
Gt = Yt('BEFORE_INPUT_COMMAND'),
qt = Yt('INPUT_COMMAND'),
Xt = Yt('COMPOSITION_START_COMMAND'),
Qt = Yt('COMPOSITION_END_COMMAND'),
Zt = Yt('DELETE_CHARACTER_COMMAND'),
te = Yt('INSERT_LINE_BREAK_COMMAND'),
ee = Yt('INSERT_PARAGRAPH_COMMAND'),
ne = Yt('CONTROLLED_TEXT_INSERTION_COMMAND'),
re = Yt('PASTE_COMMAND'),
oe = Yt('REMOVE_TEXT_COMMAND'),
ie = Yt('DELETE_WORD_COMMAND'),
se = Yt('DELETE_LINE_COMMAND'),
le = Yt('FORMAT_TEXT_COMMAND'),
ce = Yt('UNDO_COMMAND'),
ae = Yt('REDO_COMMAND'),
ue = Yt('KEYDOWN_COMMAND'),
fe = Yt('KEY_ARROW_RIGHT_COMMAND'),
de = Yt('MOVE_TO_END'),
he = Yt('KEY_ARROW_LEFT_COMMAND'),
ge = Yt('MOVE_TO_START'),
_e = Yt('KEY_ARROW_UP_COMMAND'),
pe = Yt('KEY_ARROW_DOWN_COMMAND'),
ye = Yt('KEY_ENTER_COMMAND'),
me = Yt('KEY_SPACE_COMMAND'),
xe = Yt('KEY_BACKSPACE_COMMAND'),
Ce = Yt('KEY_ESCAPE_COMMAND'),
Se = Yt('KEY_DELETE_COMMAND'),
Ne = Yt('KEY_TAB_COMMAND'),
Te = Yt('INSERT_TAB_COMMAND'),
ve = Yt('INDENT_CONTENT_COMMAND'),
ke = Yt('OUTDENT_CONTENT_COMMAND'),
Ee = Yt('DROP_COMMAND'),
Oe = Yt('FORMAT_ELEMENT_COMMAND'),
be = Yt('DRAGSTART_COMMAND'),
Me = Yt('DRAGOVER_COMMAND'),
Ae = Yt('DRAGEND_COMMAND'),
we = Yt('COPY_COMMAND'),
De = Yt('CUT_COMMAND'),
Pe = Yt('SELECT_ALL_COMMAND'),
Ie = Yt('CLEAR_EDITOR_COMMAND'),
Le = Yt('CLEAR_HISTORY_COMMAND'),
Fe = Yt('CAN_REDO_COMMAND'),
Re = Yt('CAN_UNDO_COMMAND'),
Ke = Yt('FOCUS_COMMAND'),
Be = Yt('BLUR_COMMAND'),
ze = Yt('KEY_MODIFIER_COMMAND'),
We = Object.freeze({}),
$e = [['keydown', function (t, e) {
if (Ue = t.timeStamp, Je = t.key, e.isComposing()) return;
Ei(e, ue, t);
}], ['pointerdown', function (t, e) {
var n = t.target,
r = t.pointerType;
Hi(n) && 'touch' !== r && 'pen' !== r && 0 === t.button && oo(e, function () {
Io(n) || (qe = !0);
});
}], ['compositionstart', function (t, e) {
Ei(e, Xt, t);
}], ['compositionend', function (t, e) {
i ? Qe = !0 : c || !l && !d ? Ei(e, Qt, t) : (Ze = !0, tn = t.data);
}], ['input', function (t, e) {
t.stopPropagation(), oo(e, function () {
e.dispatchCommand(qt, t);
}, {
event: t
}), je = null;
}], ['click', function (t, e) {
oo(e, function () {
var n = kr(),
r = Ji(Li(e)),
o = Er();
if (r) if (ar(n)) {
var _e26 = n.anchor,
_i11 = _e26.getNode();
if ('element' === _e26.type && 0 === _e26.offset && n.isCollapsed() && !go(_i11) && 1 === ri().getChildrenSize() && _i11.getTopLevelElementOrThrow().isEmpty() && null !== o && n.is(o)) r.removeAllRanges(), n.dirty = !0;else if (3 === t.detail && !n.isCollapsed()) {
if (_i11 !== n.focus.getNode()) {
var _t29 = ls(_i11, function (t) {
return co(t) && !t.isInline();
});
co(_t29) && _t29.select(0);
}
}
} else if ('touch' === t.pointerType || 'pen' === t.pointerType) {
var _n19 = r.anchorNode;
if (ji(_n19) || $o(_n19)) {
ii(vr(o, r, e, t));
}
}
Ei(e, Vt, t);
});
}], ['cut', We], ['copy', We], ['dragstart', We], ['dragover', We], ['dragend', We], ['paste', We], ['focus', We], ['blur', We], ['drop', We]];
s && $e.push(['beforeinput', function (t, e) {
return function (t, e) {
var n = t.inputType;
if ('deleteCompositionText' === n || i && ki(e)) return;
if ('insertCompositionText' === n) return;
Ei(e, Gt, t);
}(t, e);
}]);
var Ue = 0,
Je = null,
Ye = 0,
je = null;
var He = new WeakMap(),
Ve = new WeakMap();
var Ge = !1,
qe = !1,
Xe = !1,
Qe = !1,
Ze = !1,
tn = '',
en = null,
nn = [0, '', 0, 'root', 0];
function rn(t, e, n, r, o) {
var i = t.anchor,
l = t.focus,
c = i.getNode(),
a = jr(),
u = Ji(Li(a)),
f = null !== u ? u.anchorNode : null,
d = i.key,
h = a.getElementByKey(d),
g = n.length;
return d !== l.key || !Zn(c) || (!o && (!s || Ye < r + 50) || c.isDirty() && g < 2 || li(n)) && i.offset !== l.offset && !c.isComposing() || Wo(c) || c.isDirty() && g > 1 || (o || !s) && null !== h && !c.isComposing() && f !== Jo(h) || null !== u && null !== e && (!e.collapsed || e.startContainer !== u.anchorNode || e.startOffset !== u.anchorOffset) || c.getFormat() !== t.format || c.getStyle() !== t.style || function (t, e) {
if (e.isSegmented()) return !0;
if (!t.isCollapsed()) return !1;
var n = t.anchor.offset,
r = e.getParentOrThrow(),
o = zo(e);
return 0 === n ? !e.canInsertTextBefore() || !r.canInsertTextBefore() && !e.isComposing() || o || function (t) {
var e = t.getPreviousSibling();
return (Zn(e) || co(e) && e.isInline()) && !e.canInsertTextAfter();
}(e) : n === e.getTextContentSize() && (!e.canInsertTextAfter() || !r.canInsertTextAfter() && !e.isComposing() || o);
}(t, c);
}
function on(t, e) {
return $o(t) && null !== t.nodeValue && 0 !== e && e !== t.nodeValue.length;
}
function sn(e, n, r) {
var o = e.anchorNode,
i = e.anchorOffset,
s = e.focusNode,
l = e.focusOffset;
Ge && (Ge = !1, on(o, i) && on(s, l) && !en) || oo(n, function () {
if (!r) return void ii(null);
if (!Fo(n, o, s)) return;
var c = kr();
if (en && ar(c) && c.isCollapsed()) {
var _t30 = c.anchor,
_e27 = en.anchor;
(_t30.key === _e27.key && _t30.offset === _e27.offset + 1 || 1 === _t30.offset && _e27.getNode().is(_t30.getNode().getPreviousSibling())) && (c = en.clone(), ii(c));
}
if (en = null, ar(c)) {
var _r15 = c.anchor,
_o14 = _r15.getNode();
if (c.isCollapsed()) {
'Range' === e.type && e.anchorNode === e.focusNode && (c.dirty = !0);
var _i12 = Li(n).event,
_s4 = _i12 ? _i12.timeStamp : performance.now(),
_nn = nn,
_nn2 = _slicedToArray(_nn, 5),
_l = _nn2[0],
_a = _nn2[1],
_u = _nn2[2],
_f = _nn2[3],
_d2 = _nn2[4],
_h2 = ri(),
_g2 = !1 === n.isComposing() && '' === _h2.getTextContent();
if (_s4 < _d2 + 200 && _r15.offset === _u && _r15.key === _f) ln(c, _l, _a);else if ('text' === _r15.type) Zn(_o14) || t(141), cn(c, _o14);else if ('element' === _r15.type && !_g2) {
co(_o14) || t(259);
var _e28 = _r15.getNode();
_e28.isEmpty() ? function (t, e) {
var n = e.getTextFormat(),
r = e.getTextStyle();
ln(t, n, r);
}(c, _e28) : ln(c, 0, '');
}
} else {
var _t31 = _r15.key,
_e29 = c.focus.key,
_n20 = c.getNodes(),
_o15 = _n20.length,
_s5 = c.isBackward(),
_a2 = _s5 ? l : i,
_u2 = _s5 ? i : l,
_f2 = _s5 ? _e29 : _t31,
_d3 = _s5 ? _t31 : _e29;
var _h3 = 2047,
_g3 = !1;
for (var _t32 = 0; _t32 < _o15; _t32++) {
var _e30 = _n20[_t32],
_r16 = _e30.getTextContentSize();
if (Zn(_e30) && 0 !== _r16 && !(0 === _t32 && _e30.__key === _f2 && _a2 === _r16 || _t32 === _o15 - 1 && _e30.__key === _d3 && 0 === _u2) && (_g3 = !0, _h3 &= _e30.getFormat(), 0 === _h3)) break;
}
c.format = _g3 ? _h3 : 0;
}
}
Ei(n, jt, void 0);
});
}
function ln(t, e, n) {
t.format === e && t.style === n || (t.format = e, t.style = n, t.dirty = !0);
}
function cn(t, e) {
ln(t, e.getFormat(), e.getStyle());
}
function an(t) {
if (!t.getTargetRanges) return null;
var e = t.getTargetRanges();
return 0 === e.length ? null : e[0];
}
function un(e) {
var n = e.inputType,
r = an(e),
o = jr(),
i = kr();
if ('deleteContentBackward' === n) {
if (null === i) {
var _t33 = Er();
if (!ar(_t33)) return !0;
ii(_t33.clone());
}
if (ar(i)) {
var _n21 = i.anchor.key === i.focus.key;
if (s = e.timeStamp, 'MediaLast' === Je && s < Ue + 30 && o.isComposing() && _n21) {
if (Go(null), Ue = 0, setTimeout(function () {
oo(o, function () {
Go(null);
});
}, 30), ar(i)) {
var _e31 = i.anchor.getNode();
_e31.markDirty(), Zn(_e31) || t(142), cn(i, _e31);
}
} else {
Go(null), e.preventDefault();
var _t34 = i.anchor.getNode(),
_r17 = _t34.getTextContent(),
_s6 = _t34.canInsertTextAfter(),
_l2 = 0 === i.anchor.offset && i.focus.offset === _r17.length;
var _c2 = f && _n21 && !_l2 && _s6;
if (_c2 && i.isCollapsed() && (_c2 = !fo(vi(i.anchor, !0))), !_c2) {
Ei(o, Zt, !0);
var _t35 = kr();
f && ar(_t35) && _t35.isCollapsed() && (en = _t35, setTimeout(function () {
return en = null;
}));
}
}
return !0;
}
}
var s;
if (!ar(i)) return !0;
var l = e.data;
null !== je && fi(!1, o, je), i.dirty && null === je || !i.isCollapsed() || go(i.anchor.getNode()) || null === r || i.applyDOMRange(r), je = null;
var a = i.anchor,
u = i.focus,
d = a.getNode(),
h = u.getNode();
if ('insertText' === n || 'insertTranspose' === n) {
if ('\n' === l) e.preventDefault(), Ei(o, te, !1);else if (l === k) e.preventDefault(), Ei(o, ee, void 0);else if (null == l && e.dataTransfer) {
var _t36 = e.dataTransfer.getData('text/plain');
e.preventDefault(), i.insertRawText(_t36);
} else null != l && rn(i, r, l, e.timeStamp, !0) ? (e.preventDefault(), Ei(o, ne, l)) : je = l;
return Ye = e.timeStamp, !0;
}
switch (e.preventDefault(), n) {
case 'insertFromYank':
case 'insertFromDrop':
case 'insertReplacementText':
Ei(o, ne, e);
break;
case 'insertFromComposition':
Go(null), Ei(o, ne, e);
break;
case 'insertLineBreak':
Go(null), Ei(o, te, !1);
break;
case 'insertParagraph':
Go(null), Xe && !c ? (Xe = !1, Ei(o, te, !1)) : Ei(o, ee, void 0);
break;
case 'insertFromPaste':
case 'insertFromPasteAsQuotation':
Ei(o, re, e);
break;
case 'deleteByComposition':
(function (t, e) {
return t !== e || co(t) || co(e) || !zo(t) || !zo(e);
})(d, h) && Ei(o, oe, e);
break;
case 'deleteByDrag':
case 'deleteByCut':
Ei(o, oe, e);
break;
case 'deleteContent':
Ei(o, Zt, !1);
break;
case 'deleteWordBackward':
Ei(o, ie, !0);
break;
case 'deleteWordForward':
Ei(o, ie, !1);
break;
case 'deleteHardLineBackward':
case 'deleteSoftLineBackward':
Ei(o, se, !0);
break;
case 'deleteContentForward':
case 'deleteHardLineForward':
case 'deleteSoftLineForward':
Ei(o, se, !1);
break;
case 'formatStrikeThrough':
Ei(o, le, 'strikethrough');
break;
case 'formatBold':
Ei(o, le, 'bold');
break;
case 'formatItalic':
Ei(o, le, 'italic');
break;
case 'formatUnderline':
Ei(o, le, 'underline');
break;
case 'historyUndo':
Ei(o, ce, void 0);
break;
case 'historyRedo':
Ei(o, ae, void 0);
}
return !0;
}
function fn(t) {
if (ji(t.target) && Io(t.target)) return !0;
var e = jr(),
n = kr(),
r = t.data,
o = an(t);
if (null != r && ar(n) && rn(n, o, r, t.timeStamp, !1)) {
Qe && (gn(e, r), Qe = !1);
var _o16 = n.anchor.getNode(),
_a3 = Ji(Li(e));
if (null === _a3) return !0;
var _u3 = n.isBackward(),
_f3 = _u3 ? n.anchor.offset : n.focus.offset,
_h4 = _u3 ? n.focus.offset : n.anchor.offset;
s && !n.isCollapsed() && Zn(_o16) && null !== _a3.anchorNode && _o16.getTextContent().slice(0, _f3) + r + _o16.getTextContent().slice(_f3 + _h4) === ui(_a3.anchorNode) || Ei(e, ne, r);
var _g4 = r.length;
i && _g4 > 1 && 'insertCompositionText' === t.inputType && !e.isComposing() && (n.anchor.offset -= _g4), l || c || d || !e.isComposing() || (Ue = 0, Go(null));
} else {
fi(!1, e, null !== r ? r : void 0), Qe && (gn(e, r || void 0), Qe = !1);
}
return function () {
Ur();
var t = jr();
H(t);
}(), !0;
}
function dn(t) {
var e = jr(),
n = kr();
if (ar(n) && !e.isComposing()) {
var _r18 = n.anchor,
_o17 = n.anchor.getNode();
Go(_r18.key), (t.timeStamp < Ue + 30 || 'element' === _r18.type || !n.isCollapsed() || _o17.getFormat() !== n.format || Zn(_o17) && _o17.getStyle() !== n.style) && Ei(e, ne, E);
}
return !0;
}
function hn(t) {
return gn(jr(), t.data), !0;
}
function gn(t, e) {
var n = t._compositionKey;
if (Go(null), null !== n && null != e) {
if ('' === e) {
var _e32 = Xo(n),
_r19 = Jo(t.getElementByKey(n));
return void (null !== _r19 && null !== _r19.nodeValue && Zn(_e32) && di(_e32, _r19.nodeValue, null, null, !0));
}
if ('\n' === e[e.length - 1]) {
var _e33 = kr();
if (ar(_e33)) {
var _n22 = _e33.focus;
return _e33.anchor.set(_n22.key, _n22.offset, _n22.type), void Ei(t, ye, null);
}
}
}
fi(!0, t, e);
}
function _n(t) {
var e = jr();
if (null == t.key) return !0;
if (Ze && xi(t)) return oo(e, function () {
gn(e, tn);
}), Ze = !1, tn = '', !0;
if (function (t) {
return pi(t, 'ArrowRight', {
shiftKey: 'any'
});
}(t)) Ei(e, fe, t);else if (function (t) {
return pi(t, 'ArrowRight', yi);
}(t)) Ei(e, de, t);else if (function (t) {
return pi(t, 'ArrowLeft', {
shiftKey: 'any'
});
}(t)) Ei(e, he, t);else if (function (t) {
return pi(t, 'ArrowLeft', yi);
}(t)) Ei(e, ge, t);else if (function (t) {
return pi(t, 'ArrowUp', {
altKey: 'any',
shiftKey: 'any'
});
}(t)) Ei(e, _e, t);else if (function (t) {
return pi(t, 'ArrowDown', {
altKey: 'any',
shiftKey: 'any'
});
}(t)) Ei(e, pe, t);else if (function (t) {
return pi(t, 'Enter', {
altKey: 'any',
ctrlKey: 'any',
metaKey: 'any',
shiftKey: !0
});
}(t)) Xe = !0, Ei(e, ye, t);else if (function (t) {
return ' ' === t.key;
}(t)) Ei(e, me, t);else if (function (t) {
return o && pi(t, 'o', {
ctrlKey: !0
});
}(t)) t.preventDefault(), Xe = !0, Ei(e, te, !0);else if (function (t) {
return pi(t, 'Enter', {
altKey: 'any',
ctrlKey: 'any',
metaKey: 'any'
});
}(t)) Xe = !1, Ei(e, ye, t);else if (function (t) {
return pi(t, 'Backspace', {
shiftKey: 'any'
}) || o && pi(t, 'h', {
ctrlKey: !0
});
}(t)) xi(t) ? Ei(e, xe, t) : (t.preventDefault(), Ei(e, Zt, !0));else if (function (t) {
return 'Escape' === t.key;
}(t)) Ei(e, Ce, t);else if (function (t) {
return pi(t, 'Delete', {}) || o && pi(t, 'd', {
ctrlKey: !0
});
}(t)) !function (t) {
return 'Delete' === t.key;
}(t) ? (t.preventDefault(), Ei(e, Zt, !1)) : Ei(e, Se, t);else if (function (t) {
return pi(t, 'Backspace', mi);
}(t)) t.preventDefault(), Ei(e, ie, !0);else if (function (t) {
return pi(t, 'Delete', mi);
}(t)) t.preventDefault(), Ei(e, ie, !1);else if (function (t) {
re