@livingdocs/editable.js 5.0.11 → 5.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/editable.js +1 -1
- package/dist/editable.js.map +1 -1
- package/package.json +11 -11
- package/src/dispatcher.js +13 -0
- package/src/smartQuotes.js +91 -0
package/dist/editable.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Editable=t():e.Editable=t()}(self,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})}};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};e.d(t,{Editable:()=>Ri});var n={};e.r(n),e.d(n,{getHost:()=>D,getNodeIndex:()=>F,isBeginningOfHost:()=>U,isDocumentFragmentWithoutChildren:()=>Z,isEndOfHost:()=>z,isEndOffset:()=>K,isInlineElement:()=>ee,isLinebreak:()=>W,isSameNode:()=>G,isStartOffset:()=>$,isTextEndOfHost:()=>Q,isTextEndOffset:()=>X,isVoid:()=>H,isVoidTextNode:()=>P,isWhitespaceOnly:()=>V,lastChild:()=>Y,lastOffsetWithContent:()=>q,latestChild:()=>J});var r={};function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,a(r.key),r)}}function u(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}e.r(r),e.d(r,{adoptElement:()=>Ee,areSameAttributes:()=>Be,cleanInternals:()=>Ce,cloneRangeContents:()=>Te,containsString:()=>Ze,createFragmentFromString:()=>Ae,deleteCharacter:()=>Je,expandTo:()=>Pe,extractContent:()=>we,forceWrap:()=>qe,getAncestorTags:()=>_e,getContainedTags:()=>Me,getInnerHtmlOfFragment:()=>Se,getInnerTags:()=>Le,getTagNames:()=>Ie,getTags:()=>Oe,getTagsByName:()=>Re,getTagsByNameAndAttributes:()=>je,insertCharacter:()=>Ge,isAffectedBy:()=>De,isExactSelection:()=>He,isWrappable:()=>We,normalizeTags:()=>be,normalizeWhitespace:()=>ke,nuke:()=>Qe,nukeElem:()=>Xe,nukeTag:()=>et,removeFormatting:()=>Ke,removeFormattingElem:()=>$e,selectNodeContents:()=>Fe,surround:()=>Ye,tidyHtml:()=>me,toggleTag:()=>Ve,unwrap:()=>ze,unwrapInternalNodes:()=>Ne,wrap:()=>Ue});const c={log:!1,logErrors:!0,editableClass:"js-editable",editableDisabledClass:"js-editable-disabled",pastingAttribute:"data-editable-is-pasting",trimLeadingAndTrailingWhitespaces:!0,boldMarkup:{type:"tag",name:"strong",attribs:{},trim:!0},italicMarkup:{type:"tag",name:"em",attribs:{},trim:!0},underlineMarkup:{type:"tag",name:"u",attribs:{},trim:!1},linkMarkup:{type:"tag",name:"a",attribs:{},trim:!0},pastedHtmlRules:{allowedElements:{a:{href:!0,rel:!0,target:!0},strong:{},em:{},br:{}},allowedPlainTextElements:{br:{}},requiredAttributes:{a:["href"]},transformElements:{b:"strong",i:"em"},splitIntoBlocks:["h1","h2","h3","h4","h5","h6","p","blockquote"],blockLevelElements:["h1","h2","h3","h4","h5","h6","div","p","pre","hr","blockquote","article","figure","header","footer","ul","ol","li","section","table","video"],blacklistedElements:["style","script"],keepInternalRelativeLinks:!1,replaceQuotes:{}}};function l(){if(!1!==c.logErrors){var t=1===arguments.length?arguments[0]:Array.from(arguments);if(e.g.console)return"function"==typeof console.error?console.error(t):void console.log(t)}}var f=Object.prototype.toString,h={"&":"&","<":"<",">":">",'"':""","'":"'"};function d(e){return e.replace(/\s+$/,"")}function g(e){return e.replace(/^\s+|\s+$/g,"")}function v(e){return"[object String]"===f.call(e)}var p=1,y=3,m=11,b=function(){return u((function e(t,n){i(this,e),this.current=this.previous=this.nextNode=this.root=t,this.iteratorFunc=this[n||"getNext"]}),[{key:Symbol.iterator,value:function(){return this}},{key:"getNextTextNode",value:function(){for(var e;e=this.getNext();)if(e.nodeType===y&&""!==e.data)return e}},{key:"getPreviousTextNode",value:function(){for(var e;e=this.getPrevious();)if(e.nodeType===y&&""!==e.data)return e}},{key:"next",value:function(){var e=this.iteratorFunc();return e?{value:e}:{done:!0}}},{key:"getNext",value:function(){var e=this.current=this.nextNode,t=this.nextNode=void 0;if(this.current)if((t=e.firstChild)&&"remove"!==e.getAttribute("data-editable"))this.nextNode=t;else for(;e!==this.root&&!(this.nextNode=e.nextSibling);)e=e.parentNode;return this.current}},{key:"getPrevious",value:function(){var e=this.current=this.previous,t=this.previous=void 0;if(this.current)if((t=e.lastChild)&&"remove"!==e.getAttribute("data-editable"))this.previous=t;else for(;e!==this.root&&!(this.previous=e.previousSibling);)e=e.parentNode;return this.current}},{key:"replaceCurrent",value:function(e){this.current=e,this.nextNode=void 0,this.previous=void 0;for(var t=this.current;t!==this.root&&!(this.nextNode=t.nextSibling);)t=t.parentNode}}])}(),k=function(e,t){return"string"==typeof e?Array.from(t.querySelectorAll(e)):e.tagName?[e]:Array.isArray(e)?e:Array.from(e)},C=function(e,t){return"string"==typeof e?t.querySelector(e):e.tagName?e:e[0]?e[0]:e},w=function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:window).document.createElement("div");return t.innerHTML=e,t.firstElementChild},S=function(e,t){if(e.closest||(e=e.parentNode),e&&e.closest)return e.closest(t)},A=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).document.createRange()},E=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).document.getSelection()},T=function(e,t,n){for(var r,i=[],o=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:window).document.createNodeIterator(e.commonAncestorContainer,NodeFilter.SHOW_ALL,{acceptNode:function(r){return e.intersectsNode(r)&&t.includes(r.nodeType)&&r!==e.commonAncestorContainer?"function"==typeof n?n(r)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}},!1);r=o.nextNode();)i.push(r);return i},x=function(e){e.startContainer.compareDocumentPosition(e.endContainer)===Node.DOCUMENT_POSITION_FOLLOWING&&e.setStartBefore(e.endContainer),e.endContainer.compareDocumentPosition(e.startContainer)===Node.DOCUMENT_POSITION_PRECEDING&&e.setEndAfter(e.startContainer)},N=function(e,t){var n=document.createRange();n.selectNodeContents(t);var r=e.compareBoundaryPoints(Range.START_TO_START,n),i=e.compareBoundaryPoints(Range.END_TO_END,n);return r<=0&&i>=0},O=function(e){return e&&(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.COMMENT_NODE)},_=function(e,t){return e.splitText(t)},R=function(e){var t=e.startContainer,n=e.startOffset,r=e.endContainer,i=e.endOffset;if(O(r)&&i>0&&i<r.length&&_(r,i),O(t)&&n>0&&n<t.length){var o=_(t,n);e.setStart(o,0)}},j=function(e,t){var n=e.cloneRange();n.setStart(t,0),n.setEnd(e.startContainer,e.startOffset);var r=e.toString(),i=n.toString().length;return{start:i,end:i+r.length,text:r}},B=function(e,t){return e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.endContainer&&e.endOffset===t.endOffset};function L(e){var t=e.root,n=e.startContainer,r=e.startOffset,i=e.whitespacesOnTheLeft;if(n.nodeType!==y)return L({root:t,startContainer:n.childNodes[r],startOffset:0,whitespacesOnTheLeft:i});var o=r+i;if(n.length>o)return[n,o];var a=new b(t);a.nextNode=n,a.getNextTextNode();var s=a.getNextTextNode();if(!s){var u=a.getPreviousTextNode();return[u,u.length]}return L({root:t,startContainer:s,startOffset:0,whitespacesOnTheLeft:o-n.length})}function M(e){var t=e.root,n=e.endContainer,r=e.endOffset,i=e.whitespacesOnTheRight;if(n.nodeType!==y){var o=!n.childNodes[r-1],a=o?n.childNodes[r]:n.childNodes[r-1],s=0;return o||(s=a.nodeType===y?a.length:a.childNodes.length),M({root:t,endContainer:a,endOffset:s,whitespacesOnTheRight:i})}var u=r-i;if(u>0)return[n,u];var c=new b(t);c.previous=n,c.getPreviousTextNode();var l=c.getPreviousTextNode();return l?M({root:t,endContainer:l,endOffset:l.length,whitespacesOnTheRight:i-r}):[c.getNextTextNode(),0]}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function D(e){return e=e.jquery?e[0]:e,S(e,".".concat(c.editableClass))}function F(e){for(var t=0;null!==(e=e.previousSibling);)t++;return t}function H(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return I(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(e.childNodes);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(r.nodeType===y&&!P(r))return!1;if(r.nodeType===p)return!1}}catch(e){n.e(e)}finally{n.f()}return!0}function P(e){return e.nodeType===y&&!e.nodeValue}function V(e){return e.nodeType===y&&0===q(e)}function W(e){return e.nodeType===p&&"BR"===e.tagName}function q(e){if(e.nodeType===y)return d(e.nodeValue).length;var t=0;return Array.from(e.childNodes).reverse().every((function(e,n,r){return!(!V(e)&&!W(e)&&(t=r.length-n,1))})),t}function U(e,t,n){if(t===e)return $(t,n);if($(t,n)){var r=F(t);return U(e,t.parentNode,r)}return!1}function z(e,t,n){if(t===e)return K(t,n);if(K(t,n)){var r=F(t)+1;return z(e,t.parentNode,r)}return!1}function $(e,t){return e.nodeType===y?0===t:0===e.childNodes.length||1===e.childNodes.length&&e.firstChild.nodeType===p&&"remove"===e.firstChild.getAttribute("data-editable")||e.childNodes[t]===e.firstChild}function K(e,t){return e.nodeType===y?t===e.length:0===e.childNodes.length||t>0&&e.childNodes[t-1]===e.lastChild}function Q(e,t,n){if(t===e)return X(t,n);if(X(t,n)){var r=F(t)+1;return Q(e,t.parentNode,r)}return!1}function X(e,t){return e.nodeType===y?t>=d(e.nodeValue).length:0===e.childNodes.length||t>=q(e)}function G(e,t){var n,r,i;if(e.nodeType!==t.nodeType)return!1;if(e.nodeName!==t.nodeName)return!1;for(n=0,r=e.attributes.length;n<r;n++)if(i=e.attributes[n],t.getAttribute(i.name)!==i.value)return!1;return!0}function Y(e){return e.lastChild?Y(e.lastChild):e}function J(e){return console.warn("Editable.js: Using obsolete function parser.latestCild(), use lastChild() instead"),Y(e)}function Z(e){return e&&e.nodeType===m&&0===e.childNodes.length}function ee(e,t){switch((t.currentStyle||e.getComputedStyle(t,"")).display){case"inline":case"inline-block":return!0;default:return!1}}var te=0,ne="\ufeff";function re(e,t){var n=e.commonAncestorContainer;if(3===n.nodeType)return!1;var r=t.parentElement;return(null==r?void 0:r.parentElement)===n}function ie(e,t){var n=e.commonAncestorContainer;n.ownerDocument||l("Cannot save range: range is empty");var r=n.ownerDocument.defaultView.document,i=r.createElement("span");i.id="editable-range-boundary-".concat(++te),i.setAttribute("data-editable","remove"),i.style.lineHeight="0",i.style.display="none",i.appendChild(r.createTextNode(ne));var o=t&&re(e,e.startContainer),a=!t&&re(e,e.endContainer);if(o){var s=e.startContainer.parentElement;s.parentElement.insertBefore(i,s)}else if(a){var u=e.endContainer.parentElement;u.parentElement.insertBefore(i,u.nextSibling)}else{var c=e.cloneRange();c.collapse(t),c.insertNode(i)}return i}function oe(e,t,n,r){var i=ue(e,n);if(!i)return console.log("Marker element has been removed. Cannot restore selection.");t[r?"setStartBefore":"setEndBefore"](i),i.remove()}function ae(e){var t,n,r;return e.collapsed?t={markerId:(r=ie(e,!1)).id,collapsed:!0}:(r=ie(e,!1),t={startMarkerId:(n=ie(e,!0)).id,endMarkerId:r.id,collapsed:!1}),e.collapsed?(e.setStartBefore(r),e.collapse(!0)):(e.setEndBefore(r),e.setStartAfter(n)),t}function se(e,t){if(!t.restored){var n=A();if(t.collapsed){var r=ue(e,t.markerId);if(r){r.style.display="inline";var i=r.previousSibling;i&&i.nodeType===y?(r.remove(),n.setStart(i,i.length)):(n.setStartBefore(r),n.collapse(!0),r.remove())}else console.log("Marker element has been removed. Cannot restore selection.")}else oe(e,n,t.startMarkerId,!0),oe(e,n,t.endMarkerId,!1);return x(n),n}}function ue(e,t){return e.querySelector("#".concat(t))}function ce(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return le(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?le(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fe(e,t,n){return t=ae(t),n(),se(e,t)}var he=/\u200B/g,de=/\uFEFF/g,ge=/[^\S ]/g,ve=/^\s+$/,pe=/^\s+/,ye=/\s+$/;function me(e){be(e)}function be(e){var t=document.createDocumentFragment();xe(e,"firstChild"),xe(e,"lastChild");var n,r=ce(e.childNodes);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("BR"===i.nodeName||i.textContent){if(i.nodeType===p&&"BR"!==i.nodeName){for(var o=i;null!==(o=o.nextSibling)&&G(o,i);){var a,s=ce(o.childNodes);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.appendChild(u.cloneNode(!0))}}catch(e){s.e(e)}finally{s.f()}o.remove()}be(i)}t.appendChild(i.cloneNode(!0))}}}catch(e){r.e(e)}finally{r.f()}for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(t)}function ke(e){return e.replace(ge," ")}function Ce(e){e.innerHTML=we(e,!0)}function we(e,t){var n=(e.nodeType===m?Se(e):e.innerHTML).replace(de,"").replace(he,"<br>"),r=document.createElement("div");return r.innerHTML=n,Ne(r,t),xe(r,"firstChild"),xe(r,"lastChild"),r.innerHTML}function Se(e){var t=document.createElement("div");return t.appendChild(e),t.innerHTML}function Ae(e){var t=document.createElement("div");t.innerHTML=e;for(var n=document.createDocumentFragment();t.firstChild;)n.appendChild(t.firstChild);return n}function Ee(e,t){return e.ownerDocument!==t?t.adoptNode(e):e}function Te(e){for(var t=e.cloneContents().childNodes[0],n=document.createDocumentFragment();t.childNodes.length;)n.appendChild(t.childNodes[0]);return n}function xe(e,t){for(var n,r,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];r=e[t];)if(r.nodeType===y){if(!ve.test(r.textContent))break;e.removeChild(r)}else{if("BR"!==r.nodeName){r[t]&&xe(r,t,!1);break}r.remove()}i&&(null===(n=r=e[t])||void 0===n?void 0:n.nodeType)===y&&c.trimLeadingAndTrailingWhitespaces&&(r.textContent=r.textContent.replace(t.startsWith("last")?ye:pe,""))}function Ne(e,t){for(;e;){var n=e.nextSibling;if(e.nodeType===p){var r=e.getAttribute("data-editable");e.firstChild&&Ne(e.firstChild,t),("remove"===r||"ui-remove"===r&&!t)&&e.remove(),("unwrap"===r||"ui-unwrap"===r&&!t)&&ze(e),e=n}else e=n}}function Oe(e,t,n){var r=Le(t,n),i=_e(e,t,n);return r.concat(i)}function _e(e,t,n){for(var r=[],i=t.commonAncestorContainer;i!==e;)n&&!n(i)||r.push(i),i=i.parentNode;return r}function Re(e,t,n){return Oe(e,t,(function(e){return e.nodeName.toUpperCase()===n.toUpperCase()}))}function je(e,t,n){return Oe(e,t,(function(e){return e.nodeName.toUpperCase()===n.nodeName.toUpperCase()&&Be(e.attributes,n.attributes)}))}function Be(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=t[e[n].name];if(!r||r.value!==e[n].value)return!1}return!0}function Le(e,t){return T(e,[p],t)}function Me(e,t){return T(e,[p],t).filter((function(t){return N(e,t)}))}function Ie(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return e.nodeName}))}function De(e,t,n){return Oe(e,t).some((function(e){return e.nodeName===n.toUpperCase()}))}function Fe(e){var t=A();return t.selectNodeContents(e),t}function He(e,t,n){var r,i,o=A();if(o.selectNodeContents(t),i=o,-1!==(r=e).compareBoundaryPoints(Range.END_TO_START,i)||-1!==i.compareBoundaryPoints(Range.END_TO_START,r))return!1;var a=e.toString(),s=(t.jquery?t[0]:t).textContent;return n&&(a=g(a),s=g(s)),""!==a&&a===s}function Pe(e,t,n){return t.selectNodeContents(n),t}function Ve(e,t,n){var r=je(e,t,n);return 1===r.length&&He(t,r[0],"visible")?$e(e,t,n):qe(e,t,n)}function We(e){return function(e){if(!e||!e.startContainer||!e.endContainer)return!1;if(e.startContainer===e.endContainer)return!0;for(var t,n=function(e,t){var n=e,r=null;return{next:function(){if(!n)return null;if(n.firstChild&&r!==n.firstChild)r=n,n=n.firstChild;else if(n.nextSibling)r=n,n=n.nextSibling;else{for(var t=n.parentNode;t&&t!==e;){if(t.nextSibling){r=n=t.nextSibling;break}t=t.parentNode}t&&t!==e||(r=n=null)}return n}}}(e.commonAncestorContainer),r=!1;t=n.next();)if(t.nodeType===Node.ELEMENT_NODE&&!tt(t,e)){r=!0;break}return!r}(e)}function qe(e,t,n){var r=fe(e,t,(function(){Xe(e,t,n)}));return We(r)||(r=fe(e,r,(function(){Qe(e,r)}))),Ue(r,n),r}function Ue(e,t){We(e)?("string"==typeof t&&(t=w(t)),e.surroundContents(t)):console.log("content.wrap(): can not surround range")}function ze(e){for(var t=(e=e.jquery?e[0]:e).parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function $e(e,t,n){return fe(e,t,(function(){Xe(e,t,n)}))}function Ke(e,t,n){return fe(e,t,(function(){Qe(e,t,n)}))}function Qe(e,t,n){Oe(e,t).forEach((function(e){"BR"===e.nodeName.toUpperCase()||n&&!e.matches(n)||ze(e)}))}function Xe(e,t,n){Oe(e,t).forEach((function(e){"BR"!==e.nodeName.toUpperCase()&&(!n||e.nodeName.toUpperCase()===n.nodeName.toUpperCase()&&Be(e.attributes,n.attributes))&&ze(e)}))}function Ge(e,t,n){var r=document.createTextNode(t),i=e.cloneRange();i.collapse(n),i.insertNode(r),e[n?"setStartBefore":"setEndAfter"](r),x(e)}function Ye(e,t,n,r){return Ge(t,r||n,!1),Ge(t,n,!0),t}function Je(e,t,n){if(!Ze(t,n))return t;window.getSelection().rangeCount>0&&R(t);var r=fe(e,t,(function(){T(t,[y],(function(e){return e.nodeValue.indexOf(n)>=0})).forEach((function(e){e.nodeValue=e.nodeValue.replaceAll(n,"")}))}));return x(r),r}function Ze(e,t){return e.toString().indexOf(t)>=0}function et(e,t,n){Oe(e,t).forEach((function(e){e.nodeName.toUpperCase()===n.toUpperCase()&&ze(e)}))}function tt(e,t){var n=document.createRange();return n.selectNodeContents(e),t.compareBoundaryPoints(Range.START_TO_START,n)<=0&&t.compareBoundaryPoints(Range.END_TO_END,n)>=0}var nt=1,rt={},it=ut("nextElementSibling"),ot=ut("previousElementSibling");function at(e,t){var n=t.normalize,r=t.plainText,i=t.shouldSpellcheck;!function(e){e.hasAttribute("data-editable")||(e.setAttribute("data-editable","id-".concat(nt)),nt+=1)}(e),e.setAttribute("contenteditable",!0),e.setAttribute("spellcheck",Boolean(i)),e.setAttribute("data-plaintext",Boolean(r)),e.classList.remove(c.editableDisabledClass),e.classList.add(c.editableClass),n&&me(e)}function st(e){return"true"===e.getAttribute("data-plaintext")}function ut(e){return function(t){var n=t[e];return n&&n.getAttribute("contenteditable")?n:null}}function ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function lt(e,t){if(e){if("string"==typeof e)return ct(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ct(e,t):void 0}}function ft(e){return function(e){if(Array.isArray(e))return ct(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||lt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ht,dt,gt,vt,pt,yt,mt,bt,kt,Ct=[["«","»"],["»","«"],['"','"'],["“","”"],["”","”"],["“","“"],["„","“"]],wt=[["‘","’"],["‹","›"],["‚","‘"],["’","’"],["›","‹"],["'","'"],["‘","’"]],St=["’","'"],At=/([‘’‹›‚'«»"“”„])(?![^<]*?>)/g,Et=/\s|[>\-–—«»”"“„]/,Tt=/\s|[<\-–—«»”"“‘’‹›'.;?:,]/;function xt(e,t){(ht=t||{}).quotes=ht.quotes||[void 0,void 0],ht.singleQuotes=ht.singleQuotes||[void 0,void 0];var n=function(e){return ft(e.matchAll(At)).map((function(t){var n=t.index;return{char:t[1],before:n>0?e[n-1]:"",after:n+1<e.length?e[n+1]:""}}))}(e);return n.length>0?(Nt(n,0),function(e,t){var n=0;return e.replace(At,(function(e){var r=t[n].replace||t[n].char;return n+=1,r}))}(e,n)):e}function Nt(e,t){for(;t<e.length;){var n=Ot(e,t);if(n){if(e[t].replace="double"===n.type?ht.quotes[0]:ht.singleQuotes[0],e[n.position].replace="double"===n.type?ht.quotes[1]:ht.singleQuotes[1],n.position!==t+1){var r=e.slice(t+1,n.position);r&&Nt(r,0)}t=n.position+1}else e[t].replace=Rt(e[t].char),t+=1}}function Ot(e,t){if(t!==e.length-1){var n=e[t],r=n.char;if(!n.before||Et.test(n.before))for(var i=_t(r,wt),o=_t(r,Ct),a=t+1;a<e.length;a++)if(e[a].after&&Tt.test(e[a].after)||!e[a].after){if(i.includes(e[a].char))return{position:a,type:"single"};if(o.includes(e[a].char))return{position:a,type:"double"}}}}function _t(e,t){return t.filter((function(t){return t[0]===e})).map((function(e){return e[1]}))}function Rt(e){if(St.includes(e))return ht.apostrophe}var jt,Bt=/^\s*$/,Lt="\x3c!-- BLOCK --\x3e";function Mt(e){var t=e.pastedHtmlRules;dt=t.allowedElements||{},gt=t.allowedPlainTextElements||{},vt=t.requiredAttributes||{},pt=t.transformElements||{},kt=t.blacklistedElements||[],jt=t.keepInternalRelativeLinks||!1,mt=t.replaceQuotes||{},yt={},t.blockLevelElements.forEach((function(e){yt[e]=!0})),bt={},t.splitIntoBlocks.forEach((function(e){bt[e]=!0}))}function It(e,t,n){var r=e.ownerDocument;e.setAttribute(c.pastingAttribute,!0),t.isSelection&&(t=t.deleteExactSurroundingTags().deleteContainedTags().deleteContent());var i=r.createElement("div");i.innerHTML=n;var o=function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).plainText,n=void 0!==t&&t;return Dt(e,{allowedElements:n?gt:dt,keepInternalRelativeLinks:!n&&jt}).split(Lt).map((function(e){return g((t=e,mt.quotes||mt.singleQuotes||mt.apostrophe?xt(t,mt):t).replace(/\n/g," ").replace(/ {2,}/g," ").replace(/(.)\u00A0/g,(function(e,t){return t+(/[\u0020]/.test(t)?" ":" ")})));var t})).filter((function(e){return!Bt.test(e)}))}(i,{plainText:st(e)});return e.removeAttribute(c.pastingAttribute),{blocks:o,cursor:t}}function Dt(e,t){return Array.from(e.childNodes).reduce((function(e,n){if(-1!==kt.indexOf(n.nodeName.toLowerCase()))return"";if(t.keepInternalRelativeLinks&&"A"===n.nodeName&&n.href){var r=n.getAttribute("href").replace(window.location.origin,"");n.setAttribute("href",r)}return n.nodeType===p?e+function(e,t,n){var r=e.nodeName.toLowerCase();if(function(e,t,n){return n.allowedElements[e]&&function(e,t){var n=vt[e];return!n||!n.some((function(e){return!t.getAttribute(e)}))}(e,t)}(r=function(e){return pt[e]||e}(r),e,n)){var i=function(e,t){return Array.from(t.attributes).reduce((function(t,n){var r,i=n.name,o=n.value;return null!==(r=dt[e])&&void 0!==r&&r[i]&&o?"".concat(t," ").concat(i,'="').concat(o,'"'):t}),"")}(r,e);return"br"===r?"<".concat(r+i,">"):Bt.test(t)?t:"<".concat(r+i,">").concat(t,"</").concat(r,">")}return bt[r]?Lt+t+Lt:yt[r]?"".concat(t," "):t}(n,Dt(n,t),t):n.nodeType===y?e+n.nodeValue.replace(/[&<>]/g,(function(e){return h[e]})):e}),"")}Mt(c),document.documentElement.contentEditable;var Ft=/(apple)?webkit\/537\.36/i.test(window.navigator.userAgent),Ht=/(apple)?webkit/i.test(window.navigator.userAgent),Pt=!Ft&&Ht,Vt=function(e){var t=e,n=t.onselectionchange;if(void 0!==n)try{return t.onselectionchange=0,null===t.onselectionchange}catch(e){}finally{t.onselectionchange=n}return!1}(document),Wt=!!Pt;function qt(e,t){var n=function(e){var t={};function n(e,n){e.split(" ").forEach((function(e){t[e]=t[e]||[],t[e].unshift(n)}))}return{on:function(e,t){if(2===arguments.length)n(e,t);else if(1===arguments.length)for(var r in e)n(r,e[r]);return this},off:function(e,n){2===arguments.length?function(e,n){var r=t[e];if(r){var i=r.indexOf(n);i<0||r.splice(i,1)}}(e,n):1===arguments.length?t[e]=[]:t={}},notify:function(n,r){var i=Array.from(arguments);e?(r=n,n=e,i.splice(0,1)):i.splice(0,2),this.switchContext&&r!==this.switchContext.events.shift()&&(this.switchContext=void 0);var o=t[r];o&&o.every((function(e){return!1!==e.apply(n,i)}))}}}(t);e.on=n.on,e.off=n.off,e.notify=n.notify}function Ut(e){return{x:void 0!==e.pageXOffset?e.pageXOffset:(e.document.documentElement||e.document.body.parentNode||e.document.body).scrollLeft,y:void 0!==e.pageYOffset?e.pageYOffset:(e.document.documentElement||e.document.body.parentNode||e.document.body).scrollTop}}var zt=function(){function e(t,n){i(this,e),this.setHost(t),this.range=n,this.isCursor=!0}return u(e,[{key:"getTags",value:function(e){return Oe(this.host,this.range,e)}},{key:"getTagNames",value:function(e){return Ie(this.getTags(e))}},{key:"getTagsByName",value:function(e){return Re(this.host,this.range,e)}},{key:"getInnerTags",value:function(e){return Le(this.range,e)}},{key:"getContainedTags",value:function(e){return Me(this.range,e)}},{key:"getAncestorTags",value:function(e){return _e(this.host,this.range,e)}},{key:"isAtEnd",value:function(){return z(this.host,this.range.endContainer,this.range.endOffset)}},{key:"isAtTextEnd",value:function(){return Q(this.host,this.range.endContainer,this.range.endOffset)}},{key:"isAtLastLine",value:function(){var e=this.win.document.createRange();e.selectNodeContents(this.host),e.collapse(!1);var t=$t(e,this.win),n=$t(this.range,this.win);return Kt(t.bottom,n.bottom)}},{key:"isAtFirstLine",value:function(){var e=this.win.document.createRange();e.selectNodeContents(this.host),e.collapse(!0);var t=$t(e,this.win),n=$t(this.range,this.win);return Kt(t.top,n.top)}},{key:"isAtBeginning",value:function(){return U(this.host,this.range.startContainer,this.range.startOffset)}},{key:"insertBefore",value:function(e){if(v(e)&&(e=Ae(e)),!Z(e)){var t=e=this.adoptElement(e);if(e.nodeType===m){var n=e.childNodes.length-1;t=e.childNodes[n]}this.range.insertNode(e),this.range.setStartAfter(t),this.range.setEndAfter(t),this.host.normalize()}}},{key:"insertAfter",value:function(e){if(v(e)&&(e=Ae(e)),!Z(e)){e=this.adoptElement(e);var t=this.range.cloneRange();t.setStart(t.endContainer,t.endOffset),t.collapse(!0),t.insertNode(e),this.host.normalize()}}},{key:"setSelection",value:function(){this.setVisibleSelection()}},{key:"setVisibleSelection",value:function(){if(this.win.document.activeElement!==this.host){var e=Ut(this.win),t=e.x,n=e.y;this.win.scrollTo(t,n)}var r=E(this.win);r.removeAllRanges(),r.addRange(this.range)}},{key:"before",value:function(){var e=this.range.cloneRange();return e.collapse(!0),e.setStartBefore(this.host),Te(e)}},{key:"textBefore",value:function(){var e=this.range.cloneRange();return e.collapse(!0),e.setStartBefore(this.host),e.toString()}},{key:"beforeHtml",value:function(){return Se(this.before())}},{key:"after",value:function(){var e=this.range.cloneRange();return e.collapse(!1),e.setEndAfter(this.host),Te(e)}},{key:"textAfter",value:function(){var e=this.range.cloneRange();return e.collapse(!1),e.setEndAfter(this.host),e.toString()}},{key:"afterHtml",value:function(){return Se(this.after())}},{key:"getBoundingClientRect",value:function(){return this.range.getBoundingClientRect()}},{key:"getCoordinates",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"absolute",t=this.range.getBoundingClientRect();if("fixed"===e)return t;var n=Ut(this.win),r=n.x,i=n.y;return{top:t.top+i,bottom:t.bottom+i,left:t.left+r,right:t.right+r,height:t.height,width:t.width}}},{key:"moveBefore",value:function(t){if(this.updateHost(t),this.range.setStartBefore(t),this.range.setEndBefore(t),this.isSelection)return new e(this.host,this.range)}},{key:"moveAfter",value:function(t){if(this.updateHost(t),this.range.setStartAfter(t),this.range.setEndAfter(t),this.isSelection)return new e(this.host,this.range)}},{key:"moveAtBeginning",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.host;if(this.updateHost(t),this.range.selectNodeContents(t),this.range.collapse(!0),this.isSelection)return new e(this.host,this.range)}},{key:"moveAtEnd",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.host;if(this.updateHost(t),this.range.selectNodeContents(t),this.range.collapse(!1),this.isSelection)return new e(this.host,this.range)}},{key:"moveAtTextEnd",value:function(e){return this.moveAtEnd(Y(e))}},{key:"setHost",value:function(e){e.jquery&&(e=e[0]),this.host=e,this.win=null==e?window:e.ownerDocument.defaultView}},{key:"updateHost",value:function(e){var t=D(e);t||l("Can not set cursor outside of an editable block"),this.setHost(t)}},{key:"retainVisibleSelection",value:function(e){this.save(),e(),this.restore(),this.setVisibleSelection()}},{key:"save",value:function(){this.savedRangeInfo=ae(this.range),this.savedRangeInfo.host=this.host}},{key:"restore",value:function(){this.savedRangeInfo||l("Could not restore selection"),this.host=this.savedRangeInfo.host,this.range=se(this.host,this.savedRangeInfo),this.savedRangeInfo=void 0}},{key:"equals",value:function(e){return!!(e&&e.host&&e.host.isEqualNode(this.host)&&e.range&&B(e.range,this.range))}},{key:"createElement",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.win.document.createElement(e);for(var r in t){var i=t[r];n.setAttribute(r,i)}return n}},{key:"createTextNode",value:function(e){return this.win.document.createTextNode(e)}},{key:"adoptElement",value:function(e){return Ee(e,this.win.document)}},{key:"triggerChange",value:function(){var e=new Event("formatEditable",{bubbles:!0,cancelable:!1});this.host.dispatchEvent(e)}}],[{key:"findHost",value:function(e,t){return S(e,t)}}])}();function $t(e,t){if(e.startContainer.nodeType!==p)return e.getBoundingClientRect();var n=t.document.createElement("span");n.setAttribute("doc-editable","unwrap"),e.insertNode(n);var r=n.getBoundingClientRect();return n.remove(),r}function Kt(e,t){return e===t||Math.abs(e-t)<=2}function Qt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(e,t)||lt(e,t)||function(){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 Xt(e){return Xt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Xt(e)}function Gt(e,t){return Gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Gt(e,t)}const Yt={extractText:function(e){var t="";return function(e,t,n){for(var r,i=new b(e);r=i.getNext();)r.nodeType===y&&""!==r.data?n(r.data):t&&r.nodeType===p&&"BR"===r.nodeName&&n("\n")}(e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],(function(e){t+=e})),t},highlightMatches:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t&&0!==t.length){e.normalize();for(var r,i,o,a=new b(e),s=0,u=0,c=t[s],l=[];r=a.getNext();)if(r.nodeType===y&&""!==r.data){var f=(o=r).data,h=u+f.length;if(c.startIndex<h&&u<c.endIndex){var d=u<=c.startIndex,g=h>=c.endIndex;d&&(i=c.id||c.startIndex);var v;v=d?c.startIndex-u:0;var m;m=g?c.endIndex-u-v:f.length-v;var k={element:o,text:f.substring(v,v+m),offset:v,length:m,isLastPortion:g,wordId:i};if(l.push(k),g){var C=this.wrapMatch(l,c.marker,c.title);a.replaceCurrent(C),h=u+k.length+k.offset,l=[],(s+=1)<t.length&&(c=t[s])}}u=h}else if(n&&r.nodeType===p&&"BR"===r.nodeName){u+=1;continue}}},wrapMatch:function(e,t,n){var r=this;return e.map((function(e){return r.wrapPortion(e,t,n)})).pop()},wrapPortion:function(e,t,n){var r=A();r.setStart(e.element,e.offset),r.setEnd(e.element,e.offset+e.length);var i=t.cloneNode(!0);if(i.setAttribute("data-word-id",e.wordId),n&&i.setAttribute("title",n),r.surroundContents(i),i.nextSibling){var o=i.nextSibling;o.nodeType===y&&""===o.data&&o.remove()}return i}};function Jt(e,t,n,r){if(!e||""===e)return[];if(r&&!function(e){try{var t;return!!e&&e instanceof(null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView.HTMLElement)}catch(t){return"object"===o(e)&&1===e.nodeType&&"object"===o(e.style)&&"object"===o(e.ownerDocument)}}(r))return[];if(null==t||!t.length)return[];var i=("word"===n?tn:Zt)(t);return ft(e.matchAll(i)).map((function(e){var t,i;return"word"===n?(t=e.index+e[1].length,i=e[2]):(t=e.index,i=e[0]),{startIndex:t,endIndex:t+i.length,match:i,marker:r}}))}function Zt(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return nn(e)})),t="(".concat(e.join("|"),")");return new RegExp(t,"g")}var en="\\u0041-\\u005A\\u0061-\\u007A\\u0030-\\u0039\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF\\u0100-\\u017F\\u0180-\\u024F";function tn(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return nn(e)})),t="([^".concat(en,"]|^)")+"(".concat(e.join("|"),")")+"(?=[^".concat(en,"]|$)");return new RegExp(t,"g")}function nn(e){return String(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}function rn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return on(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?on(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function on(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var an={highlightText:function(e,t,n,r,i){if(!this.hasHighlight(e,n)){var o=Yt.extractText(e),a='<span class="highlight-'.concat(r,'"></span>'),s=function(e,t,n){return Jt(e,[t],"text",n)}(o,t,an.createMarkerNode(a,r,this.win));return s&&s.length?(n&&(s[0].id=n),Yt.highlightMatches(e,s),i&&i.notify("change",e),s[0].startIndex):void 0}},highlightRange:function(e,t,n,r,i,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"comment";if(this.hasHighlight(e,n)&&this.removeHighlight(e,n),""===Yt.extractText(e,!1))return-1;var s=an.createMarkerNode('<span class="highlight-'.concat(a,'"></span>'),a,this.win),u=r,c=i;return Yt.highlightMatches(e,[{startIndex:u,endIndex:c,id:n,marker:s}],!1),o&&o.notify("change",e),u},updateHighlight:function(e,t,n,r){if(document.documentElement.classList){var i,o=rn(e.querySelectorAll('[data-word-id="'.concat(t,'"]')));try{for(o.s();!(i=o.n()).done;){var a=i.value;r&&a.classList.remove(r),n&&a.classList.add(n)}}catch(e){o.e(e)}finally{o.f()}}},removeHighlight:function(e,t,n){var r,i=rn(e.querySelectorAll('[data-word-id="'.concat(t,'"]')));try{for(i.s();!(r=i.n()).done;)ze(r.value)}catch(e){i.e(e)}finally{i.f()}e.normalize(),n&&n.notify("change",e)},hasHighlight:function(e,t){return!!e.querySelectorAll('[data-word-id="'.concat(t,'"]')).length},extractHighlightedRanges:function(e,t){var n="[data-word-id]";t&&(n+='[data-highlight="'.concat(t,'"]'));var r=e.querySelectorAll(n);if(r.length){var i,o={},a=rn(r);try{for(a.s();!(i=a.n()).done;){var s=i.value.getAttribute("data-word-id");o[s]||(o[s]=e.querySelectorAll('[data-word-id="'.concat(s,'"]')))}}catch(e){a.e(e)}finally{a.f()}var u={};for(var c in o){var l=this.extractMarkerNodePosition(e,o[c]);l&&(u[c]=l)}return u}},extractMarkerNodePosition:function(e,t){var n=A();t.length>1?(n.setStartBefore(t[0]),n.setEndAfter(t[t.length-1])):n.selectNode(t[0]);var r=j(n,e);return{start:r.start,end:r.end,text:r.text,nativeRange:n}},cleanupStaleMarkerNodes:function(e,t){var n,r=rn(e.querySelectorAll('span[data-highlight="'.concat(t,'"]')));try{for(r.s();!(n=r.n()).done;){var i=n.value;i.textContent.length||i.remove()}}catch(e){r.e(e)}finally{r.f()}},createMarkerNode:function(e,t,n){var r=w(e,n);return r.setAttribute("data-editable","ui-unwrap"),r.setAttribute("data-highlight",t),r}};const sn=an;function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function cn(e,t,n){return t=Xt(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ln()?Reflect.construct(t,n||[],Xt(e).constructor):t.apply(e,n))}function ln(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ln=function(){return!!e})()}var fn=function(e){function t(){var e;return i(this,t),delete(e=cn(this,t,arguments)).isCursor,e.isSelection=!0,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gt(e,t)}(t,e),u(t,[{key:"text",value:function(){return this.range.toString()}},{key:"html",value:function(){return function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:window).document.createElement("div");return t.appendChild(e.cloneContents()),t.innerHTML}(this.range)}},{key:"isAllSelected",value:function(){return U(this.host,this.range.startContainer,this.range.startOffset)&&Q(this.host,this.range.endContainer,this.range.endOffset)}},{key:"getTextRange",value:function(){return j(this.range,this.host)}},{key:"toString",value:function(){return this.range.toString()}},{key:"isWrappable",value:function(){return We(this.range)}},{key:"getRects",value:function(){return this.range.getClientRects()}},{key:"link",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e&&(t.href=e);var n=this.createElement(c.linkMarkup.name,c.linkMarkup.attribs);for(var r in t){var i=t[r];void 0!==i&&(null===i?n.removeAttribute(r):n.setAttribute(r,i))}c.linkMarkup.trim&&this.trimRange(),this.forceWrap(n)}},{key:"trimRange",value:function(){var e=this.range.toString(),t=e.search(/\S|$/),n=e.search(/\S[\s]+$/),r=-1===n?0:e.length-(n+1),i=Qt(L({root:this.range.commonAncestorContainer,startContainer:this.range.startContainer,startOffset:this.range.startOffset,whitespacesOnTheLeft:t}),2),o=i[0],a=i[1];this.range.setStart(o,a);var s=Qt(M({root:this.range.commonAncestorContainer,endContainer:this.range.endContainer,endOffset:this.range.endOffset,whitespacesOnTheRight:r}),2),u=s[0],c=s[1];this.range.setEnd(u,c)}},{key:"unlink",value:function(){this.removeFormatting(c.linkMarkup.name)}},{key:"toggleLink",value:function(e,t){var n=this.getTagsByName(c.linkMarkup.name);if(n.length>=1){var r=n[0];this.isExactSelection(r,"visible")?this.unlink():this.expandTo(r)}else this.link(e,t)}},{key:"highlightComment",value:function(e){var t=e.highlightId,n=e.textRange;sn.highlightRange(this.host,t,n.text,n.start,n.end,void 0,"comment")}},{key:"highlight",value:function(e){e.highlightId;var t=this.textBefore(),n=this.text(),r=sn.createMarkerNode('<span class="highlight-comment"></span>',this.win);r.setAttribute("data-match",n);var i={startIndex:t.length,endIndex:t.length+n.length,match:n,marker:r};Yt.highlightMatches(this.host,[i])}},{key:"toggle",value:function(e){st(this.host)||this.range.collapsed||(e=this.adoptElement(e),this.range=Ve(this.host,this.range,e),this.setVisibleSelection())}},{key:"toggleCustom",value:function(e){var t=e.tagName,n=e.attributes,r=e.trim,i=void 0!==r&&r,o=this.createElement(t,n);i&&this.trimRange(),this.toggle(o)}},{key:"makeCustom",value:function(e){var t=e.tagName,n=e.attributes,r=e.trim,i=void 0!==r&&r,o=this.createElement(t,n);i&&this.trimRange(),this.forceWrap(o)}},{key:"makeBold",value:function(){var e=this.createElement(c.boldMarkup.name,c.boldMarkup.attribs);c.boldMarkup.trim&&this.trimRange(),this.forceWrap(e)}},{key:"toggleBold",value:function(){var e=this.createElement(c.boldMarkup.name,c.boldMarkup.attribs);c.boldMarkup.trim&&this.trimRange(),this.toggle(e)}},{key:"giveEmphasis",value:function(){var e=this.createElement(c.italicMarkup.name,c.italicMarkup.attribs);c.italicMarkup.trim&&this.trimRange(),this.forceWrap(e)}},{key:"toggleEmphasis",value:function(){var e=this.createElement(c.italicMarkup.name,c.italicMarkup.attribs);c.italicMarkup.trim&&this.trimRange(),this.toggle(e)}},{key:"makeUnderline",value:function(){var e=this.createElement(c.underlineMarkup.name,c.underlineMarkup.attribs);c.underlineMarkup.trim&&this.trimRange(),this.forceWrap(e)}},{key:"toggleUnderline",value:function(){var e=this.createElement(c.underlineMarkup.name,c.underlineMarkup.attribs);c.underlineMarkup.trim&&this.trimRange(),this.toggle(e)}},{key:"insertCharacter",value:function(e){var t=this.deleteContent(),n=t.createTextNode(e);return t.insertBefore(n),t.setVisibleSelection(),t}},{key:"surround",value:function(e,t){this.range=Ye(this.host,this.range,e,t),this.setVisibleSelection()}},{key:"removeSurround",value:function(e,t){this.range=Je(this.host,this.range,e),this.range=Je(this.host,this.range,t),this.setVisibleSelection()}},{key:"removeChars",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=0;t<e.length;t++){var n=e[t];this.range=Je(this.host,this.range,n)}this.setVisibleSelection()}},{key:"toggleSurround",value:function(e,t){this.containsString(e)&&this.containsString(t)?this.removeSurround(e,t):this.surround(e,t)}},{key:"removeFormatting",value:function(e){this.range=Ke(this.host,this.range,e),this.setVisibleSelection()}},{key:"deleteExactSurroundingTags",value:function(){var e,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return un(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?un(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this.getAncestorTags().reverse());try{for(n.s();!(e=n.n()).done;){var r=e.value;if(this.isExactSelection(r)){r.remove();break}}}catch(e){n.e(e)}finally{n.f()}return new t(this.host,this.range)}},{key:"deleteContainedTags",value:function(){return this.getContainedTags().forEach((function(e){return e.remove()})),new t(this.host,this.range)}},{key:"deleteContent",value:function(){return this.range.deleteContents(),new zt(this.host,this.range)}},{key:"expandTo",value:function(e){this.range=Pe(this.host,this.range,e),this.setVisibleSelection()}},{key:"collapseAtBeginning",value:function(e){return this.range.collapse(!0),this.setVisibleSelection(),new zt(this.host,this.range)}},{key:"collapseAtEnd",value:function(e){return this.range.collapse(!1),this.setVisibleSelection(),new zt(this.host,this.range)}},{key:"forceWrap",value:function(e){st(this.host)||this.range.collapsed||(e=this.adoptElement(e),this.range=qe(this.host,this.range,e),this.setVisibleSelection())}},{key:"isExactSelection",value:function(e,t){return He(this.range,e,t)}},{key:"containsString",value:function(e){return Ze(this.range,e)}},{key:"deleteCharacter",value:function(e){this.range=Je(this.host,this.range,e),this.setVisibleSelection()}}])}(zt),hn=function(){function e(t,n){i(this,e),this.host=t&&t.jquery?t[0]:t,this.range=null==n?void 0:n.cloneRange(),this.isAnythingSelected=void 0!==n,this.isCursor=this.isAnythingSelected&&n.collapsed,this.isSelection=this.isAnythingSelected&&!this.isCursor}return u(e,[{key:"getCursor",value:function(){if(this.isCursor)return new zt(this.host,this.range)}},{key:"getSelection",value:function(){if(this.isSelection)return new fn(this.host,this.range)}},{key:"forceCursor",value:function(){return this.isSelection?this.getSelection().deleteContent():this.getCursor()}},{key:"isDifferentFrom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.range,r=t.range;return n&&r?!B(n,r):!(!n&&!r)}}])}(),dn=function(){return u((function e(t,n){i(this,e),this.dispatcher=t,this.win=n||window,this.selection=void 0,this.currentSelection=void 0,this.currentRange=void 0}),[{key:"syncSelection",value:function(){try{this.selection=E(this.win)}catch(e){return!1}return!0}},{key:"getRangeContainer",value:function(){var e,t=this.syncSelection();if(null!==(e=this.selection)&&void 0!==e&&e.rangeCount&&t){var n=this.selection.getRangeAt(0),r=D(n.commonAncestorContainer);if(r)return new hn(r,n)}return new hn}},{key:"getFreshRange",value:function(){return this.getRangeContainer()}},{key:"getFreshSelection",value:function(){var e=this.getRangeContainer();return e.isCursor?e.getCursor(this.win):e.getSelection(this.win)}},{key:"getSelection",value:function(){return this.currentSelection}},{key:"forceCursor",value:function(){return this.getRangeContainer().forceCursor()}},{key:"selectionChanged",value:function(){var e=this.getRangeContainer();if(e.isDifferentFrom(this.currentRange)){var t=this.currentSelection;this.currentRange=e,t&&(t.isCursor&&!this.currentRange.isCursor?this.dispatcher.notify("cursor",t.host):t.isSelection&&!this.currentRange.isSelection&&this.dispatcher.notify("selection",t.host)),this.currentRange.isCursor?(this.currentSelection=new zt(this.currentRange.host,this.currentRange.range),this.dispatcher.notify("cursor",this.currentSelection.host,this.currentSelection)):this.currentRange.isSelection?(this.currentSelection=new fn(this.currentRange.host,this.currentRange.range),this.dispatcher.notify("selection",this.currentSelection.host,this.currentSelection)):this.currentSelection=void 0}}}])}(),gn=function(){function e(t){i(this,e),qt(this),this.selectionWatcher=t}return u(e,[{key:"dispatchKeyEvent",value:function(e,t,n){switch(e.keyCode){case this.key.left:return this.notify(t,"left",e);case this.key.right:return this.notify(t,"right",e);case this.key.up:return this.notify(t,"up",e);case this.key.down:return this.notify(t,"down",e);case this.key.tab:return e.shiftKey?this.notify(t,"shiftTab",e):this.notify(t,"tab",e);case this.key.esc:return this.notify(t,"esc",e);case this.key.backspace:return this.preventContenteditableBug(t,e),this.notify(t,"backspace",e);case this.key.delete:return this.preventContenteditableBug(t,e),this.notify(t,"delete",e);case this.key.enter:return e.shiftKey?this.notify(t,"shiftEnter",e):this.notify(t,"enter",e);case this.key.ctrl:case this.key.shift:case this.key.alt:case 224:case 17:case 91:case 93:return;default:if(e.keyCode===this.key.b&&(e.ctrlKey||e.metaKey))return this.notify(t,"bold",e);if(e.keyCode===this.key.i&&(e.ctrlKey||e.metaKey))return this.notify(t,"italic",e);if(this.preventContenteditableBug(t,e),!n)return;if(!e.ctrlKey&&!e.metaKey)return this.notify(t,"character",e)}}},{key:"preventContenteditableBug",value:function(t,n){if(Wt&&!n.ctrlKey&&!n.metaKey){var r=this.selectionWatcher.getFreshRange();if(r.isSelection){var i=e.getNodeToRemove(r.range,t);i&&i.remove()}}}}],[{key:"getNodeToRemove",value:function(t,n){if(0===t.startOffset){var r=t.startContainer;if(r.nodeType===y&&(r=r.parentNode),r!==n){var i=A();if(i.setStartBefore(r.firstChild),i.setEndAfter(r.lastChild),a=t,!((o=i).compareBoundaryPoints(Range.START_TO_START,a)<=0&&o.compareBoundaryPoints(Range.END_TO_END,a)>=0)){var o,a;if(t.startContainer.nodeType===y){var s=[y,p],u=r.firstChild;do{if(-1!==s.indexOf(u.nodeType))break}while(u=u.nextSibling);if(u!==t.startContainer)return}var c=t.cloneRange();return c.setStartBefore(r),e.getNodeToRemove(c,n)||r}}}}}])}();function vn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return pn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function pn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}gn.key=gn.prototype.key={left:37,up:38,right:39,down:40,tab:9,esc:27,backspace:8,delete:46,enter:13,shift:16,ctrl:17,alt:18,b:66,i:73};var yn=function(){return u((function e(t){i(this,e);var n=t.win;qt(this,t),this.document=n.document,this.config=t.config,this.editable=t,this.editableSelector=t.editableSelector,this.selectionWatcher=new dn(this,n),this.keyboard=new gn(this.selectionWatcher),this.activeListeners=[],this.setup(),this.getEditableBlockByEvent=function(e){return S(e.target,t.editableSelector)}}),[{key:"setupDocumentListener",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r={event:e,listener:t.bind(this),capture:n};return this.activeListeners.push(r),this.document.addEventListener(e,r.listener,n),this}},{key:"setup",value:function(){this.setupKeyboardEvents(),this.setupEventListeners()}},{key:"unload",value:function(){this.off();var e,t=vn(this.activeListeners);try{for(t.s();!(e=t.n()).done;){var n=e.value;this.document.removeEventListener(n.event,n.listener,n.capture)}}catch(e){t.e(e)}finally{t.f()}this.activeListeners.length=0}},{key:"suspend",value:function(){if(!this.suspended){this.suspended=!0;var e,t=vn(this.activeListeners);try{for(t.s();!(e=t.n()).done;){var n=e.value;this.document.removeEventListener(n.event,n.listener,n.capture)}}catch(e){t.e(e)}finally{t.f()}this.activeListeners.length=0}}},{key:"continue",value:function(){this.suspended&&(this.suspended=!1,this.setupEventListeners())}},{key:"setupEventListeners",value:function(){this.setupElementListeners(),this.setupKeydownListener(),Vt?this.setupSelectionChangeListeners():this.setupSelectionChangeFallbackListeners()}},{key:"setupElementListeners",value:function(){this.setupDocumentListener("focus",(function(e){var t=this.getEditableBlockByEvent(e);t&&(e.target.getAttribute(c.pastingAttribute)||(this.selectionWatcher.syncSelection(),this.notify("focus",t)))}),!0).setupDocumentListener("blur",(function(e){var t=this.getEditableBlockByEvent(e);t&&(t.getAttribute(c.pastingAttribute)||this.notify("blur",t))}),!0).setupDocumentListener("copy",(function(e){var t=this.getEditableBlockByEvent(e);if(t){var n=this.selectionWatcher.getFreshSelection();n&&n.isSelection&&this.notify("clipboard",t,"copy",n)}})).setupDocumentListener("cut",(function(e){var t=this.getEditableBlockByEvent(e);if(t){var n=this.selectionWatcher.getFreshSelection();n&&n.isSelection&&this.notify("clipboard",t,"cut",n)}})).setupDocumentListener("paste",(function(e){var t=this.getEditableBlockByEvent(e);if(t){e.preventDefault();var n,r=this.selectionWatcher.getFreshSelection(),i=e.clipboardData.getData("text/html")||e.clipboardData.getData("text/plain"),o=It(t,r,i),a=o.blocks,s=o.cursor;a.length?(n=e.target.innerText,/\S+\s{1}$/.test(n)&&s.retainVisibleSelection((function(){t.innerHTML=function(e,t,n){if(!e)return"";var r=(e="".concat(e)).lastIndexOf(t);return-1===r?e:"".concat(e.slice(0,r)).concat(" ").concat(e.slice(r+6))}(t.innerHTML," ")})),this.notify("paste",t,a,s),this.notify("change",t)):s.setVisibleSelection()}})).setupDocumentListener("input",(function(e){var t=this.getEditableBlockByEvent(e);t&&this.notify("change",t)})).setupDocumentListener("formatEditable",(function(e){var t=this.getEditableBlockByEvent(e);t&&this.notify("change",t)}))}},{key:"dispatchSwitchEvent",value:function(e,t,n){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)){var r=this.selectionWatcher.getFreshSelection();r&&!r.isSelection&&(this.switchContext?this.switchContext.events=["cursor"]:this.switchContext={positionX:r.getBoundingClientRect().left,events:["cursor"]},"up"===n&&r.isAtFirstLine()&&(e.preventDefault(),e.stopPropagation(),this.switchContext.events=["switch","blur","focus","cursor"],this.notify("switch",t,n,r)),"down"===n&&r.isAtLastLine()&&(e.preventDefault(),e.stopPropagation(),this.switchContext.events=["switch","blur","focus","cursor"],this.notify("switch",t,n,r)))}}},{key:"setupKeydownListener",value:function(){this.setupDocumentListener("keydown",(function(e){var t=this.getEditableBlockByEvent(e);t&&this.keyboard.dispatchKeyEvent(e,t,!1)}),!0)}},{key:"setupKeyboardEvents",value:function(){var e=this;this.keyboard.on("up",(function(t){e.dispatchSwitchEvent(t,this,"up")})).on("down",(function(t){e.dispatchSwitchEvent(t,this,"down")})).on("backspace",(function(t){var n=e.selectionWatcher.getFreshRange();if(n.isCursor){var r=n.getCursor();r.isAtBeginning()&&(t.preventDefault(),t.stopPropagation(),e.notify("merge",this,"before",r))}})).on("delete",(function(t){var n=e.selectionWatcher.getFreshRange();if(n.isCursor){var r=n.getCursor();r.isAtTextEnd()&&(t.preventDefault(),t.stopPropagation(),e.notify("merge",this,"after",r))}})).on("enter",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.getFreshRange().forceCursor();n.isAtTextEnd()?e.notify("insert",this,"after",n):n.isAtBeginning()?e.notify("insert",this,"before",n):e.notify("split",this,n.before(),n.after(),n)})).on("shiftEnter",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.forceCursor();e.notify("newline",this,n)})).on("bold",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.getFreshSelection();n.isSelection&&e.notify("toggleBold",n)})).on("italic",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.getFreshSelection();n.isSelection&&e.notify("toggleEmphasis",n)})).on("character",(function(t){e.notify("change",this)}))}},{key:"setupSelectionChangeListeners",value:function(){var e=this,t=!1,n=!1,r=this.selectionWatcher;this.setupDocumentListener("selectionchange",(function(i){var o=e.selectionWatcher.getFreshSelection();o&&o.isSelection&&o.isAtBeginning()&&o.isAtEnd()?e.notify("selectToBoundary",o.host,i,"both"):o&&o.isSelection&&o.isAtBeginning()?e.notify("selectToBoundary",o.host,i,"start"):o&&o.isSelection&&o.isAtEnd()&&e.notify("selectToBoundary",o.host,i,"end"),n?t=!0:r.selectionChanged()})),this.setupDocumentListener("mousedown",(function(e){this.getEditableBlockByEvent(e)&&(!1===this.config.mouseMoveSelectionChanges&&(n=!0,setTimeout((function(){return r.selectionChanged()}),0)),this.document.addEventListener("mouseup",(function(){n=!1,t&&(t=!1,r.selectionChanged())}),{capture:!0,once:!0}))}))}},{key:"setupSelectionChangeFallbackListeners",value:function(){var e=this;this.setupDocumentListener("mouseup",(function(){setTimeout((function(){return e.selectionWatcher.selectionChanged()}),0)})),this.setupDocumentListener("keyup",(function(t){e.getEditableBlockByEvent(t)&&e.selectionWatcher.selectionChanged()}))}}])}();const mn=function(e,t){return e===t||e!=e&&t!=t},bn=function(e,t){for(var n=e.length;n--;)if(mn(e[n][0],t))return n;return-1};var kn=Array.prototype.splice;function Cn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Cn.prototype.clear=function(){this.__data__=[],this.size=0},Cn.prototype.delete=function(e){var t=this.__data__,n=bn(t,e);return!(n<0||(n==t.length-1?t.pop():kn.call(t,n,1),--this.size,0))},Cn.prototype.get=function(e){var t=this.__data__,n=bn(t,e);return n<0?void 0:t[n][1]},Cn.prototype.has=function(e){return bn(this.__data__,e)>-1},Cn.prototype.set=function(e,t){var n=this.__data__,r=bn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};const wn=Cn,Sn="object"==typeof global&&global&&global.Object===Object&&global;var An="object"==typeof self&&self&&self.Object===Object&&self;const En=Sn||An||Function("return this")(),Tn=En.Symbol;var xn=Object.prototype,Nn=xn.hasOwnProperty,On=xn.toString,_n=Tn?Tn.toStringTag:void 0;var Rn=Object.prototype.toString;var jn=Tn?Tn.toStringTag:void 0;const Bn=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":jn&&jn in Object(e)?function(e){var t=Nn.call(e,_n),n=e[_n];try{e[_n]=void 0;var r=!0}catch(e){}var i=On.call(e);return r&&(t?e[_n]=n:delete e[_n]),i}(e):function(e){return Rn.call(e)}(e)},Ln=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Mn=function(e){if(!Ln(e))return!1;var t=Bn(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},In=En["__core-js_shared__"];var Dn,Fn=(Dn=/[^.]+$/.exec(In&&In.keys&&In.keys.IE_PROTO||""))?"Symbol(src)_1."+Dn:"";var Hn=Function.prototype.toString;var Pn=/^\[object .+?Constructor\]$/,Vn=Function.prototype,Wn=Object.prototype,qn=Vn.toString,Un=Wn.hasOwnProperty,zn=RegExp("^"+qn.call(Un).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const $n=function(e){return!(!Ln(e)||(t=e,Fn&&Fn in t))&&(Mn(e)?zn:Pn).test(function(e){if(null!=e){try{return Hn.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t},Kn=function(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return $n(n)?n:void 0},Qn=Kn(En,"Map"),Xn=Kn(Object,"create");var Gn=Object.prototype.hasOwnProperty;var Yn=Object.prototype.hasOwnProperty;function Jn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Jn.prototype.clear=function(){this.__data__=Xn?Xn(null):{},this.size=0},Jn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Jn.prototype.get=function(e){var t=this.__data__;if(Xn){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Gn.call(t,e)?t[e]:void 0},Jn.prototype.has=function(e){var t=this.__data__;return Xn?void 0!==t[e]:Yn.call(t,e)},Jn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Xn&&void 0===t?"__lodash_hash_undefined__":t,this};const Zn=Jn,er=function(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map};function tr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}tr.prototype.clear=function(){this.size=0,this.__data__={hash:new Zn,map:new(Qn||wn),string:new Zn}},tr.prototype.delete=function(e){var t=er(this,e).delete(e);return this.size-=t?1:0,t},tr.prototype.get=function(e){return er(this,e).get(e)},tr.prototype.has=function(e){return er(this,e).has(e)},tr.prototype.set=function(e,t){var n=er(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};const nr=tr;function rr(e){var t=this.__data__=new wn(e);this.size=t.size}rr.prototype.clear=function(){this.__data__=new wn,this.size=0},rr.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},rr.prototype.get=function(e){return this.__data__.get(e)},rr.prototype.has=function(e){return this.__data__.has(e)},rr.prototype.set=function(e,t){var n=this.__data__;if(n instanceof wn){var r=n.__data__;if(!Qn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new nr(r)}return n.set(e,t),this.size=n.size,this};const ir=rr,or=function(){try{var e=Kn(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),ar=function(e,t,n){"__proto__"==t&&or?or(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n},sr=function(e,t,n){(void 0!==n&&!mn(e[t],n)||void 0===n&&!(t in e))&&ar(e,t,n)},ur=function(e,t,n){for(var r=-1,i=Object(e),o=n(e),a=o.length;a--;){var s=o[++r];if(!1===t(i[s],s,i))break}return e};var cr="object"==typeof exports&&exports&&!exports.nodeType&&exports,lr=cr&&"object"==typeof module&&module&&!module.nodeType&&module,fr=lr&&lr.exports===cr?En.Buffer:void 0,hr=fr?fr.allocUnsafe:void 0;const dr=En.Uint8Array,gr=function(e,t){var n,r,i=t?(n=e.buffer,r=new n.constructor(n.byteLength),new dr(r).set(new dr(n)),r):e.buffer;return new e.constructor(i,e.byteOffset,e.length)};var vr=Object.create;const pr=function(){function e(){}return function(t){if(!Ln(t))return{};if(vr)return vr(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),yr=(mr=Object.getPrototypeOf,br=Object,function(e){return mr(br(e))});var mr,br,kr=Object.prototype;const Cr=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||kr)},wr=function(e){return null!=e&&"object"==typeof e},Sr=function(e){return wr(e)&&"[object Arguments]"==Bn(e)};var Ar=Object.prototype,Er=Ar.hasOwnProperty,Tr=Ar.propertyIsEnumerable;const xr=Sr(function(){return arguments}())?Sr:function(e){return wr(e)&&Er.call(e,"callee")&&!Tr.call(e,"callee")},Nr=Array.isArray,Or=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},_r=function(e){return null!=e&&Or(e.length)&&!Mn(e)};var Rr="object"==typeof exports&&exports&&!exports.nodeType&&exports,jr=Rr&&"object"==typeof module&&module&&!module.nodeType&&module,Br=jr&&jr.exports===Rr?En.Buffer:void 0;const Lr=(Br?Br.isBuffer:void 0)||function(){return!1};var Mr=Function.prototype,Ir=Object.prototype,Dr=Mr.toString,Fr=Ir.hasOwnProperty,Hr=Dr.call(Object);var Pr={};Pr["[object Float32Array]"]=Pr["[object Float64Array]"]=Pr["[object Int8Array]"]=Pr["[object Int16Array]"]=Pr["[object Int32Array]"]=Pr["[object Uint8Array]"]=Pr["[object Uint8ClampedArray]"]=Pr["[object Uint16Array]"]=Pr["[object Uint32Array]"]=!0,Pr["[object Arguments]"]=Pr["[object Array]"]=Pr["[object ArrayBuffer]"]=Pr["[object Boolean]"]=Pr["[object DataView]"]=Pr["[object Date]"]=Pr["[object Error]"]=Pr["[object Function]"]=Pr["[object Map]"]=Pr["[object Number]"]=Pr["[object Object]"]=Pr["[object RegExp]"]=Pr["[object Set]"]=Pr["[object String]"]=Pr["[object WeakMap]"]=!1;var Vr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Wr=Vr&&"object"==typeof module&&module&&!module.nodeType&&module,qr=Wr&&Wr.exports===Vr&&Sn.process,Ur=function(){try{return Wr&&Wr.require&&Wr.require("util").types||qr&&qr.binding&&qr.binding("util")}catch(e){}}(),zr=Ur&&Ur.isTypedArray;const $r=zr?function(e){return function(t){return e(t)}}(zr):function(e){return wr(e)&&Or(e.length)&&!!Pr[Bn(e)]},Kr=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var Qr=Object.prototype.hasOwnProperty;const Xr=function(e,t,n){var r=e[t];Qr.call(e,t)&&mn(r,n)&&(void 0!==n||t in e)||ar(e,t,n)};var Gr=/^(?:0|[1-9]\d*)$/;const Yr=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Gr.test(e))&&e>-1&&e%1==0&&e<t};var Jr=Object.prototype.hasOwnProperty;const Zr=function(e,t){var n=Nr(e),r=!n&&xr(e),i=!n&&!r&&Lr(e),o=!n&&!r&&!i&&$r(e),a=n||r||i||o,s=a?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],u=s.length;for(var c in e)!t&&!Jr.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Yr(c,u))||s.push(c);return s};var ei=Object.prototype.hasOwnProperty;const ti=function(e){if(!Ln(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=Cr(e),n=[];for(var r in e)("constructor"!=r||!t&&ei.call(e,r))&&n.push(r);return n},ni=function(e){return _r(e)?Zr(e,!0):ti(e)},ri=function(e){return function(e,t,n,r){var i=!n;n||(n={});for(var o=-1,a=t.length;++o<a;){var s=t[o],u=r?r(n[s],e[s],s,n,e):void 0;void 0===u&&(u=e[s]),i?ar(n,s,u):Xr(n,s,u)}return n}(e,ni(e))},ii=function(e,t,n,r,i,o,a){var s,u=Kr(e,n),c=Kr(t,n),l=a.get(c);if(l)sr(e,n,l);else{var f=o?o(u,c,n+"",e,t,a):void 0,h=void 0===f;if(h){var d=Nr(c),g=!d&&Lr(c),v=!d&&!g&&$r(c);f=c,d||g||v?Nr(u)?f=u:wr(s=u)&&_r(s)?f=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(u):g?(h=!1,f=function(e,t){if(t)return e.slice();var n=e.length,r=hr?hr(n):new e.constructor(n);return e.copy(r),r}(c,!0)):v?(h=!1,f=gr(c,!0)):f=[]:function(e){if(!wr(e)||"[object Object]"!=Bn(e))return!1;var t=yr(e);if(null===t)return!0;var n=Fr.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Dr.call(n)==Hr}(c)||xr(c)?(f=u,xr(u)?f=ri(u):Ln(u)&&!Mn(u)||(f=function(e){return"function"!=typeof e.constructor||Cr(e)?{}:pr(yr(e))}(c))):h=!1}h&&(a.set(c,f),i(f,c,r,o,a),a.delete(c)),sr(e,n,f)}},oi=function e(t,n,r,i,o){t!==n&&ur(n,(function(a,s){if(o||(o=new ir),Ln(a))ii(t,n,s,r,e,i,o);else{var u=i?i(Kr(t,s),a,s+"",t,n,o):void 0;void 0===u&&(u=a),sr(t,s,u)}}),ni)},ai=function(e){return e};var si=Math.max;const ui=or?function(e,t){return or(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:ai;var ci=Date.now;const li=function(e){var t=0,n=0;return function(){var r=ci(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(ui),fi=function(e,t){return li(function(e,t,n){return t=si(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=si(r.length-t,0),a=Array(o);++i<o;)a[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(a),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,s)}}(e,t,ai),e+"")},hi=(di=function(e,t,n){oi(e,t,n)},fi((function(e,t){var n=-1,r=t.length,i=r>1?t[r-1]:void 0,o=r>2?t[2]:void 0;for(i=di.length>3&&"function"==typeof i?(r--,i):void 0,o&&function(e,t,n){if(!Ln(n))return!1;var r=typeof t;return!!("number"==r?_r(n)&&Yr(t,n.length):"string"==r&&t in n)&&mn(n[t],e)}(t[0],t[1],o)&&(i=r<3?void 0:i,r=1),e=Object(e);++n<r;){var a=t[n];a&&di(e,a,n)}return e})));var di,gi=function(){return u((function e(t){i(this,e),this.spellcheckService=t}),[{key:"check",value:function(e,t){if(!e)return t(null);var n=ke(e);this.spellcheckService(n,(function(e){return e&&e.length>0?t(null,e):t(null)}))}}])}(),vi={A0:"no-break space",2e3:"en quad",2001:"em quad",2002:"en space",2003:"em space",2004:"three-per-em space",2005:"four-per-em space",2006:"six-per-em space",2007:"figure space",2008:"punctuation space",2009:"thin space","200A":"hair space","202F":"narrow no-break space","205F":"medium mathematical space",3e3:"ideographic space"},pi=new RegExp("[".concat("\\u2000-\\u200A\\u202F\\u205F\\u3000","]"),"g"),yi=function(){return u((function e(t){i(this,e),this.marker=t}),[{key:"findMatches",value:function(e){var t=this;if(e)return ft(e.matchAll(pi)).map((function(e){return t.prepareMatch(e)}))}},{key:"prepareMatch",value:function(e){var t,n=e.index,r=(t=e[0].charCodeAt(0),"".concat(t.toString(16).toUpperCase())),i=vi[r];return{startIndex:n,endIndex:n+e.length,match:e[0],title:"".concat(i," (\\u").concat(r,")"),marker:this.marker}}}])}(),mi=function(){return u((function e(){i(this,e),this.matches=[]}),[{key:"addMatches",value:function(e){null!=e&&e.length&&(this.matches=function(e,t){for(var n,r=e.length,i=t.length,o=-1,a=[],s={a1:e,i1:0,a2:t,i2:0};s.i1<r||s.i2<i;)(n=bi(s)).startIndex>=o&&a.push(n),o=n.endIndex;return a}(this.matches,e))}}])}();function bi(e){var t=e.i1,n=e.i2,r=e.a1[t],i=e.a2[n];return r&&i&&r.startIndex<i.startIndex?(e.i1=t+1,r):r&&i?(e.i2=n+1,i):r?(e.i1=t+1,r):i?(e.i2=n+1,i):void 0}function ki(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ci(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ci(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ci(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var wi=function(){return u((function e(t,n,r){i(this,e),this.editable=t,this.win=t.win,this.focusedEditableHost=void 0,this.currentlyCheckedEditableHost=void 0,this.timeout={},this.config=hi({},{checkOnInit:!1,checkOnFocus:!1,checkOnChange:!0,throttle:1e3,removeOnCorrection:!0,spellcheck:{marker:'<span class="highlight-spellcheck"></span>',throttle:1e3,spellcheckService:function(){}},whitespace:{marker:'<span class="highlight-whitespace"></span>'}},n);var o=this.config.spellcheck.spellcheckService,a=this.config.spellcheck.marker,s=this.config.whitespace.marker,u=sn.createMarkerNode(s,"whitespace",this.win);this.spellcheckMarkerNode=sn.createMarkerNode(a,"spellcheck",this.win),this.spellcheckService=new gi(o),this.whitespace=new yi(u),this.setupListeners()}),[{key:"setupListeners",value:function(){var e=this;this.config.checkOnFocus&&(this.editable.on("focus",(function(){return e.onFocus.apply(e,arguments)})),this.editable.on("blur",(function(){return e.onBlur.apply(e,arguments)}))),(this.config.checkOnChange||this.config.removeOnCorrection)&&this.editable.on("change",(function(){return e.onChange.apply(e,arguments)})),this.config.checkOnInit&&this.editable.on("init",(function(){return e.onInit.apply(e,arguments)}))}},{key:"onInit",value:function(e){this.highlight(e)}},{key:"onFocus",value:function(e){this.focusedEditableHost!==e&&(this.focusedEditableHost=e,this.editableHasChanged(e))}},{key:"onBlur",value:function(e){this.focusedEditableHost===e&&(this.focusedEditableHost=void 0)}},{key:"onChange",value:function(e){this.config.checkOnChange&&this.editableHasChanged(e,this.config.throttle),this.config.removeOnCorrection&&this.removeHighlightsAtCursor(e)}},{key:"editableHasChanged",value:function(e,t){var n=this;this.timeout.id&&this.timeout.editableHost===e&&clearTimeout(this.timeout.id);var r=setTimeout((function(){n.highlight(e),n.timeout={}}),t||0);this.timeout={id:r,editableHost:e}}},{key:"highlight",value:function(e){var t=this,n=Yt.extractText(e);this.spellcheckService.check(n,(function(n,r){if(!n&&e.isConnected){var i=Yt.extractText(e),o=new mi,a=function(e,t,n){return Jt(e,t,"word",n)}(i,r,t.spellcheckMarkerNode);o.addMatches(a),a=t.whitespace.findMatches(i),o.addMatches(a),t.safeHighlightMatches(e,o.matches)}}))}},{key:"safeHighlightMatches",value:function(e,t){var n=this,r=this.editable.getSelection(e);r?r.retainVisibleSelection((function(){n.highlightMatches(e,t)})):this.highlightMatches(e,t),this.editable.dispatcher&&this.editable.dispatcher.notify("spellcheckUpdated",e)}},{key:"highlightMatches",value:function(e,t){this.removeHighlights(e),t&&t.length>0&&Yt.highlightMatches(e,t)}},{key:"removeHighlights",value:function(e){e=C(e,this.win.document);var t,n=ki(k('[data-highlight="spellcheck"], [data-highlight="whitespace"]',e));try{for(n.s();!(t=n.n()).done;)ze(t.value)}catch(e){n.e(e)}finally{n.f()}}},{key:"removeHighlightsAtCursor",value:function(e){e=C(e,this.win.document);var t=this.editable.getSelection(e);if(t&&t.isCursor){var n,r=t.range.startContainer;r.nodeType===y&&(r=r.parentNode);do{if(r===e)return;var i=r.getAttribute("data-highlight");if("spellcheck"===i||"whitespace"===i){n=r.getAttribute("data-word-id");break}}while(r=r.parentNode);n&&t.retainVisibleSelection((function(){var t,r=ki(k('[data-word-id="'.concat(n,'"]'),e));try{for(r.s();!(t=r.n()).done;)ze(t.value)}catch(e){r.e(e)}finally{r.f()}}))}}}])}();function Si(){if(!1!==c.log&&e.g.console){var t=1===arguments.length?arguments[0]:Array.from(arguments);return 1!==arguments.length&&"trace"===t[t.length-1]&&(t.pop(),console.trace&&console.trace()),console.log(t)}}function Ai(e){return ft(new b(e,"getNextTextNode"))}function Ei(e){for(var t,n=e.textNodes,r=e.absOffset,i=0,o=0,a=0;a<n.length;a++){var s=n[a];if(r<=i+s.textContent.length){t=s,o=r-i;break}i+=s.textContent.length}return{node:t,relativeOffset:o}}function Ti(e){e.rightLimit=e.currentOffset,e.currentOffset=Math.floor((e.currentOffset+e.leftLimit)/2)}function xi(e){e.leftLimit=e.currentOffset,e.currentOffset=Math.ceil((e.currentOffset+e.rightLimit)/2)}function Ni(e){var t=Ei({textNodes:e.textNodes,absOffset:e.offset}),n=t.node,r=t.relativeOffset,i=n.ownerDocument.createRange();return i.setStart(n,r),i.collapse(!0),i}function Oi(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return _i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function _i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Ri=function(){return u((function e(t){i(this,e);var n,r={window,defaultBehavior:!0,mouseMoveSelectionChanges:!1,browserSpellcheck:!0};this.config=Object.assign(r,t),this.win=this.config.window,this.editableSelector=".".concat(c.editableClass),this.dispatcher=new yn(this),!0===this.config.defaultBehavior&&this.dispatcher.on((n=function(e){var t=e.win.document;return{focus:function(e){H(e)&&e.appendChild(t.createTextNode("\ufeff"))},blur:function(e){t.activeElement!==e&&Ce(e)},selection:function(e,t){Si(t?"Default selection behavior":"Default selection empty behavior")},cursor:function(e,t){Si(t?"Default cursor behavior":"Default cursor empty behavior")},newline:function(e,n){if(n.isAtTextEnd()){var r,i=t.createElement("br");n.insertBefore(i),(null===(r=i.nextSibling)||void 0===r?void 0:r.nodeType)===y&&"\ufeff"===i.nextSibling.textContent[0]||n.insertAfter(t.createTextNode("\ufeff"))}else n.insertBefore(t.createElement("br"));n.setVisibleSelection()},insert:function(e,t,n){var r=e.parentNode,i=e.cloneNode(!1);switch(i.id&&i.removeAttribute("id"),t){case"before":r.insertBefore(i,e),e.focus();break;case"after":r.insertBefore(i,e.nextSibling),i.focus()}},split:function(e,t,n,r){var i=e.cloneNode(!1);for(i.appendChild(t),e.parentNode.insertBefore(i,e);e.firstChild;)e.removeChild(e.firstChild);e.appendChild(n),me(i),me(e),e.focus()},merge:function(t,n,r){var i,o;switch(n){case"before":i=ot(t),o=t;break;case"after":i=t,o=it(t)}i&&o&&(r=i.childNodes.length>0?e.appendTo(i,o.innerHTML):e.prependTo(i,o.innerHTML),o.remove(),r.save(),me(i),r.restore(),r.setVisibleSelection())},empty:function(e){Si("Default empty behavior")},switch:function(e,t,n){switch(t){case"before":var r=ot(e);r&&(n.moveAtTextEnd(r),n.setVisibleSelection());break;case"after":var i=it(e);i&&(n.moveAtBeginning(i),n.setVisibleSelection())}},move:function(e,t,n){Si("Default move behavior")},paste:function(t,n,r){if(0!==n.length){if(r.insertBefore(n.shift()),0===n.length)return r.setVisibleSelection();var i=t.parentNode,o=t;n.forEach((function(e){var n=t.cloneNode(!1);n.id&&n.removeAttribute("id");var r=Ae(e);n.appendChild(r),i.insertBefore(n,o.nextSibling),o=n})),e.createCursorAtEnd(o).setVisibleSelection()}},clipboard:function(e,t,n){Si("Default clipboard behavior")},toggleBold:function(e){e.toggleBold()},toggleEmphasis:function(e){e.toggleEmphasis()}}}(this),{focus:function(e){n.focus(e)},blur:function(e){n.blur(e)},flow:function(e,t){n.flow(e,t)},selection:function(e,t){n.selection(e,t)},cursor:function(e,t){n.cursor(e,t)},newline:function(e,t){n.newline(e,t)},split:function(e,t,r,i){n.split(e,t,r,i)},insert:function(e,t,r){n.insert(e,t,r)},merge:function(e,t,r){n.merge(e,t,r)},empty:function(e){n.empty(e)},switch:function(e,t,r){n.switch(e,t,r)},move:function(e,t,r){n.move(e,t,r)},clipboard:function(e,t,r){n.clipboard(e,t,r)},paste:function(e,t,r){n.paste(e,t,r)},toggleBold:function(e){n.toggleBold(e)},toggleEmphasis:function(e){n.toggleEmphasis(e)}}))}),[{key:"add",value:function(e,t){return this.enable(e,t),this}},{key:"remove",value:function(e){var t=k(e,this.win.document);this.disable(t);var n,r=Oi(t);try{for(r.s();!(n=r.n()).done;)n.value.classList.remove(c.editableDisabledClass)}catch(e){r.e(e)}finally{r.f()}return this}},{key:"disable",value:function(e){var t,n,r=Oi(k(e||".".concat(c.editableClass),this.win.document));try{for(r.s();!(t=r.n()).done;)(n=t.value).removeAttribute("contenteditable"),n.removeAttribute("spellcheck"),n.removeAttribute("data-plaintext"),function(e,t){if(e.hasAttribute("data-editable")){var n=e.getAttribute("data-editable");rt[n]=void 0}}(n),n.classList.remove(c.editableClass),n.classList.add(c.editableDisabledClass)}catch(e){r.e(e)}finally{r.f()}return this}},{key:"enable",value:function(e,t){var n,r=null!=t?t:{},i=r.normalize,o=void 0===i?"boolean"==typeof t&&t:i,a=r.plainText,s=void 0!==a&&a,u=this.config.browserSpellcheck,l=Oi(k(e||".".concat(c.editableDisabledClass),this.win.document));try{for(l.s();!(n=l.n()).done;){var f=n.value;at(f,{normalize:o,plainText:s,shouldSpellcheck:u}),this.dispatcher.notify("init",f)}}catch(e){l.e(e)}finally{l.f()}return this}},{key:"suspend",value:function(e){var t,n=Oi(k(e||".".concat(c.editableClass),this.win.document));try{for(n.s();!(t=n.n()).done;)t.value.removeAttribute("contenteditable")}catch(e){n.e(e)}finally{n.f()}return this.dispatcher.suspend(),this}},{key:"continue",value:function(e){var t,n=Oi(k(e||".".concat(c.editableClass),this.win.document));try{for(n.s();!(t=n.n()).done;)t.value.setAttribute("contenteditable",!0)}catch(e){n.e(e)}finally{n.f()}return this.dispatcher.continue(),this}},{key:"createCursor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"beginning",n=zt.findHost(e,this.editableSelector);if(n){var r=A();return"beginning"===t||"end"===t?(r.selectNodeContents(e),r.collapse("beginning"===t)):e!==n?"before"===t?(r.setStartBefore(e),r.setEndBefore(e)):"after"===t&&(r.setStartAfter(e),r.setEndAfter(e)):l("EditableJS: cannot create cursor outside of an editable block."),new zt(n,r)}}},{key:"createCursorAtCharacterOffset",value:function(e){var t=e.element,n=e.offset,r=Ei({textNodes:Ai(t),absOffset:n}),i=r.node,o=r.relativeOffset,a=A();a.setStart(i,o),a.collapse(!0);var s=zt.findHost(t,this.editableSelector),u=new zt(s,a);return u.setVisibleSelection(),u}},{key:"createCursorAtBeginning",value:function(e){return this.createCursor(e,"beginning")}},{key:"createCursorAtEnd",value:function(e){return this.createCursor(e,"end")}},{key:"createCursorBefore",value:function(e){return this.createCursor(e,"before")}},{key:"createCursorAfter",value:function(e){return this.createCursor(e,"after")}},{key:"getContent",value:function(e){return we(e)}},{key:"appendTo",value:function(e,t){var n=Ee(e,this.win.document),r=this.createCursor(n,"end");return r.insertAfter("string"==typeof t?Ae(t):t),r}},{key:"prependTo",value:function(e,t){var n=Ee(e,this.win.document),r=this.createCursor(n,"beginning");return r.insertBefore("string"==typeof t?Ae(t):t),r}},{key:"getSelection",value:function(e){var t=this.dispatcher.selectionWatcher.getFreshSelection();if(!e||!t)return t;var n=t.range;return null!=e&&e.isConnected&&function(e,t){var n=document.createRange();n.selectNodeContents(e);var r=t.compareBoundaryPoints(Range.START_TO_START,n),i=t.compareBoundaryPoints(Range.END_TO_END,n);return r>=0&&i<=0}(e,n)?t:void 0}},{key:"setupHighlighting",value:function(e){return this.highlighting=new wi(this,e),this}},{key:"setupSpellcheck",value:function(e){var t,n=this;e.markerNode&&(t=e.markerNode.outerHTML),this.setupHighlighting({throttle:e.throttle,spellcheck:{marker:t,spellcheckService:e.spellcheckService}}),this.spellcheck={checkSpelling:function(e){n.highlighting.highlight(e)}}}},{key:"highlight",value:function(e){var t=e.editableHost,n=e.text,r=e.highlightId,i=e.textRange,o=e.raiseEvents,a=e.type,s=void 0===a?"comment":a;return i?"number"!=typeof i.start||"number"!=typeof i.end?(l("Error in Editable.highlight: You passed a textRange object with invalid keys. Expected shape: { start: Number, end: Number }"),-1):i.start===i.end?(l("Error in Editable.highlight: You passed a textRange object with equal start and end offsets, which is considered a cursor and therefore unfit to create a highlight."),-1):sn.highlightRange(t,n,r,i.start,i.end,o?this.dispatcher:void 0,s):sn.highlightText(t,n,r,s,o?this.dispatcher:void 0)}},{key:"getHighlightPositions",value:function(e){var t=e.editableHost,n=e.type;return sn.extractHighlightedRanges(t,n)}},{key:"removeHighlight",value:function(e){var t=e.editableHost,n=e.highlightId,r=e.raiseEvents;sn.removeHighlight(t,n,r?this.dispatcher:void 0)}},{key:"decorateHighlight",value:function(e){var t=e.editableHost,n=e.highlightId,r=e.addCssClass,i=e.removeCssClass;sn.updateHighlight(t,n,r,i)}},{key:"on",value:function(e,t){return this.dispatcher.on(e,t),this}},{key:"off",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.dispatcher.off.apply(this.dispatcher,t),this}},{key:"unload",value:function(){return this.dispatcher.unload(),this}},{key:"findClosestCursorOffset",value:function(e){var t=e.element,n=e.origCoordinates,r=e.requiredOnFirstLine,i=void 0!==r&&r,o=e.requiredOnLastLine;return function(e){var t=e.host,n=e.requiredOnFirstLine,r=e.requiredOnLastLine,i=e.positionX,o=t.ownerDocument.createRange();o.selectNodeContents(t);var a=o.getBoundingClientRect(),s=Ai(t).reduce((function(e,t){return e+t.textContent.length}),0),u=Ai(t);if(0===s)return{wasFound:!1};for(var c,l={currentOffset:Math.floor(s/2),leftLimit:0,rightLimit:s},f=l.currentOffset,h=20;l.leftLimit<l.rightLimit&&h>0;){h=h-=1,f=l.currentOffset;var d=Ni({textNodes:u,offset:l.currentOffset}).getBoundingClientRect();c=Math.abs(d.left-i),n&&a.top!==d.top?Ti(l):r&&a.bottom!==d.bottom?xi(l):i<d.left?Ti(l):xi(l)}var g=Ni({textNodes:u,offset:l.currentOffset}).getBoundingClientRect(),v=Math.abs(g.left-i);return v<c&&(c=v,f=l.currentOffset),{distance:c,offset:f,wasFound:!0}}({host:t,requiredOnFirstLine:i,requiredOnLastLine:void 0!==o&&o,positionX:this.dispatcher.switchContext?this.dispatcher.switchContext.positionX:n.left})}}],[{key:"getGlobalConfig",value:function(){return c}},{key:"globalConfig",value:function(e){Object.assign(c,e),Mt(c)}}])}();return Ri.parser=n,Ri.content=r,["focus","blur","flow","selection","cursor","newline","insert","split","merge","empty","change","switch","move","clipboard","paste","spellcheckUpdated","selectToBoundary"].forEach((function(e){Ri.prototype[e]=function(t){return this.on(e,t)}})),t.Editable})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Editable=t():e.Editable=t()}(self,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})}};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};e.d(t,{Editable:()=>Ii});var n={};e.r(n),e.d(n,{getHost:()=>D,getNodeIndex:()=>F,isBeginningOfHost:()=>U,isDocumentFragmentWithoutChildren:()=>Z,isEndOfHost:()=>$,isEndOffset:()=>K,isInlineElement:()=>ee,isLinebreak:()=>W,isSameNode:()=>G,isStartOffset:()=>z,isTextEndOfHost:()=>Q,isTextEndOffset:()=>X,isVoid:()=>H,isVoidTextNode:()=>P,isWhitespaceOnly:()=>V,lastChild:()=>Y,lastOffsetWithContent:()=>q,latestChild:()=>J});var r={};function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,a(r.key),r)}}function u(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}e.r(r),e.d(r,{adoptElement:()=>Ee,areSameAttributes:()=>Be,cleanInternals:()=>Ce,cloneRangeContents:()=>Te,containsString:()=>Ze,createFragmentFromString:()=>Ae,deleteCharacter:()=>Je,expandTo:()=>Pe,extractContent:()=>we,forceWrap:()=>qe,getAncestorTags:()=>_e,getContainedTags:()=>Me,getInnerHtmlOfFragment:()=>Se,getInnerTags:()=>Le,getTagNames:()=>Ie,getTags:()=>Oe,getTagsByName:()=>Re,getTagsByNameAndAttributes:()=>je,insertCharacter:()=>Ge,isAffectedBy:()=>De,isExactSelection:()=>He,isWrappable:()=>We,normalizeTags:()=>be,normalizeWhitespace:()=>ke,nuke:()=>Qe,nukeElem:()=>Xe,nukeTag:()=>et,removeFormatting:()=>Ke,removeFormattingElem:()=>ze,selectNodeContents:()=>Fe,surround:()=>Ye,tidyHtml:()=>me,toggleTag:()=>Ve,unwrap:()=>$e,unwrapInternalNodes:()=>Ne,wrap:()=>Ue});const c={log:!1,logErrors:!0,editableClass:"js-editable",editableDisabledClass:"js-editable-disabled",pastingAttribute:"data-editable-is-pasting",trimLeadingAndTrailingWhitespaces:!0,boldMarkup:{type:"tag",name:"strong",attribs:{},trim:!0},italicMarkup:{type:"tag",name:"em",attribs:{},trim:!0},underlineMarkup:{type:"tag",name:"u",attribs:{},trim:!1},linkMarkup:{type:"tag",name:"a",attribs:{},trim:!0},pastedHtmlRules:{allowedElements:{a:{href:!0,rel:!0,target:!0},strong:{},em:{},br:{}},allowedPlainTextElements:{br:{}},requiredAttributes:{a:["href"]},transformElements:{b:"strong",i:"em"},splitIntoBlocks:["h1","h2","h3","h4","h5","h6","p","blockquote"],blockLevelElements:["h1","h2","h3","h4","h5","h6","div","p","pre","hr","blockquote","article","figure","header","footer","ul","ol","li","section","table","video"],blacklistedElements:["style","script"],keepInternalRelativeLinks:!1,replaceQuotes:{}}};function l(){if(!1!==c.logErrors){var t=1===arguments.length?arguments[0]:Array.from(arguments);if(e.g.console)return"function"==typeof console.error?console.error(t):void console.log(t)}}var f=Object.prototype.toString,h={"&":"&","<":"<",">":">",'"':""","'":"'"};function d(e){return e.replace(/\s+$/,"")}function g(e){return e.replace(/^\s+|\s+$/g,"")}function v(e){return"[object String]"===f.call(e)}var p=1,y=3,m=11,b=function(){return u((function e(t,n){i(this,e),this.current=this.previous=this.nextNode=this.root=t,this.iteratorFunc=this[n||"getNext"]}),[{key:Symbol.iterator,value:function(){return this}},{key:"getNextTextNode",value:function(){for(var e;e=this.getNext();)if(e.nodeType===y&&""!==e.data)return e}},{key:"getPreviousTextNode",value:function(){for(var e;e=this.getPrevious();)if(e.nodeType===y&&""!==e.data)return e}},{key:"next",value:function(){var e=this.iteratorFunc();return e?{value:e}:{done:!0}}},{key:"getNext",value:function(){var e=this.current=this.nextNode,t=this.nextNode=void 0;if(this.current)if((t=e.firstChild)&&"remove"!==e.getAttribute("data-editable"))this.nextNode=t;else for(;e!==this.root&&!(this.nextNode=e.nextSibling);)e=e.parentNode;return this.current}},{key:"getPrevious",value:function(){var e=this.current=this.previous,t=this.previous=void 0;if(this.current)if((t=e.lastChild)&&"remove"!==e.getAttribute("data-editable"))this.previous=t;else for(;e!==this.root&&!(this.previous=e.previousSibling);)e=e.parentNode;return this.current}},{key:"replaceCurrent",value:function(e){this.current=e,this.nextNode=void 0,this.previous=void 0;for(var t=this.current;t!==this.root&&!(this.nextNode=t.nextSibling);)t=t.parentNode}}])}(),k=function(e,t){return"string"==typeof e?Array.from(t.querySelectorAll(e)):e.tagName?[e]:Array.isArray(e)?e:Array.from(e)},C=function(e,t){return"string"==typeof e?t.querySelector(e):e.tagName?e:e[0]?e[0]:e},w=function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:window).document.createElement("div");return t.innerHTML=e,t.firstElementChild},S=function(e,t){if(e.closest||(e=e.parentNode),e&&e.closest)return e.closest(t)},A=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).document.createRange()},E=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).document.getSelection()},T=function(e,t,n){for(var r,i=[],o=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:window).document.createNodeIterator(e.commonAncestorContainer,NodeFilter.SHOW_ALL,{acceptNode:function(r){return e.intersectsNode(r)&&t.includes(r.nodeType)&&r!==e.commonAncestorContainer?"function"==typeof n?n(r)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}},!1);r=o.nextNode();)i.push(r);return i},x=function(e){e.startContainer.compareDocumentPosition(e.endContainer)===Node.DOCUMENT_POSITION_FOLLOWING&&e.setStartBefore(e.endContainer),e.endContainer.compareDocumentPosition(e.startContainer)===Node.DOCUMENT_POSITION_PRECEDING&&e.setEndAfter(e.startContainer)},N=function(e,t){var n=document.createRange();n.selectNodeContents(t);var r=e.compareBoundaryPoints(Range.START_TO_START,n),i=e.compareBoundaryPoints(Range.END_TO_END,n);return r<=0&&i>=0},O=function(e){return e&&(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.COMMENT_NODE)},_=function(e,t){return e.splitText(t)},R=function(e){var t=e.startContainer,n=e.startOffset,r=e.endContainer,i=e.endOffset;if(O(r)&&i>0&&i<r.length&&_(r,i),O(t)&&n>0&&n<t.length){var o=_(t,n);e.setStart(o,0)}},j=function(e,t){var n=e.cloneRange();n.setStart(t,0),n.setEnd(e.startContainer,e.startOffset);var r=e.toString(),i=n.toString().length;return{start:i,end:i+r.length,text:r}},B=function(e,t){return e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.endContainer&&e.endOffset===t.endOffset};function L(e){var t=e.root,n=e.startContainer,r=e.startOffset,i=e.whitespacesOnTheLeft;if(n.nodeType!==y)return L({root:t,startContainer:n.childNodes[r],startOffset:0,whitespacesOnTheLeft:i});var o=r+i;if(n.length>o)return[n,o];var a=new b(t);a.nextNode=n,a.getNextTextNode();var s=a.getNextTextNode();if(!s){var u=a.getPreviousTextNode();return[u,u.length]}return L({root:t,startContainer:s,startOffset:0,whitespacesOnTheLeft:o-n.length})}function M(e){var t=e.root,n=e.endContainer,r=e.endOffset,i=e.whitespacesOnTheRight;if(n.nodeType!==y){var o=!n.childNodes[r-1],a=o?n.childNodes[r]:n.childNodes[r-1],s=0;return o||(s=a.nodeType===y?a.length:a.childNodes.length),M({root:t,endContainer:a,endOffset:s,whitespacesOnTheRight:i})}var u=r-i;if(u>0)return[n,u];var c=new b(t);c.previous=n,c.getPreviousTextNode();var l=c.getPreviousTextNode();return l?M({root:t,endContainer:l,endOffset:l.length,whitespacesOnTheRight:i-r}):[c.getNextTextNode(),0]}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function D(e){return e=e.jquery?e[0]:e,S(e,".".concat(c.editableClass))}function F(e){for(var t=0;null!==(e=e.previousSibling);)t++;return t}function H(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return I(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(e.childNodes);try{for(n.s();!(t=n.n()).done;){var r=t.value;if(r.nodeType===y&&!P(r))return!1;if(r.nodeType===p)return!1}}catch(e){n.e(e)}finally{n.f()}return!0}function P(e){return e.nodeType===y&&!e.nodeValue}function V(e){return e.nodeType===y&&0===q(e)}function W(e){return e.nodeType===p&&"BR"===e.tagName}function q(e){if(e.nodeType===y)return d(e.nodeValue).length;var t=0;return Array.from(e.childNodes).reverse().every((function(e,n,r){return!(!V(e)&&!W(e)&&(t=r.length-n,1))})),t}function U(e,t,n){if(t===e)return z(t,n);if(z(t,n)){var r=F(t);return U(e,t.parentNode,r)}return!1}function $(e,t,n){if(t===e)return K(t,n);if(K(t,n)){var r=F(t)+1;return $(e,t.parentNode,r)}return!1}function z(e,t){return e.nodeType===y?0===t:0===e.childNodes.length||1===e.childNodes.length&&e.firstChild.nodeType===p&&"remove"===e.firstChild.getAttribute("data-editable")||e.childNodes[t]===e.firstChild}function K(e,t){return e.nodeType===y?t===e.length:0===e.childNodes.length||t>0&&e.childNodes[t-1]===e.lastChild}function Q(e,t,n){if(t===e)return X(t,n);if(X(t,n)){var r=F(t)+1;return Q(e,t.parentNode,r)}return!1}function X(e,t){return e.nodeType===y?t>=d(e.nodeValue).length:0===e.childNodes.length||t>=q(e)}function G(e,t){var n,r,i;if(e.nodeType!==t.nodeType)return!1;if(e.nodeName!==t.nodeName)return!1;for(n=0,r=e.attributes.length;n<r;n++)if(i=e.attributes[n],t.getAttribute(i.name)!==i.value)return!1;return!0}function Y(e){return e.lastChild?Y(e.lastChild):e}function J(e){return console.warn("Editable.js: Using obsolete function parser.latestCild(), use lastChild() instead"),Y(e)}function Z(e){return e&&e.nodeType===m&&0===e.childNodes.length}function ee(e,t){switch((t.currentStyle||e.getComputedStyle(t,"")).display){case"inline":case"inline-block":return!0;default:return!1}}var te=0,ne="\ufeff";function re(e,t){var n=e.commonAncestorContainer;if(3===n.nodeType)return!1;var r=t.parentElement;return(null==r?void 0:r.parentElement)===n}function ie(e,t){var n=e.commonAncestorContainer;n.ownerDocument||l("Cannot save range: range is empty");var r=n.ownerDocument.defaultView.document,i=r.createElement("span");i.id="editable-range-boundary-".concat(++te),i.setAttribute("data-editable","remove"),i.style.lineHeight="0",i.style.display="none",i.appendChild(r.createTextNode(ne));var o=t&&re(e,e.startContainer),a=!t&&re(e,e.endContainer);if(o){var s=e.startContainer.parentElement;s.parentElement.insertBefore(i,s)}else if(a){var u=e.endContainer.parentElement;u.parentElement.insertBefore(i,u.nextSibling)}else{var c=e.cloneRange();c.collapse(t),c.insertNode(i)}return i}function oe(e,t,n,r){var i=ue(e,n);if(!i)return console.log("Marker element has been removed. Cannot restore selection.");t[r?"setStartBefore":"setEndBefore"](i),i.remove()}function ae(e){var t,n,r;return e.collapsed?t={markerId:(r=ie(e,!1)).id,collapsed:!0}:(r=ie(e,!1),t={startMarkerId:(n=ie(e,!0)).id,endMarkerId:r.id,collapsed:!1}),e.collapsed?(e.setStartBefore(r),e.collapse(!0)):(e.setEndBefore(r),e.setStartAfter(n)),t}function se(e,t){if(!t.restored){var n=A();if(t.collapsed){var r=ue(e,t.markerId);if(r){r.style.display="inline";var i=r.previousSibling;i&&i.nodeType===y?(r.remove(),n.setStart(i,i.length)):(n.setStartBefore(r),n.collapse(!0),r.remove())}else console.log("Marker element has been removed. Cannot restore selection.")}else oe(e,n,t.startMarkerId,!0),oe(e,n,t.endMarkerId,!1);return x(n),n}}function ue(e,t){return e.querySelector("#".concat(t))}function ce(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return le(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?le(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fe(e,t,n){return t=ae(t),n(),se(e,t)}var he=/\u200B/g,de=/\uFEFF/g,ge=/[^\S ]/g,ve=/^\s+$/,pe=/^\s+/,ye=/\s+$/;function me(e){be(e)}function be(e){var t=document.createDocumentFragment();xe(e,"firstChild"),xe(e,"lastChild");var n,r=ce(e.childNodes);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("BR"===i.nodeName||i.textContent){if(i.nodeType===p&&"BR"!==i.nodeName){for(var o=i;null!==(o=o.nextSibling)&&G(o,i);){var a,s=ce(o.childNodes);try{for(s.s();!(a=s.n()).done;){var u=a.value;i.appendChild(u.cloneNode(!0))}}catch(e){s.e(e)}finally{s.f()}o.remove()}be(i)}t.appendChild(i.cloneNode(!0))}}}catch(e){r.e(e)}finally{r.f()}for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(t)}function ke(e){return e.replace(ge," ")}function Ce(e){e.innerHTML=we(e,!0)}function we(e,t){var n=(e.nodeType===m?Se(e):e.innerHTML).replace(de,"").replace(he,"<br>"),r=document.createElement("div");return r.innerHTML=n,Ne(r,t),xe(r,"firstChild"),xe(r,"lastChild"),r.innerHTML}function Se(e){var t=document.createElement("div");return t.appendChild(e),t.innerHTML}function Ae(e){var t=document.createElement("div");t.innerHTML=e;for(var n=document.createDocumentFragment();t.firstChild;)n.appendChild(t.firstChild);return n}function Ee(e,t){return e.ownerDocument!==t?t.adoptNode(e):e}function Te(e){for(var t=e.cloneContents().childNodes[0],n=document.createDocumentFragment();t.childNodes.length;)n.appendChild(t.childNodes[0]);return n}function xe(e,t){for(var n,r,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];r=e[t];)if(r.nodeType===y){if(!ve.test(r.textContent))break;e.removeChild(r)}else{if("BR"!==r.nodeName){r[t]&&xe(r,t,!1);break}r.remove()}i&&(null===(n=r=e[t])||void 0===n?void 0:n.nodeType)===y&&c.trimLeadingAndTrailingWhitespaces&&(r.textContent=r.textContent.replace(t.startsWith("last")?ye:pe,""))}function Ne(e,t){for(;e;){var n=e.nextSibling;if(e.nodeType===p){var r=e.getAttribute("data-editable");e.firstChild&&Ne(e.firstChild,t),("remove"===r||"ui-remove"===r&&!t)&&e.remove(),("unwrap"===r||"ui-unwrap"===r&&!t)&&$e(e),e=n}else e=n}}function Oe(e,t,n){var r=Le(t,n),i=_e(e,t,n);return r.concat(i)}function _e(e,t,n){for(var r=[],i=t.commonAncestorContainer;i!==e;)n&&!n(i)||r.push(i),i=i.parentNode;return r}function Re(e,t,n){return Oe(e,t,(function(e){return e.nodeName.toUpperCase()===n.toUpperCase()}))}function je(e,t,n){return Oe(e,t,(function(e){return e.nodeName.toUpperCase()===n.nodeName.toUpperCase()&&Be(e.attributes,n.attributes)}))}function Be(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=t[e[n].name];if(!r||r.value!==e[n].value)return!1}return!0}function Le(e,t){return T(e,[p],t)}function Me(e,t){return T(e,[p],t).filter((function(t){return N(e,t)}))}function Ie(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return e.nodeName}))}function De(e,t,n){return Oe(e,t).some((function(e){return e.nodeName===n.toUpperCase()}))}function Fe(e){var t=A();return t.selectNodeContents(e),t}function He(e,t,n){var r,i,o=A();if(o.selectNodeContents(t),i=o,-1!==(r=e).compareBoundaryPoints(Range.END_TO_START,i)||-1!==i.compareBoundaryPoints(Range.END_TO_START,r))return!1;var a=e.toString(),s=(t.jquery?t[0]:t).textContent;return n&&(a=g(a),s=g(s)),""!==a&&a===s}function Pe(e,t,n){return t.selectNodeContents(n),t}function Ve(e,t,n){var r=je(e,t,n);return 1===r.length&&He(t,r[0],"visible")?ze(e,t,n):qe(e,t,n)}function We(e){return function(e){if(!e||!e.startContainer||!e.endContainer)return!1;if(e.startContainer===e.endContainer)return!0;for(var t,n=function(e){var t=e,n=null;return{next:function(){if(!t)return null;if(t.firstChild&&n!==t.firstChild)n=t,t=t.firstChild;else if(t.nextSibling)n=t,t=t.nextSibling;else{for(var r=t.parentNode;r&&r!==e;){if(r.nextSibling){n=t=r.nextSibling;break}r=r.parentNode}r&&r!==e||(n=t=null)}return t}}}(e.commonAncestorContainer),r=!1;t=n.next();)if(t.nodeType===Node.ELEMENT_NODE&&!tt(t,e)){r=!0;break}return!r}(e)}function qe(e,t,n){var r=fe(e,t,(function(){Xe(e,t,n)}));return We(r)||(r=fe(e,r,(function(){Qe(e,r)}))),Ue(r,n),r}function Ue(e,t){We(e)?("string"==typeof t&&(t=w(t)),e.surroundContents(t)):console.log("content.wrap(): can not surround range")}function $e(e){for(var t=(e=e.jquery?e[0]:e).parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function ze(e,t,n){return fe(e,t,(function(){Xe(e,t,n)}))}function Ke(e,t,n){return fe(e,t,(function(){Qe(e,t,n)}))}function Qe(e,t,n){Oe(e,t).forEach((function(e){"BR"===e.nodeName.toUpperCase()||n&&!e.matches(n)||$e(e)}))}function Xe(e,t,n){Oe(e,t).forEach((function(e){"BR"!==e.nodeName.toUpperCase()&&(!n||e.nodeName.toUpperCase()===n.nodeName.toUpperCase()&&Be(e.attributes,n.attributes))&&$e(e)}))}function Ge(e,t,n){var r=document.createTextNode(t),i=e.cloneRange();i.collapse(n),i.insertNode(r),e[n?"setStartBefore":"setEndAfter"](r),x(e)}function Ye(e,t,n,r){return Ge(t,r||n,!1),Ge(t,n,!0),t}function Je(e,t,n){if(!Ze(t,n))return t;window.getSelection().rangeCount>0&&R(t);var r=fe(e,t,(function(){T(t,[y],(function(e){return e.nodeValue.indexOf(n)>=0})).forEach((function(e){e.nodeValue=e.nodeValue.replaceAll(n,"")}))}));return x(r),r}function Ze(e,t){return e.toString().indexOf(t)>=0}function et(e,t,n){Oe(e,t).forEach((function(e){e.nodeName.toUpperCase()===n.toUpperCase()&&$e(e)}))}function tt(e,t){var n=document.createRange();return n.selectNodeContents(e),t.compareBoundaryPoints(Range.START_TO_START,n)<=0&&t.compareBoundaryPoints(Range.END_TO_END,n)>=0}var nt=1,rt={},it=ut("nextElementSibling"),ot=ut("previousElementSibling");function at(e,t){var n=t.normalize,r=t.plainText,i=t.shouldSpellcheck;!function(e){e.hasAttribute("data-editable")||(e.setAttribute("data-editable","id-".concat(nt)),nt+=1)}(e),e.setAttribute("contenteditable",!0),e.setAttribute("spellcheck",Boolean(i)),e.setAttribute("data-plaintext",Boolean(r)),e.classList.remove(c.editableDisabledClass),e.classList.add(c.editableClass),n&&me(e)}function st(e){return"true"===e.getAttribute("data-plaintext")}function ut(e){return function(t){var n=t[e];return n&&n.getAttribute("contenteditable")?n:null}}function ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function lt(e,t){if(e){if("string"==typeof e)return ct(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ct(e,t):void 0}}function ft(e){return function(e){if(Array.isArray(e))return ct(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||lt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ht,dt,gt,vt,pt,yt,mt,bt,kt,Ct=[["«","»"],["»","«"],['"','"'],["“","”"],["”","”"],["“","“"],["„","“"]],wt=[["‘","’"],["‹","›"],["‚","‘"],["’","’"],["›","‹"],["'","'"],["‘","’"]],St=["’","'"],At=/([‘’‹›‚'«»"“”„])(?![^<]*?>)/g,Et=/\s|[>\-–—«»”"“„]/,Tt=/\s|[<\-–—«»”"“‘’‹›'.;?:,]/;function xt(e,t){(ht=t||{}).quotes=ht.quotes||[void 0,void 0],ht.singleQuotes=ht.singleQuotes||[void 0,void 0];var n=function(e){return ft(e.matchAll(At)).map((function(t){var n=t.index;return{char:t[1],before:n>0?e[n-1]:"",after:n+1<e.length?e[n+1]:""}}))}(e);return n.length>0?(Nt(n,0),function(e,t){var n=0;return e.replace(At,(function(e){var r=t[n].replace||t[n].char;return n+=1,r}))}(e,n)):e}function Nt(e,t){for(;t<e.length;){var n=Ot(e,t);if(n){if(e[t].replace="double"===n.type?ht.quotes[0]:ht.singleQuotes[0],e[n.position].replace="double"===n.type?ht.quotes[1]:ht.singleQuotes[1],n.position!==t+1){var r=e.slice(t+1,n.position);r&&Nt(r,0)}t=n.position+1}else e[t].replace=Rt(e[t].char),t+=1}}function Ot(e,t){if(t!==e.length-1){var n=e[t],r=n.char;if(!n.before||Et.test(n.before))for(var i=_t(r,wt),o=_t(r,Ct),a=t+1;a<e.length;a++)if(e[a].after&&Tt.test(e[a].after)||!e[a].after){if(i.includes(e[a].char))return{position:a,type:"single"};if(o.includes(e[a].char))return{position:a,type:"double"}}}}function _t(e,t){return t.filter((function(t){return t[0]===e})).map((function(e){return e[1]}))}function Rt(e){if(St.includes(e))return ht.apostrophe}var jt,Bt=/^\s*$/,Lt="\x3c!-- BLOCK --\x3e";function Mt(e){var t=e.pastedHtmlRules;dt=t.allowedElements||{},gt=t.allowedPlainTextElements||{},vt=t.requiredAttributes||{},pt=t.transformElements||{},kt=t.blacklistedElements||[],jt=t.keepInternalRelativeLinks||!1,mt=t.replaceQuotes||{},yt={},t.blockLevelElements.forEach((function(e){yt[e]=!0})),bt={},t.splitIntoBlocks.forEach((function(e){bt[e]=!0}))}function It(e,t,n){var r=e.ownerDocument;e.setAttribute(c.pastingAttribute,!0),t.isSelection&&(t=t.deleteExactSurroundingTags().deleteContainedTags().deleteContent());var i=r.createElement("div");i.innerHTML=n;var o=function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).plainText,n=void 0!==t&&t;return Dt(e,{allowedElements:n?gt:dt,keepInternalRelativeLinks:!n&&jt}).split(Lt).map((function(e){return g((t=e,mt.quotes||mt.singleQuotes||mt.apostrophe?xt(t,mt):t).replace(/\n/g," ").replace(/ {2,}/g," ").replace(/(.)\u00A0/g,(function(e,t){return t+(/[\u0020]/.test(t)?" ":" ")})));var t})).filter((function(e){return!Bt.test(e)}))}(i,{plainText:st(e)});return e.removeAttribute(c.pastingAttribute),{blocks:o,cursor:t}}function Dt(e,t){return Array.from(e.childNodes).reduce((function(e,n){if(-1!==kt.indexOf(n.nodeName.toLowerCase()))return"";if(t.keepInternalRelativeLinks&&"A"===n.nodeName&&n.href){var r=n.getAttribute("href").replace(window.location.origin,"");n.setAttribute("href",r)}return n.nodeType===p?e+function(e,t,n){var r=e.nodeName.toLowerCase();if(function(e,t,n){return n.allowedElements[e]&&function(e,t){var n=vt[e];return!n||!n.some((function(e){return!t.getAttribute(e)}))}(e,t)}(r=function(e){return pt[e]||e}(r),e,n)){var i=function(e,t){return Array.from(t.attributes).reduce((function(t,n){var r,i=n.name,o=n.value;return null!==(r=dt[e])&&void 0!==r&&r[i]&&o?"".concat(t," ").concat(i,'="').concat(o,'"'):t}),"")}(r,e);return"br"===r?"<".concat(r+i,">"):Bt.test(t)?t:"<".concat(r+i,">").concat(t,"</").concat(r,">")}return bt[r]?Lt+t+Lt:yt[r]?"".concat(t," "):t}(n,Dt(n,t),t):n.nodeType===y?e+n.nodeValue.replace(/[&<>]/g,(function(e){return h[e]})):e}),"")}Mt(c),document.documentElement.contentEditable;var Ft=/(apple)?webkit\/537\.36/i.test(window.navigator.userAgent),Ht=/(apple)?webkit/i.test(window.navigator.userAgent),Pt=!Ft&&Ht,Vt=function(e){var t=e,n=t.onselectionchange;if(void 0!==n)try{return t.onselectionchange=0,null===t.onselectionchange}catch(e){}finally{t.onselectionchange=n}return!1}(document),Wt=!!Pt;function qt(e,t){var n=function(e){var t={};function n(e,n){e.split(" ").forEach((function(e){t[e]=t[e]||[],t[e].unshift(n)}))}return{on:function(e,t){if(2===arguments.length)n(e,t);else if(1===arguments.length)for(var r in e)n(r,e[r]);return this},off:function(e,n){2===arguments.length?function(e,n){var r=t[e];if(r){var i=r.indexOf(n);i<0||r.splice(i,1)}}(e,n):1===arguments.length?t[e]=[]:t={}},notify:function(n,r){var i=Array.from(arguments);e?(r=n,n=e,i.splice(0,1)):i.splice(0,2),this.switchContext&&r!==this.switchContext.events.shift()&&(this.switchContext=void 0);var o=t[r];o&&o.every((function(e){return!1!==e.apply(n,i)}))}}}(t);e.on=n.on,e.off=n.off,e.notify=n.notify}function Ut(e){return{x:void 0!==e.pageXOffset?e.pageXOffset:(e.document.documentElement||e.document.body.parentNode||e.document.body).scrollLeft,y:void 0!==e.pageYOffset?e.pageYOffset:(e.document.documentElement||e.document.body.parentNode||e.document.body).scrollTop}}var $t=function(){function e(t,n){i(this,e),this.setHost(t),this.range=n,this.isCursor=!0}return u(e,[{key:"getTags",value:function(e){return Oe(this.host,this.range,e)}},{key:"getTagNames",value:function(e){return Ie(this.getTags(e))}},{key:"getTagsByName",value:function(e){return Re(this.host,this.range,e)}},{key:"getInnerTags",value:function(e){return Le(this.range,e)}},{key:"getContainedTags",value:function(e){return Me(this.range,e)}},{key:"getAncestorTags",value:function(e){return _e(this.host,this.range,e)}},{key:"isAtEnd",value:function(){return $(this.host,this.range.endContainer,this.range.endOffset)}},{key:"isAtTextEnd",value:function(){return Q(this.host,this.range.endContainer,this.range.endOffset)}},{key:"isAtLastLine",value:function(){var e=this.win.document.createRange();e.selectNodeContents(this.host),e.collapse(!1);var t=zt(e,this.win),n=zt(this.range,this.win);return Kt(t.bottom,n.bottom)}},{key:"isAtFirstLine",value:function(){var e=this.win.document.createRange();e.selectNodeContents(this.host),e.collapse(!0);var t=zt(e,this.win),n=zt(this.range,this.win);return Kt(t.top,n.top)}},{key:"isAtBeginning",value:function(){return U(this.host,this.range.startContainer,this.range.startOffset)}},{key:"insertBefore",value:function(e){if(v(e)&&(e=Ae(e)),!Z(e)){var t=e=this.adoptElement(e);if(e.nodeType===m){var n=e.childNodes.length-1;t=e.childNodes[n]}this.range.insertNode(e),this.range.setStartAfter(t),this.range.setEndAfter(t),this.host.normalize()}}},{key:"insertAfter",value:function(e){if(v(e)&&(e=Ae(e)),!Z(e)){e=this.adoptElement(e);var t=this.range.cloneRange();t.setStart(t.endContainer,t.endOffset),t.collapse(!0),t.insertNode(e),this.host.normalize()}}},{key:"setSelection",value:function(){this.setVisibleSelection()}},{key:"setVisibleSelection",value:function(){if(this.win.document.activeElement!==this.host){var e=Ut(this.win),t=e.x,n=e.y;this.win.scrollTo(t,n)}var r=E(this.win);r.removeAllRanges(),r.addRange(this.range)}},{key:"before",value:function(){var e=this.range.cloneRange();return e.collapse(!0),e.setStartBefore(this.host),Te(e)}},{key:"textBefore",value:function(){var e=this.range.cloneRange();return e.collapse(!0),e.setStartBefore(this.host),e.toString()}},{key:"beforeHtml",value:function(){return Se(this.before())}},{key:"after",value:function(){var e=this.range.cloneRange();return e.collapse(!1),e.setEndAfter(this.host),Te(e)}},{key:"textAfter",value:function(){var e=this.range.cloneRange();return e.collapse(!1),e.setEndAfter(this.host),e.toString()}},{key:"afterHtml",value:function(){return Se(this.after())}},{key:"getBoundingClientRect",value:function(){return this.range.getBoundingClientRect()}},{key:"getCoordinates",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"absolute",t=this.range.getBoundingClientRect();if("fixed"===e)return t;var n=Ut(this.win),r=n.x,i=n.y;return{top:t.top+i,bottom:t.bottom+i,left:t.left+r,right:t.right+r,height:t.height,width:t.width}}},{key:"moveBefore",value:function(t){if(this.updateHost(t),this.range.setStartBefore(t),this.range.setEndBefore(t),this.isSelection)return new e(this.host,this.range)}},{key:"moveAfter",value:function(t){if(this.updateHost(t),this.range.setStartAfter(t),this.range.setEndAfter(t),this.isSelection)return new e(this.host,this.range)}},{key:"moveAtBeginning",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.host;if(this.updateHost(t),this.range.selectNodeContents(t),this.range.collapse(!0),this.isSelection)return new e(this.host,this.range)}},{key:"moveAtEnd",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.host;if(this.updateHost(t),this.range.selectNodeContents(t),this.range.collapse(!1),this.isSelection)return new e(this.host,this.range)}},{key:"moveAtTextEnd",value:function(e){return this.moveAtEnd(Y(e))}},{key:"setHost",value:function(e){e.jquery&&(e=e[0]),this.host=e,this.win=null==e?window:e.ownerDocument.defaultView}},{key:"updateHost",value:function(e){var t=D(e);t||l("Can not set cursor outside of an editable block"),this.setHost(t)}},{key:"retainVisibleSelection",value:function(e){this.save(),e(),this.restore(),this.setVisibleSelection()}},{key:"save",value:function(){this.savedRangeInfo=ae(this.range),this.savedRangeInfo.host=this.host}},{key:"restore",value:function(){this.savedRangeInfo||l("Could not restore selection"),this.host=this.savedRangeInfo.host,this.range=se(this.host,this.savedRangeInfo),this.savedRangeInfo=void 0}},{key:"equals",value:function(e){return!!(e&&e.host&&e.host.isEqualNode(this.host)&&e.range&&B(e.range,this.range))}},{key:"createElement",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.win.document.createElement(e);for(var r in t){var i=t[r];n.setAttribute(r,i)}return n}},{key:"createTextNode",value:function(e){return this.win.document.createTextNode(e)}},{key:"adoptElement",value:function(e){return Ee(e,this.win.document)}},{key:"triggerChange",value:function(){var e=new Event("formatEditable",{bubbles:!0,cancelable:!1});this.host.dispatchEvent(e)}}],[{key:"findHost",value:function(e,t){return S(e,t)}}])}();function zt(e,t){if(e.startContainer.nodeType!==p)return e.getBoundingClientRect();var n=t.document.createElement("span");n.setAttribute("doc-editable","unwrap"),e.insertNode(n);var r=n.getBoundingClientRect();return n.remove(),r}function Kt(e,t){return e===t||Math.abs(e-t)<=2}function Qt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(e,t)||lt(e,t)||function(){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 Xt(e){return Xt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Xt(e)}function Gt(e,t){return Gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Gt(e,t)}const Yt={extractText:function(e){var t="";return function(e,t,n){for(var r,i=new b(e);r=i.getNext();)r.nodeType===y&&""!==r.data?n(r.data):t&&r.nodeType===p&&"BR"===r.nodeName&&n("\n")}(e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],(function(e){t+=e})),t},highlightMatches:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(t&&0!==t.length){e.normalize();for(var r,i,o,a=new b(e),s=0,u=0,c=t[s],l=[];r=a.getNext();)if(r.nodeType===y&&""!==r.data){var f=(o=r).data,h=u+f.length;if(c.startIndex<h&&u<c.endIndex){var d=u<=c.startIndex,g=h>=c.endIndex;d&&(i=c.id||c.startIndex);var v;v=d?c.startIndex-u:0;var m;m=g?c.endIndex-u-v:f.length-v;var k={element:o,text:f.substring(v,v+m),offset:v,length:m,isLastPortion:g,wordId:i};if(l.push(k),g){var C=this.wrapMatch(l,c.marker,c.title);a.replaceCurrent(C),h=u+k.length+k.offset,l=[],(s+=1)<t.length&&(c=t[s])}}u=h}else if(n&&r.nodeType===p&&"BR"===r.nodeName){u+=1;continue}}},wrapMatch:function(e,t,n){var r=this;return e.map((function(e){return r.wrapPortion(e,t,n)})).pop()},wrapPortion:function(e,t,n){var r=A();r.setStart(e.element,e.offset),r.setEnd(e.element,e.offset+e.length);var i=t.cloneNode(!0);if(i.setAttribute("data-word-id",e.wordId),n&&i.setAttribute("title",n),r.surroundContents(i),i.nextSibling){var o=i.nextSibling;o.nodeType===y&&""===o.data&&o.remove()}return i}};function Jt(e,t,n,r){if(!e||""===e)return[];if(r&&!function(e){try{var t;return!!e&&e instanceof(null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView.HTMLElement)}catch(t){return"object"===o(e)&&1===e.nodeType&&"object"===o(e.style)&&"object"===o(e.ownerDocument)}}(r))return[];if(null==t||!t.length)return[];var i=("word"===n?tn:Zt)(t);return ft(e.matchAll(i)).map((function(e){var t,i;return"word"===n?(t=e.index+e[1].length,i=e[2]):(t=e.index,i=e[0]),{startIndex:t,endIndex:t+i.length,match:i,marker:r}}))}function Zt(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return nn(e)})),t="(".concat(e.join("|"),")");return new RegExp(t,"g")}var en="\\u0041-\\u005A\\u0061-\\u007A\\u0030-\\u0039\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF\\u0100-\\u017F\\u0180-\\u024F";function tn(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return nn(e)})),t="([^".concat(en,"]|^)")+"(".concat(e.join("|"),")")+"(?=[^".concat(en,"]|$)");return new RegExp(t,"g")}function nn(e){return String(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}function rn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return on(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?on(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function on(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var an={highlightText:function(e,t,n,r,i){if(!this.hasHighlight(e,n)){var o=Yt.extractText(e),a='<span class="highlight-'.concat(r,'"></span>'),s=function(e,t,n){return Jt(e,[t],"text",n)}(o,t,an.createMarkerNode(a,r,this.win));return s&&s.length?(n&&(s[0].id=n),Yt.highlightMatches(e,s),i&&i.notify("change",e),s[0].startIndex):void 0}},highlightRange:function(e,t,n,r,i,o){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"comment";if(this.hasHighlight(e,n)&&this.removeHighlight(e,n),""===Yt.extractText(e,!1))return-1;var s=an.createMarkerNode('<span class="highlight-'.concat(a,'"></span>'),a,this.win),u=r,c=i;return Yt.highlightMatches(e,[{startIndex:u,endIndex:c,id:n,marker:s}],!1),o&&o.notify("change",e),u},updateHighlight:function(e,t,n,r){if(document.documentElement.classList){var i,o=rn(e.querySelectorAll('[data-word-id="'.concat(t,'"]')));try{for(o.s();!(i=o.n()).done;){var a=i.value;r&&a.classList.remove(r),n&&a.classList.add(n)}}catch(e){o.e(e)}finally{o.f()}}},removeHighlight:function(e,t,n){var r,i=rn(e.querySelectorAll('[data-word-id="'.concat(t,'"]')));try{for(i.s();!(r=i.n()).done;)$e(r.value)}catch(e){i.e(e)}finally{i.f()}e.normalize(),n&&n.notify("change",e)},hasHighlight:function(e,t){return!!e.querySelectorAll('[data-word-id="'.concat(t,'"]')).length},extractHighlightedRanges:function(e,t){var n="[data-word-id]";t&&(n+='[data-highlight="'.concat(t,'"]'));var r=e.querySelectorAll(n);if(r.length){var i,o={},a=rn(r);try{for(a.s();!(i=a.n()).done;){var s=i.value.getAttribute("data-word-id");o[s]||(o[s]=e.querySelectorAll('[data-word-id="'.concat(s,'"]')))}}catch(e){a.e(e)}finally{a.f()}var u={};for(var c in o){var l=this.extractMarkerNodePosition(e,o[c]);l&&(u[c]=l)}return u}},extractMarkerNodePosition:function(e,t){var n=A();t.length>1?(n.setStartBefore(t[0]),n.setEndAfter(t[t.length-1])):n.selectNode(t[0]);var r=j(n,e);return{start:r.start,end:r.end,text:r.text,nativeRange:n}},cleanupStaleMarkerNodes:function(e,t){var n,r=rn(e.querySelectorAll('span[data-highlight="'.concat(t,'"]')));try{for(r.s();!(n=r.n()).done;){var i=n.value;i.textContent.length||i.remove()}}catch(e){r.e(e)}finally{r.f()}},createMarkerNode:function(e,t,n){var r=w(e,n);return r.setAttribute("data-editable","ui-unwrap"),r.setAttribute("data-highlight",t),r}};const sn=an;function un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function cn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(cn=function(){return!!e})()}var ln=function(e){function t(){var e,n,r,a;return i(this,t),n=this,a=arguments,r=Xt(r=t),delete(e=function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(n,cn()?Reflect.construct(r,a||[],Xt(n).constructor):r.apply(n,a))).isCursor,e.isSelection=!0,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gt(e,t)}(t,e),u(t,[{key:"text",value:function(){return this.range.toString()}},{key:"html",value:function(){return function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:window).document.createElement("div");return t.appendChild(e.cloneContents()),t.innerHTML}(this.range)}},{key:"isAllSelected",value:function(){return U(this.host,this.range.startContainer,this.range.startOffset)&&Q(this.host,this.range.endContainer,this.range.endOffset)}},{key:"getTextRange",value:function(){return j(this.range,this.host)}},{key:"toString",value:function(){return this.range.toString()}},{key:"isWrappable",value:function(){return We(this.range)}},{key:"getRects",value:function(){return this.range.getClientRects()}},{key:"link",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e&&(t.href=e);var n=this.createElement(c.linkMarkup.name,c.linkMarkup.attribs);for(var r in t){var i=t[r];void 0!==i&&(null===i?n.removeAttribute(r):n.setAttribute(r,i))}c.linkMarkup.trim&&this.trimRange(),this.forceWrap(n)}},{key:"trimRange",value:function(){var e=this.range.toString(),t=e.search(/\S|$/),n=e.search(/\S[\s]+$/),r=-1===n?0:e.length-(n+1),i=Qt(L({root:this.range.commonAncestorContainer,startContainer:this.range.startContainer,startOffset:this.range.startOffset,whitespacesOnTheLeft:t}),2),o=i[0],a=i[1];this.range.setStart(o,a);var s=Qt(M({root:this.range.commonAncestorContainer,endContainer:this.range.endContainer,endOffset:this.range.endOffset,whitespacesOnTheRight:r}),2),u=s[0],c=s[1];this.range.setEnd(u,c)}},{key:"unlink",value:function(){this.removeFormatting(c.linkMarkup.name)}},{key:"toggleLink",value:function(e,t){var n=this.getTagsByName(c.linkMarkup.name);if(n.length>=1){var r=n[0];this.isExactSelection(r,"visible")?this.unlink():this.expandTo(r)}else this.link(e,t)}},{key:"highlightComment",value:function(e){var t=e.highlightId,n=e.textRange;sn.highlightRange(this.host,t,n.text,n.start,n.end,void 0,"comment")}},{key:"highlight",value:function(e){e.highlightId;var t=this.textBefore(),n=this.text(),r=sn.createMarkerNode('<span class="highlight-comment"></span>',this.win);r.setAttribute("data-match",n);var i={startIndex:t.length,endIndex:t.length+n.length,match:n,marker:r};Yt.highlightMatches(this.host,[i])}},{key:"toggle",value:function(e){st(this.host)||this.range.collapsed||(e=this.adoptElement(e),this.range=Ve(this.host,this.range,e),this.setVisibleSelection())}},{key:"toggleCustom",value:function(e){var t=e.tagName,n=e.attributes,r=e.trim,i=void 0!==r&&r,o=this.createElement(t,n);i&&this.trimRange(),this.toggle(o)}},{key:"makeCustom",value:function(e){var t=e.tagName,n=e.attributes,r=e.trim,i=void 0!==r&&r,o=this.createElement(t,n);i&&this.trimRange(),this.forceWrap(o)}},{key:"makeBold",value:function(){var e=this.createElement(c.boldMarkup.name,c.boldMarkup.attribs);c.boldMarkup.trim&&this.trimRange(),this.forceWrap(e)}},{key:"toggleBold",value:function(){var e=this.createElement(c.boldMarkup.name,c.boldMarkup.attribs);c.boldMarkup.trim&&this.trimRange(),this.toggle(e)}},{key:"giveEmphasis",value:function(){var e=this.createElement(c.italicMarkup.name,c.italicMarkup.attribs);c.italicMarkup.trim&&this.trimRange(),this.forceWrap(e)}},{key:"toggleEmphasis",value:function(){var e=this.createElement(c.italicMarkup.name,c.italicMarkup.attribs);c.italicMarkup.trim&&this.trimRange(),this.toggle(e)}},{key:"makeUnderline",value:function(){var e=this.createElement(c.underlineMarkup.name,c.underlineMarkup.attribs);c.underlineMarkup.trim&&this.trimRange(),this.forceWrap(e)}},{key:"toggleUnderline",value:function(){var e=this.createElement(c.underlineMarkup.name,c.underlineMarkup.attribs);c.underlineMarkup.trim&&this.trimRange(),this.toggle(e)}},{key:"insertCharacter",value:function(e){var t=this.deleteContent(),n=t.createTextNode(e);return t.insertBefore(n),t.setVisibleSelection(),t}},{key:"surround",value:function(e,t){this.range=Ye(this.host,this.range,e,t),this.setVisibleSelection()}},{key:"removeSurround",value:function(e,t){this.range=Je(this.host,this.range,e),this.range=Je(this.host,this.range,t),this.setVisibleSelection()}},{key:"removeChars",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=0;t<e.length;t++){var n=e[t];this.range=Je(this.host,this.range,n)}this.setVisibleSelection()}},{key:"toggleSurround",value:function(e,t){this.containsString(e)&&this.containsString(t)?this.removeSurround(e,t):this.surround(e,t)}},{key:"removeFormatting",value:function(e){this.range=Ke(this.host,this.range,e),this.setVisibleSelection()}},{key:"deleteExactSurroundingTags",value:function(){var e,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return un(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?un(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(this.getAncestorTags().reverse());try{for(n.s();!(e=n.n()).done;){var r=e.value;if(this.isExactSelection(r)){r.remove();break}}}catch(e){n.e(e)}finally{n.f()}return new t(this.host,this.range)}},{key:"deleteContainedTags",value:function(){return this.getContainedTags().forEach((function(e){return e.remove()})),new t(this.host,this.range)}},{key:"deleteContent",value:function(){return this.range.deleteContents(),new $t(this.host,this.range)}},{key:"expandTo",value:function(e){this.range=Pe(this.host,this.range,e),this.setVisibleSelection()}},{key:"collapseAtBeginning",value:function(e){return this.range.collapse(!0),this.setVisibleSelection(),new $t(this.host,this.range)}},{key:"collapseAtEnd",value:function(e){return this.range.collapse(!1),this.setVisibleSelection(),new $t(this.host,this.range)}},{key:"forceWrap",value:function(e){st(this.host)||this.range.collapsed||(e=this.adoptElement(e),this.range=qe(this.host,this.range,e),this.setVisibleSelection())}},{key:"isExactSelection",value:function(e,t){return He(this.range,e,t)}},{key:"containsString",value:function(e){return Ze(this.range,e)}},{key:"deleteCharacter",value:function(e){this.range=Je(this.host,this.range,e),this.setVisibleSelection()}}])}($t),fn=function(){function e(t,n){i(this,e),this.host=t&&t.jquery?t[0]:t,this.range=null==n?void 0:n.cloneRange(),this.isAnythingSelected=void 0!==n,this.isCursor=this.isAnythingSelected&&n.collapsed,this.isSelection=this.isAnythingSelected&&!this.isCursor}return u(e,[{key:"getCursor",value:function(){if(this.isCursor)return new $t(this.host,this.range)}},{key:"getSelection",value:function(){if(this.isSelection)return new ln(this.host,this.range)}},{key:"forceCursor",value:function(){return this.isSelection?this.getSelection().deleteContent():this.getCursor()}},{key:"isDifferentFrom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new e,n=this.range,r=t.range;return n&&r?!B(n,r):!(!n&&!r)}}])}(),hn=function(){return u((function e(t,n){i(this,e),this.dispatcher=t,this.win=n||window,this.selection=void 0,this.currentSelection=void 0,this.currentRange=void 0}),[{key:"syncSelection",value:function(){try{this.selection=E(this.win)}catch(e){return!1}return!0}},{key:"getRangeContainer",value:function(){var e,t=this.syncSelection();if(null!==(e=this.selection)&&void 0!==e&&e.rangeCount&&t){var n=this.selection.getRangeAt(0),r=D(n.commonAncestorContainer);if(r)return new fn(r,n)}return new fn}},{key:"getFreshRange",value:function(){return this.getRangeContainer()}},{key:"getFreshSelection",value:function(){var e=this.getRangeContainer();return e.isCursor?e.getCursor(this.win):e.getSelection(this.win)}},{key:"getSelection",value:function(){return this.currentSelection}},{key:"forceCursor",value:function(){return this.getRangeContainer().forceCursor()}},{key:"selectionChanged",value:function(){var e=this.getRangeContainer();if(e.isDifferentFrom(this.currentRange)){var t=this.currentSelection;this.currentRange=e,t&&(t.isCursor&&!this.currentRange.isCursor?this.dispatcher.notify("cursor",t.host):t.isSelection&&!this.currentRange.isSelection&&this.dispatcher.notify("selection",t.host)),this.currentRange.isCursor?(this.currentSelection=new $t(this.currentRange.host,this.currentRange.range),this.dispatcher.notify("cursor",this.currentSelection.host,this.currentSelection)):this.currentRange.isSelection?(this.currentSelection=new ln(this.currentRange.host,this.currentRange.range),this.dispatcher.notify("selection",this.currentSelection.host,this.currentSelection)):this.currentSelection=void 0}}}])}(),dn=function(){function e(t){i(this,e),qt(this),this.selectionWatcher=t}return u(e,[{key:"dispatchKeyEvent",value:function(e,t,n){switch(e.keyCode){case this.key.left:return this.notify(t,"left",e);case this.key.right:return this.notify(t,"right",e);case this.key.up:return this.notify(t,"up",e);case this.key.down:return this.notify(t,"down",e);case this.key.tab:return e.shiftKey?this.notify(t,"shiftTab",e):this.notify(t,"tab",e);case this.key.esc:return this.notify(t,"esc",e);case this.key.backspace:return this.preventContenteditableBug(t,e),this.notify(t,"backspace",e);case this.key.delete:return this.preventContenteditableBug(t,e),this.notify(t,"delete",e);case this.key.enter:return e.shiftKey?this.notify(t,"shiftEnter",e):this.notify(t,"enter",e);case this.key.ctrl:case this.key.shift:case this.key.alt:case 224:case 17:case 91:case 93:return;default:if(e.keyCode===this.key.b&&(e.ctrlKey||e.metaKey))return this.notify(t,"bold",e);if(e.keyCode===this.key.i&&(e.ctrlKey||e.metaKey))return this.notify(t,"italic",e);if(this.preventContenteditableBug(t,e),!n)return;if(!e.ctrlKey&&!e.metaKey)return this.notify(t,"character",e)}}},{key:"preventContenteditableBug",value:function(t,n){if(Wt&&!n.ctrlKey&&!n.metaKey){var r=this.selectionWatcher.getFreshRange();if(r.isSelection){var i=e.getNodeToRemove(r.range,t);i&&i.remove()}}}}],[{key:"getNodeToRemove",value:function(t,n){if(0===t.startOffset){var r=t.startContainer;if(r.nodeType===y&&(r=r.parentNode),r!==n){var i=A();if(i.setStartBefore(r.firstChild),i.setEndAfter(r.lastChild),a=t,!((o=i).compareBoundaryPoints(Range.START_TO_START,a)<=0&&o.compareBoundaryPoints(Range.END_TO_END,a)>=0)){var o,a;if(t.startContainer.nodeType===y){var s=[y,p],u=r.firstChild;do{if(-1!==s.indexOf(u.nodeType))break}while(u=u.nextSibling);if(u!==t.startContainer)return}var c=t.cloneRange();return c.setStartBefore(r),e.getNodeToRemove(c,n)||r}}}}}])}();dn.key=dn.prototype.key={left:37,up:38,right:39,down:40,tab:9,esc:27,backspace:8,delete:46,enter:13,shift:16,ctrl:17,alt:18,b:66,i:73};var gn=function(e){return Array.isArray(e)&&2===e.length},vn=function(e){return/^[«»"“”„]$/.test(e)},pn=function(e){return/^[‘’‹›‚']$/.test(e)},yn=function(e){return/^[’']$/.test(e)},mn=function(e){return/\s|[>\-–—]/.test(e)},bn=function(e,t,n){var r=null==e?void 0:e.startContainer,i=null==r?void 0:r.nodeValue;if(!i)return null;var o="".concat(i.substring(0,t)).concat(n).concat(i.substring(t+1)),a=document.createTextNode(o);return r.replaceWith(a),a};function kn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Cn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Cn(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Cn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var wn=function(){return u((function e(t){i(this,e);var n=t.win;qt(this,t),this.document=n.document,this.config=t.config,this.editable=t,this.editableSelector=t.editableSelector,this.selectionWatcher=new hn(this,n),this.keyboard=new dn(this.selectionWatcher),this.activeListeners=[],this.setup(),this.getEditableBlockByEvent=function(e){return S(e.target,t.editableSelector)}}),[{key:"setupDocumentListener",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r={event:e,listener:t.bind(this),capture:n};return this.activeListeners.push(r),this.document.addEventListener(e,r.listener,n),this}},{key:"setup",value:function(){this.setupKeyboardEvents(),this.setupEventListeners()}},{key:"unload",value:function(){this.off();var e,t=kn(this.activeListeners);try{for(t.s();!(e=t.n()).done;){var n=e.value;this.document.removeEventListener(n.event,n.listener,n.capture)}}catch(e){t.e(e)}finally{t.f()}this.activeListeners.length=0}},{key:"suspend",value:function(){if(!this.suspended){this.suspended=!0;var e,t=kn(this.activeListeners);try{for(t.s();!(e=t.n()).done;){var n=e.value;this.document.removeEventListener(n.event,n.listener,n.capture)}}catch(e){t.e(e)}finally{t.f()}this.activeListeners.length=0}}},{key:"continue",value:function(){this.suspended&&(this.suspended=!1,this.setupEventListeners())}},{key:"setupEventListeners",value:function(){this.setupElementListeners(),this.setupKeydownListener(),Vt?this.setupSelectionChangeListeners():this.setupSelectionChangeFallbackListeners()}},{key:"setupElementListeners",value:function(){var e={offset:void 0};this.setupDocumentListener("focus",(function(e){var t=this.getEditableBlockByEvent(e);t&&(e.target.getAttribute(c.pastingAttribute)||(this.selectionWatcher.syncSelection(),this.notify("focus",t)))}),!0).setupDocumentListener("blur",(function(e){var t=this.getEditableBlockByEvent(e);t&&(t.getAttribute(c.pastingAttribute)||this.notify("blur",t))}),!0).setupDocumentListener("copy",(function(e){var t=this.getEditableBlockByEvent(e);if(t){var n=this.selectionWatcher.getFreshSelection();n&&n.isSelection&&this.notify("clipboard",t,"copy",n)}})).setupDocumentListener("cut",(function(e){var t=this.getEditableBlockByEvent(e);if(t){var n=this.selectionWatcher.getFreshSelection();n&&n.isSelection&&this.notify("clipboard",t,"cut",n)}})).setupDocumentListener("paste",(function(e){var t=this.getEditableBlockByEvent(e);if(t){e.preventDefault();var n,r=this.selectionWatcher.getFreshSelection(),i=e.clipboardData.getData("text/html")||e.clipboardData.getData("text/plain"),o=It(t,r,i),a=o.blocks,s=o.cursor;a.length?(n=e.target.innerText,/\S+\s{1}$/.test(n)&&s.retainVisibleSelection((function(){t.innerHTML=function(e,t){if(!e)return"";var n=(e="".concat(e)).lastIndexOf(t);return-1===n?e:"".concat(e.slice(0,n)).concat(" ").concat(e.slice(n+6))}(t.innerHTML," ")})),this.notify("paste",t,a,s),this.notify("change",t)):s.setVisibleSelection()}})).setupDocumentListener("input",(function(t){var n=this.getEditableBlockByEvent(t);if(n){if(function(e,t){var n=e.smartQuotes,r=e.quotes,i=e.singleQuotes;return!!n&&gn(r)&&gn(i)&&t.isContentEditable}(c,t.target)){var r,i=this.selectionWatcher.getFreshSelection();e.offset=null===(r=i.range)||void 0===r?void 0:r.startOffset,setTimeout((function(){!function(e,t,n,r,i){var o=pn(n);if(vn(n)||o){var a=t.quotes,s=t.singleQuotes;if(n!==a[0]&&n!==a[1]&&n!==s[0]&&n!==s[1]){var u,c,l,f=e.startOffset,h=ft(e.startContainer.textContent);if(o&&(c=h)[l=f-2]&&vn(c[l]))u=bn(e,f-1,s[0]);else if(function(e,t){return!!e[t]&&!mn(e[t])}(h,f-2)){if(o){if(function(e,t){return!!e[t]&&(n=e[t],!/^\s$/.test(n));var n}(h,f))return;if(!function(e,t,n){if(t<=0)return!1;for(var r=t-1;r>=0;r--)if(pn(e[r])&&!yn(n)&&!yn(e[r]))return e[r]===n;return!1}(h,f,s[0]))return}var d=o?s[1]:a[1];u=bn(e,f-1,d)}else if(function(e,t){return t<0||mn(e[t])}(h,f-2)){var g=o?s[0]:a[0];u=bn(e,f-1,g)}u&&r.ownerDocument.defaultView.getSelection().collapse(u,null!=i?i:f)}}}(i.range,c,t.data,t.target,e.offset)}),300)}this.notify("change",n)}})).setupDocumentListener("formatEditable",(function(e){var t=this.getEditableBlockByEvent(e);t&&this.notify("change",t)}))}},{key:"dispatchSwitchEvent",value:function(e,t,n){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)){var r=this.selectionWatcher.getFreshSelection();r&&!r.isSelection&&(this.switchContext?this.switchContext.events=["cursor"]:this.switchContext={positionX:r.getBoundingClientRect().left,events:["cursor"]},"up"===n&&r.isAtFirstLine()&&(e.preventDefault(),e.stopPropagation(),this.switchContext.events=["switch","blur","focus","cursor"],this.notify("switch",t,n,r)),"down"===n&&r.isAtLastLine()&&(e.preventDefault(),e.stopPropagation(),this.switchContext.events=["switch","blur","focus","cursor"],this.notify("switch",t,n,r)))}}},{key:"setupKeydownListener",value:function(){this.setupDocumentListener("keydown",(function(e){var t=this.getEditableBlockByEvent(e);t&&this.keyboard.dispatchKeyEvent(e,t,!1)}),!0)}},{key:"setupKeyboardEvents",value:function(){var e=this;this.keyboard.on("up",(function(t){e.dispatchSwitchEvent(t,this,"up")})).on("down",(function(t){e.dispatchSwitchEvent(t,this,"down")})).on("backspace",(function(t){var n=e.selectionWatcher.getFreshRange();if(n.isCursor){var r=n.getCursor();r.isAtBeginning()&&(t.preventDefault(),t.stopPropagation(),e.notify("merge",this,"before",r))}})).on("delete",(function(t){var n=e.selectionWatcher.getFreshRange();if(n.isCursor){var r=n.getCursor();r.isAtTextEnd()&&(t.preventDefault(),t.stopPropagation(),e.notify("merge",this,"after",r))}})).on("enter",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.getFreshRange().forceCursor();n.isAtTextEnd()?e.notify("insert",this,"after",n):n.isAtBeginning()?e.notify("insert",this,"before",n):e.notify("split",this,n.before(),n.after(),n)})).on("shiftEnter",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.forceCursor();e.notify("newline",this,n)})).on("bold",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.getFreshSelection();n.isSelection&&e.notify("toggleBold",n)})).on("italic",(function(t){t.preventDefault(),t.stopPropagation();var n=e.selectionWatcher.getFreshSelection();n.isSelection&&e.notify("toggleEmphasis",n)})).on("character",(function(t){e.notify("change",this)}))}},{key:"setupSelectionChangeListeners",value:function(){var e=this,t=!1,n=!1,r=this.selectionWatcher;this.setupDocumentListener("selectionchange",(function(i){var o=e.selectionWatcher.getFreshSelection();o&&o.isSelection&&o.isAtBeginning()&&o.isAtEnd()?e.notify("selectToBoundary",o.host,i,"both"):o&&o.isSelection&&o.isAtBeginning()?e.notify("selectToBoundary",o.host,i,"start"):o&&o.isSelection&&o.isAtEnd()&&e.notify("selectToBoundary",o.host,i,"end"),n?t=!0:r.selectionChanged()})),this.setupDocumentListener("mousedown",(function(e){this.getEditableBlockByEvent(e)&&(!1===this.config.mouseMoveSelectionChanges&&(n=!0,setTimeout((function(){return r.selectionChanged()}),0)),this.document.addEventListener("mouseup",(function(){n=!1,t&&(t=!1,r.selectionChanged())}),{capture:!0,once:!0}))}))}},{key:"setupSelectionChangeFallbackListeners",value:function(){var e=this;this.setupDocumentListener("mouseup",(function(){setTimeout((function(){return e.selectionWatcher.selectionChanged()}),0)})),this.setupDocumentListener("keyup",(function(t){e.getEditableBlockByEvent(t)&&e.selectionWatcher.selectionChanged()}))}}])}();const Sn=function(e,t){return e===t||e!=e&&t!=t},An=function(e,t){for(var n=e.length;n--;)if(Sn(e[n][0],t))return n;return-1};var En=Array.prototype.splice;function Tn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Tn.prototype.clear=function(){this.__data__=[],this.size=0},Tn.prototype.delete=function(e){var t=this.__data__,n=An(t,e);return!(n<0||(n==t.length-1?t.pop():En.call(t,n,1),--this.size,0))},Tn.prototype.get=function(e){var t=this.__data__,n=An(t,e);return n<0?void 0:t[n][1]},Tn.prototype.has=function(e){return An(this.__data__,e)>-1},Tn.prototype.set=function(e,t){var n=this.__data__,r=An(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};const xn=Tn,Nn="object"==typeof global&&global&&global.Object===Object&&global;var On="object"==typeof self&&self&&self.Object===Object&&self;const _n=Nn||On||Function("return this")(),Rn=_n.Symbol;var jn=Object.prototype,Bn=jn.hasOwnProperty,Ln=jn.toString,Mn=Rn?Rn.toStringTag:void 0;var In=Object.prototype.toString;var Dn=Rn?Rn.toStringTag:void 0;const Fn=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Dn&&Dn in Object(e)?function(e){var t=Bn.call(e,Mn),n=e[Mn];try{e[Mn]=void 0;var r=!0}catch(e){}var i=Ln.call(e);return r&&(t?e[Mn]=n:delete e[Mn]),i}(e):function(e){return In.call(e)}(e)},Hn=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Pn=function(e){if(!Hn(e))return!1;var t=Fn(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},Vn=_n["__core-js_shared__"];var Wn,qn=(Wn=/[^.]+$/.exec(Vn&&Vn.keys&&Vn.keys.IE_PROTO||""))?"Symbol(src)_1."+Wn:"";var Un=Function.prototype.toString;var $n=/^\[object .+?Constructor\]$/,zn=Function.prototype,Kn=Object.prototype,Qn=zn.toString,Xn=Kn.hasOwnProperty,Gn=RegExp("^"+Qn.call(Xn).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Yn=function(e){return!(!Hn(e)||(t=e,qn&&qn in t))&&(Pn(e)?Gn:$n).test(function(e){if(null!=e){try{return Un.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t},Jn=function(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Yn(n)?n:void 0},Zn=Jn(_n,"Map"),er=Jn(Object,"create");var tr=Object.prototype.hasOwnProperty;var nr=Object.prototype.hasOwnProperty;function rr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}rr.prototype.clear=function(){this.__data__=er?er(null):{},this.size=0},rr.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},rr.prototype.get=function(e){var t=this.__data__;if(er){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return tr.call(t,e)?t[e]:void 0},rr.prototype.has=function(e){var t=this.__data__;return er?void 0!==t[e]:nr.call(t,e)},rr.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=er&&void 0===t?"__lodash_hash_undefined__":t,this};const ir=rr,or=function(e,t){var n,r,i=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map};function ar(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}ar.prototype.clear=function(){this.size=0,this.__data__={hash:new ir,map:new(Zn||xn),string:new ir}},ar.prototype.delete=function(e){var t=or(this,e).delete(e);return this.size-=t?1:0,t},ar.prototype.get=function(e){return or(this,e).get(e)},ar.prototype.has=function(e){return or(this,e).has(e)},ar.prototype.set=function(e,t){var n=or(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};const sr=ar;function ur(e){var t=this.__data__=new xn(e);this.size=t.size}ur.prototype.clear=function(){this.__data__=new xn,this.size=0},ur.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ur.prototype.get=function(e){return this.__data__.get(e)},ur.prototype.has=function(e){return this.__data__.has(e)},ur.prototype.set=function(e,t){var n=this.__data__;if(n instanceof xn){var r=n.__data__;if(!Zn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new sr(r)}return n.set(e,t),this.size=n.size,this};const cr=ur,lr=function(){try{var e=Jn(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),fr=function(e,t,n){"__proto__"==t&&lr?lr(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n},hr=function(e,t,n){(void 0!==n&&!Sn(e[t],n)||void 0===n&&!(t in e))&&fr(e,t,n)},dr=function(e,t,n){for(var r=-1,i=Object(e),o=n(e),a=o.length;a--;){var s=o[++r];if(!1===t(i[s],s,i))break}return e};var gr="object"==typeof exports&&exports&&!exports.nodeType&&exports,vr=gr&&"object"==typeof module&&module&&!module.nodeType&&module,pr=vr&&vr.exports===gr?_n.Buffer:void 0,yr=pr?pr.allocUnsafe:void 0;const mr=_n.Uint8Array,br=function(e,t){var n,r,i=t?(n=e.buffer,r=new n.constructor(n.byteLength),new mr(r).set(new mr(n)),r):e.buffer;return new e.constructor(i,e.byteOffset,e.length)};var kr=Object.create;const Cr=function(){function e(){}return function(t){if(!Hn(t))return{};if(kr)return kr(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),wr=(Sr=Object.getPrototypeOf,Ar=Object,function(e){return Sr(Ar(e))});var Sr,Ar,Er=Object.prototype;const Tr=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Er)},xr=function(e){return null!=e&&"object"==typeof e},Nr=function(e){return xr(e)&&"[object Arguments]"==Fn(e)};var Or=Object.prototype,_r=Or.hasOwnProperty,Rr=Or.propertyIsEnumerable;const jr=Nr(function(){return arguments}())?Nr:function(e){return xr(e)&&_r.call(e,"callee")&&!Rr.call(e,"callee")},Br=Array.isArray,Lr=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},Mr=function(e){return null!=e&&Lr(e.length)&&!Pn(e)};var Ir="object"==typeof exports&&exports&&!exports.nodeType&&exports,Dr=Ir&&"object"==typeof module&&module&&!module.nodeType&&module,Fr=Dr&&Dr.exports===Ir?_n.Buffer:void 0;const Hr=(Fr?Fr.isBuffer:void 0)||function(){return!1};var Pr=Function.prototype,Vr=Object.prototype,Wr=Pr.toString,qr=Vr.hasOwnProperty,Ur=Wr.call(Object);var $r={};$r["[object Float32Array]"]=$r["[object Float64Array]"]=$r["[object Int8Array]"]=$r["[object Int16Array]"]=$r["[object Int32Array]"]=$r["[object Uint8Array]"]=$r["[object Uint8ClampedArray]"]=$r["[object Uint16Array]"]=$r["[object Uint32Array]"]=!0,$r["[object Arguments]"]=$r["[object Array]"]=$r["[object ArrayBuffer]"]=$r["[object Boolean]"]=$r["[object DataView]"]=$r["[object Date]"]=$r["[object Error]"]=$r["[object Function]"]=$r["[object Map]"]=$r["[object Number]"]=$r["[object Object]"]=$r["[object RegExp]"]=$r["[object Set]"]=$r["[object String]"]=$r["[object WeakMap]"]=!1;var zr="object"==typeof exports&&exports&&!exports.nodeType&&exports,Kr=zr&&"object"==typeof module&&module&&!module.nodeType&&module,Qr=Kr&&Kr.exports===zr&&Nn.process,Xr=function(){try{return Kr&&Kr.require&&Kr.require("util").types||Qr&&Qr.binding&&Qr.binding("util")}catch(e){}}(),Gr=Xr&&Xr.isTypedArray;const Yr=Gr?function(e){return function(t){return e(t)}}(Gr):function(e){return xr(e)&&Lr(e.length)&&!!$r[Fn(e)]},Jr=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var Zr=Object.prototype.hasOwnProperty;const ei=function(e,t,n){var r=e[t];Zr.call(e,t)&&Sn(r,n)&&(void 0!==n||t in e)||fr(e,t,n)};var ti=/^(?:0|[1-9]\d*)$/;const ni=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&ti.test(e))&&e>-1&&e%1==0&&e<t};var ri=Object.prototype.hasOwnProperty;const ii=function(e,t){var n=Br(e),r=!n&&jr(e),i=!n&&!r&&Hr(e),o=!n&&!r&&!i&&Yr(e),a=n||r||i||o,s=a?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],u=s.length;for(var c in e)!t&&!ri.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ni(c,u))||s.push(c);return s};var oi=Object.prototype.hasOwnProperty;const ai=function(e){if(!Hn(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=Tr(e),n=[];for(var r in e)("constructor"!=r||!t&&oi.call(e,r))&&n.push(r);return n},si=function(e){return Mr(e)?ii(e,!0):ai(e)},ui=function(e){return function(e,t,n,r){var i=!n;n||(n={});for(var o=-1,a=t.length;++o<a;){var s=t[o],u=r?r(n[s],e[s],s,n,e):void 0;void 0===u&&(u=e[s]),i?fr(n,s,u):ei(n,s,u)}return n}(e,si(e))},ci=function(e,t,n,r,i,o,a){var s,u=Jr(e,n),c=Jr(t,n),l=a.get(c);if(l)hr(e,n,l);else{var f=o?o(u,c,n+"",e,t,a):void 0,h=void 0===f;if(h){var d=Br(c),g=!d&&Hr(c),v=!d&&!g&&Yr(c);f=c,d||g||v?Br(u)?f=u:xr(s=u)&&Mr(s)?f=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(u):g?(h=!1,f=function(e,t){if(t)return e.slice();var n=e.length,r=yr?yr(n):new e.constructor(n);return e.copy(r),r}(c,!0)):v?(h=!1,f=br(c,!0)):f=[]:function(e){if(!xr(e)||"[object Object]"!=Fn(e))return!1;var t=wr(e);if(null===t)return!0;var n=qr.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Wr.call(n)==Ur}(c)||jr(c)?(f=u,jr(u)?f=ui(u):Hn(u)&&!Pn(u)||(f=function(e){return"function"!=typeof e.constructor||Tr(e)?{}:Cr(wr(e))}(c))):h=!1}h&&(a.set(c,f),i(f,c,r,o,a),a.delete(c)),hr(e,n,f)}},li=function e(t,n,r,i,o){t!==n&&dr(n,(function(a,s){if(o||(o=new cr),Hn(a))ci(t,n,s,r,e,i,o);else{var u=i?i(Jr(t,s),a,s+"",t,n,o):void 0;void 0===u&&(u=a),hr(t,s,u)}}),si)},fi=function(e){return e};var hi=Math.max;const di=lr?function(e,t){return lr(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:fi;var gi=Date.now;const vi=function(e){var t=0,n=0;return function(){var r=gi(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(di),pi=function(e,t){return vi(function(e,t,n){return t=hi(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=hi(r.length-t,0),a=Array(o);++i<o;)a[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(a),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,s)}}(e,t,fi),e+"")},yi=(mi=function(e,t,n){li(e,t,n)},pi((function(e,t){var n=-1,r=t.length,i=r>1?t[r-1]:void 0,o=r>2?t[2]:void 0;for(i=mi.length>3&&"function"==typeof i?(r--,i):void 0,o&&function(e,t,n){if(!Hn(n))return!1;var r=typeof t;return!!("number"==r?Mr(n)&&ni(t,n.length):"string"==r&&t in n)&&Sn(n[t],e)}(t[0],t[1],o)&&(i=r<3?void 0:i,r=1),e=Object(e);++n<r;){var a=t[n];a&&mi(e,a,n)}return e})));var mi,bi=function(){return u((function e(t){i(this,e),this.spellcheckService=t}),[{key:"check",value:function(e,t){if(!e)return t(null);var n=ke(e);this.spellcheckService(n,(function(e){return e&&e.length>0?t(null,e):t(null)}))}}])}(),ki={A0:"no-break space",2e3:"en quad",2001:"em quad",2002:"en space",2003:"em space",2004:"three-per-em space",2005:"four-per-em space",2006:"six-per-em space",2007:"figure space",2008:"punctuation space",2009:"thin space","200A":"hair space","202F":"narrow no-break space","205F":"medium mathematical space",3e3:"ideographic space"},Ci=new RegExp("[".concat("\\u2000-\\u200A\\u202F\\u205F\\u3000","]"),"g"),wi=function(){return u((function e(t){i(this,e),this.marker=t}),[{key:"findMatches",value:function(e){var t=this;if(e)return ft(e.matchAll(Ci)).map((function(e){return t.prepareMatch(e)}))}},{key:"prepareMatch",value:function(e){var t,n=e.index,r=(t=e[0].charCodeAt(0),"".concat(t.toString(16).toUpperCase())),i=ki[r];return{startIndex:n,endIndex:n+e.length,match:e[0],title:"".concat(i," (\\u").concat(r,")"),marker:this.marker}}}])}(),Si=function(){return u((function e(){i(this,e),this.matches=[]}),[{key:"addMatches",value:function(e){null!=e&&e.length&&(this.matches=function(e,t){for(var n,r=e.length,i=t.length,o=-1,a=[],s={a1:e,i1:0,a2:t,i2:0};s.i1<r||s.i2<i;)(n=Ai(s)).startIndex>=o&&a.push(n),o=n.endIndex;return a}(this.matches,e))}}])}();function Ai(e){var t=e.i1,n=e.i2,r=e.a1[t],i=e.a2[n];return r&&i&&r.startIndex<i.startIndex?(e.i1=t+1,r):r&&i?(e.i2=n+1,i):r?(e.i1=t+1,r):i?(e.i2=n+1,i):void 0}function Ei(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ti(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ti(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ti(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var xi=function(){return u((function e(t,n,r){i(this,e),this.editable=t,this.win=t.win,this.focusedEditableHost=void 0,this.currentlyCheckedEditableHost=void 0,this.timeout={},this.config=yi({},{checkOnInit:!1,checkOnFocus:!1,checkOnChange:!0,throttle:1e3,removeOnCorrection:!0,spellcheck:{marker:'<span class="highlight-spellcheck"></span>',throttle:1e3,spellcheckService:function(){}},whitespace:{marker:'<span class="highlight-whitespace"></span>'}},n);var o=this.config.spellcheck.spellcheckService,a=this.config.spellcheck.marker,s=this.config.whitespace.marker,u=sn.createMarkerNode(s,"whitespace",this.win);this.spellcheckMarkerNode=sn.createMarkerNode(a,"spellcheck",this.win),this.spellcheckService=new bi(o),this.whitespace=new wi(u),this.setupListeners()}),[{key:"setupListeners",value:function(){var e=this;this.config.checkOnFocus&&(this.editable.on("focus",(function(){return e.onFocus.apply(e,arguments)})),this.editable.on("blur",(function(){return e.onBlur.apply(e,arguments)}))),(this.config.checkOnChange||this.config.removeOnCorrection)&&this.editable.on("change",(function(){return e.onChange.apply(e,arguments)})),this.config.checkOnInit&&this.editable.on("init",(function(){return e.onInit.apply(e,arguments)}))}},{key:"onInit",value:function(e){this.highlight(e)}},{key:"onFocus",value:function(e){this.focusedEditableHost!==e&&(this.focusedEditableHost=e,this.editableHasChanged(e))}},{key:"onBlur",value:function(e){this.focusedEditableHost===e&&(this.focusedEditableHost=void 0)}},{key:"onChange",value:function(e){this.config.checkOnChange&&this.editableHasChanged(e,this.config.throttle),this.config.removeOnCorrection&&this.removeHighlightsAtCursor(e)}},{key:"editableHasChanged",value:function(e,t){var n=this;this.timeout.id&&this.timeout.editableHost===e&&clearTimeout(this.timeout.id);var r=setTimeout((function(){n.highlight(e),n.timeout={}}),t||0);this.timeout={id:r,editableHost:e}}},{key:"highlight",value:function(e){var t=this,n=Yt.extractText(e);this.spellcheckService.check(n,(function(n,r){if(!n&&e.isConnected){var i=Yt.extractText(e),o=new Si,a=function(e,t,n){return Jt(e,t,"word",n)}(i,r,t.spellcheckMarkerNode);o.addMatches(a),a=t.whitespace.findMatches(i),o.addMatches(a),t.safeHighlightMatches(e,o.matches)}}))}},{key:"safeHighlightMatches",value:function(e,t){var n=this,r=this.editable.getSelection(e);r?r.retainVisibleSelection((function(){n.highlightMatches(e,t)})):this.highlightMatches(e,t),this.editable.dispatcher&&this.editable.dispatcher.notify("spellcheckUpdated",e)}},{key:"highlightMatches",value:function(e,t){this.removeHighlights(e),t&&t.length>0&&Yt.highlightMatches(e,t)}},{key:"removeHighlights",value:function(e){e=C(e,this.win.document);var t,n=Ei(k('[data-highlight="spellcheck"], [data-highlight="whitespace"]',e));try{for(n.s();!(t=n.n()).done;)$e(t.value)}catch(e){n.e(e)}finally{n.f()}}},{key:"removeHighlightsAtCursor",value:function(e){e=C(e,this.win.document);var t=this.editable.getSelection(e);if(t&&t.isCursor){var n,r=t.range.startContainer;r.nodeType===y&&(r=r.parentNode);do{if(r===e)return;var i=r.getAttribute("data-highlight");if("spellcheck"===i||"whitespace"===i){n=r.getAttribute("data-word-id");break}}while(r=r.parentNode);n&&t.retainVisibleSelection((function(){var t,r=Ei(k('[data-word-id="'.concat(n,'"]'),e));try{for(r.s();!(t=r.n()).done;)$e(t.value)}catch(e){r.e(e)}finally{r.f()}}))}}}])}();function Ni(){if(!1!==c.log&&e.g.console){var t=1===arguments.length?arguments[0]:Array.from(arguments);return 1!==arguments.length&&"trace"===t[t.length-1]&&(t.pop(),console.trace&&console.trace()),console.log(t)}}function Oi(e){return ft(new b(e,"getNextTextNode"))}function _i(e){for(var t,n=e.textNodes,r=e.absOffset,i=0,o=0,a=0;a<n.length;a++){var s=n[a];if(r<=i+s.textContent.length){t=s,o=r-i;break}i+=s.textContent.length}return{node:t,relativeOffset:o}}function Ri(e){e.rightLimit=e.currentOffset,e.currentOffset=Math.floor((e.currentOffset+e.leftLimit)/2)}function ji(e){e.leftLimit=e.currentOffset,e.currentOffset=Math.ceil((e.currentOffset+e.rightLimit)/2)}function Bi(e){var t=_i({textNodes:e.textNodes,absOffset:e.offset}),n=t.node,r=t.relativeOffset,i=n.ownerDocument.createRange();return i.setStart(n,r),i.collapse(!0),i}function Li(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Mi(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mi(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Mi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var Ii=function(){return u((function e(t){i(this,e);var n,r={window,defaultBehavior:!0,mouseMoveSelectionChanges:!1,browserSpellcheck:!0};this.config=Object.assign(r,t),this.win=this.config.window,this.editableSelector=".".concat(c.editableClass),this.dispatcher=new wn(this),!0===this.config.defaultBehavior&&this.dispatcher.on((n=function(e){var t=e.win.document;return{focus:function(e){H(e)&&e.appendChild(t.createTextNode("\ufeff"))},blur:function(e){t.activeElement!==e&&Ce(e)},selection:function(e,t){Ni(t?"Default selection behavior":"Default selection empty behavior")},cursor:function(e,t){Ni(t?"Default cursor behavior":"Default cursor empty behavior")},newline:function(e,n){if(n.isAtTextEnd()){var r,i=t.createElement("br");n.insertBefore(i),(null===(r=i.nextSibling)||void 0===r?void 0:r.nodeType)===y&&"\ufeff"===i.nextSibling.textContent[0]||n.insertAfter(t.createTextNode("\ufeff"))}else n.insertBefore(t.createElement("br"));n.setVisibleSelection()},insert:function(e,t,n){var r=e.parentNode,i=e.cloneNode(!1);switch(i.id&&i.removeAttribute("id"),t){case"before":r.insertBefore(i,e),e.focus();break;case"after":r.insertBefore(i,e.nextSibling),i.focus()}},split:function(e,t,n,r){var i=e.cloneNode(!1);for(i.appendChild(t),e.parentNode.insertBefore(i,e);e.firstChild;)e.removeChild(e.firstChild);e.appendChild(n),me(i),me(e),e.focus()},merge:function(t,n,r){var i,o;switch(n){case"before":i=ot(t),o=t;break;case"after":i=t,o=it(t)}i&&o&&(r=i.childNodes.length>0?e.appendTo(i,o.innerHTML):e.prependTo(i,o.innerHTML),o.remove(),r.save(),me(i),r.restore(),r.setVisibleSelection())},empty:function(e){Ni("Default empty behavior")},switch:function(e,t,n){switch(t){case"before":var r=ot(e);r&&(n.moveAtTextEnd(r),n.setVisibleSelection());break;case"after":var i=it(e);i&&(n.moveAtBeginning(i),n.setVisibleSelection())}},move:function(e,t,n){Ni("Default move behavior")},paste:function(t,n,r){if(0!==n.length){if(r.insertBefore(n.shift()),0===n.length)return r.setVisibleSelection();var i=t.parentNode,o=t;n.forEach((function(e){var n=t.cloneNode(!1);n.id&&n.removeAttribute("id");var r=Ae(e);n.appendChild(r),i.insertBefore(n,o.nextSibling),o=n})),e.createCursorAtEnd(o).setVisibleSelection()}},clipboard:function(e,t,n){Ni("Default clipboard behavior")},toggleBold:function(e){e.toggleBold()},toggleEmphasis:function(e){e.toggleEmphasis()}}}(this),{focus:function(e){n.focus(e)},blur:function(e){n.blur(e)},flow:function(e,t){n.flow(e,t)},selection:function(e,t){n.selection(e,t)},cursor:function(e,t){n.cursor(e,t)},newline:function(e,t){n.newline(e,t)},split:function(e,t,r,i){n.split(e,t,r,i)},insert:function(e,t,r){n.insert(e,t,r)},merge:function(e,t,r){n.merge(e,t,r)},empty:function(e){n.empty(e)},switch:function(e,t,r){n.switch(e,t,r)},move:function(e,t,r){n.move(e,t,r)},clipboard:function(e,t,r){n.clipboard(e,t,r)},paste:function(e,t,r){n.paste(e,t,r)},toggleBold:function(e){n.toggleBold(e)},toggleEmphasis:function(e){n.toggleEmphasis(e)}}))}),[{key:"add",value:function(e,t){return this.enable(e,t),this}},{key:"remove",value:function(e){var t=k(e,this.win.document);this.disable(t);var n,r=Li(t);try{for(r.s();!(n=r.n()).done;)n.value.classList.remove(c.editableDisabledClass)}catch(e){r.e(e)}finally{r.f()}return this}},{key:"disable",value:function(e){var t,n,r=Li(k(e||".".concat(c.editableClass),this.win.document));try{for(r.s();!(t=r.n()).done;)(n=t.value).removeAttribute("contenteditable"),n.removeAttribute("spellcheck"),n.removeAttribute("data-plaintext"),function(e){if(e.hasAttribute("data-editable")){var t=e.getAttribute("data-editable");rt[t]=void 0}}(n),n.classList.remove(c.editableClass),n.classList.add(c.editableDisabledClass)}catch(e){r.e(e)}finally{r.f()}return this}},{key:"enable",value:function(e,t){var n,r=null!=t?t:{},i=r.normalize,o=void 0===i?"boolean"==typeof t&&t:i,a=r.plainText,s=void 0!==a&&a,u=this.config.browserSpellcheck,l=Li(k(e||".".concat(c.editableDisabledClass),this.win.document));try{for(l.s();!(n=l.n()).done;){var f=n.value;at(f,{normalize:o,plainText:s,shouldSpellcheck:u}),this.dispatcher.notify("init",f)}}catch(e){l.e(e)}finally{l.f()}return this}},{key:"suspend",value:function(e){var t,n=Li(k(e||".".concat(c.editableClass),this.win.document));try{for(n.s();!(t=n.n()).done;)t.value.removeAttribute("contenteditable")}catch(e){n.e(e)}finally{n.f()}return this.dispatcher.suspend(),this}},{key:"continue",value:function(e){var t,n=Li(k(e||".".concat(c.editableClass),this.win.document));try{for(n.s();!(t=n.n()).done;)t.value.setAttribute("contenteditable",!0)}catch(e){n.e(e)}finally{n.f()}return this.dispatcher.continue(),this}},{key:"createCursor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"beginning",n=$t.findHost(e,this.editableSelector);if(n){var r=A();return"beginning"===t||"end"===t?(r.selectNodeContents(e),r.collapse("beginning"===t)):e!==n?"before"===t?(r.setStartBefore(e),r.setEndBefore(e)):"after"===t&&(r.setStartAfter(e),r.setEndAfter(e)):l("EditableJS: cannot create cursor outside of an editable block."),new $t(n,r)}}},{key:"createCursorAtCharacterOffset",value:function(e){var t=e.element,n=e.offset,r=_i({textNodes:Oi(t),absOffset:n}),i=r.node,o=r.relativeOffset,a=A();a.setStart(i,o),a.collapse(!0);var s=$t.findHost(t,this.editableSelector),u=new $t(s,a);return u.setVisibleSelection(),u}},{key:"createCursorAtBeginning",value:function(e){return this.createCursor(e,"beginning")}},{key:"createCursorAtEnd",value:function(e){return this.createCursor(e,"end")}},{key:"createCursorBefore",value:function(e){return this.createCursor(e,"before")}},{key:"createCursorAfter",value:function(e){return this.createCursor(e,"after")}},{key:"getContent",value:function(e){return we(e)}},{key:"appendTo",value:function(e,t){var n=Ee(e,this.win.document),r=this.createCursor(n,"end");return r.insertAfter("string"==typeof t?Ae(t):t),r}},{key:"prependTo",value:function(e,t){var n=Ee(e,this.win.document),r=this.createCursor(n,"beginning");return r.insertBefore("string"==typeof t?Ae(t):t),r}},{key:"getSelection",value:function(e){var t=this.dispatcher.selectionWatcher.getFreshSelection();if(!e||!t)return t;var n=t.range;return null!=e&&e.isConnected&&function(e,t){var n=document.createRange();n.selectNodeContents(e);var r=t.compareBoundaryPoints(Range.START_TO_START,n),i=t.compareBoundaryPoints(Range.END_TO_END,n);return r>=0&&i<=0}(e,n)?t:void 0}},{key:"setupHighlighting",value:function(e){return this.highlighting=new xi(this,e),this}},{key:"setupSpellcheck",value:function(e){var t,n=this;e.markerNode&&(t=e.markerNode.outerHTML),this.setupHighlighting({throttle:e.throttle,spellcheck:{marker:t,spellcheckService:e.spellcheckService}}),this.spellcheck={checkSpelling:function(e){n.highlighting.highlight(e)}}}},{key:"highlight",value:function(e){var t=e.editableHost,n=e.text,r=e.highlightId,i=e.textRange,o=e.raiseEvents,a=e.type,s=void 0===a?"comment":a;return i?"number"!=typeof i.start||"number"!=typeof i.end?(l("Error in Editable.highlight: You passed a textRange object with invalid keys. Expected shape: { start: Number, end: Number }"),-1):i.start===i.end?(l("Error in Editable.highlight: You passed a textRange object with equal start and end offsets, which is considered a cursor and therefore unfit to create a highlight."),-1):sn.highlightRange(t,n,r,i.start,i.end,o?this.dispatcher:void 0,s):sn.highlightText(t,n,r,s,o?this.dispatcher:void 0)}},{key:"getHighlightPositions",value:function(e){var t=e.editableHost,n=e.type;return sn.extractHighlightedRanges(t,n)}},{key:"removeHighlight",value:function(e){var t=e.editableHost,n=e.highlightId,r=e.raiseEvents;sn.removeHighlight(t,n,r?this.dispatcher:void 0)}},{key:"decorateHighlight",value:function(e){var t=e.editableHost,n=e.highlightId,r=e.addCssClass,i=e.removeCssClass;sn.updateHighlight(t,n,r,i)}},{key:"on",value:function(e,t){return this.dispatcher.on(e,t),this}},{key:"off",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.dispatcher.off.apply(this.dispatcher,t),this}},{key:"unload",value:function(){return this.dispatcher.unload(),this}},{key:"findClosestCursorOffset",value:function(e){var t=e.element,n=e.origCoordinates,r=e.requiredOnFirstLine,i=void 0!==r&&r,o=e.requiredOnLastLine;return function(e){var t=e.host,n=e.requiredOnFirstLine,r=e.requiredOnLastLine,i=e.positionX,o=t.ownerDocument.createRange();o.selectNodeContents(t);var a=o.getBoundingClientRect(),s=Oi(t).reduce((function(e,t){return e+t.textContent.length}),0),u=Oi(t);if(0===s)return{wasFound:!1};for(var c,l={currentOffset:Math.floor(s/2),leftLimit:0,rightLimit:s},f=l.currentOffset,h=20;l.leftLimit<l.rightLimit&&h>0;){h=h-=1,f=l.currentOffset;var d=Bi({textNodes:u,offset:l.currentOffset}).getBoundingClientRect();c=Math.abs(d.left-i),n&&a.top!==d.top?Ri(l):r&&a.bottom!==d.bottom?ji(l):i<d.left?Ri(l):ji(l)}var g=Bi({textNodes:u,offset:l.currentOffset}).getBoundingClientRect(),v=Math.abs(g.left-i);return v<c&&(c=v,f=l.currentOffset),{distance:c,offset:f,wasFound:!0}}({host:t,requiredOnFirstLine:i,requiredOnLastLine:void 0!==o&&o,positionX:this.dispatcher.switchContext?this.dispatcher.switchContext.positionX:n.left})}}],[{key:"getGlobalConfig",value:function(){return c}},{key:"globalConfig",value:function(e){Object.assign(c,e),Mt(c)}}])}();return Ii.parser=n,Ii.content=r,["focus","blur","flow","selection","cursor","newline","insert","split","merge","empty","change","switch","move","clipboard","paste","spellcheckUpdated","selectToBoundary"].forEach((function(e){Ii.prototype[e]=function(t){return this.on(e,t)}})),t.Editable})()));
|
|
2
2
|
//# sourceMappingURL=editable.js.map
|