@lotte-innovate/ui-component-test 0.1.123 → 0.1.125
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/lib/components/Editor/index.js +2 -2
- package/dist/lib/components/Editor/index.mjs +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -3
- package/_virtual/icons.mjs +0 -2
- package/_virtual/icons.mjs.map +0 -1
- package/_virtual/index.mjs +0 -2
- package/_virtual/index.mjs.map +0 -1
- package/_virtual/index10.mjs +0 -2
- package/_virtual/index10.mjs.map +0 -1
- package/_virtual/index11.mjs +0 -2
- package/_virtual/index11.mjs.map +0 -1
- package/_virtual/index12.mjs +0 -2
- package/_virtual/index12.mjs.map +0 -1
- package/_virtual/index13.mjs +0 -2
- package/_virtual/index13.mjs.map +0 -1
- package/_virtual/index14.mjs +0 -2
- package/_virtual/index14.mjs.map +0 -1
- package/_virtual/index15.mjs +0 -2
- package/_virtual/index15.mjs.map +0 -1
- package/_virtual/index16.mjs +0 -2
- package/_virtual/index16.mjs.map +0 -1
- package/_virtual/index17.mjs +0 -2
- package/_virtual/index17.mjs.map +0 -1
- package/_virtual/index18.mjs +0 -2
- package/_virtual/index18.mjs.map +0 -1
- package/_virtual/index19.mjs +0 -2
- package/_virtual/index19.mjs.map +0 -1
- package/_virtual/index2.mjs +0 -2
- package/_virtual/index2.mjs.map +0 -1
- package/_virtual/index20.mjs +0 -2
- package/_virtual/index20.mjs.map +0 -1
- package/_virtual/index3.mjs +0 -2
- package/_virtual/index3.mjs.map +0 -1
- package/_virtual/index4.mjs +0 -2
- package/_virtual/index4.mjs.map +0 -1
- package/_virtual/index5.mjs +0 -2
- package/_virtual/index5.mjs.map +0 -1
- package/_virtual/index6.mjs +0 -2
- package/_virtual/index6.mjs.map +0 -1
- package/_virtual/index7.mjs +0 -2
- package/_virtual/index7.mjs.map +0 -1
- package/_virtual/index8.mjs +0 -2
- package/_virtual/index8.mjs.map +0 -1
- package/_virtual/index9.mjs +0 -2
- package/_virtual/index9.mjs.map +0 -1
- package/_virtual/model.mjs +0 -2
- package/_virtual/model.mjs.map +0 -1
- package/_virtual/plugin.mjs +0 -2
- package/_virtual/plugin.mjs.map +0 -1
- package/_virtual/plugin2.mjs +0 -2
- package/_virtual/plugin2.mjs.map +0 -1
- package/_virtual/plugin3.mjs +0 -2
- package/_virtual/plugin3.mjs.map +0 -1
- package/_virtual/plugin4.mjs +0 -2
- package/_virtual/plugin4.mjs.map +0 -1
- package/_virtual/plugin5.mjs +0 -2
- package/_virtual/plugin5.mjs.map +0 -1
- package/_virtual/plugin6.mjs +0 -2
- package/_virtual/plugin6.mjs.map +0 -1
- package/_virtual/plugin7.mjs +0 -2
- package/_virtual/plugin7.mjs.map +0 -1
- package/_virtual/theme.mjs +0 -2
- package/_virtual/theme.mjs.map +0 -1
- package/_virtual/tinymce.mjs +0 -2
- package/_virtual/tinymce.mjs.map +0 -1
- package/_virtual/tinymce2.mjs +0 -2
- package/_virtual/tinymce2.mjs.map +0 -1
- package/public/tinymce/CHANGELOG.md +0 -3453
- package/public/tinymce/README.md +0 -73
- package/public/tinymce/bower.json +0 -27
- package/public/tinymce/composer.json +0 -52
- package/public/tinymce/icons/default/icons.js +0 -194
- package/public/tinymce/icons/default/icons.min.js +0 -1
- package/public/tinymce/icons/default/icons.mjs +0 -2
- package/public/tinymce/icons/default/icons.mjs.map +0 -1
- package/public/tinymce/icons/default/index.d.ts +0 -1
- package/public/tinymce/icons/default/index.js +0 -7
- package/public/tinymce/icons/default/index.mjs +0 -2
- package/public/tinymce/icons/default/index.mjs.map +0 -1
- package/public/tinymce/license.txt +0 -21
- package/public/tinymce/models/dom/index.d.ts +0 -1
- package/public/tinymce/models/dom/index.js +0 -7
- package/public/tinymce/models/dom/index.mjs +0 -2
- package/public/tinymce/models/dom/index.mjs.map +0 -1
- package/public/tinymce/models/dom/model.js +0 -8040
- package/public/tinymce/models/dom/model.min.js +0 -4
- package/public/tinymce/models/dom/model.mjs +0 -2
- package/public/tinymce/models/dom/model.mjs.map +0 -1
- package/public/tinymce/package.json +0 -32
- package/public/tinymce/plugins/advlist/index.d.ts +0 -1
- package/public/tinymce/plugins/advlist/index.js +0 -7
- package/public/tinymce/plugins/advlist/index.mjs +0 -2
- package/public/tinymce/plugins/advlist/index.mjs.map +0 -1
- package/public/tinymce/plugins/advlist/plugin.js +0 -259
- package/public/tinymce/plugins/advlist/plugin.min.js +0 -4
- package/public/tinymce/plugins/advlist/plugin.mjs +0 -2
- package/public/tinymce/plugins/advlist/plugin.mjs.map +0 -1
- package/public/tinymce/plugins/autolink/index.js +0 -7
- package/public/tinymce/plugins/autolink/plugin.js +0 -228
- package/public/tinymce/plugins/autolink/plugin.min.js +0 -4
- package/public/tinymce/plugins/code/index.d.ts +0 -1
- package/public/tinymce/plugins/code/index.js +0 -7
- package/public/tinymce/plugins/code/index.mjs +0 -2
- package/public/tinymce/plugins/code/index.mjs.map +0 -1
- package/public/tinymce/plugins/code/plugin.js +0 -85
- package/public/tinymce/plugins/code/plugin.min.js +0 -4
- package/public/tinymce/plugins/code/plugin.mjs +0 -2
- package/public/tinymce/plugins/code/plugin.mjs.map +0 -1
- package/public/tinymce/plugins/codesample/index.d.ts +0 -1
- package/public/tinymce/plugins/codesample/index.js +0 -7
- package/public/tinymce/plugins/codesample/index.mjs +0 -2
- package/public/tinymce/plugins/codesample/index.mjs.map +0 -1
- package/public/tinymce/plugins/codesample/plugin.d.ts +0 -45
- package/public/tinymce/plugins/codesample/plugin.js +0 -2463
- package/public/tinymce/plugins/codesample/plugin.min.js +0 -4
- package/public/tinymce/plugins/codesample/plugin.mjs +0 -2
- package/public/tinymce/plugins/codesample/plugin.mjs.map +0 -1
- package/public/tinymce/plugins/image/index.d.ts +0 -1
- package/public/tinymce/plugins/image/index.js +0 -7
- package/public/tinymce/plugins/image/index.mjs +0 -2
- package/public/tinymce/plugins/image/index.mjs.map +0 -1
- package/public/tinymce/plugins/image/plugin.js +0 -1505
- package/public/tinymce/plugins/image/plugin.min.js +0 -4
- package/public/tinymce/plugins/image/plugin.mjs +0 -2
- package/public/tinymce/plugins/image/plugin.mjs.map +0 -1
- package/public/tinymce/plugins/link/index.d.ts +0 -1
- package/public/tinymce/plugins/link/index.js +0 -7
- package/public/tinymce/plugins/link/index.mjs +0 -2
- package/public/tinymce/plugins/link/index.mjs.map +0 -1
- package/public/tinymce/plugins/link/plugin.js +0 -1242
- package/public/tinymce/plugins/link/plugin.min.js +0 -4
- package/public/tinymce/plugins/link/plugin.mjs +0 -2
- package/public/tinymce/plugins/link/plugin.mjs.map +0 -1
- package/public/tinymce/plugins/lists/index.d.ts +0 -1
- package/public/tinymce/plugins/lists/index.js +0 -7
- package/public/tinymce/plugins/lists/index.mjs +0 -2
- package/public/tinymce/plugins/lists/index.mjs.map +0 -1
- package/public/tinymce/plugins/lists/plugin.js +0 -2172
- package/public/tinymce/plugins/lists/plugin.min.js +0 -4
- package/public/tinymce/plugins/lists/plugin.mjs +0 -2
- package/public/tinymce/plugins/lists/plugin.mjs.map +0 -1
- package/public/tinymce/plugins/table/index.d.ts +0 -1
- package/public/tinymce/plugins/table/index.js +0 -7
- package/public/tinymce/plugins/table/index.mjs +0 -2
- package/public/tinymce/plugins/table/index.mjs.map +0 -1
- package/public/tinymce/plugins/table/plugin.js +0 -3462
- package/public/tinymce/plugins/table/plugin.min.js +0 -4
- package/public/tinymce/plugins/table/plugin.mjs +0 -2
- package/public/tinymce/plugins/table/plugin.mjs.map +0 -1
- package/public/tinymce/skins/content/default/content.css +0 -61
- package/public/tinymce/skins/content/default/content.js +0 -2
- package/public/tinymce/skins/content/default/content.min.css +0 -1
- package/public/tinymce/skins/content/default/content.mjs +0 -2
- package/public/tinymce/skins/content/default/content.mjs.map +0 -1
- package/public/tinymce/skins/ui/oxide/content.css +0 -785
- package/public/tinymce/skins/ui/oxide/content.inline.css +0 -779
- package/public/tinymce/skins/ui/oxide/content.inline.js +0 -2
- package/public/tinymce/skins/ui/oxide/content.inline.min.css +0 -1
- package/public/tinymce/skins/ui/oxide/content.js +0 -2
- package/public/tinymce/skins/ui/oxide/content.min.css +0 -1
- package/public/tinymce/skins/ui/oxide/content.mjs +0 -2
- package/public/tinymce/skins/ui/oxide/content.mjs.map +0 -1
- package/public/tinymce/skins/ui/oxide/skin.css +0 -3763
- package/public/tinymce/skins/ui/oxide/skin.js +0 -2
- package/public/tinymce/skins/ui/oxide/skin.min.css +0 -1
- package/public/tinymce/skins/ui/oxide/skin.mjs +0 -2
- package/public/tinymce/skins/ui/oxide/skin.mjs.map +0 -1
- package/public/tinymce/skins/ui/oxide/skin.shadowdom.css +0 -30
- package/public/tinymce/skins/ui/oxide/skin.shadowdom.js +0 -2
- package/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css +0 -1
- package/public/tinymce/skins/ui/oxide-dark/content.css +0 -766
- package/public/tinymce/skins/ui/oxide-dark/content.inline.css +0 -779
- package/public/tinymce/skins/ui/oxide-dark/content.inline.js +0 -2
- package/public/tinymce/skins/ui/oxide-dark/content.inline.min.css +0 -1
- package/public/tinymce/skins/ui/oxide-dark/content.js +0 -2
- package/public/tinymce/skins/ui/oxide-dark/content.min.css +0 -1
- package/public/tinymce/skins/ui/oxide-dark/skin.css +0 -3766
- package/public/tinymce/skins/ui/oxide-dark/skin.js +0 -2
- package/public/tinymce/skins/ui/oxide-dark/skin.min.css +0 -1
- package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +0 -30
- package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +0 -2
- package/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +0 -1
- package/public/tinymce/themes/silver/index.d.ts +0 -1
- package/public/tinymce/themes/silver/index.js +0 -7
- package/public/tinymce/themes/silver/index.mjs +0 -2
- package/public/tinymce/themes/silver/index.mjs.map +0 -1
- package/public/tinymce/themes/silver/theme.js +0 -30775
- package/public/tinymce/themes/silver/theme.min.js +0 -384
- package/public/tinymce/themes/silver/theme.mjs +0 -2
- package/public/tinymce/themes/silver/theme.mjs.map +0 -1
- package/public/tinymce/tinymce.d.ts +0 -3238
- package/public/tinymce/tinymce.js +0 -31779
- package/public/tinymce/tinymce.min.js +0 -384
- package/public/tinymce/tinymce.mjs +0 -2
- package/public/tinymce/tinymce.mjs.map +0 -1
@@ -1,4 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* TinyMCE version 6.8.5 (TBD)
|
3
|
-
*/
|
4
|
-
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=o=e,(r=String).prototype.isPrototypeOf(n)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var n,o,r,s})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),s=t("array"),i=n("boolean"),l=e=>!(e=>null==e)(e),a=n("function"),d=n("number"),c=()=>{},m=e=>()=>e,u=(e,t)=>e===t,p=e=>t=>!e(t),g=m(!1);class h{constructor(e,t){this.tag=e,this.value=t}static some(e){return new h(!0,e)}static none(){return h.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?h.some(e(this.value)):h.none()}bind(e){return this.tag?e(this.value):h.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:h.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return l(e)?h.some(e):h.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}h.singletonNone=new h(!1);const f=Array.prototype.slice,y=Array.prototype.indexOf,v=Array.prototype.push,C=(e,t)=>{return n=e,o=t,y.call(n,o)>-1;var n,o},b=(e,t)=>{for(let n=0,o=e.length;n<o;n++)if(t(e[n],n))return!0;return!1},N=(e,t)=>{const n=e.length,o=new Array(n);for(let r=0;r<n;r++){const n=e[r];o[r]=t(n,r)}return o},S=(e,t)=>{for(let n=0,o=e.length;n<o;n++)t(e[n],n)},L=(e,t)=>{const n=[];for(let o=0,r=e.length;o<r;o++){const r=e[o];t(r,o)&&n.push(r)}return n},O=(e,t,n)=>(S(e,((e,o)=>{n=t(n,e,o)})),n),A=(e,t,n)=>{for(let o=0,r=e.length;o<r;o++){const r=e[o];if(t(r,o))return h.some(r);if(n(r,o))break}return h.none()},T=(e,t)=>A(e,t,g),x=(e,t)=>(e=>{const t=[];for(let n=0,o=e.length;n<o;++n){if(!s(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);v.apply(t,e[n])}return t})(N(e,t)),E=e=>{const t=f.call(e,0);return t.reverse(),t},w=(e,t)=>t>=0&&t<e.length?h.some(e[t]):h.none(),k=e=>w(e,0),D=e=>w(e,e.length-1),B=(e,t)=>{const n=[],o=a(t)?e=>b(n,(n=>t(n,e))):e=>C(n,e);for(let t=0,r=e.length;t<r;t++){const r=e[t];o(r)||n.push(r)}return n},M=(e,t,n=u)=>e.exists((e=>n(e,t))),P=(e,t,n)=>e.isSome()&&t.isSome()?h.some(n(e.getOrDie(),t.getOrDie())):h.none(),I=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},R=(e,t)=>{const n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return I(n.childNodes[0])},U=(e,t)=>{const n=(t||document).createElement(e);return I(n)},$=I,_=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},H=(e,t)=>e.dom===t.dom,F=_,V="undefined"!=typeof window?window:Function("return this;")(),j=(e,t)=>((e,t)=>{let n=null!=t?t:V;for(let t=0;t<e.length&&null!=n;++t)n=n[e[t]];return n})(e.split("."),t),K=Object.getPrototypeOf,z=e=>{const t=j("ownerDocument.defaultView",e);return r(e)&&((e=>((e,t)=>{const n=((e,t)=>j(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(K(e).constructor.name))},Q=e=>e.dom.nodeName.toLowerCase(),W=e=>e.dom.nodeType,q=e=>t=>W(t)===e,Z=e=>G(e)&&z(e.dom),G=q(1),J=q(3),X=q(9),Y=q(11),ee=e=>t=>G(t)&&Q(t)===e,te=e=>h.from(e.dom.parentNode).map($),ne=e=>N(e.dom.childNodes,$),oe=(e,t)=>{const n=e.dom.childNodes;return h.from(n[t]).map($)},re=e=>oe(e,0),se=e=>oe(e,e.dom.childNodes.length-1),ie=a(Element.prototype.attachShadow)&&a(Node.prototype.getRootNode)?e=>$(e.dom.getRootNode()):e=>X(e)?e:$(e.dom.ownerDocument),le=e=>$(e.dom.host),ae=e=>{const t=J(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return(e=>{const t=ie(e);return Y(n=t)&&l(n.dom.host)?h.some(t):h.none();var n})($(t)).fold((()=>n.body.contains(t)),(o=ae,r=le,e=>o(r(e))));var o,r};var de=(e,t,n,o,r)=>e(n,o)?h.some(n):a(r)&&r(n)?h.none():t(n,o,r);const ce=(e,t,n)=>{let o=e.dom;const r=a(n)?n:g;for(;o.parentNode;){o=o.parentNode;const e=$(o);if(t(e))return h.some(e);if(r(e))break}return h.none()},me=(e,t,n)=>de(((e,t)=>t(e)),ce,e,t,n),ue=(e,t,n)=>ce(e,(e=>_(e,t)),n),pe=(e,t)=>{te(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},ge=(e,t)=>{e.dom.appendChild(t.dom)},he=(e,t)=>{S(t,(t=>{ge(e,t)}))},fe=e=>{e.dom.textContent="",S(ne(e),(e=>{ye(e)}))},ye=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)};var ve=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),Ce=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),be=tinymce.util.Tools.resolve("tinymce.util.VK");const Ne=e=>N(e,$),Se=Object.keys,Le=(e,t)=>{const n=Se(e);for(let o=0,r=n.length;o<r;o++){const r=n[o];t(e[r],r)}},Oe=(e,t)=>{const n=e.dom;Le(t,((e,t)=>{((e,t,n)=>{if(!(o(n)||i(n)||d(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(n,t,e)}))},Ae=e=>O(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),Te=e=>((e,t)=>$(e.dom.cloneNode(!0)))(e),xe=(e,t)=>{const n=((e,t)=>{const n=U(t),o=Ae(e);return Oe(n,o),n})(e,t);var o,r;r=n,(e=>h.from(e.dom.nextSibling).map($))(o=e).fold((()=>{te(o).each((e=>{ge(e,r)}))}),(e=>{pe(e,r)}));const s=ne(e);return he(n,s),ye(e),n};var Ee=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),we=tinymce.util.Tools.resolve("tinymce.util.Tools");const ke=e=>t=>l(t)&&t.nodeName.toLowerCase()===e,De=e=>t=>l(t)&&e.test(t.nodeName),Be=e=>l(e)&&3===e.nodeType,Me=e=>l(e)&&1===e.nodeType,Pe=De(/^(OL|UL|DL)$/),Ie=De(/^(OL|UL)$/),Re=ke("ol"),Ue=De(/^(LI|DT|DD)$/),$e=De(/^(DT|DD)$/),_e=De(/^(TH|TD)$/),He=ke("br"),Fe=(e,t)=>l(t)&&t.nodeName in e.schema.getTextBlockElements(),Ve=(e,t)=>l(e)&&e.nodeName in t,je=(e,t)=>l(t)&&t.nodeName in e.schema.getVoidElements(),Ke=(e,t,n)=>{const o=e.isEmpty(t);return!(n&&e.select("span[data-mce-type=bookmark]",t).length>0)&&o},ze=(e,t)=>e.isChildOf(t,e.getRoot()),Qe=e=>t=>t.options.get(e),We=Qe("lists_indent_on_tab"),qe=Qe("forced_root_block"),Ze=Qe("forced_root_block_attrs"),Ge=(e,t)=>{const n=e.dom,o=e.schema.getBlockElements(),r=n.createFragment(),s=qe(e),i=Ze(e);let l,a,d=!1;for(a=n.create(s,i),Ve(t.firstChild,o)||r.appendChild(a);l=t.firstChild;){const e=l.nodeName;d||"SPAN"===e&&"bookmark"===l.getAttribute("data-mce-type")||(d=!0),Ve(l,o)?(r.appendChild(l),a=null):(a||(a=n.create(s,i),r.appendChild(a)),a.appendChild(l))}return!d&&a&&a.appendChild(n.create("br",{"data-mce-bogus":"1"})),r},Je=Ee.DOM,Xe=ee("dd"),Ye=ee("dt"),et=(e,t)=>{var n;Xe(t)?xe(t,"dt"):Ye(t)&&(n=t,h.from(n.dom.parentElement).map($)).each((n=>((e,t,n)=>{const o=Je.select('span[data-mce-type="bookmark"]',t),r=Ge(e,n),s=Je.createRng();s.setStartAfter(n),s.setEndAfter(t);const i=s.extractContents();for(let t=i.firstChild;t;t=t.firstChild)if("LI"===t.nodeName&&e.dom.isEmpty(t)){Je.remove(t);break}e.dom.isEmpty(i)||Je.insertAfter(i,t),Je.insertAfter(r,t);const l=n.parentElement;l&&Ke(e.dom,l)&&(e=>{const t=e.parentNode;t&&we.each(o,(e=>{t.insertBefore(e,n.parentNode)})),Je.remove(e)})(l),Je.remove(n),Ke(e.dom,t)&&Je.remove(t)})(e,n.dom,t.dom)))},tt=e=>{Ye(e)&&xe(e,"dd")},nt=(e,t)=>{if(Be(e))return{container:e,offset:t};const n=ve.getNode(e,t);return Be(n)?{container:n,offset:t>=e.childNodes.length?n.data.length:0}:n.previousSibling&&Be(n.previousSibling)?{container:n.previousSibling,offset:n.previousSibling.data.length}:n.nextSibling&&Be(n.nextSibling)?{container:n.nextSibling,offset:0}:{container:e,offset:t}},ot=e=>{const t=e.cloneRange(),n=nt(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);const o=nt(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},rt=["OL","UL","DL"],st=rt.join(","),it=(e,t)=>{const n=t||e.selection.getStart(!0);return e.dom.getParent(n,st,dt(e,n))},lt=e=>{const t=e.selection.getSelectedBlocks();return L(((e,t)=>{const n=we.map(t,(t=>e.dom.getParent(t,"li,dd,dt",dt(e,t))||t));return B(n)})(e,t),Ue)},at=(e,t)=>{const n=e.dom.getParents(t,"TD,TH");return n.length>0?n[0]:e.getBody()},dt=(e,t)=>{const n=e.dom.getParents(t,e.dom.isBlock),o=T(n,(t=>{return n=e.schema,!Pe(o=t)&&!Ue(o)&&b(rt,(e=>n.isValidChild(o.nodeName,e)));var n,o}));return o.getOr(e.getBody())},ct=(e,t)=>{const n=e.dom.getParents(t,"ol,ul",dt(e,t));return D(n)},mt=(e,t)=>{const n=N(t,(t=>ct(e,t).getOr(t)));return B(n)},ut=e=>/\btox\-/.test(e.className),pt=(e,t)=>A(e,Pe,_e).exists((e=>e.nodeName===t&&!ut(e))),gt=(e,t)=>null!==t&&!e.dom.isEditable(t),ht=(e,t)=>{const n=e.dom.getParent(t,"ol,ul,dl");return gt(e,n)},ft=(e,t)=>{const n=e.selection.getNode();return t({parents:e.dom.getParents(n),element:n}),e.on("NodeChange",t),()=>e.off("NodeChange",t)},yt=(e,t)=>{const n=(t||document).createDocumentFragment();return S(e,(e=>{n.appendChild(e.dom)})),$(n)},vt=(e,t,n)=>e.dispatch("ListMutation",{action:t,element:n}),Ct=(bt=/^\s+|\s+$/g,e=>e.replace(bt,""));var bt;const Nt=(e,t,n)=>{((e,t,n)=>{if(!o(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);(e=>void 0!==e.style&&a(e.style.getPropertyValue))(e)&&e.style.setProperty(t,n)})(e.dom,t,n)},St=e=>F(e,"OL,UL"),Lt=e=>re(e).exists(St),Ot=e=>"listAttributes"in e,At=e=>"isComment"in e,Tt=e=>e.depth>0,xt=e=>e.isSelected,Et=e=>{const t=ne(e),n=se(e).exists(St)?t.slice(0,-1):t;return N(n,Te)},wt=(e,t)=>{ge(e.item,t.list)},kt=(e,t)=>{const n={list:U(t,e),item:U("li",e)};return ge(n.list,n.item),n},Dt=(e,t,n)=>{const o=t.slice(0,n.depth);return D(o).each((t=>{if(Ot(n)){const o=((e,t,n)=>{const o=U("li",e);return Oe(o,t),he(o,n),o})(e,n.itemAttributes,n.content);((e,t)=>{ge(e.list,t),e.item=t})(t,o),((e,t)=>{Q(e.list)!==t.listType&&(e.list=xe(e.list,t.listType)),Oe(e.list,t.listAttributes)})(t,n)}else if((e=>"isFragment"in e)(n))he(t.item,n.content);else{const e=R(`\x3c!--${n.content}--\x3e`);ge(t.list,e)}})),o},Bt=(e,t)=>{let n=h.none();const o=O(t,((t,o,r)=>At(o)?0===r?(n=h.some(o),t):Dt(e,t,o):o.depth>t.length?((e,t,n)=>{const o=((e,t,n)=>{const o=[];for(let r=0;r<n;r++)o.push(kt(e,Ot(t)?t.listType:t.parentListType));return o})(e,n,n.depth-t.length);var r;return(e=>{for(let t=1;t<e.length;t++)wt(e[t-1],e[t])})(o),((e,t)=>{for(let t=0;t<e.length-1;t++)Nt(e[t].item,"list-style-type","none");D(e).each((e=>{Ot(t)&&(Oe(e.list,t.listAttributes),Oe(e.item,t.itemAttributes)),he(e.item,t.content)}))})(o,n),r=o,P(D(t),k(r),wt),t.concat(o)})(e,t,o):Dt(e,t,o)),[]);return n.each((e=>{const t=R(`\x3c!--${e.content}--\x3e`);k(o).each((e=>{((e,t)=>{re(e).fold((()=>{ge(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))})(e.list,t)}))})),k(o).map((e=>e.list))},Mt=e=>(S(e,((t,n)=>{((e,t)=>{const n=e[t].depth,o=e=>e.depth===n&&!e.dirty,r=e=>e.depth<n;return A(E(e.slice(0,t)),o,r).orThunk((()=>A(e.slice(t+1),o,r)))})(e,n).fold((()=>{t.dirty&&Ot(t)&&(e=>{e.listAttributes=((e,t)=>{const n={};var o;return((e,t,n,o)=>{Le(e,((e,r)=>{(t(e,r)?n:o)(e,r)}))})(e,t,(o=n,(e,t)=>{o[t]=e}),c),n})(e.listAttributes,((e,t)=>"start"!==t))})(t)}),(e=>{return o=e,void(Ot(n=t)&&Ot(o)&&(n.listType=o.listType,n.listAttributes={...o.listAttributes}));var n,o}))})),e),Pt=(e,t,n,o)=>{var r,s;if(8===W(s=o)||"#comment"===Q(s))return[{depth:e+1,content:null!==(r=o.dom.nodeValue)&&void 0!==r?r:"",dirty:!1,isSelected:!1,isComment:!0}];t.each((e=>{H(e.start,o)&&n.set(!0)}));const i=((e,t,n)=>te(e).filter(G).map((o=>({depth:t,dirty:!1,isSelected:n,content:Et(e),itemAttributes:Ae(e),listAttributes:Ae(o),listType:Q(o),isInPreviousLi:!1}))))(o,e,n.get());t.each((e=>{H(e.end,o)&&n.set(!1)}));const l=se(o).filter(St).map((o=>Rt(e,t,n,o))).getOr([]);return i.toArray().concat(l)},It=(e,t,n,o)=>re(o).filter(St).fold((()=>Pt(e,t,n,o)),(r=>{const s=O(ne(o),((o,s,i)=>{if(0===i)return o;if(F(s,"LI"))return o.concat(Pt(e,t,n,s));{const t={isFragment:!0,depth:e,content:[s],isSelected:!1,dirty:!1,parentListType:Q(r)};return o.concat(t)}}),[]);return Rt(e,t,n,r).concat(s)})),Rt=(e,t,n,o)=>x(ne(o),(o=>(St(o)?Rt:It)(e+1,t,n,o))),Ut=(e,t,n)=>{const o=((e,t)=>{const n=(e=>{let t=!1;return{get:()=>t,set:e=>{t=e}}})();return N(e,(e=>({sourceList:e,entries:Rt(0,t,n,e)})))})(t,(e=>{const t=N(lt(e),$);return P(T(t,p(Lt)),T(E(t),p(Lt)),((e,t)=>({start:e,end:t})))})(e));S(o,(t=>{((e,t)=>{S(L(e,xt),(e=>((e,t)=>{switch(e){case"Indent":t.depth++;break;case"Outdent":t.depth--;break;case"Flatten":t.depth=0}t.dirty=!0})(t,e)))})(t.entries,n);const o=((e,t)=>x(((e,t)=>{if(0===e.length)return[];{let n=t(e[0]);const o=[];let r=[];for(let s=0,i=e.length;s<i;s++){const i=e[s],l=t(i);l!==n&&(o.push(r),r=[]),n=l,r.push(i)}return 0!==r.length&&o.push(r),o}})(t,Tt),(t=>k(t).exists(Tt)?((e,t)=>{const n=Mt(t);return Bt(e.contentDocument,n).toArray()})(e,t):((e,t)=>{const n=Mt(t);return N(n,(t=>{const n=At(t)?yt([R(`\x3c!--${t.content}--\x3e`)]):yt(t.content);return $(Ge(e,n.dom))}))})(e,t))))(e,t.entries);var r;S(o,(t=>{vt(e,"Indent"===n?"IndentList":"OutdentList",t.dom)})),r=t.sourceList,S(o,(e=>{pe(r,e)})),ye(t.sourceList)}))},$t=(e,t)=>{const n=Ne((e=>{const t=(e=>{const t=ct(e,e.selection.getStart()),n=L(e.selection.getSelectedBlocks(),Ie);return t.toArray().concat(n)})(e),n=(e=>{const t=e.selection.getStart();return e.dom.getParents(t,"ol,ul",dt(e,t))})(e);return T(n,(e=>{return t=$(e),te(t).exists((e=>Ue(e.dom)&&re(e).exists((e=>!Pe(e.dom)))&&se(e).exists((e=>!Pe(e.dom)))));var t})).fold((()=>mt(e,t)),(e=>[e]))})(e)),o=Ne((e=>L(lt(e),$e))(e));let r=!1;if(n.length||o.length){const s=e.selection.getBookmark();Ut(e,n,t),((e,t,n)=>{S(n,"Indent"===t?tt:t=>et(e,t))})(e,t,o),e.selection.moveToBookmark(s),e.selection.setRng(ot(e.selection.getRng())),e.nodeChanged(),r=!0}return r},_t=(e,t)=>!(e=>{const t=it(e);return gt(e,t)})(e)&&$t(e,t),Ht=e=>_t(e,"Indent"),Ft=e=>_t(e,"Outdent"),Vt=e=>_t(e,"Flatten"),jt=e=>"\ufeff"===e;var Kt=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager");const zt=Ee.DOM,Qt=e=>{const t={},n=n=>{let o=e[n?"startContainer":"endContainer"],r=e[n?"startOffset":"endOffset"];if(Me(o)){const e=zt.create("span",{"data-mce-type":"bookmark"});o.hasChildNodes()?(r=Math.min(r,o.childNodes.length-1),n?o.insertBefore(e,o.childNodes[r]):zt.insertAfter(e,o.childNodes[r])):o.appendChild(e),o=e,r=0}t[n?"startContainer":"endContainer"]=o,t[n?"startOffset":"endOffset"]=r};return n(!0),e.collapsed||n(),t},Wt=e=>{const t=t=>{let n=e[t?"startContainer":"endContainer"],o=e[t?"startOffset":"endOffset"];if(n){if(Me(n)&&n.parentNode){const e=n;o=(e=>{var t;let n=null===(t=e.parentNode)||void 0===t?void 0:t.firstChild,o=0;for(;n;){if(n===e)return o;Me(n)&&"bookmark"===n.getAttribute("data-mce-type")||o++,n=n.nextSibling}return-1})(n),n=n.parentNode,zt.remove(e),!n.hasChildNodes()&&zt.isBlock(n)&&n.appendChild(zt.create("br"))}e[t?"startContainer":"endContainer"]=n,e[t?"startOffset":"endOffset"]=o}};t(!0),t();const n=zt.createRng();return n.setStart(e.startContainer,e.startOffset),e.endContainer&&n.setEnd(e.endContainer,e.endOffset),ot(n)},qt=e=>{switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Zt=(e,t)=>{we.each(t,((t,n)=>{e.setAttribute(n,t)}))},Gt=(e,t,n)=>{((e,t,n)=>{const o=n["list-style-type"]?n["list-style-type"]:null;e.setStyle(t,"list-style-type",o)})(e,t,n),((e,t,n)=>{Zt(t,n["list-attributes"]),we.each(e.select("li",t),(e=>{Zt(e,n["list-item-attributes"])}))})(e,t,n)},Jt=(e,t)=>l(t)&&!Ve(t,e.schema.getBlockElements()),Xt=(e,t,n,o)=>{let r=t[n?"startContainer":"endContainer"];const s=t[n?"startOffset":"endOffset"];Me(r)&&(r=r.childNodes[Math.min(s,r.childNodes.length-1)]||r),!n&&He(r.nextSibling)&&(r=r.nextSibling);const i=(t,n)=>{var r;const s=new Ce(t,(t=>{for(;!e.dom.isBlock(t)&&t.parentNode&&o!==t;)t=t.parentNode;return t})(t)),i=n?"next":"prev";let l;for(;l=s[i]();)if(!je(e,l)&&!jt(l.textContent)&&0!==(null===(r=l.textContent)||void 0===r?void 0:r.length))return h.some(l);return h.none()};if(n&&Be(r))if(jt(r.textContent))r=i(r,!1).getOr(r);else for(null!==r.parentNode&&Jt(e,r.parentNode)&&(r=r.parentNode);null!==r.previousSibling&&(Jt(e,r.previousSibling)||Be(r.previousSibling));)r=r.previousSibling;if(!n&&Be(r))if(jt(r.textContent))r=i(r,!0).getOr(r);else for(null!==r.parentNode&&Jt(e,r.parentNode)&&(r=r.parentNode);null!==r.nextSibling&&(Jt(e,r.nextSibling)||Be(r.nextSibling));)r=r.nextSibling;for(;r.parentNode!==o;){const t=r.parentNode;if(Fe(e,r))return r;if(/^(TD|TH)$/.test(t.nodeName))return r;r=t}return r},Yt=(e,t,n)=>{const o=e.selection.getRng();let r="LI";const s=dt(e,((e,t)=>{const n=e.selection.getStart(!0),o=Xt(e,t,!0,e.getBody());return r=$(o),s=$(t.commonAncestorContainer),i=r,l=function(e,...t){return(...n)=>{const o=t.concat(n);return e.apply(null,o)}}(H,s),ce(i,l,void 0).isSome()?t.commonAncestorContainer:n;var r,s,i,l})(e,o)),i=e.dom;if("false"===i.getContentEditable(e.selection.getNode()))return;"DL"===(t=t.toUpperCase())&&(r="DT");const l=Qt(o),a=L(((e,t,n)=>{const o=[],r=e.dom,s=Xt(e,t,!0,n),i=Xt(e,t,!1,n);let l;const a=[];for(let e=s;e&&(a.push(e),e!==i);e=e.nextSibling);return we.each(a,(t=>{var s;if(Fe(e,t))return o.push(t),void(l=null);if(r.isBlock(t)||He(t))return He(t)&&r.remove(t),void(l=null);const i=t.nextSibling;Kt.isBookmarkNode(t)&&(Pe(i)||Fe(e,i)||!i&&t.parentNode===n)?l=null:(l||(l=r.create("p"),null===(s=t.parentNode)||void 0===s||s.insertBefore(l,t),o.push(l)),l.appendChild(t))})),o})(e,o,s),e.dom.isEditable);we.each(a,(o=>{let s;const l=o.previousSibling,a=o.parentNode;Ue(a)||(l&&Pe(l)&&l.nodeName===t&&((e,t,n)=>{const o=e.getStyle(t,"list-style-type");let r=n?n["list-style-type"]:"";return r=null===r?"":r,o===r})(i,l,n)?(s=l,o=i.rename(o,r),l.appendChild(o)):(s=i.create(t),a.insertBefore(s,o),s.appendChild(o),o=i.rename(o,r)),((e,t,n)=>{we.each(["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],(n=>e.setStyle(t,n,"")))})(i,o),Gt(i,s,n),tn(e.dom,s))})),e.selection.setRng(Wt(l))},en=(e,t,n)=>{return((e,t)=>Pe(e)&&e.nodeName===(null==t?void 0:t.nodeName))(t,n)&&((e,t,n)=>e.getStyle(t,"list-style-type",!0)===e.getStyle(n,"list-style-type",!0))(e,t,n)&&(o=n,t.className===o.className);var o},tn=(e,t)=>{let n,o=t.nextSibling;if(en(e,t,o)){const r=o;for(;n=r.firstChild;)t.appendChild(n);e.remove(r)}if(o=t.previousSibling,en(e,t,o)){const r=o;for(;n=r.lastChild;)t.insertBefore(n,t.firstChild);e.remove(r)}},nn=(e,t,n,o)=>{if(t.nodeName!==n){const r=e.dom.rename(t,n);Gt(e.dom,r,o),vt(e,qt(n),r)}else Gt(e.dom,t,o),vt(e,qt(n),t)},on=(e,t,n,o)=>{if(t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),t.nodeName!==n){const r=e.dom.rename(t,n);Gt(e.dom,r,o),vt(e,qt(n),r)}else Gt(e.dom,t,o),vt(e,qt(n),t)},rn=e=>"list-style-type"in e,sn=(e,t,n)=>{const o=it(e);if(ht(e,o))return;const s=(e=>{const t=it(e),n=e.selection.getSelectedBlocks();return((e,t)=>l(e)&&1===t.length&&t[0]===e)(t,n)?(e=>L(e.querySelectorAll(st),Pe))(t):L(n,(e=>Pe(e)&&t!==e))})(e),i=r(n)?n:{};s.length>0?((e,t,n,o,r)=>{const s=Pe(t);if(!s||t.nodeName!==o||rn(r)||ut(t)){Yt(e,o,r);const i=Qt(e.selection.getRng()),l=s?[t,...n]:n,a=s&&ut(t)?on:nn;we.each(l,(t=>{a(e,t,o,r)})),e.selection.setRng(Wt(i))}else Vt(e)})(e,o,s,t,i):((e,t,n,o)=>{if(t!==e.getBody())if(t)if(t.nodeName!==n||rn(o)||ut(t)){const r=Qt(e.selection.getRng());ut(t)&&t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),Gt(e.dom,t,o);const s=e.dom.rename(t,n);tn(e.dom,s),e.selection.setRng(Wt(r)),Yt(e,n,o),vt(e,qt(n),s)}else Vt(e);else Yt(e,n,o),vt(e,qt(n),t)})(e,o,t,i)},ln=Ee.DOM,an=(e,t)=>{const n=we.grep(e.select("ol,ul",t));we.each(n,(t=>{((e,t)=>{const n=t.parentElement;if(n&&"LI"===n.nodeName&&n.firstChild===t){const o=n.previousSibling;o&&"LI"===o.nodeName?(o.appendChild(t),Ke(e,n)&&ln.remove(n)):ln.setStyle(n,"listStyleType","none")}if(Pe(n)){const e=n.previousSibling;e&&"LI"===e.nodeName&&e.appendChild(t)}})(e,t)}))},dn=(e,t,n,o)=>{let r=t.startContainer;const s=t.startOffset;if(Be(r)&&(n?s<r.data.length:s>0))return r;const i=e.schema.getNonEmptyElements();Me(r)&&(r=ve.getNode(r,s));const l=new Ce(r,o);n&&((e,t)=>!!He(t)&&e.isBlock(t.nextSibling)&&!He(t.previousSibling))(e.dom,r)&&l.next();const a=n?l.next.bind(l):l.prev2.bind(l);for(;r=a();){if("LI"===r.nodeName&&!r.hasChildNodes())return r;if(i[r.nodeName])return r;if(Be(r)&&r.data.length>0)return r}return null},cn=(e,t)=>{const n=t.childNodes;return 1===n.length&&!Pe(n[0])&&e.isBlock(n[0])},mn=e=>h.from(e).map($).filter(Z).exists((e=>((e,t=!1)=>{return ae(e)?e.dom.isContentEditable:(n=e,de(((e,t)=>_(e,t)),ue,n,"[contenteditable]",void 0)).fold(m(t),(e=>"true"===(e=>e.dom.contentEditable)(e)));var n})(e)&&!C(["details"],Q(e)))),un=(e,t,n)=>{let o;const r=cn(e,n)?n.firstChild:n;if(((e,t)=>{cn(e,t)&&mn(t.firstChild)&&e.remove(t.firstChild,!0)})(e,t),!Ke(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},pn=(e,t,n)=>{let o;const r=t.parentNode;if(!ze(e,t)||!ze(e,n))return;Pe(n.lastChild)&&(o=n.lastChild),r===n.lastChild&&He(r.previousSibling)&&e.remove(r.previousSibling);const s=n.lastChild;s&&He(s)&&t.hasChildNodes()&&e.remove(s),Ke(e,n,!0)&&fe($(n)),un(e,t,n),o&&n.appendChild(o);const i=((e,t)=>{const n=e.dom,o=t.dom;return n!==o&&n.contains(o)})($(n),$(t))?e.getParents(t,Pe,n):[];e.remove(t),S(i,(t=>{Ke(e,t)&&t!==e.getRoot()&&e.remove(t)}))},gn=(e,t)=>{const n=e.dom,o=e.selection,r=o.getStart(),s=at(e,r),i=n.getParent(o.getStart(),"LI",s);if(i){const r=i.parentElement;if(r===e.getBody()&&Ke(n,r))return!0;const l=ot(o.getRng()),a=n.getParent(dn(e,l,t,s),"LI",s),d=a&&(t?n.isChildOf(i,a):n.isChildOf(a,i));if(a&&a!==i&&!d)return e.undoManager.transact((()=>{var n,o;t?((e,t,n,o)=>{const r=e.dom;if(r.isEmpty(o))((e,t,n)=>{fe($(n)),pn(e.dom,t,n),e.selection.setCursorLocation(n,0)})(e,n,o);else{const s=Qt(t);pn(r,n,o),e.selection.setRng(Wt(s))}})(e,l,a,i):(null===(o=(n=i).parentNode)||void 0===o?void 0:o.firstChild)===n?Ft(e):((e,t,n,o)=>{const r=Qt(t);pn(e.dom,n,o);const s=Wt(r);e.selection.setRng(s)})(e,l,i,a)})),!0;if(d&&!t&&a!==i)return e.undoManager.transact((()=>{if(l.commonAncestorContainer.parentElement){const t=Qt(l),o=l.commonAncestorContainer.parentElement;un(n,l.commonAncestorContainer.parentElement,a),o.remove();const r=Wt(t);e.selection.setRng(r)}})),!0;if(!a&&!t&&0===l.startOffset&&0===l.endOffset)return e.undoManager.transact((()=>{Vt(e)})),!0}return!1},hn=e=>{const t=e.selection.getStart(),n=at(e,t);return e.dom.getParent(t,"LI,DT,DD",n)||lt(e).length>0},fn=(e,t)=>{const n=e.selection;return!ht(e,n.getNode())&&(n.isCollapsed()?((e,t)=>gn(e,t)||((e,t)=>{const n=e.dom,o=e.selection.getStart(),r=at(e,o),s=n.getParent(o,n.isBlock,r);if(s&&n.isEmpty(s)){const o=ot(e.selection.getRng()),i=n.getParent(dn(e,o,t,r),"LI",r);if(i){const l=e=>C(["td","th","caption"],Q(e)),a=e=>e.dom===r;return!!((e,t,n=u)=>P(e,t,n).getOr(e.isNone()&&t.isNone()))(me($(i),l,a),me($(o.startContainer),l,a),H)&&(e.undoManager.transact((()=>{const o=i.parentNode;((e,t,n)=>{const o=e.getParent(t.parentNode,e.isBlock,n);e.remove(t),o&&e.isEmpty(o)&&e.remove(o)})(n,s,r),tn(n,o),e.selection.select(i,!0),e.selection.collapse(t)})),!0)}}return!1})(e,t))(e,t):(e=>!!hn(e)&&(e.undoManager.transact((()=>{e.execCommand("Delete"),an(e.dom,e.getBody())})),!0))(e))},yn=e=>{const t=E(Ct(e).split("")),n=N(t,((e,t)=>{const n=e.toUpperCase().charCodeAt(0)-"A".charCodeAt(0)+1;return Math.pow(26,t)*n}));return O(n,((e,t)=>e+t),0)},vn=e=>{if(--e<0)return"";{const t=e%26,n=Math.floor(e/26);return vn(n)+String.fromCharCode("A".charCodeAt(0)+t)}},Cn=e=>{const t=parseInt(e.start,10);return M(e.listStyleType,"upper-alpha")?vn(t):M(e.listStyleType,"lower-alpha")?vn(t).toLowerCase():e.start},bn=(e,t)=>()=>{const n=it(e);return l(n)&&n.nodeName===t},Nn=e=>{e.addCommand("mceListProps",(()=>{(e=>{const t=it(e);Re(t)&&!ht(e,t)&&e.windowManager.open({title:"List Properties",body:{type:"panel",items:[{type:"input",name:"start",label:"Start list at number",inputMode:"numeric"}]},initialData:{start:Cn({start:e.dom.getAttrib(t,"start","1"),listStyleType:h.from(e.dom.getStyle(t,"list-style-type"))})},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{(e=>{switch((e=>/^[0-9]+$/.test(e)?2:/^[A-Z]+$/.test(e)?0:/^[a-z]+$/.test(e)?1:e.length>0?4:3)(e)){case 2:return h.some({listStyleType:h.none(),start:e});case 0:return h.some({listStyleType:h.some("upper-alpha"),start:yn(e).toString()});case 1:return h.some({listStyleType:h.some("lower-alpha"),start:yn(e).toString()});case 3:return h.some({listStyleType:h.none(),start:""});case 4:return h.none()}})(t.getData().start).each((t=>{e.execCommand("mceListUpdate",!1,{attrs:{start:"1"===t.start?"":t.start},styles:{"list-style-type":t.listStyleType.getOr("")}})})),t.close()}})})(e)}))};var Sn=tinymce.util.Tools.resolve("tinymce.html.Node");const Ln=e=>3===e.type,On=e=>0===e.length,An=e=>{const t=(t,n)=>{const o=Sn.create("li");S(t,(e=>o.append(e))),n?e.insert(o,n,!0):e.append(o)},n=O(e.children(),((e,n)=>Ln(n)?[...e,n]:On(e)||Ln(n)?e:(t(e,n),[])),[]);On(n)||t(n)},Tn=(e,t)=>n=>(n.setEnabled(e.selection.isEditable()),ft(e,(o=>{n.setActive(pt(o.parents,t)),n.setEnabled(!ht(e,o.element)&&e.selection.isEditable())}))),xn=(e,t)=>n=>ft(e,(o=>n.setEnabled(pt(o.parents,t)&&!ht(e,o.element))));e.add("lists",(e=>((e=>{(0,e.options.register)("lists_indent_on_tab",{processor:"boolean",default:!0})})(e),(e=>{e.on("PreInit",(()=>{const{parser:t}=e;t.addNodeFilter("ul,ol",(e=>S(e,An)))}))})(e),e.hasPlugin("rtc",!0)?Nn(e):((e=>{We(e)&&(e=>{e.on("keydown",(t=>{t.keyCode!==be.TAB||be.metaKeyPressed(t)||e.undoManager.transact((()=>{(t.shiftKey?Ft(e):Ht(e))&&t.preventDefault()}))}))})(e),(e=>{e.on("ExecCommand",(t=>{const n=t.command.toLowerCase();"delete"!==n&&"forwarddelete"!==n||!hn(e)||an(e.dom,e.getBody())})),e.on("keydown",(t=>{t.keyCode===be.BACKSPACE?fn(e,!1)&&t.preventDefault():t.keyCode===be.DELETE&&fn(e,!0)&&t.preventDefault()}))})(e)})(e),(e=>{e.on("BeforeExecCommand",(t=>{const n=t.command.toLowerCase();"indent"===n?Ht(e):"outdent"===n&&Ft(e)})),e.addCommand("InsertUnorderedList",((t,n)=>{sn(e,"UL",n)})),e.addCommand("InsertOrderedList",((t,n)=>{sn(e,"OL",n)})),e.addCommand("InsertDefinitionList",((t,n)=>{sn(e,"DL",n)})),e.addCommand("RemoveList",(()=>{Vt(e)})),Nn(e),e.addCommand("mceListUpdate",((t,n)=>{r(n)&&((e,t)=>{const n=it(e);null===n||ht(e,n)||e.undoManager.transact((()=>{r(t.styles)&&e.dom.setStyles(n,t.styles),r(t.attrs)&&Le(t.attrs,((t,o)=>e.dom.setAttrib(n,o,t)))}))})(e,n)})),e.addQueryStateHandler("InsertUnorderedList",bn(e,"UL")),e.addQueryStateHandler("InsertOrderedList",bn(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",bn(e,"DL"))})(e)),(e=>{const t=t=>()=>e.execCommand(t);e.hasPlugin("advlist")||(e.ui.registry.addToggleButton("numlist",{icon:"ordered-list",active:!1,tooltip:"Numbered list",onAction:t("InsertOrderedList"),onSetup:Tn(e,"OL")}),e.ui.registry.addToggleButton("bullist",{icon:"unordered-list",active:!1,tooltip:"Bullet list",onAction:t("InsertUnorderedList"),onSetup:Tn(e,"UL")}))})(e),(e=>{const t={text:"List properties...",icon:"ordered-list",onAction:()=>e.execCommand("mceListProps"),onSetup:xn(e,"OL")};e.ui.registry.addMenuItem("listprops",t),e.ui.registry.addContextMenu("lists",{update:t=>{const n=it(e,t);return Re(n)?["listprops"]:[]}})})(e),(e=>({backspaceDelete:t=>{fn(e,t)}}))(e))))}();
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{__exports as e}from"../../../../_virtual/plugin7.mjs";var t;function n(){return t||(t=1,function(){var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=r=e,o=(s=String).prototype,o.isPrototypeOf(n)||(null===(i=r.constructor)||void 0===i?void 0:i.name)===s.name)?"string":t;var n,o;var r,s,i})(t)===e,n=e=>t=>typeof t===e,o=t("string"),r=t("object"),s=t("array"),i=n("boolean"),l=e=>!(e=>null==e)(e),a=n("function"),d=n("number"),c=()=>{},m=e=>()=>e,u=(e,t)=>e===t;const p=e=>t=>!e(t),f=m(!1);class g{constructor(e,t){this.tag=e,this.value=t}static some(e){return new g(!0,e)}static none(){return g.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?g.some(e(this.value)):g.none()}bind(e){return this.tag?e(this.value):g.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:g.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return l(e)?g.some(e):g.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}g.singletonNone=new g(!1);const h=Array.prototype.slice,y=Array.prototype.indexOf,v=Array.prototype.push,C=(e,t)=>{return n=e,o=t,y.call(n,o)>-1;var n,o},b=(e,t)=>{for(let n=0,o=e.length;n<o;n++){if(t(e[n],n))return!0}return!1},N=(e,t)=>{const n=e.length,o=new Array(n);for(let r=0;r<n;r++){const n=e[r];o[r]=t(n,r)}return o},S=(e,t)=>{for(let n=0,o=e.length;n<o;n++){t(e[n],n)}},L=(e,t)=>{const n=[];for(let o=0,r=e.length;o<r;o++){const r=e[o];t(r,o)&&n.push(r)}return n},D=(e,t,n)=>(S(e,((e,o)=>{n=t(n,e,o)})),n),T=(e,t,n)=>{for(let o=0,r=e.length;o<r;o++){const r=e[o];if(t(r,o))return g.some(r);if(n(r,o))break}return g.none()},O=(e,t)=>T(e,t,f),x=(e,t)=>(e=>{const t=[];for(let n=0,o=e.length;n<o;++n){if(!s(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);v.apply(t,e[n])}return t})(N(e,t)),A=e=>{const t=h.call(e,0);return t.reverse(),t},E=(e,t)=>t>=0&&t<e.length?g.some(e[t]):g.none(),w=e=>E(e,0),k=e=>E(e,e.length-1),B=(e,t)=>{const n=[],o=a(t)?e=>b(n,(n=>t(n,e))):e=>C(n,e);for(let t=0,r=e.length;t<r;t++){const r=e[t];o(r)||n.push(r)}return n},P=(e,t,n=u)=>e.exists((e=>n(e,t))),M=(e,t,n)=>e.isSome()&&t.isSome()?g.some(n(e.getOrDie(),t.getOrDie())):g.none(),I=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},R={fromHtml:(e,t)=>{const n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return I(n.childNodes[0])},fromTag:(e,t)=>{const n=(t||document).createElement(e);return I(n)},fromText:(e,t)=>{const n=(t||document).createTextNode(e);return I(n)},fromDom:I,fromPoint:(e,t,n)=>g.from(e.dom.elementFromPoint(t,n)).map(I)},U=(e,t)=>{const n=e.dom;if(1!==n.nodeType)return!1;{const e=n;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},_=(e,t)=>e.dom===t.dom,$=U,H="undefined"!=typeof window?window:Function("return this;")(),F=(e,t)=>((e,t)=>{let n=null!=t?t:H;for(let t=0;t<e.length&&null!=n;++t)n=n[e[t]];return n})(e.split("."),t),V=(e,t)=>{const n=((e,t)=>F(e,t))(e,t);if(null==n)throw new Error(e+" not available on this browser");return n},j=Object.getPrototypeOf,K=e=>{const t=F("ownerDocument.defaultView",e);return r(e)&&((e=>V("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(j(e).constructor.name))},z=e=>e.dom.nodeName.toLowerCase(),Q=e=>e.dom.nodeType,W=e=>t=>Q(t)===e,q=e=>Z(e)&&K(e.dom),Z=W(1),G=W(3),J=W(9),X=W(11),Y=e=>t=>Z(t)&&z(t)===e,ee=e=>g.from(e.dom.parentNode).map(R.fromDom),te=e=>N(e.dom.childNodes,R.fromDom),ne=(e,t)=>{const n=e.dom.childNodes;return g.from(n[t]).map(R.fromDom)},oe=e=>ne(e,0),re=e=>ne(e,e.dom.childNodes.length-1),se=a(Element.prototype.attachShadow)&&a(Node.prototype.getRootNode)?e=>R.fromDom(e.dom.getRootNode()):e=>{return J(e)?e:(t=e,R.fromDom(t.dom.ownerDocument));var t},ie=e=>{const t=se(e);return X(n=t)&&l(n.dom.host)?g.some(t):g.none();var n},le=e=>R.fromDom(e.dom.host),ae=e=>{const t=G(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const n=t.ownerDocument;return ie(R.fromDom(t)).fold((()=>n.body.contains(t)),(o=ae,r=le,e=>o(r(e))));var o,r};var de=(e,t,n,o,r)=>e(n,o)?g.some(n):a(r)&&r(n)?g.none():t(n,o,r);const ce=(e,t,n)=>{let o=e.dom;const r=a(n)?n:f;for(;o.parentNode;){o=o.parentNode;const e=R.fromDom(o);if(t(e))return g.some(e);if(r(e))break}return g.none()},me=(e,t,n)=>de(((e,t)=>t(e)),ce,e,t,n),ue=(e,t,n)=>ce(e,(e=>U(e,t)),n),pe=e=>{return de(((e,t)=>U(e,t)),ue,e,"[contenteditable]",t);var t},fe=e=>e.dom.contentEditable,ge=(e,t)=>{ee(e).each((n=>{n.dom.insertBefore(t.dom,e.dom)}))},he=(e,t)=>{const n=(e=>g.from(e.dom.nextSibling).map(R.fromDom))(e);n.fold((()=>{ee(e).each((e=>{ye(e,t)}))}),(e=>{ge(e,t)}))},ye=(e,t)=>{e.dom.appendChild(t.dom)},ve=(e,t)=>{S(t,(t=>{ye(e,t)}))},Ce=e=>{e.dom.textContent="",S(te(e),(e=>{be(e)}))},be=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)};var Ne=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),Se=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),Le=tinymce.util.Tools.resolve("tinymce.util.VK");const De=e=>N(e,R.fromDom),Te=Object.keys,Oe=(e,t)=>{const n=Te(e);for(let o=0,r=n.length;o<r;o++){const r=n[o];t(e[r],r)}},xe=(e,t)=>{const n={};var o;return((e,t,n,o)=>{Oe(e,((e,r)=>{(t(e,r)?n:o)(e,r)}))})(e,t,(o=n,(e,t)=>{o[t]=e}),c),n},Ae=(e,t)=>{const n=e.dom;Oe(t,((e,t)=>{((e,t,n)=>{if(!(o(n)||i(n)||d(n)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")})(n,t,e)}))},Ee=e=>D(e.dom.attributes,((e,t)=>(e[t.name]=t.value,e)),{}),we=e=>((e,t)=>R.fromDom(e.dom.cloneNode(t)))(e,!0),ke=(e,t)=>{const n=((e,t)=>{const n=R.fromTag(t),o=Ee(e);return Ae(n,o),n})(e,t);he(e,n);const o=te(e);return ve(n,o),be(e),n};var Be=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),Pe=tinymce.util.Tools.resolve("tinymce.util.Tools");const Me=e=>t=>l(t)&&t.nodeName.toLowerCase()===e,Ie=e=>t=>l(t)&&e.test(t.nodeName),Re=e=>l(e)&&3===e.nodeType,Ue=e=>l(e)&&1===e.nodeType,_e=Ie(/^(OL|UL|DL)$/),$e=Ie(/^(OL|UL)$/),He=Me("ol"),Fe=Ie(/^(LI|DT|DD)$/),Ve=Ie(/^(DT|DD)$/),je=Ie(/^(TH|TD)$/),Ke=Me("br"),ze=(e,t)=>l(t)&&t.nodeName in e.schema.getTextBlockElements(),Qe=(e,t)=>l(e)&&e.nodeName in t,We=(e,t)=>l(t)&&t.nodeName in e.schema.getVoidElements(),qe=(e,t,n)=>{const o=e.isEmpty(t);return!(n&&e.select("span[data-mce-type=bookmark]",t).length>0)&&o},Ze=(e,t)=>e.isChildOf(t,e.getRoot()),Ge=e=>t=>t.options.get(e),Je=Ge("lists_indent_on_tab"),Xe=Ge("forced_root_block"),Ye=Ge("forced_root_block_attrs"),et=(e,t)=>{const n=e.dom,o=e.schema.getBlockElements(),r=n.createFragment(),s=Xe(e),i=Ye(e);let l,a,d=!1;for(a=n.create(s,i),Qe(t.firstChild,o)||r.appendChild(a);l=t.firstChild;){const e=l.nodeName;d||"SPAN"===e&&"bookmark"===l.getAttribute("data-mce-type")||(d=!0),Qe(l,o)?(r.appendChild(l),a=null):(a||(a=n.create(s,i),r.appendChild(a)),a.appendChild(l))}return!d&&a&&a.appendChild(n.create("br",{"data-mce-bogus":"1"})),r},tt=Be.DOM,nt=(e,t,n)=>{const o=tt.select('span[data-mce-type="bookmark"]',t),r=et(e,n),s=tt.createRng();s.setStartAfter(n),s.setEndAfter(t);const i=s.extractContents();for(let t=i.firstChild;t;t=t.firstChild)if("LI"===t.nodeName&&e.dom.isEmpty(t)){tt.remove(t);break}e.dom.isEmpty(i)||tt.insertAfter(i,t),tt.insertAfter(r,t);const l=n.parentElement;l&&qe(e.dom,l)&&(e=>{const t=e.parentNode;t&&Pe.each(o,(e=>{t.insertBefore(e,n.parentNode)})),tt.remove(e)})(l),tt.remove(n),qe(e.dom,t)&&tt.remove(t)},ot=Y("dd"),rt=Y("dt"),st=(e,t)=>{var n;ot(t)?ke(t,"dt"):rt(t)&&(n=t,g.from(n.dom.parentElement).map(R.fromDom)).each((n=>nt(e,n.dom,t.dom)))},it=e=>{rt(e)&&ke(e,"dd")},lt=(e,t)=>{if(Re(e))return{container:e,offset:t};const n=Ne.getNode(e,t);return Re(n)?{container:n,offset:t>=e.childNodes.length?n.data.length:0}:n.previousSibling&&Re(n.previousSibling)?{container:n.previousSibling,offset:n.previousSibling.data.length}:n.nextSibling&&Re(n.nextSibling)?{container:n.nextSibling,offset:0}:{container:e,offset:t}},at=e=>{const t=e.cloneRange(),n=lt(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);const o=lt(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},dt=["OL","UL","DL"],ct=dt.join(","),mt=(e,t)=>{const n=t||e.selection.getStart(!0);return e.dom.getParent(n,ct,gt(e,n))},ut=e=>{const t=mt(e),n=e.selection.getSelectedBlocks();return((e,t)=>l(e)&&1===t.length&&t[0]===e)(t,n)?(e=>L(e.querySelectorAll(ct),_e))(t):L(n,(e=>_e(e)&&t!==e))},pt=e=>{const t=e.selection.getSelectedBlocks();return L(((e,t)=>{const n=Pe.map(t,(t=>e.dom.getParent(t,"li,dd,dt",gt(e,t))||t));return B(n)})(e,t),Fe)},ft=(e,t)=>{const n=e.dom.getParents(t,"TD,TH");return n.length>0?n[0]:e.getBody()},gt=(e,t)=>{const n=e.dom.getParents(t,e.dom.isBlock),o=O(n,(t=>{return n=e.schema,!_e(o=t)&&!Fe(o)&&b(dt,(e=>n.isValidChild(o.nodeName,e)));var n,o}));return o.getOr(e.getBody())},ht=(e,t)=>{const n=e.dom.getParents(t,"ol,ul",gt(e,t));return k(n)},yt=e=>{const t=(e=>{const t=ht(e,e.selection.getStart()),n=L(e.selection.getSelectedBlocks(),$e);return t.toArray().concat(n)})(e),n=(e=>{const t=e.selection.getStart();return e.dom.getParents(t,"ol,ul",gt(e,t))})(e);return O(n,(e=>{return t=R.fromDom(e),ee(t).exists((e=>Fe(e.dom)&&oe(e).exists((e=>!_e(e.dom)))&&re(e).exists((e=>!_e(e.dom)))));var t})).fold((()=>vt(e,t)),(e=>[e]))},vt=(e,t)=>{const n=N(t,(t=>ht(e,t).getOr(t)));return B(n)},Ct=e=>/\btox\-/.test(e.className),bt=(e,t)=>T(e,_e,je).exists((e=>e.nodeName===t&&!Ct(e))),Nt=(e,t)=>null!==t&&!e.dom.isEditable(t),St=(e,t)=>{const n=e.dom.getParent(t,"ol,ul,dl");return Nt(e,n)},Lt=(e,t)=>{const n=e.selection.getNode();return t({parents:e.dom.getParents(n),element:n}),e.on("NodeChange",t),()=>e.off("NodeChange",t)},Dt=(e,t)=>{const n=(t||document).createDocumentFragment();return S(e,(e=>{n.appendChild(e.dom)})),R.fromDom(n)},Tt=(e,t,n)=>e.dispatch("ListMutation",{action:t,element:n}),Ot=(xt=/^\s+|\s+$/g,e=>e.replace(xt,""));var xt;const At=(e,t,n)=>{if(!o(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);(e=>void 0!==e.style&&a(e.style.getPropertyValue))(e)&&e.style.setProperty(t,n)},Et=(e,t,n)=>{const o=e.dom;At(o,t,n)},wt=e=>$(e,"OL,UL"),kt=e=>oe(e).exists(wt),Bt=e=>"listAttributes"in e,Pt=e=>"isComment"in e,Mt=e=>e.depth>0,It=e=>e.isSelected,Rt=e=>{const t=te(e),n=re(e).exists(wt)?t.slice(0,-1):t;return N(n,we)},Ut=(e,t)=>{ye(e.item,t.list)},_t=(e,t)=>{const n={list:R.fromTag(t,e),item:R.fromTag("li",e)};return ye(n.list,n.item),n},$t=(e,t,n)=>{const o=t.slice(0,n.depth);return k(o).each((t=>{if(Bt(n)){const o=((e,t,n)=>{const o=R.fromTag("li",e);return Ae(o,t),ve(o,n),o})(e,n.itemAttributes,n.content);((e,t)=>{ye(e.list,t),e.item=t})(t,o),((e,t)=>{z(e.list)!==t.listType&&(e.list=ke(e.list,t.listType)),Ae(e.list,t.listAttributes)})(t,n)}else if((e=>"isFragment"in e)(n))ve(t.item,n.content);else{const e=R.fromHtml(`\x3c!--${n.content}--\x3e`);ye(t.list,e)}})),o},Ht=(e,t,n)=>{const o=((e,t,n)=>{const o=[];for(let r=0;r<n;r++)o.push(_t(e,Bt(t)?t.listType:t.parentListType));return o})(e,n,n.depth-t.length);var r;return(e=>{for(let t=1;t<e.length;t++)Ut(e[t-1],e[t])})(o),((e,t)=>{for(let t=0;t<e.length-1;t++)Et(e[t].item,"list-style-type","none");k(e).each((e=>{Bt(t)&&(Ae(e.list,t.listAttributes),Ae(e.item,t.itemAttributes)),ve(e.item,t.content)}))})(o,n),r=o,M(k(t),w(r),Ut),t.concat(o)},Ft=(e,t)=>{let n=g.none();const o=D(t,((t,o,r)=>Pt(o)?0===r?(n=g.some(o),t):$t(e,t,o):o.depth>t.length?Ht(e,t,o):$t(e,t,o)),[]);return n.each((e=>{const t=R.fromHtml(`\x3c!--${e.content}--\x3e`);w(o).each((e=>{((e,t)=>{oe(e).fold((()=>{ye(e,t)}),(n=>{e.dom.insertBefore(t.dom,n.dom)}))})(e.list,t)}))})),w(o).map((e=>e.list))},Vt=e=>(S(e,((t,n)=>{((e,t)=>{const n=e[t].depth,o=e=>e.depth===n&&!e.dirty,r=e=>e.depth<n;return T(A(e.slice(0,t)),o,r).orThunk((()=>T(e.slice(t+1),o,r)))})(e,n).fold((()=>{t.dirty&&Bt(t)&&(e=>{e.listAttributes=xe(e.listAttributes,((e,t)=>"start"!==t))})(t)}),(e=>{return o=e,void(Bt(n=t)&&Bt(o)&&(n.listType=o.listType,n.listAttributes={...o.listAttributes}));var n,o}))})),e),jt=(e,t,n,o)=>{var r,s;if(8===Q(s=o)||"#comment"===z(s))return[{depth:e+1,content:null!==(r=o.dom.nodeValue)&&void 0!==r?r:"",dirty:!1,isSelected:!1,isComment:!0}];t.each((e=>{_(e.start,o)&&n.set(!0)}));const i=((e,t,n)=>ee(e).filter(Z).map((o=>({depth:t,dirty:!1,isSelected:n,content:Rt(e),itemAttributes:Ee(e),listAttributes:Ee(o),listType:z(o),isInPreviousLi:!1}))))(o,e,n.get());t.each((e=>{_(e.end,o)&&n.set(!1)}));const l=re(o).filter(wt).map((o=>zt(e,t,n,o))).getOr([]);return i.toArray().concat(l)},Kt=(e,t,n,o)=>oe(o).filter(wt).fold((()=>jt(e,t,n,o)),(r=>{const s=D(te(o),((o,s,i)=>{if(0===i)return o;if($(s,"LI"))return o.concat(jt(e,t,n,s));{const t={isFragment:!0,depth:e,content:[s],isSelected:!1,dirty:!1,parentListType:z(r)};return o.concat(t)}}),[]);return zt(e,t,n,r).concat(s)})),zt=(e,t,n,o)=>x(te(o),(o=>(wt(o)?zt:Kt)(e+1,t,n,o))),Qt=(e,t)=>x(((e,t)=>{if(0===e.length)return[];{let n=t(e[0]);const o=[];let r=[];for(let s=0,i=e.length;s<i;s++){const i=e[s],l=t(i);l!==n&&(o.push(r),r=[]),n=l,r.push(i)}return 0!==r.length&&o.push(r),o}})(t,Mt),(t=>w(t).exists(Mt)?((e,t)=>{const n=Vt(t);return Ft(e.contentDocument,n).toArray()})(e,t):((e,t)=>{const n=Vt(t);return N(n,(t=>{const n=Pt(t)?Dt([R.fromHtml(`\x3c!--${t.content}--\x3e`)]):Dt(t.content);return R.fromDom(et(e,n.dom))}))})(e,t))),Wt=(e,t,n)=>{const o=((e,t)=>{const n=(e=>{let t=!1;return{get:()=>t,set:e=>{t=e}}})();return N(e,(e=>({sourceList:e,entries:zt(0,t,n,e)})))})(t,(e=>{const t=N(pt(e),R.fromDom);return M(O(t,p(kt)),O(A(t),p(kt)),((e,t)=>({start:e,end:t})))})(e));S(o,(t=>{((e,t)=>{S(L(e,It),(e=>((e,t)=>{switch(e){case"Indent":t.depth++;break;case"Outdent":t.depth--;break;case"Flatten":t.depth=0}t.dirty=!0})(t,e)))})(t.entries,n);const o=Qt(e,t.entries);var r;S(o,(t=>{Tt(e,"Indent"===n?"IndentList":"OutdentList",t.dom)})),r=t.sourceList,S(o,(e=>{ge(r,e)})),be(t.sourceList)}))},qt=(e,t)=>{const n=De(yt(e)),o=De((e=>L(pt(e),Ve))(e));let r=!1;if(n.length||o.length){const s=e.selection.getBookmark();Wt(e,n,t),((e,t,n)=>{S(n,"Indent"===t?it:t=>st(e,t))})(e,t,o),e.selection.moveToBookmark(s),e.selection.setRng(at(e.selection.getRng())),e.nodeChanged(),r=!0}return r},Zt=(e,t)=>!(e=>{const t=mt(e);return Nt(e,t)})(e)&&qt(e,t),Gt=e=>Zt(e,"Indent"),Jt=e=>Zt(e,"Outdent"),Xt=e=>Zt(e,"Flatten"),Yt=e=>"\ufeff"===e,en=(e,t)=>{return n=e,o=function(e,...t){return(...n)=>{const o=t.concat(n);return e.apply(null,o)}}(_,t),ce(n,o,r).isSome();var n,o,r};var tn=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager");const nn=Be.DOM,on=e=>{const t={},n=n=>{let o=e[n?"startContainer":"endContainer"],r=e[n?"startOffset":"endOffset"];if(Ue(o)){const e=nn.create("span",{"data-mce-type":"bookmark"});o.hasChildNodes()?(r=Math.min(r,o.childNodes.length-1),n?o.insertBefore(e,o.childNodes[r]):nn.insertAfter(e,o.childNodes[r])):o.appendChild(e),o=e,r=0}t[n?"startContainer":"endContainer"]=o,t[n?"startOffset":"endOffset"]=r};return n(!0),e.collapsed||n(),t},rn=e=>{const t=t=>{let n=e[t?"startContainer":"endContainer"],o=e[t?"startOffset":"endOffset"];if(n){if(Ue(n)&&n.parentNode){const e=n;o=(e=>{var t;let n=null===(t=e.parentNode)||void 0===t?void 0:t.firstChild,o=0;for(;n;){if(n===e)return o;Ue(n)&&"bookmark"===n.getAttribute("data-mce-type")||o++,n=n.nextSibling}return-1})(n),n=n.parentNode,nn.remove(e),!n.hasChildNodes()&&nn.isBlock(n)&&n.appendChild(nn.create("br"))}e[t?"startContainer":"endContainer"]=n,e[t?"startOffset":"endOffset"]=o}};t(!0),t();const n=nn.createRng();return n.setStart(e.startContainer,e.startOffset),e.endContainer&&n.setEnd(e.endContainer,e.endOffset),at(n)},sn=e=>{switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},ln=(e,t)=>{Pe.each(t,((t,n)=>{e.setAttribute(n,t)}))},an=(e,t,n)=>{((e,t,n)=>{const o=n["list-style-type"]?n["list-style-type"]:null;e.setStyle(t,"list-style-type",o)})(e,t,n),((e,t,n)=>{ln(t,n["list-attributes"]),Pe.each(e.select("li",t),(e=>{ln(e,n["list-item-attributes"])}))})(e,t,n)},dn=(e,t)=>l(t)&&!Qe(t,e.schema.getBlockElements()),cn=(e,t,n,o)=>{let r=t[n?"startContainer":"endContainer"];const s=t[n?"startOffset":"endOffset"];Ue(r)&&(r=r.childNodes[Math.min(s,r.childNodes.length-1)]||r),!n&&Ke(r.nextSibling)&&(r=r.nextSibling);const i=(t,n)=>{var r;const s=new Se(t,(t=>{for(;!e.dom.isBlock(t)&&t.parentNode&&o!==t;)t=t.parentNode;return t})(t)),i=n?"next":"prev";let l;for(;l=s[i]();)if(!We(e,l)&&!Yt(l.textContent)&&0!==(null===(r=l.textContent)||void 0===r?void 0:r.length))return g.some(l);return g.none()};if(n&&Re(r))if(Yt(r.textContent))r=i(r,!1).getOr(r);else for(null!==r.parentNode&&dn(e,r.parentNode)&&(r=r.parentNode);null!==r.previousSibling&&(dn(e,r.previousSibling)||Re(r.previousSibling));)r=r.previousSibling;if(!n&&Re(r))if(Yt(r.textContent))r=i(r,!0).getOr(r);else for(null!==r.parentNode&&dn(e,r.parentNode)&&(r=r.parentNode);null!==r.nextSibling&&(dn(e,r.nextSibling)||Re(r.nextSibling));)r=r.nextSibling;for(;r.parentNode!==o;){const t=r.parentNode;if(ze(e,r))return r;if(/^(TD|TH)$/.test(t.nodeName))return r;r=t}return r},mn=(e,t,n)=>{const o=e.selection.getRng();let r="LI";const s=gt(e,((e,t)=>{const n=e.selection.getStart(!0),o=cn(e,t,!0,e.getBody());return en(R.fromDom(o),R.fromDom(t.commonAncestorContainer))?t.commonAncestorContainer:n})(e,o)),i=e.dom;if("false"===i.getContentEditable(e.selection.getNode()))return;"DL"===(t=t.toUpperCase())&&(r="DT");const l=on(o),a=L(((e,t,n)=>{const o=[],r=e.dom,s=cn(e,t,!0,n),i=cn(e,t,!1,n);let l;const a=[];for(let e=s;e&&(a.push(e),e!==i);e=e.nextSibling);return Pe.each(a,(t=>{var s;if(ze(e,t))return o.push(t),void(l=null);if(r.isBlock(t)||Ke(t))return Ke(t)&&r.remove(t),void(l=null);const i=t.nextSibling;tn.isBookmarkNode(t)&&(_e(i)||ze(e,i)||!i&&t.parentNode===n)?l=null:(l||(l=r.create("p"),null===(s=t.parentNode)||void 0===s||s.insertBefore(l,t),o.push(l)),l.appendChild(t))})),o})(e,o,s),e.dom.isEditable);Pe.each(a,(o=>{let s;const l=o.previousSibling,a=o.parentNode;Fe(a)||(l&&_e(l)&&l.nodeName===t&&((e,t,n)=>{const o=e.getStyle(t,"list-style-type");let r=n?n["list-style-type"]:"";return r=null===r?"":r,o===r})(i,l,n)?(s=l,o=i.rename(o,r),l.appendChild(o)):(s=i.create(t),a.insertBefore(s,o),s.appendChild(o),o=i.rename(o,r)),((e,t,n)=>{Pe.each(n,(n=>e.setStyle(t,n,"")))})(i,o,["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"]),an(i,s,n),pn(e.dom,s))})),e.selection.setRng(rn(l))},un=(e,t,n)=>{return((e,t)=>_e(e)&&e.nodeName===(null==t?void 0:t.nodeName))(t,n)&&((e,t,n)=>e.getStyle(t,"list-style-type",!0)===e.getStyle(n,"list-style-type",!0))(e,t,n)&&(o=n,t.className===o.className);var o},pn=(e,t)=>{let n,o=t.nextSibling;if(un(e,t,o)){const r=o;for(;n=r.firstChild;)t.appendChild(n);e.remove(r)}if(o=t.previousSibling,un(e,t,o)){const r=o;for(;n=r.lastChild;)t.insertBefore(n,t.firstChild);e.remove(r)}},fn=(e,t,n,o)=>{if(t.nodeName!==n){const r=e.dom.rename(t,n);an(e.dom,r,o),Tt(e,sn(n),r)}else an(e.dom,t,o),Tt(e,sn(n),t)},gn=(e,t,n,o)=>{if(t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),t.nodeName!==n){const r=e.dom.rename(t,n);an(e.dom,r,o),Tt(e,sn(n),r)}else an(e.dom,t,o),Tt(e,sn(n),t)},hn=e=>"list-style-type"in e,yn=(e,t,n)=>{const o=mt(e);if(St(e,o))return;const s=ut(e),i=r(n)?n:{};s.length>0?((e,t,n,o,r)=>{const s=_e(t);if(!s||t.nodeName!==o||hn(r)||Ct(t)){mn(e,o,r);const i=on(e.selection.getRng()),l=s?[t,...n]:n,a=s&&Ct(t)?gn:fn;Pe.each(l,(t=>{a(e,t,o,r)})),e.selection.setRng(rn(i))}else Xt(e)})(e,o,s,t,i):((e,t,n,o)=>{if(t!==e.getBody())if(t)if(t.nodeName!==n||hn(o)||Ct(t)){const r=on(e.selection.getRng());Ct(t)&&t.classList.forEach(((e,n,o)=>{e.startsWith("tox-")&&(o.remove(e),0===o.length&&t.removeAttribute("class"))})),an(e.dom,t,o);const s=e.dom.rename(t,n);pn(e.dom,s),e.selection.setRng(rn(r)),mn(e,n,o),Tt(e,sn(n),s)}else Xt(e);else mn(e,n,o),Tt(e,sn(n),t)})(e,o,t,i)},vn=Be.DOM,Cn=(e,t)=>{const n=Pe.grep(e.select("ol,ul",t));Pe.each(n,(t=>{((e,t)=>{const n=t.parentElement;if(n&&"LI"===n.nodeName&&n.firstChild===t){const o=n.previousSibling;o&&"LI"===o.nodeName?(o.appendChild(t),qe(e,n)&&vn.remove(n)):vn.setStyle(n,"listStyleType","none")}if(_e(n)){const e=n.previousSibling;e&&"LI"===e.nodeName&&e.appendChild(t)}})(e,t)}))},bn=(e,t,n,o)=>{let r=t.startContainer;const s=t.startOffset;if(Re(r)&&(n?s<r.data.length:s>0))return r;const i=e.schema.getNonEmptyElements();Ue(r)&&(r=Ne.getNode(r,s));const l=new Se(r,o);n&&((e,t)=>!!Ke(t)&&e.isBlock(t.nextSibling)&&!Ke(t.previousSibling))(e.dom,r)&&l.next();const a=n?l.next.bind(l):l.prev2.bind(l);for(;r=a();){if("LI"===r.nodeName&&!r.hasChildNodes())return r;if(i[r.nodeName])return r;if(Re(r)&&r.data.length>0)return r}return null},Nn=(e,t)=>{const n=t.childNodes;return 1===n.length&&!_e(n[0])&&e.isBlock(n[0])},Sn=e=>g.from(e).map(R.fromDom).filter(q).exists((e=>((e,t=!1)=>ae(e)?e.dom.isContentEditable:pe(e).fold(m(t),(e=>"true"===fe(e))))(e)&&!C(["details"],z(e)))),Ln=(e,t,n)=>{let o;const r=Nn(e,n)?n.firstChild:n;if(((e,t)=>{Nn(e,t)&&Sn(t.firstChild)&&e.remove(t.firstChild,!0)})(e,t),!qe(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},Dn=(e,t,n)=>{let o;const r=t.parentNode;if(!Ze(e,t)||!Ze(e,n))return;_e(n.lastChild)&&(o=n.lastChild),r===n.lastChild&&Ke(r.previousSibling)&&e.remove(r.previousSibling);const s=n.lastChild;s&&Ke(s)&&t.hasChildNodes()&&e.remove(s),qe(e,n,!0)&&Ce(R.fromDom(n)),Ln(e,t,n),o&&n.appendChild(o);const i=((e,t)=>{const n=e.dom,o=t.dom;return n!==o&&n.contains(o)})(R.fromDom(n),R.fromDom(t))?e.getParents(t,_e,n):[];e.remove(t),S(i,(t=>{qe(e,t)&&t!==e.getRoot()&&e.remove(t)}))},Tn=(e,t,n,o)=>{const r=e.dom;if(r.isEmpty(o))((e,t,n)=>{Ce(R.fromDom(n)),Dn(e.dom,t,n),e.selection.setCursorLocation(n,0)})(e,n,o);else{const s=on(t);Dn(r,n,o),e.selection.setRng(rn(s))}},On=(e,t)=>{const n=e.dom,o=e.selection,r=o.getStart(),s=ft(e,r),i=n.getParent(o.getStart(),"LI",s);if(i){const r=i.parentElement;if(r===e.getBody()&&qe(n,r))return!0;const l=at(o.getRng()),a=n.getParent(bn(e,l,t,s),"LI",s),d=a&&(t?n.isChildOf(i,a):n.isChildOf(a,i));if(a&&a!==i&&!d)return e.undoManager.transact((()=>{var n,o;t?Tn(e,l,a,i):(null===(o=(n=i).parentNode)||void 0===o?void 0:o.firstChild)===n?Jt(e):((e,t,n,o)=>{const r=on(t);Dn(e.dom,n,o);const s=rn(r);e.selection.setRng(s)})(e,l,i,a)})),!0;if(d&&!t&&a!==i)return e.undoManager.transact((()=>{if(l.commonAncestorContainer.parentElement){const t=on(l),o=l.commonAncestorContainer.parentElement;Ln(n,l.commonAncestorContainer.parentElement,a),o.remove();const r=rn(t);e.selection.setRng(r)}})),!0;if(!a&&!t&&0===l.startOffset&&0===l.endOffset)return e.undoManager.transact((()=>{Xt(e)})),!0}return!1},xn=(e,t)=>{const n=e.dom,o=e.selection.getStart(),r=ft(e,o),s=n.getParent(o,n.isBlock,r);if(s&&n.isEmpty(s)){const o=at(e.selection.getRng()),i=n.getParent(bn(e,o,t,r),"LI",r);if(i){const l=e=>C(["td","th","caption"],z(e)),a=e=>e.dom===r;return!!((e,t,n=u)=>M(e,t,n).getOr(e.isNone()&&t.isNone()))(me(R.fromDom(i),l,a),me(R.fromDom(o.startContainer),l,a),_)&&(e.undoManager.transact((()=>{const o=i.parentNode;((e,t,n)=>{const o=e.getParent(t.parentNode,e.isBlock,n);e.remove(t),o&&e.isEmpty(o)&&e.remove(o)})(n,s,r),pn(n,o),e.selection.select(i,!0),e.selection.collapse(t)})),!0)}}return!1},An=e=>{const t=e.selection.getStart(),n=ft(e,t);return e.dom.getParent(t,"LI,DT,DD",n)||pt(e).length>0},En=(e,t)=>{const n=e.selection;return!St(e,n.getNode())&&(n.isCollapsed()?((e,t)=>On(e,t)||xn(e,t))(e,t):(e=>!!An(e)&&(e.undoManager.transact((()=>{e.execCommand("Delete"),Cn(e.dom,e.getBody())})),!0))(e))},wn=e=>{const t=A(Ot(e).split("")),n=N(t,((e,t)=>{const n=e.toUpperCase().charCodeAt(0)-"A".charCodeAt(0)+1;return Math.pow(26,t)*n}));return D(n,((e,t)=>e+t),0)},kn=e=>{if(--e<0)return"";{const t=e%26,n=Math.floor(e/26);return kn(n)+String.fromCharCode("A".charCodeAt(0)+t)}},Bn=e=>{const t=parseInt(e.start,10);return P(e.listStyleType,"upper-alpha")?kn(t):P(e.listStyleType,"lower-alpha")?kn(t).toLowerCase():e.start},Pn=e=>{const t=mt(e);He(t)&&!St(e,t)&&e.windowManager.open({title:"List Properties",body:{type:"panel",items:[{type:"input",name:"start",label:"Start list at number",inputMode:"numeric"}]},initialData:{start:Bn({start:e.dom.getAttrib(t,"start","1"),listStyleType:g.from(e.dom.getStyle(t,"list-style-type"))})},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:t=>{(e=>{switch((e=>/^[0-9]+$/.test(e)?2:/^[A-Z]+$/.test(e)?0:(e=>/^[a-z]+$/.test(e))(e)?1:e.length>0?4:3)(e)){case 2:return g.some({listStyleType:g.none(),start:e});case 0:return g.some({listStyleType:g.some("upper-alpha"),start:wn(e).toString()});case 1:return g.some({listStyleType:g.some("lower-alpha"),start:wn(e).toString()});case 3:return g.some({listStyleType:g.none(),start:""});case 4:return g.none()}})(t.getData().start).each((t=>{e.execCommand("mceListUpdate",!1,{attrs:{start:"1"===t.start?"":t.start},styles:{"list-style-type":t.listStyleType.getOr("")}})})),t.close()}})},Mn=(e,t)=>()=>{const n=mt(e);return l(n)&&n.nodeName===t},In=e=>{e.addCommand("mceListProps",(()=>{Pn(e)}))},Rn=e=>{e.on("BeforeExecCommand",(t=>{const n=t.command.toLowerCase();"indent"===n?Gt(e):"outdent"===n&&Jt(e)})),e.addCommand("InsertUnorderedList",((t,n)=>{yn(e,"UL",n)})),e.addCommand("InsertOrderedList",((t,n)=>{yn(e,"OL",n)})),e.addCommand("InsertDefinitionList",((t,n)=>{yn(e,"DL",n)})),e.addCommand("RemoveList",(()=>{Xt(e)})),In(e),e.addCommand("mceListUpdate",((t,n)=>{r(n)&&((e,t)=>{const n=mt(e);null===n||St(e,n)||e.undoManager.transact((()=>{r(t.styles)&&e.dom.setStyles(n,t.styles),r(t.attrs)&&Oe(t.attrs,((t,o)=>e.dom.setAttrib(n,o,t)))}))})(e,n)})),e.addQueryStateHandler("InsertUnorderedList",Mn(e,"UL")),e.addQueryStateHandler("InsertOrderedList",Mn(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",Mn(e,"DL"))};var Un=tinymce.util.Tools.resolve("tinymce.html.Node");const _n=e=>3===e.type,$n=e=>0===e.length,Hn=e=>{const t=(t,n)=>{const o=Un.create("li");S(t,(e=>o.append(e))),n?e.insert(o,n,!0):e.append(o)},n=D(e.children(),((e,n)=>_n(n)?[...e,n]:$n(e)||_n(n)?e:(t(e,n),[])),[]);$n(n)||t(n)},Fn=e=>{Je(e)&&(e=>{e.on("keydown",(t=>{t.keyCode!==Le.TAB||Le.metaKeyPressed(t)||e.undoManager.transact((()=>{(t.shiftKey?Jt(e):Gt(e))&&t.preventDefault()}))}))})(e),(e=>{e.on("ExecCommand",(t=>{const n=t.command.toLowerCase();"delete"!==n&&"forwarddelete"!==n||!An(e)||Cn(e.dom,e.getBody())})),e.on("keydown",(t=>{t.keyCode===Le.BACKSPACE?En(e,!1)&&t.preventDefault():t.keyCode===Le.DELETE&&En(e,!0)&&t.preventDefault()}))})(e)},Vn=(e,t)=>n=>(n.setEnabled(e.selection.isEditable()),Lt(e,(o=>{n.setActive(bt(o.parents,t)),n.setEnabled(!St(e,o.element)&&e.selection.isEditable())}))),jn=(e,t)=>n=>Lt(e,(o=>n.setEnabled(bt(o.parents,t)&&!St(e,o.element))));e.add("lists",(e=>((e=>{(0,e.options.register)("lists_indent_on_tab",{processor:"boolean",default:!0})})(e),(e=>{e.on("PreInit",(()=>{const{parser:t}=e;t.addNodeFilter("ul,ol",(e=>S(e,Hn)))}))})(e),e.hasPlugin("rtc",!0)?In(e):(Fn(e),Rn(e)),(e=>{const t=t=>()=>e.execCommand(t);e.hasPlugin("advlist")||(e.ui.registry.addToggleButton("numlist",{icon:"ordered-list",active:!1,tooltip:"Numbered list",onAction:t("InsertOrderedList"),onSetup:Vn(e,"OL")}),e.ui.registry.addToggleButton("bullist",{icon:"unordered-list",active:!1,tooltip:"Bullet list",onAction:t("InsertUnorderedList"),onSetup:Vn(e,"UL")}))})(e),(e=>{const t={text:"List properties...",icon:"ordered-list",onAction:()=>e.execCommand("mceListProps"),onSetup:jn(e,"OL")};e.ui.registry.addMenuItem("listprops",t),e.ui.registry.addContextMenu("lists",{update:t=>{const n=mt(e,t);return He(n)?["listprops"]:[]}})})(e),(e=>({backspaceDelete:t=>{En(e,t)}}))(e))))}()),e}export{n as __require};
|
2
|
-
//# sourceMappingURL=plugin.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"plugin.mjs","sources":["../../../../../../public/tinymce/plugins/lists/plugin.js"],"sourcesContent":["/**\n * TinyMCE version 6.8.5 (TBD)\n */\n\n(function () {\n 'use strict';\n\n var global$7 = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const hasProto = (v, constructor, predicate) => {\n var _a;\n if (predicate(v, constructor.prototype)) {\n return true;\n } else {\n return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;\n }\n };\n const typeOf = x => {\n const t = typeof x;\n if (x === null) {\n return 'null';\n } else if (t === 'object' && Array.isArray(x)) {\n return 'array';\n } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {\n return 'string';\n } else {\n return t;\n }\n };\n const isType$1 = type => value => typeOf(value) === type;\n const isSimpleType = type => value => typeof value === type;\n const isString = isType$1('string');\n const isObject = isType$1('object');\n const isArray = isType$1('array');\n const isBoolean = isSimpleType('boolean');\n const isNullable = a => a === null || a === undefined;\n const isNonNullable = a => !isNullable(a);\n const isFunction = isSimpleType('function');\n const isNumber = isSimpleType('number');\n\n const noop = () => {\n };\n const compose1 = (fbc, fab) => a => fbc(fab(a));\n const constant = value => {\n return () => {\n return value;\n };\n };\n const tripleEquals = (a, b) => {\n return a === b;\n };\n function curry(fn, ...initialArgs) {\n return (...restArgs) => {\n const all = initialArgs.concat(restArgs);\n return fn.apply(null, all);\n };\n }\n const not = f => t => !f(t);\n const never = constant(false);\n\n class Optional {\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n static some(value) {\n return new Optional(true, value);\n }\n static none() {\n return Optional.singletonNone;\n }\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n } else {\n return onNone();\n }\n }\n isSome() {\n return this.tag;\n }\n isNone() {\n return !this.tag;\n }\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n } else {\n return Optional.none();\n }\n }\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n } else {\n return Optional.none();\n }\n }\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n } else {\n return Optional.none();\n }\n }\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n or(replacement) {\n return this.tag ? this : replacement;\n }\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');\n } else {\n return this.value;\n }\n }\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n getOrNull() {\n return this.tag ? this.value : null;\n }\n getOrUndefined() {\n return this.value;\n }\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n toArray() {\n return this.tag ? [this.value] : [];\n }\n toString() {\n return this.tag ? `some(${ this.value })` : 'none()';\n }\n }\n Optional.singletonNone = new Optional(false);\n\n const nativeSlice = Array.prototype.slice;\n const nativeIndexOf = Array.prototype.indexOf;\n const nativePush = Array.prototype.push;\n const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);\n const contains$1 = (xs, x) => rawIndexOf(xs, x) > -1;\n const exists = (xs, pred) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return true;\n }\n }\n return false;\n };\n const map = (xs, f) => {\n const len = xs.length;\n const r = new Array(len);\n for (let i = 0; i < len; i++) {\n const x = xs[i];\n r[i] = f(x, i);\n }\n return r;\n };\n const each$1 = (xs, f) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n f(x, i);\n }\n };\n const filter$1 = (xs, pred) => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n r.push(x);\n }\n }\n return r;\n };\n const groupBy = (xs, f) => {\n if (xs.length === 0) {\n return [];\n } else {\n let wasType = f(xs[0]);\n const r = [];\n let group = [];\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n const type = f(x);\n if (type !== wasType) {\n r.push(group);\n group = [];\n }\n wasType = type;\n group.push(x);\n }\n if (group.length !== 0) {\n r.push(group);\n }\n return r;\n }\n };\n const foldl = (xs, f, acc) => {\n each$1(xs, (x, i) => {\n acc = f(acc, x, i);\n });\n return acc;\n };\n const findUntil = (xs, pred, until) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return Optional.some(x);\n } else if (until(x, i)) {\n break;\n }\n }\n return Optional.none();\n };\n const find = (xs, pred) => {\n return findUntil(xs, pred, never);\n };\n const flatten = xs => {\n const r = [];\n for (let i = 0, len = xs.length; i < len; ++i) {\n if (!isArray(xs[i])) {\n throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);\n }\n nativePush.apply(r, xs[i]);\n }\n return r;\n };\n const bind = (xs, f) => flatten(map(xs, f));\n const reverse = xs => {\n const r = nativeSlice.call(xs, 0);\n r.reverse();\n return r;\n };\n const get$1 = (xs, i) => i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none();\n const head = xs => get$1(xs, 0);\n const last = xs => get$1(xs, xs.length - 1);\n const unique = (xs, comparator) => {\n const r = [];\n const isDuplicated = isFunction(comparator) ? x => exists(r, i => comparator(i, x)) : x => contains$1(r, x);\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (!isDuplicated(x)) {\n r.push(x);\n }\n }\n return r;\n };\n\n const is$2 = (lhs, rhs, comparator = tripleEquals) => lhs.exists(left => comparator(left, rhs));\n const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());\n const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();\n\n const COMMENT = 8;\n const DOCUMENT = 9;\n const DOCUMENT_FRAGMENT = 11;\n const ELEMENT = 1;\n const TEXT = 3;\n\n const fromHtml = (html, scope) => {\n const doc = scope || document;\n const div = doc.createElement('div');\n div.innerHTML = html;\n if (!div.hasChildNodes() || div.childNodes.length > 1) {\n const message = 'HTML does not have a single root node';\n console.error(message, html);\n throw new Error(message);\n }\n return fromDom$1(div.childNodes[0]);\n };\n const fromTag = (tag, scope) => {\n const doc = scope || document;\n const node = doc.createElement(tag);\n return fromDom$1(node);\n };\n const fromText = (text, scope) => {\n const doc = scope || document;\n const node = doc.createTextNode(text);\n return fromDom$1(node);\n };\n const fromDom$1 = node => {\n if (node === null || node === undefined) {\n throw new Error('Node cannot be null or undefined');\n }\n return { dom: node };\n };\n const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1);\n const SugarElement = {\n fromHtml,\n fromTag,\n fromText,\n fromDom: fromDom$1,\n fromPoint\n };\n\n const is$1 = (element, selector) => {\n const dom = element.dom;\n if (dom.nodeType !== ELEMENT) {\n return false;\n } else {\n const elem = dom;\n if (elem.matches !== undefined) {\n return elem.matches(selector);\n } else if (elem.msMatchesSelector !== undefined) {\n return elem.msMatchesSelector(selector);\n } else if (elem.webkitMatchesSelector !== undefined) {\n return elem.webkitMatchesSelector(selector);\n } else if (elem.mozMatchesSelector !== undefined) {\n return elem.mozMatchesSelector(selector);\n } else {\n throw new Error('Browser lacks native selectors');\n }\n }\n };\n\n const eq = (e1, e2) => e1.dom === e2.dom;\n const contains = (e1, e2) => {\n const d1 = e1.dom;\n const d2 = e2.dom;\n return d1 === d2 ? false : d1.contains(d2);\n };\n const is = is$1;\n\n const Global = typeof window !== 'undefined' ? window : Function('return this;')();\n\n const path = (parts, scope) => {\n let o = scope !== undefined && scope !== null ? scope : Global;\n for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {\n o = o[parts[i]];\n }\n return o;\n };\n const resolve = (p, scope) => {\n const parts = p.split('.');\n return path(parts, scope);\n };\n\n const unsafe = (name, scope) => {\n return resolve(name, scope);\n };\n const getOrDie = (name, scope) => {\n const actual = unsafe(name, scope);\n if (actual === undefined || actual === null) {\n throw new Error(name + ' not available on this browser');\n }\n return actual;\n };\n\n const getPrototypeOf = Object.getPrototypeOf;\n const sandHTMLElement = scope => {\n return getOrDie('HTMLElement', scope);\n };\n const isPrototypeOf = x => {\n const scope = resolve('ownerDocument.defaultView', x);\n return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\\w*Element$/.test(getPrototypeOf(x).constructor.name));\n };\n\n const name = element => {\n const r = element.dom.nodeName;\n return r.toLowerCase();\n };\n const type = element => element.dom.nodeType;\n const isType = t => element => type(element) === t;\n const isComment = element => type(element) === COMMENT || name(element) === '#comment';\n const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom);\n const isElement$1 = isType(ELEMENT);\n const isText = isType(TEXT);\n const isDocument = isType(DOCUMENT);\n const isDocumentFragment = isType(DOCUMENT_FRAGMENT);\n const isTag = tag => e => isElement$1(e) && name(e) === tag;\n\n const owner = element => SugarElement.fromDom(element.dom.ownerDocument);\n const documentOrOwner = dos => isDocument(dos) ? dos : owner(dos);\n const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);\n const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);\n const nextSibling = element => Optional.from(element.dom.nextSibling).map(SugarElement.fromDom);\n const children = element => map(element.dom.childNodes, SugarElement.fromDom);\n const child = (element, index) => {\n const cs = element.dom.childNodes;\n return Optional.from(cs[index]).map(SugarElement.fromDom);\n };\n const firstChild = element => child(element, 0);\n const lastChild = element => child(element, element.dom.childNodes.length - 1);\n\n const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);\n const supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode);\n const getRootNode = supported ? e => SugarElement.fromDom(e.dom.getRootNode()) : documentOrOwner;\n const getShadowRoot = e => {\n const r = getRootNode(e);\n return isShadowRoot(r) ? Optional.some(r) : Optional.none();\n };\n const getShadowHost = e => SugarElement.fromDom(e.dom.host);\n\n const inBody = element => {\n const dom = isText(element) ? element.dom.parentNode : element.dom;\n if (dom === undefined || dom === null || dom.ownerDocument === null) {\n return false;\n }\n const doc = dom.ownerDocument;\n return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));\n };\n\n var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {\n if (is(scope, a)) {\n return Optional.some(scope);\n } else if (isFunction(isRoot) && isRoot(scope)) {\n return Optional.none();\n } else {\n return ancestor(scope, a, isRoot);\n }\n };\n\n const ancestor$3 = (scope, predicate, isRoot) => {\n let element = scope.dom;\n const stop = isFunction(isRoot) ? isRoot : never;\n while (element.parentNode) {\n element = element.parentNode;\n const el = SugarElement.fromDom(element);\n if (predicate(el)) {\n return Optional.some(el);\n } else if (stop(el)) {\n break;\n }\n }\n return Optional.none();\n };\n const closest$2 = (scope, predicate, isRoot) => {\n const is = (s, test) => test(s);\n return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot);\n };\n\n const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, e => is$1(e, selector), isRoot);\n const closest$1 = (scope, selector, isRoot) => {\n const is = (element, selector) => is$1(element, selector);\n return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot);\n };\n\n const closest = target => closest$1(target, '[contenteditable]');\n const isEditable = (element, assumeEditable = false) => {\n if (inBody(element)) {\n return element.dom.isContentEditable;\n } else {\n return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');\n }\n };\n const getRaw = element => element.dom.contentEditable;\n\n const before$1 = (marker, element) => {\n const parent$1 = parent(marker);\n parent$1.each(v => {\n v.dom.insertBefore(element.dom, marker.dom);\n });\n };\n const after = (marker, element) => {\n const sibling = nextSibling(marker);\n sibling.fold(() => {\n const parent$1 = parent(marker);\n parent$1.each(v => {\n append$1(v, element);\n });\n }, v => {\n before$1(v, element);\n });\n };\n const prepend = (parent, element) => {\n const firstChild$1 = firstChild(parent);\n firstChild$1.fold(() => {\n append$1(parent, element);\n }, v => {\n parent.dom.insertBefore(element.dom, v.dom);\n });\n };\n const append$1 = (parent, element) => {\n parent.dom.appendChild(element.dom);\n };\n\n const before = (marker, elements) => {\n each$1(elements, x => {\n before$1(marker, x);\n });\n };\n const append = (parent, elements) => {\n each$1(elements, x => {\n append$1(parent, x);\n });\n };\n\n const empty = element => {\n element.dom.textContent = '';\n each$1(children(element), rogue => {\n remove(rogue);\n });\n };\n const remove = element => {\n const dom = element.dom;\n if (dom.parentNode !== null) {\n dom.parentNode.removeChild(dom);\n }\n };\n\n var global$6 = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils');\n\n var global$5 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');\n\n var global$4 = tinymce.util.Tools.resolve('tinymce.util.VK');\n\n const fromDom = nodes => map(nodes, SugarElement.fromDom);\n\n const keys = Object.keys;\n const each = (obj, f) => {\n const props = keys(obj);\n for (let k = 0, len = props.length; k < len; k++) {\n const i = props[k];\n const x = obj[i];\n f(x, i);\n }\n };\n const objAcc = r => (x, i) => {\n r[i] = x;\n };\n const internalFilter = (obj, pred, onTrue, onFalse) => {\n each(obj, (x, i) => {\n (pred(x, i) ? onTrue : onFalse)(x, i);\n });\n };\n const filter = (obj, pred) => {\n const t = {};\n internalFilter(obj, pred, objAcc(t), noop);\n return t;\n };\n\n const rawSet = (dom, key, value) => {\n if (isString(value) || isBoolean(value) || isNumber(value)) {\n dom.setAttribute(key, value + '');\n } else {\n console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);\n throw new Error('Attribute value was not simple');\n }\n };\n const setAll = (element, attrs) => {\n const dom = element.dom;\n each(attrs, (v, k) => {\n rawSet(dom, k, v);\n });\n };\n const clone$1 = element => foldl(element.dom.attributes, (acc, attr) => {\n acc[attr.name] = attr.value;\n return acc;\n }, {});\n\n const clone = (original, isDeep) => SugarElement.fromDom(original.dom.cloneNode(isDeep));\n const deep = original => clone(original, true);\n const shallowAs = (original, tag) => {\n const nu = SugarElement.fromTag(tag);\n const attributes = clone$1(original);\n setAll(nu, attributes);\n return nu;\n };\n const mutate = (original, tag) => {\n const nu = shallowAs(original, tag);\n after(original, nu);\n const children$1 = children(original);\n append(nu, children$1);\n remove(original);\n return nu;\n };\n\n var global$3 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');\n\n var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');\n\n const matchNodeName = name => node => isNonNullable(node) && node.nodeName.toLowerCase() === name;\n const matchNodeNames = regex => node => isNonNullable(node) && regex.test(node.nodeName);\n const isTextNode$1 = node => isNonNullable(node) && node.nodeType === 3;\n const isElement = node => isNonNullable(node) && node.nodeType === 1;\n const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n const isOlUlNode = matchNodeNames(/^(OL|UL)$/);\n const isOlNode = matchNodeName('ol');\n const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);\n const isDlItemNode = matchNodeNames(/^(DT|DD)$/);\n const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n const isBr = matchNodeName('br');\n const isFirstChild = node => {\n var _a;\n return ((_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === node;\n };\n const isTextBlock = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getTextBlockElements();\n const isBlock = (node, blockElements) => isNonNullable(node) && node.nodeName in blockElements;\n const isVoid = (editor, node) => isNonNullable(node) && node.nodeName in editor.schema.getVoidElements();\n const isBogusBr = (dom, node) => {\n if (!isBr(node)) {\n return false;\n }\n return dom.isBlock(node.nextSibling) && !isBr(node.previousSibling);\n };\n const isEmpty$2 = (dom, elm, keepBookmarks) => {\n const empty = dom.isEmpty(elm);\n if (keepBookmarks && dom.select('span[data-mce-type=bookmark]', elm).length > 0) {\n return false;\n }\n return empty;\n };\n const isChildOfBody = (dom, elm) => dom.isChildOf(elm, dom.getRoot());\n\n const option = name => editor => editor.options.get(name);\n const register$3 = editor => {\n const registerOption = editor.options.register;\n registerOption('lists_indent_on_tab', {\n processor: 'boolean',\n default: true\n });\n };\n const shouldIndentOnTab = option('lists_indent_on_tab');\n const getForcedRootBlock = option('forced_root_block');\n const getForcedRootBlockAttrs = option('forced_root_block_attrs');\n\n const createTextBlock = (editor, contentNode) => {\n const dom = editor.dom;\n const blockElements = editor.schema.getBlockElements();\n const fragment = dom.createFragment();\n const blockName = getForcedRootBlock(editor);\n const blockAttrs = getForcedRootBlockAttrs(editor);\n let node;\n let textBlock;\n let hasContentNode = false;\n textBlock = dom.create(blockName, blockAttrs);\n if (!isBlock(contentNode.firstChild, blockElements)) {\n fragment.appendChild(textBlock);\n }\n while (node = contentNode.firstChild) {\n const nodeName = node.nodeName;\n if (!hasContentNode && (nodeName !== 'SPAN' || node.getAttribute('data-mce-type') !== 'bookmark')) {\n hasContentNode = true;\n }\n if (isBlock(node, blockElements)) {\n fragment.appendChild(node);\n textBlock = null;\n } else {\n if (!textBlock) {\n textBlock = dom.create(blockName, blockAttrs);\n fragment.appendChild(textBlock);\n }\n textBlock.appendChild(node);\n }\n }\n if (!hasContentNode && textBlock) {\n textBlock.appendChild(dom.create('br', { 'data-mce-bogus': '1' }));\n }\n return fragment;\n };\n\n const DOM$2 = global$3.DOM;\n const splitList = (editor, list, li) => {\n const removeAndKeepBookmarks = targetNode => {\n const parent = targetNode.parentNode;\n if (parent) {\n global$2.each(bookmarks, node => {\n parent.insertBefore(node, li.parentNode);\n });\n }\n DOM$2.remove(targetNode);\n };\n const bookmarks = DOM$2.select('span[data-mce-type=\"bookmark\"]', list);\n const newBlock = createTextBlock(editor, li);\n const tmpRng = DOM$2.createRng();\n tmpRng.setStartAfter(li);\n tmpRng.setEndAfter(list);\n const fragment = tmpRng.extractContents();\n for (let node = fragment.firstChild; node; node = node.firstChild) {\n if (node.nodeName === 'LI' && editor.dom.isEmpty(node)) {\n DOM$2.remove(node);\n break;\n }\n }\n if (!editor.dom.isEmpty(fragment)) {\n DOM$2.insertAfter(fragment, list);\n }\n DOM$2.insertAfter(newBlock, list);\n const parent = li.parentElement;\n if (parent && isEmpty$2(editor.dom, parent)) {\n removeAndKeepBookmarks(parent);\n }\n DOM$2.remove(li);\n if (isEmpty$2(editor.dom, list)) {\n DOM$2.remove(list);\n }\n };\n\n const isDescriptionDetail = isTag('dd');\n const isDescriptionTerm = isTag('dt');\n const outdentDlItem = (editor, item) => {\n if (isDescriptionDetail(item)) {\n mutate(item, 'dt');\n } else if (isDescriptionTerm(item)) {\n parentElement(item).each(dl => splitList(editor, dl.dom, item.dom));\n }\n };\n const indentDlItem = item => {\n if (isDescriptionTerm(item)) {\n mutate(item, 'dd');\n }\n };\n const dlIndentation = (editor, indentation, dlItems) => {\n if (indentation === 'Indent') {\n each$1(dlItems, indentDlItem);\n } else {\n each$1(dlItems, item => outdentDlItem(editor, item));\n }\n };\n\n const getNormalizedPoint = (container, offset) => {\n if (isTextNode$1(container)) {\n return {\n container,\n offset\n };\n }\n const node = global$6.getNode(container, offset);\n if (isTextNode$1(node)) {\n return {\n container: node,\n offset: offset >= container.childNodes.length ? node.data.length : 0\n };\n } else if (node.previousSibling && isTextNode$1(node.previousSibling)) {\n return {\n container: node.previousSibling,\n offset: node.previousSibling.data.length\n };\n } else if (node.nextSibling && isTextNode$1(node.nextSibling)) {\n return {\n container: node.nextSibling,\n offset: 0\n };\n }\n return {\n container,\n offset\n };\n };\n const normalizeRange = rng => {\n const outRng = rng.cloneRange();\n const rangeStart = getNormalizedPoint(rng.startContainer, rng.startOffset);\n outRng.setStart(rangeStart.container, rangeStart.offset);\n const rangeEnd = getNormalizedPoint(rng.endContainer, rng.endOffset);\n outRng.setEnd(rangeEnd.container, rangeEnd.offset);\n return outRng;\n };\n\n const listNames = [\n 'OL',\n 'UL',\n 'DL'\n ];\n const listSelector = listNames.join(',');\n const getParentList = (editor, node) => {\n const selectionStart = node || editor.selection.getStart(true);\n return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart));\n };\n const isParentListSelected = (parentList, selectedBlocks) => isNonNullable(parentList) && selectedBlocks.length === 1 && selectedBlocks[0] === parentList;\n const findSubLists = parentList => filter$1(parentList.querySelectorAll(listSelector), isListNode);\n const getSelectedSubLists = editor => {\n const parentList = getParentList(editor);\n const selectedBlocks = editor.selection.getSelectedBlocks();\n if (isParentListSelected(parentList, selectedBlocks)) {\n return findSubLists(parentList);\n } else {\n return filter$1(selectedBlocks, elm => {\n return isListNode(elm) && parentList !== elm;\n });\n }\n };\n const findParentListItemsNodes = (editor, elms) => {\n const listItemsElms = global$2.map(elms, elm => {\n const parentLi = editor.dom.getParent(elm, 'li,dd,dt', getClosestListHost(editor, elm));\n return parentLi ? parentLi : elm;\n });\n return unique(listItemsElms);\n };\n const getSelectedListItems = editor => {\n const selectedBlocks = editor.selection.getSelectedBlocks();\n return filter$1(findParentListItemsNodes(editor, selectedBlocks), isListItemNode);\n };\n const getSelectedDlItems = editor => filter$1(getSelectedListItems(editor), isDlItemNode);\n const getClosestEditingHost = (editor, elm) => {\n const parentTableCell = editor.dom.getParents(elm, 'TD,TH');\n return parentTableCell.length > 0 ? parentTableCell[0] : editor.getBody();\n };\n const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, listName => schema.isValidChild(node.nodeName, listName));\n const getClosestListHost = (editor, elm) => {\n const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);\n const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm));\n return parentBlock.getOr(editor.getBody());\n };\n const isListInsideAnLiWithFirstAndLastNotListElement = list => parent(list).exists(parent => isListItemNode(parent.dom) && firstChild(parent).exists(firstChild => !isListNode(firstChild.dom)) && lastChild(parent).exists(lastChild => !isListNode(lastChild.dom)));\n const findLastParentListNode = (editor, elm) => {\n const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n return last(parentLists);\n };\n const getSelectedLists = editor => {\n const firstList = findLastParentListNode(editor, editor.selection.getStart());\n const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);\n return firstList.toArray().concat(subsequentLists);\n };\n const getParentLists = editor => {\n const elm = editor.selection.getStart();\n return editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));\n };\n const getSelectedListRoots = editor => {\n const selectedLists = getSelectedLists(editor);\n const parentLists = getParentLists(editor);\n return find(parentLists, p => isListInsideAnLiWithFirstAndLastNotListElement(SugarElement.fromDom(p))).fold(() => getUniqueListRoots(editor, selectedLists), l => [l]);\n };\n const getUniqueListRoots = (editor, lists) => {\n const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list));\n return unique(listRoots);\n };\n\n const isCustomList = list => /\\btox\\-/.test(list.className);\n const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode).exists(list => list.nodeName === listName && !isCustomList(list));\n const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n const selectionIsWithinNonEditableList = editor => {\n const parentList = getParentList(editor);\n return isWithinNonEditable(editor, parentList);\n };\n const isWithinNonEditableList = (editor, element) => {\n const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n return isWithinNonEditable(editor, parentList);\n };\n const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n const initialNode = editor.selection.getNode();\n nodeChangeHandler({\n parents: editor.dom.getParents(initialNode),\n element: initialNode\n });\n editor.on('NodeChange', nodeChangeHandler);\n return () => editor.off('NodeChange', nodeChangeHandler);\n };\n\n const fromElements = (elements, scope) => {\n const doc = scope || document;\n const fragment = doc.createDocumentFragment();\n each$1(elements, element => {\n fragment.appendChild(element.dom);\n });\n return SugarElement.fromDom(fragment);\n };\n\n const fireListEvent = (editor, action, element) => editor.dispatch('ListMutation', {\n action,\n element\n });\n\n const blank = r => s => s.replace(r, '');\n const trim = blank(/^\\s+|\\s+$/g);\n const isNotEmpty = s => s.length > 0;\n const isEmpty$1 = s => !isNotEmpty(s);\n\n const isSupported = dom => dom.style !== undefined && isFunction(dom.style.getPropertyValue);\n\n const internalSet = (dom, property, value) => {\n if (!isString(value)) {\n console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom);\n throw new Error('CSS value must be a string: ' + value);\n }\n if (isSupported(dom)) {\n dom.style.setProperty(property, value);\n }\n };\n const set = (element, property, value) => {\n const dom = element.dom;\n internalSet(dom, property, value);\n };\n\n const isList = el => is(el, 'OL,UL');\n const isListItem = el => is(el, 'LI');\n const hasFirstChildList = el => firstChild(el).exists(isList);\n const hasLastChildList = el => lastChild(el).exists(isList);\n\n const isEntryList = entry => 'listAttributes' in entry;\n const isEntryComment = entry => 'isComment' in entry;\n const isEntryFragment = entry => 'isFragment' in entry;\n const isIndented = entry => entry.depth > 0;\n const isSelected = entry => entry.isSelected;\n const cloneItemContent = li => {\n const children$1 = children(li);\n const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;\n return map(content, deep);\n };\n const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({\n depth,\n dirty: false,\n isSelected,\n content: cloneItemContent(li),\n itemAttributes: clone$1(li),\n listAttributes: clone$1(list),\n listType: name(list),\n isInPreviousLi: false\n }));\n\n const joinSegment = (parent, child) => {\n append$1(parent.item, child.list);\n };\n const joinSegments = segments => {\n for (let i = 1; i < segments.length; i++) {\n joinSegment(segments[i - 1], segments[i]);\n }\n };\n const appendSegments = (head$1, tail) => {\n lift2(last(head$1), head(tail), joinSegment);\n };\n const createSegment = (scope, listType) => {\n const segment = {\n list: SugarElement.fromTag(listType, scope),\n item: SugarElement.fromTag('li', scope)\n };\n append$1(segment.list, segment.item);\n return segment;\n };\n const createSegments = (scope, entry, size) => {\n const segments = [];\n for (let i = 0; i < size; i++) {\n segments.push(createSegment(scope, isEntryList(entry) ? entry.listType : entry.parentListType));\n }\n return segments;\n };\n const populateSegments = (segments, entry) => {\n for (let i = 0; i < segments.length - 1; i++) {\n set(segments[i].item, 'list-style-type', 'none');\n }\n last(segments).each(segment => {\n if (isEntryList(entry)) {\n setAll(segment.list, entry.listAttributes);\n setAll(segment.item, entry.itemAttributes);\n }\n append(segment.item, entry.content);\n });\n };\n const normalizeSegment = (segment, entry) => {\n if (name(segment.list) !== entry.listType) {\n segment.list = mutate(segment.list, entry.listType);\n }\n setAll(segment.list, entry.listAttributes);\n };\n const createItem = (scope, attr, content) => {\n const item = SugarElement.fromTag('li', scope);\n setAll(item, attr);\n append(item, content);\n return item;\n };\n const appendItem = (segment, item) => {\n append$1(segment.list, item);\n segment.item = item;\n };\n const writeShallow = (scope, cast, entry) => {\n const newCast = cast.slice(0, entry.depth);\n last(newCast).each(segment => {\n if (isEntryList(entry)) {\n const item = createItem(scope, entry.itemAttributes, entry.content);\n appendItem(segment, item);\n normalizeSegment(segment, entry);\n } else if (isEntryFragment(entry)) {\n append(segment.item, entry.content);\n } else {\n const item = SugarElement.fromHtml(`<!--${ entry.content }-->`);\n append$1(segment.list, item);\n }\n });\n return newCast;\n };\n const writeDeep = (scope, cast, entry) => {\n const segments = createSegments(scope, entry, entry.depth - cast.length);\n joinSegments(segments);\n populateSegments(segments, entry);\n appendSegments(cast, segments);\n return cast.concat(segments);\n };\n const composeList = (scope, entries) => {\n let firstCommentEntryOpt = Optional.none();\n const cast = foldl(entries, (cast, entry, i) => {\n if (!isEntryComment(entry)) {\n return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);\n } else {\n if (i === 0) {\n firstCommentEntryOpt = Optional.some(entry);\n return cast;\n }\n return writeShallow(scope, cast, entry);\n }\n }, []);\n firstCommentEntryOpt.each(firstCommentEntry => {\n const item = SugarElement.fromHtml(`<!--${ firstCommentEntry.content }-->`);\n head(cast).each(fistCast => {\n prepend(fistCast.list, item);\n });\n });\n return head(cast).map(segment => segment.list);\n };\n\n const indentEntry = (indentation, entry) => {\n switch (indentation) {\n case 'Indent':\n entry.depth++;\n break;\n case 'Outdent':\n entry.depth--;\n break;\n case 'Flatten':\n entry.depth = 0;\n }\n entry.dirty = true;\n };\n\n const cloneListProperties = (target, source) => {\n if (isEntryList(target) && isEntryList(source)) {\n target.listType = source.listType;\n target.listAttributes = { ...source.listAttributes };\n }\n };\n const cleanListProperties = entry => {\n entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start');\n };\n const closestSiblingEntry = (entries, start) => {\n const depth = entries[start].depth;\n const matches = entry => entry.depth === depth && !entry.dirty;\n const until = entry => entry.depth < depth;\n return findUntil(reverse(entries.slice(0, start)), matches, until).orThunk(() => findUntil(entries.slice(start + 1), matches, until));\n };\n const normalizeEntries = entries => {\n each$1(entries, (entry, i) => {\n closestSiblingEntry(entries, i).fold(() => {\n if (entry.dirty && isEntryList(entry)) {\n cleanListProperties(entry);\n }\n }, matchingEntry => cloneListProperties(entry, matchingEntry));\n });\n return entries;\n };\n\n const Cell = initial => {\n let value = initial;\n const get = () => {\n return value;\n };\n const set = v => {\n value = v;\n };\n return {\n get,\n set\n };\n };\n\n const parseSingleItem = (depth, itemSelection, selectionState, item) => {\n var _a;\n if (isComment(item)) {\n return [{\n depth: depth + 1,\n content: (_a = item.dom.nodeValue) !== null && _a !== void 0 ? _a : '',\n dirty: false,\n isSelected: false,\n isComment: true\n }];\n }\n itemSelection.each(selection => {\n if (eq(selection.start, item)) {\n selectionState.set(true);\n }\n });\n const currentItemEntry = createEntry(item, depth, selectionState.get());\n itemSelection.each(selection => {\n if (eq(selection.end, item)) {\n selectionState.set(false);\n }\n });\n const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]);\n return currentItemEntry.toArray().concat(childListEntries);\n };\n const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => parseSingleItem(depth, itemSelection, selectionState, item), list => {\n const parsedSiblings = foldl(children(item), (acc, liChild, i) => {\n if (i === 0) {\n return acc;\n } else {\n if (isListItem(liChild)) {\n return acc.concat(parseSingleItem(depth, itemSelection, selectionState, liChild));\n } else {\n const fragment = {\n isFragment: true,\n depth,\n content: [liChild],\n isSelected: false,\n dirty: false,\n parentListType: name(list)\n };\n return acc.concat(fragment);\n }\n }\n }, []);\n return parseList(depth, itemSelection, selectionState, list).concat(parsedSiblings);\n });\n const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => {\n const parser = isList(element) ? parseList : parseItem;\n const newDepth = depth + 1;\n return parser(newDepth, itemSelection, selectionState, element);\n });\n const parseLists = (lists, itemSelection) => {\n const selectionState = Cell(false);\n const initialDepth = 0;\n return map(lists, list => ({\n sourceList: list,\n entries: parseList(initialDepth, itemSelection, selectionState, list)\n }));\n };\n\n const outdentedComposer = (editor, entries) => {\n const normalizedEntries = normalizeEntries(entries);\n return map(normalizedEntries, entry => {\n const content = !isEntryComment(entry) ? fromElements(entry.content) : fromElements([SugarElement.fromHtml(`<!--${ entry.content }-->`)]);\n return SugarElement.fromDom(createTextBlock(editor, content.dom));\n });\n };\n const indentedComposer = (editor, entries) => {\n const normalizedEntries = normalizeEntries(entries);\n return composeList(editor.contentDocument, normalizedEntries).toArray();\n };\n const composeEntries = (editor, entries) => bind(groupBy(entries, isIndented), entries => {\n const groupIsIndented = head(entries).exists(isIndented);\n return groupIsIndented ? indentedComposer(editor, entries) : outdentedComposer(editor, entries);\n });\n const indentSelectedEntries = (entries, indentation) => {\n each$1(filter$1(entries, isSelected), entry => indentEntry(indentation, entry));\n };\n const getItemSelection = editor => {\n const selectedListItems = map(getSelectedListItems(editor), SugarElement.fromDom);\n return lift2(find(selectedListItems, not(hasFirstChildList)), find(reverse(selectedListItems), not(hasFirstChildList)), (start, end) => ({\n start,\n end\n }));\n };\n const listIndentation = (editor, lists, indentation) => {\n const entrySets = parseLists(lists, getItemSelection(editor));\n each$1(entrySets, entrySet => {\n indentSelectedEntries(entrySet.entries, indentation);\n const composedLists = composeEntries(editor, entrySet.entries);\n each$1(composedLists, composedList => {\n fireListEvent(editor, indentation === 'Indent' ? 'IndentList' : 'OutdentList', composedList.dom);\n });\n before(entrySet.sourceList, composedLists);\n remove(entrySet.sourceList);\n });\n };\n\n const selectionIndentation = (editor, indentation) => {\n const lists = fromDom(getSelectedListRoots(editor));\n const dlItems = fromDom(getSelectedDlItems(editor));\n let isHandled = false;\n if (lists.length || dlItems.length) {\n const bookmark = editor.selection.getBookmark();\n listIndentation(editor, lists, indentation);\n dlIndentation(editor, indentation, dlItems);\n editor.selection.moveToBookmark(bookmark);\n editor.selection.setRng(normalizeRange(editor.selection.getRng()));\n editor.nodeChanged();\n isHandled = true;\n }\n return isHandled;\n };\n const handleIndentation = (editor, indentation) => !selectionIsWithinNonEditableList(editor) && selectionIndentation(editor, indentation);\n const indentListSelection = editor => handleIndentation(editor, 'Indent');\n const outdentListSelection = editor => handleIndentation(editor, 'Outdent');\n const flattenListSelection = editor => handleIndentation(editor, 'Flatten');\n\n const zeroWidth = '\\uFEFF';\n const isZwsp = char => char === zeroWidth;\n\n const ancestor$1 = (scope, predicate, isRoot) => ancestor$3(scope, predicate, isRoot).isSome();\n\n const ancestor = (element, target) => ancestor$1(element, curry(eq, target));\n\n var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');\n\n const DOM$1 = global$3.DOM;\n const createBookmark = rng => {\n const bookmark = {};\n const setupEndPoint = start => {\n let container = rng[start ? 'startContainer' : 'endContainer'];\n let offset = rng[start ? 'startOffset' : 'endOffset'];\n if (isElement(container)) {\n const offsetNode = DOM$1.create('span', { 'data-mce-type': 'bookmark' });\n if (container.hasChildNodes()) {\n offset = Math.min(offset, container.childNodes.length - 1);\n if (start) {\n container.insertBefore(offsetNode, container.childNodes[offset]);\n } else {\n DOM$1.insertAfter(offsetNode, container.childNodes[offset]);\n }\n } else {\n container.appendChild(offsetNode);\n }\n container = offsetNode;\n offset = 0;\n }\n bookmark[start ? 'startContainer' : 'endContainer'] = container;\n bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n };\n setupEndPoint(true);\n if (!rng.collapsed) {\n setupEndPoint();\n }\n return bookmark;\n };\n const resolveBookmark = bookmark => {\n const restoreEndPoint = start => {\n const nodeIndex = container => {\n var _a;\n let node = (_a = container.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild;\n let idx = 0;\n while (node) {\n if (node === container) {\n return idx;\n }\n if (!isElement(node) || node.getAttribute('data-mce-type') !== 'bookmark') {\n idx++;\n }\n node = node.nextSibling;\n }\n return -1;\n };\n let container = bookmark[start ? 'startContainer' : 'endContainer'];\n let offset = bookmark[start ? 'startOffset' : 'endOffset'];\n if (!container) {\n return;\n }\n if (isElement(container) && container.parentNode) {\n const node = container;\n offset = nodeIndex(container);\n container = container.parentNode;\n DOM$1.remove(node);\n if (!container.hasChildNodes() && DOM$1.isBlock(container)) {\n container.appendChild(DOM$1.create('br'));\n }\n }\n bookmark[start ? 'startContainer' : 'endContainer'] = container;\n bookmark[start ? 'startOffset' : 'endOffset'] = offset;\n };\n restoreEndPoint(true);\n restoreEndPoint();\n const rng = DOM$1.createRng();\n rng.setStart(bookmark.startContainer, bookmark.startOffset);\n if (bookmark.endContainer) {\n rng.setEnd(bookmark.endContainer, bookmark.endOffset);\n }\n return normalizeRange(rng);\n };\n\n const listToggleActionFromListName = listName => {\n switch (listName) {\n case 'UL':\n return 'ToggleUlList';\n case 'OL':\n return 'ToggleOlList';\n case 'DL':\n return 'ToggleDLList';\n }\n };\n\n const updateListStyle = (dom, el, detail) => {\n const type = detail['list-style-type'] ? detail['list-style-type'] : null;\n dom.setStyle(el, 'list-style-type', type);\n };\n const setAttribs = (elm, attrs) => {\n global$2.each(attrs, (value, key) => {\n elm.setAttribute(key, value);\n });\n };\n const updateListAttrs = (dom, el, detail) => {\n setAttribs(el, detail['list-attributes']);\n global$2.each(dom.select('li', el), li => {\n setAttribs(li, detail['list-item-attributes']);\n });\n };\n const updateListWithDetails = (dom, el, detail) => {\n updateListStyle(dom, el, detail);\n updateListAttrs(dom, el, detail);\n };\n const removeStyles = (dom, element, styles) => {\n global$2.each(styles, style => dom.setStyle(element, style, ''));\n };\n const isInline = (editor, node) => isNonNullable(node) && !isBlock(node, editor.schema.getBlockElements());\n const getEndPointNode = (editor, rng, start, root) => {\n let container = rng[start ? 'startContainer' : 'endContainer'];\n const offset = rng[start ? 'startOffset' : 'endOffset'];\n if (isElement(container)) {\n container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;\n }\n if (!start && isBr(container.nextSibling)) {\n container = container.nextSibling;\n }\n const findBlockAncestor = node => {\n while (!editor.dom.isBlock(node) && node.parentNode && root !== node) {\n node = node.parentNode;\n }\n return node;\n };\n const findBetterContainer = (container, forward) => {\n var _a;\n const walker = new global$5(container, findBlockAncestor(container));\n const dir = forward ? 'next' : 'prev';\n let node;\n while (node = walker[dir]()) {\n if (!(isVoid(editor, node) || isZwsp(node.textContent) || ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.length) === 0)) {\n return Optional.some(node);\n }\n }\n return Optional.none();\n };\n if (start && isTextNode$1(container)) {\n if (isZwsp(container.textContent)) {\n container = findBetterContainer(container, false).getOr(container);\n } else {\n if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n container = container.parentNode;\n }\n while (container.previousSibling !== null && (isInline(editor, container.previousSibling) || isTextNode$1(container.previousSibling))) {\n container = container.previousSibling;\n }\n }\n }\n if (!start && isTextNode$1(container)) {\n if (isZwsp(container.textContent)) {\n container = findBetterContainer(container, true).getOr(container);\n } else {\n if (container.parentNode !== null && isInline(editor, container.parentNode)) {\n container = container.parentNode;\n }\n while (container.nextSibling !== null && (isInline(editor, container.nextSibling) || isTextNode$1(container.nextSibling))) {\n container = container.nextSibling;\n }\n }\n }\n while (container.parentNode !== root) {\n const parent = container.parentNode;\n if (isTextBlock(editor, container)) {\n return container;\n }\n if (/^(TD|TH)$/.test(parent.nodeName)) {\n return container;\n }\n container = parent;\n }\n return container;\n };\n const getSelectedTextBlocks = (editor, rng, root) => {\n const textBlocks = [];\n const dom = editor.dom;\n const startNode = getEndPointNode(editor, rng, true, root);\n const endNode = getEndPointNode(editor, rng, false, root);\n let block;\n const siblings = [];\n for (let node = startNode; node; node = node.nextSibling) {\n siblings.push(node);\n if (node === endNode) {\n break;\n }\n }\n global$2.each(siblings, node => {\n var _a;\n if (isTextBlock(editor, node)) {\n textBlocks.push(node);\n block = null;\n return;\n }\n if (dom.isBlock(node) || isBr(node)) {\n if (isBr(node)) {\n dom.remove(node);\n }\n block = null;\n return;\n }\n const nextSibling = node.nextSibling;\n if (global$1.isBookmarkNode(node)) {\n if (isListNode(nextSibling) || isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) {\n block = null;\n return;\n }\n }\n if (!block) {\n block = dom.create('p');\n (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(block, node);\n textBlocks.push(block);\n }\n block.appendChild(node);\n });\n return textBlocks;\n };\n const hasCompatibleStyle = (dom, sib, detail) => {\n const sibStyle = dom.getStyle(sib, 'list-style-type');\n let detailStyle = detail ? detail['list-style-type'] : '';\n detailStyle = detailStyle === null ? '' : detailStyle;\n return sibStyle === detailStyle;\n };\n const getRootSearchStart = (editor, range) => {\n const start = editor.selection.getStart(true);\n const startPoint = getEndPointNode(editor, range, true, editor.getBody());\n if (ancestor(SugarElement.fromDom(startPoint), SugarElement.fromDom(range.commonAncestorContainer))) {\n return range.commonAncestorContainer;\n } else {\n return start;\n }\n };\n const applyList = (editor, listName, detail) => {\n const rng = editor.selection.getRng();\n let listItemName = 'LI';\n const root = getClosestListHost(editor, getRootSearchStart(editor, rng));\n const dom = editor.dom;\n if (dom.getContentEditable(editor.selection.getNode()) === 'false') {\n return;\n }\n listName = listName.toUpperCase();\n if (listName === 'DL') {\n listItemName = 'DT';\n }\n const bookmark = createBookmark(rng);\n const selectedTextBlocks = filter$1(getSelectedTextBlocks(editor, rng, root), editor.dom.isEditable);\n global$2.each(selectedTextBlocks, block => {\n let listBlock;\n const sibling = block.previousSibling;\n const parent = block.parentNode;\n if (!isListItemNode(parent)) {\n if (sibling && isListNode(sibling) && sibling.nodeName === listName && hasCompatibleStyle(dom, sibling, detail)) {\n listBlock = sibling;\n block = dom.rename(block, listItemName);\n sibling.appendChild(block);\n } else {\n listBlock = dom.create(listName);\n parent.insertBefore(listBlock, block);\n listBlock.appendChild(block);\n block = dom.rename(block, listItemName);\n }\n removeStyles(dom, block, [\n 'margin',\n 'margin-right',\n 'margin-bottom',\n 'margin-left',\n 'margin-top',\n 'padding',\n 'padding-right',\n 'padding-bottom',\n 'padding-left',\n 'padding-top'\n ]);\n updateListWithDetails(dom, listBlock, detail);\n mergeWithAdjacentLists(editor.dom, listBlock);\n }\n });\n editor.selection.setRng(resolveBookmark(bookmark));\n };\n const isValidLists = (list1, list2) => {\n return isListNode(list1) && list1.nodeName === (list2 === null || list2 === void 0 ? void 0 : list2.nodeName);\n };\n const hasSameListStyle = (dom, list1, list2) => {\n const targetStyle = dom.getStyle(list1, 'list-style-type', true);\n const style = dom.getStyle(list2, 'list-style-type', true);\n return targetStyle === style;\n };\n const hasSameClasses = (elm1, elm2) => {\n return elm1.className === elm2.className;\n };\n const shouldMerge = (dom, list1, list2) => {\n return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2);\n };\n const mergeWithAdjacentLists = (dom, listBlock) => {\n let node;\n let sibling = listBlock.nextSibling;\n if (shouldMerge(dom, listBlock, sibling)) {\n const liSibling = sibling;\n while (node = liSibling.firstChild) {\n listBlock.appendChild(node);\n }\n dom.remove(liSibling);\n }\n sibling = listBlock.previousSibling;\n if (shouldMerge(dom, listBlock, sibling)) {\n const liSibling = sibling;\n while (node = liSibling.lastChild) {\n listBlock.insertBefore(node, listBlock.firstChild);\n }\n dom.remove(liSibling);\n }\n };\n const updateList$1 = (editor, list, listName, detail) => {\n if (list.nodeName !== listName) {\n const newList = editor.dom.rename(list, listName);\n updateListWithDetails(editor.dom, newList, detail);\n fireListEvent(editor, listToggleActionFromListName(listName), newList);\n } else {\n updateListWithDetails(editor.dom, list, detail);\n fireListEvent(editor, listToggleActionFromListName(listName), list);\n }\n };\n const updateCustomList = (editor, list, listName, detail) => {\n list.classList.forEach((cls, _, classList) => {\n if (cls.startsWith('tox-')) {\n classList.remove(cls);\n if (classList.length === 0) {\n list.removeAttribute('class');\n }\n }\n });\n if (list.nodeName !== listName) {\n const newList = editor.dom.rename(list, listName);\n updateListWithDetails(editor.dom, newList, detail);\n fireListEvent(editor, listToggleActionFromListName(listName), newList);\n } else {\n updateListWithDetails(editor.dom, list, detail);\n fireListEvent(editor, listToggleActionFromListName(listName), list);\n }\n };\n const toggleMultipleLists = (editor, parentList, lists, listName, detail) => {\n const parentIsList = isListNode(parentList);\n if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n flattenListSelection(editor);\n } else {\n applyList(editor, listName, detail);\n const bookmark = createBookmark(editor.selection.getRng());\n const allLists = parentIsList ? [\n parentList,\n ...lists\n ] : lists;\n const updateFunction = parentIsList && isCustomList(parentList) ? updateCustomList : updateList$1;\n global$2.each(allLists, elm => {\n updateFunction(editor, elm, listName, detail);\n });\n editor.selection.setRng(resolveBookmark(bookmark));\n }\n };\n const hasListStyleDetail = detail => {\n return 'list-style-type' in detail;\n };\n const toggleSingleList = (editor, parentList, listName, detail) => {\n if (parentList === editor.getBody()) {\n return;\n }\n if (parentList) {\n if (parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {\n flattenListSelection(editor);\n } else {\n const bookmark = createBookmark(editor.selection.getRng());\n if (isCustomList(parentList)) {\n parentList.classList.forEach((cls, _, classList) => {\n if (cls.startsWith('tox-')) {\n classList.remove(cls);\n if (classList.length === 0) {\n parentList.removeAttribute('class');\n }\n }\n });\n }\n updateListWithDetails(editor.dom, parentList, detail);\n const newList = editor.dom.rename(parentList, listName);\n mergeWithAdjacentLists(editor.dom, newList);\n editor.selection.setRng(resolveBookmark(bookmark));\n applyList(editor, listName, detail);\n fireListEvent(editor, listToggleActionFromListName(listName), newList);\n }\n } else {\n applyList(editor, listName, detail);\n fireListEvent(editor, listToggleActionFromListName(listName), parentList);\n }\n };\n const toggleList = (editor, listName, _detail) => {\n const parentList = getParentList(editor);\n if (isWithinNonEditableList(editor, parentList)) {\n return;\n }\n const selectedSubLists = getSelectedSubLists(editor);\n const detail = isObject(_detail) ? _detail : {};\n if (selectedSubLists.length > 0) {\n toggleMultipleLists(editor, parentList, selectedSubLists, listName, detail);\n } else {\n toggleSingleList(editor, parentList, listName, detail);\n }\n };\n\n const DOM = global$3.DOM;\n const normalizeList = (dom, list) => {\n const parentNode = list.parentElement;\n if (parentNode && parentNode.nodeName === 'LI' && parentNode.firstChild === list) {\n const sibling = parentNode.previousSibling;\n if (sibling && sibling.nodeName === 'LI') {\n sibling.appendChild(list);\n if (isEmpty$2(dom, parentNode)) {\n DOM.remove(parentNode);\n }\n } else {\n DOM.setStyle(parentNode, 'listStyleType', 'none');\n }\n }\n if (isListNode(parentNode)) {\n const sibling = parentNode.previousSibling;\n if (sibling && sibling.nodeName === 'LI') {\n sibling.appendChild(list);\n }\n }\n };\n const normalizeLists = (dom, element) => {\n const lists = global$2.grep(dom.select('ol,ul', element));\n global$2.each(lists, list => {\n normalizeList(dom, list);\n });\n };\n\n const findNextCaretContainer = (editor, rng, isForward, root) => {\n let node = rng.startContainer;\n const offset = rng.startOffset;\n if (isTextNode$1(node) && (isForward ? offset < node.data.length : offset > 0)) {\n return node;\n }\n const nonEmptyBlocks = editor.schema.getNonEmptyElements();\n if (isElement(node)) {\n node = global$6.getNode(node, offset);\n }\n const walker = new global$5(node, root);\n if (isForward) {\n if (isBogusBr(editor.dom, node)) {\n walker.next();\n }\n }\n const walkFn = isForward ? walker.next.bind(walker) : walker.prev2.bind(walker);\n while (node = walkFn()) {\n if (node.nodeName === 'LI' && !node.hasChildNodes()) {\n return node;\n }\n if (nonEmptyBlocks[node.nodeName]) {\n return node;\n }\n if (isTextNode$1(node) && node.data.length > 0) {\n return node;\n }\n }\n return null;\n };\n const hasOnlyOneBlockChild = (dom, elm) => {\n const childNodes = elm.childNodes;\n return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);\n };\n const isUnwrappable = node => Optional.from(node).map(SugarElement.fromDom).filter(isHTMLElement).exists(el => isEditable(el) && !contains$1(['details'], name(el)));\n const unwrapSingleBlockChild = (dom, elm) => {\n if (hasOnlyOneBlockChild(dom, elm) && isUnwrappable(elm.firstChild)) {\n dom.remove(elm.firstChild, true);\n }\n };\n const moveChildren = (dom, fromElm, toElm) => {\n let node;\n const targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm;\n unwrapSingleBlockChild(dom, fromElm);\n if (!isEmpty$2(dom, fromElm, true)) {\n while (node = fromElm.firstChild) {\n targetElm.appendChild(node);\n }\n }\n };\n const mergeLiElements = (dom, fromElm, toElm) => {\n let listNode;\n const ul = fromElm.parentNode;\n if (!isChildOfBody(dom, fromElm) || !isChildOfBody(dom, toElm)) {\n return;\n }\n if (isListNode(toElm.lastChild)) {\n listNode = toElm.lastChild;\n }\n if (ul === toElm.lastChild) {\n if (isBr(ul.previousSibling)) {\n dom.remove(ul.previousSibling);\n }\n }\n const node = toElm.lastChild;\n if (node && isBr(node) && fromElm.hasChildNodes()) {\n dom.remove(node);\n }\n if (isEmpty$2(dom, toElm, true)) {\n empty(SugarElement.fromDom(toElm));\n }\n moveChildren(dom, fromElm, toElm);\n if (listNode) {\n toElm.appendChild(listNode);\n }\n const contains$1 = contains(SugarElement.fromDom(toElm), SugarElement.fromDom(fromElm));\n const nestedLists = contains$1 ? dom.getParents(fromElm, isListNode, toElm) : [];\n dom.remove(fromElm);\n each$1(nestedLists, list => {\n if (isEmpty$2(dom, list) && list !== dom.getRoot()) {\n dom.remove(list);\n }\n });\n };\n const mergeIntoEmptyLi = (editor, fromLi, toLi) => {\n empty(SugarElement.fromDom(toLi));\n mergeLiElements(editor.dom, fromLi, toLi);\n editor.selection.setCursorLocation(toLi, 0);\n };\n const mergeForward = (editor, rng, fromLi, toLi) => {\n const dom = editor.dom;\n if (dom.isEmpty(toLi)) {\n mergeIntoEmptyLi(editor, fromLi, toLi);\n } else {\n const bookmark = createBookmark(rng);\n mergeLiElements(dom, fromLi, toLi);\n editor.selection.setRng(resolveBookmark(bookmark));\n }\n };\n const mergeBackward = (editor, rng, fromLi, toLi) => {\n const bookmark = createBookmark(rng);\n mergeLiElements(editor.dom, fromLi, toLi);\n const resolvedBookmark = resolveBookmark(bookmark);\n editor.selection.setRng(resolvedBookmark);\n };\n const backspaceDeleteFromListToListCaret = (editor, isForward) => {\n const dom = editor.dom, selection = editor.selection;\n const selectionStartElm = selection.getStart();\n const root = getClosestEditingHost(editor, selectionStartElm);\n const li = dom.getParent(selection.getStart(), 'LI', root);\n if (li) {\n const ul = li.parentElement;\n if (ul === editor.getBody() && isEmpty$2(dom, ul)) {\n return true;\n }\n const rng = normalizeRange(selection.getRng());\n const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n const willMergeParentIntoChild = otherLi && (isForward ? dom.isChildOf(li, otherLi) : dom.isChildOf(otherLi, li));\n if (otherLi && otherLi !== li && !willMergeParentIntoChild) {\n editor.undoManager.transact(() => {\n if (isForward) {\n mergeForward(editor, rng, otherLi, li);\n } else {\n if (isFirstChild(li)) {\n outdentListSelection(editor);\n } else {\n mergeBackward(editor, rng, li, otherLi);\n }\n }\n });\n return true;\n } else if (willMergeParentIntoChild && !isForward && otherLi !== li) {\n editor.undoManager.transact(() => {\n if (rng.commonAncestorContainer.parentElement) {\n const bookmark = createBookmark(rng);\n const oldParentElRef = rng.commonAncestorContainer.parentElement;\n moveChildren(dom, rng.commonAncestorContainer.parentElement, otherLi);\n oldParentElRef.remove();\n const resolvedBookmark = resolveBookmark(bookmark);\n editor.selection.setRng(resolvedBookmark);\n }\n });\n return true;\n } else if (!otherLi) {\n if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) {\n editor.undoManager.transact(() => {\n flattenListSelection(editor);\n });\n return true;\n }\n }\n }\n return false;\n };\n const removeBlock = (dom, block, root) => {\n const parentBlock = dom.getParent(block.parentNode, dom.isBlock, root);\n dom.remove(block);\n if (parentBlock && dom.isEmpty(parentBlock)) {\n dom.remove(parentBlock);\n }\n };\n const backspaceDeleteIntoListCaret = (editor, isForward) => {\n const dom = editor.dom;\n const selectionStartElm = editor.selection.getStart();\n const root = getClosestEditingHost(editor, selectionStartElm);\n const block = dom.getParent(selectionStartElm, dom.isBlock, root);\n if (block && dom.isEmpty(block)) {\n const rng = normalizeRange(editor.selection.getRng());\n const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);\n if (otherLi) {\n const findValidElement = element => contains$1([\n 'td',\n 'th',\n 'caption'\n ], name(element));\n const findRoot = node => node.dom === root;\n const otherLiCell = closest$2(SugarElement.fromDom(otherLi), findValidElement, findRoot);\n const caretCell = closest$2(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);\n if (!equals(otherLiCell, caretCell, eq)) {\n return false;\n }\n editor.undoManager.transact(() => {\n const parentNode = otherLi.parentNode;\n removeBlock(dom, block, root);\n mergeWithAdjacentLists(dom, parentNode);\n editor.selection.select(otherLi, true);\n editor.selection.collapse(isForward);\n });\n return true;\n }\n }\n return false;\n };\n const backspaceDeleteCaret = (editor, isForward) => {\n return backspaceDeleteFromListToListCaret(editor, isForward) || backspaceDeleteIntoListCaret(editor, isForward);\n };\n const hasListSelection = editor => {\n const selectionStartElm = editor.selection.getStart();\n const root = getClosestEditingHost(editor, selectionStartElm);\n const startListParent = editor.dom.getParent(selectionStartElm, 'LI,DT,DD', root);\n return startListParent || getSelectedListItems(editor).length > 0;\n };\n const backspaceDeleteRange = editor => {\n if (hasListSelection(editor)) {\n editor.undoManager.transact(() => {\n editor.execCommand('Delete');\n normalizeLists(editor.dom, editor.getBody());\n });\n return true;\n }\n return false;\n };\n const backspaceDelete = (editor, isForward) => {\n const selection = editor.selection;\n return !isWithinNonEditableList(editor, selection.getNode()) && (selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor));\n };\n const setup$2 = editor => {\n editor.on('ExecCommand', e => {\n const cmd = e.command.toLowerCase();\n if ((cmd === 'delete' || cmd === 'forwarddelete') && hasListSelection(editor)) {\n normalizeLists(editor.dom, editor.getBody());\n }\n });\n editor.on('keydown', e => {\n if (e.keyCode === global$4.BACKSPACE) {\n if (backspaceDelete(editor, false)) {\n e.preventDefault();\n }\n } else if (e.keyCode === global$4.DELETE) {\n if (backspaceDelete(editor, true)) {\n e.preventDefault();\n }\n }\n });\n };\n\n const get = editor => ({\n backspaceDelete: isForward => {\n backspaceDelete(editor, isForward);\n }\n });\n\n const updateList = (editor, update) => {\n const parentList = getParentList(editor);\n if (parentList === null || isWithinNonEditableList(editor, parentList)) {\n return;\n }\n editor.undoManager.transact(() => {\n if (isObject(update.styles)) {\n editor.dom.setStyles(parentList, update.styles);\n }\n if (isObject(update.attrs)) {\n each(update.attrs, (v, k) => editor.dom.setAttrib(parentList, k, v));\n }\n });\n };\n\n const parseAlphabeticBase26 = str => {\n const chars = reverse(trim(str).split(''));\n const values = map(chars, (char, i) => {\n const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;\n return Math.pow(26, i) * charValue;\n });\n return foldl(values, (sum, v) => sum + v, 0);\n };\n const composeAlphabeticBase26 = value => {\n value--;\n if (value < 0) {\n return '';\n } else {\n const remainder = value % 26;\n const quotient = Math.floor(value / 26);\n const rest = composeAlphabeticBase26(quotient);\n const char = String.fromCharCode('A'.charCodeAt(0) + remainder);\n return rest + char;\n }\n };\n const isUppercase = str => /^[A-Z]+$/.test(str);\n const isLowercase = str => /^[a-z]+$/.test(str);\n const isNumeric = str => /^[0-9]+$/.test(str);\n const deduceListType = start => {\n if (isNumeric(start)) {\n return 2;\n } else if (isUppercase(start)) {\n return 0;\n } else if (isLowercase(start)) {\n return 1;\n } else if (isEmpty$1(start)) {\n return 3;\n } else {\n return 4;\n }\n };\n const parseStartValue = start => {\n switch (deduceListType(start)) {\n case 2:\n return Optional.some({\n listStyleType: Optional.none(),\n start\n });\n case 0:\n return Optional.some({\n listStyleType: Optional.some('upper-alpha'),\n start: parseAlphabeticBase26(start).toString()\n });\n case 1:\n return Optional.some({\n listStyleType: Optional.some('lower-alpha'),\n start: parseAlphabeticBase26(start).toString()\n });\n case 3:\n return Optional.some({\n listStyleType: Optional.none(),\n start: ''\n });\n case 4:\n return Optional.none();\n }\n };\n const parseDetail = detail => {\n const start = parseInt(detail.start, 10);\n if (is$2(detail.listStyleType, 'upper-alpha')) {\n return composeAlphabeticBase26(start);\n } else if (is$2(detail.listStyleType, 'lower-alpha')) {\n return composeAlphabeticBase26(start).toLowerCase();\n } else {\n return detail.start;\n }\n };\n\n const open = editor => {\n const currentList = getParentList(editor);\n if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) {\n return;\n }\n editor.windowManager.open({\n title: 'List Properties',\n body: {\n type: 'panel',\n items: [{\n type: 'input',\n name: 'start',\n label: 'Start list at number',\n inputMode: 'numeric'\n }]\n },\n initialData: {\n start: parseDetail({\n start: editor.dom.getAttrib(currentList, 'start', '1'),\n listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type'))\n })\n },\n buttons: [\n {\n type: 'cancel',\n name: 'cancel',\n text: 'Cancel'\n },\n {\n type: 'submit',\n name: 'save',\n text: 'Save',\n primary: true\n }\n ],\n onSubmit: api => {\n const data = api.getData();\n parseStartValue(data.start).each(detail => {\n editor.execCommand('mceListUpdate', false, {\n attrs: { start: detail.start === '1' ? '' : detail.start },\n styles: { 'list-style-type': detail.listStyleType.getOr('') }\n });\n });\n api.close();\n }\n });\n };\n\n const queryListCommandState = (editor, listName) => () => {\n const parentList = getParentList(editor);\n return isNonNullable(parentList) && parentList.nodeName === listName;\n };\n const registerDialog = editor => {\n editor.addCommand('mceListProps', () => {\n open(editor);\n });\n };\n const register$2 = editor => {\n editor.on('BeforeExecCommand', e => {\n const cmd = e.command.toLowerCase();\n if (cmd === 'indent') {\n indentListSelection(editor);\n } else if (cmd === 'outdent') {\n outdentListSelection(editor);\n }\n });\n editor.addCommand('InsertUnorderedList', (ui, detail) => {\n toggleList(editor, 'UL', detail);\n });\n editor.addCommand('InsertOrderedList', (ui, detail) => {\n toggleList(editor, 'OL', detail);\n });\n editor.addCommand('InsertDefinitionList', (ui, detail) => {\n toggleList(editor, 'DL', detail);\n });\n editor.addCommand('RemoveList', () => {\n flattenListSelection(editor);\n });\n registerDialog(editor);\n editor.addCommand('mceListUpdate', (ui, detail) => {\n if (isObject(detail)) {\n updateList(editor, detail);\n }\n });\n editor.addQueryStateHandler('InsertUnorderedList', queryListCommandState(editor, 'UL'));\n editor.addQueryStateHandler('InsertOrderedList', queryListCommandState(editor, 'OL'));\n editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState(editor, 'DL'));\n };\n\n var global = tinymce.util.Tools.resolve('tinymce.html.Node');\n\n const isTextNode = node => node.type === 3;\n const isEmpty = nodeBuffer => nodeBuffer.length === 0;\n const wrapInvalidChildren = list => {\n const insertListItem = (buffer, refNode) => {\n const li = global.create('li');\n each$1(buffer, node => li.append(node));\n if (refNode) {\n list.insert(li, refNode, true);\n } else {\n list.append(li);\n }\n };\n const reducer = (buffer, node) => {\n if (isTextNode(node)) {\n return [\n ...buffer,\n node\n ];\n } else if (!isEmpty(buffer) && !isTextNode(node)) {\n insertListItem(buffer, node);\n return [];\n } else {\n return buffer;\n }\n };\n const restBuffer = foldl(list.children(), reducer, []);\n if (!isEmpty(restBuffer)) {\n insertListItem(restBuffer);\n }\n };\n const setup$1 = editor => {\n editor.on('PreInit', () => {\n const {parser} = editor;\n parser.addNodeFilter('ul,ol', nodes => each$1(nodes, wrapInvalidChildren));\n });\n };\n\n const setupTabKey = editor => {\n editor.on('keydown', e => {\n if (e.keyCode !== global$4.TAB || global$4.metaKeyPressed(e)) {\n return;\n }\n editor.undoManager.transact(() => {\n if (e.shiftKey ? outdentListSelection(editor) : indentListSelection(editor)) {\n e.preventDefault();\n }\n });\n });\n };\n const setup = editor => {\n if (shouldIndentOnTab(editor)) {\n setupTabKey(editor);\n }\n setup$2(editor);\n };\n\n const setupToggleButtonHandler = (editor, listName) => api => {\n const toggleButtonHandler = e => {\n api.setActive(inList(e.parents, listName));\n api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());\n };\n api.setEnabled(editor.selection.isEditable());\n return setNodeChangeHandler(editor, toggleButtonHandler);\n };\n const register$1 = editor => {\n const exec = command => () => editor.execCommand(command);\n if (!editor.hasPlugin('advlist')) {\n editor.ui.registry.addToggleButton('numlist', {\n icon: 'ordered-list',\n active: false,\n tooltip: 'Numbered list',\n onAction: exec('InsertOrderedList'),\n onSetup: setupToggleButtonHandler(editor, 'OL')\n });\n editor.ui.registry.addToggleButton('bullist', {\n icon: 'unordered-list',\n active: false,\n tooltip: 'Bullet list',\n onAction: exec('InsertUnorderedList'),\n onSetup: setupToggleButtonHandler(editor, 'UL')\n });\n }\n };\n\n const setupMenuButtonHandler = (editor, listName) => api => {\n const menuButtonHandler = e => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element));\n return setNodeChangeHandler(editor, menuButtonHandler);\n };\n const register = editor => {\n const listProperties = {\n text: 'List properties...',\n icon: 'ordered-list',\n onAction: () => editor.execCommand('mceListProps'),\n onSetup: setupMenuButtonHandler(editor, 'OL')\n };\n editor.ui.registry.addMenuItem('listprops', listProperties);\n editor.ui.registry.addContextMenu('lists', {\n update: node => {\n const parentList = getParentList(editor, node);\n return isOlNode(parentList) ? ['listprops'] : [];\n }\n });\n };\n\n var Plugin = () => {\n global$7.add('lists', editor => {\n register$3(editor);\n setup$1(editor);\n if (!editor.hasPlugin('rtc', true)) {\n setup(editor);\n register$2(editor);\n } else {\n registerDialog(editor);\n }\n register$1(editor);\n register(editor);\n return get(editor);\n });\n };\n\n Plugin();\n\n})();\n"],"names":["global$7","tinymce","util","Tools","resolve","isType$1","type","value","x","t","Array","isArray","o","v","proto","constructor","String","prototype","isPrototypeOf","_a","name","typeOf","isSimpleType","isString","isObject","isBoolean","isNonNullable","a","isNullable","isFunction","isNumber","noop","constant","tripleEquals","b","not","f","never","Optional","tag","this","some","none","singletonNone","fold","onNone","onSome","isSome","isNone","map","mapper","bind","binder","exists","predicate","forall","filter","getOr","replacement","or","getOrThunk","thunk","orThunk","getOrDie","message","Error","from","getOrNull","getOrUndefined","each","worker","toArray","toString","nativeSlice","slice","nativeIndexOf","indexOf","nativePush","push","contains$1","xs","rawIndexOf","ts","call","pred","i","len","length","r","each$1","filter$1","foldl","acc","findUntil","until","find","apply","flatten","reverse","get$1","head","last","unique","comparator","isDuplicated","is$2","lhs","rhs","left","lift2","oa","ob","fromDom$1","node","dom","SugarElement","fromHtml","html","scope","div","document","createElement","innerHTML","hasChildNodes","childNodes","console","error","fromTag","fromText","text","createTextNode","fromDom","fromPoint","docElm","y","elementFromPoint","is$1","element","selector","nodeType","elem","undefined","matches","msMatchesSelector","webkitMatchesSelector","mozMatchesSelector","eq","e1","e2","is","Global","window","Function","p","parts","path","split","actual","unsafe","getPrototypeOf","Object","sandHTMLElement","test","nodeName","toLowerCase","isType","isHTMLElement","isElement$1","isText","isDocument","isDocumentFragment","isTag","e","parent","parentNode","children","child","index","cs","firstChild","lastChild","getRootNode","Element","attachShadow","Node","dos","ownerDocument","getShadowRoot","host","getShadowHost","inBody","doc","body","contains","fbc","fab","ClosestOrAncestor","ancestor","isRoot","ancestor$3","stop","el","closest$2","s","ancestor$2","closest","target","closest$1","getRaw","contentEditable","before$1","marker","insertBefore","after","sibling","nextSibling","append$1","appendChild","append","elements","empty","textContent","rogue","remove","removeChild","global$6","global$5","global$4","nodes","keys","obj","props","k","onTrue","onFalse","internalFilter","setAll","attrs","key","setAttribute","rawSet","clone$1","attributes","attr","deep","original","isDeep","cloneNode","clone","mutate","nu","shallowAs","children$1","global$3","global$2","matchNodeName","matchNodeNames","regex","isTextNode$1","isElement","isListNode","isOlUlNode","isOlNode","isListItemNode","isDlItemNode","isTableCellNode","isBr","isTextBlock","editor","schema","getTextBlockElements","isBlock","blockElements","isVoid","getVoidElements","isEmpty$2","elm","keepBookmarks","isEmpty","select","isChildOfBody","isChildOf","getRoot","option","options","get","shouldIndentOnTab","getForcedRootBlock","getForcedRootBlockAttrs","createTextBlock","contentNode","getBlockElements","fragment","createFragment","blockName","blockAttrs","textBlock","hasContentNode","create","getAttribute","DOM$2","DOM","splitList","list","li","bookmarks","newBlock","tmpRng","createRng","setStartAfter","setEndAfter","extractContents","insertAfter","parentElement","targetNode","removeAndKeepBookmarks","isDescriptionDetail","isDescriptionTerm","outdentDlItem","item","dl","indentDlItem","getNormalizedPoint","container","offset","getNode","data","previousSibling","normalizeRange","rng","outRng","cloneRange","rangeStart","startContainer","startOffset","setStart","rangeEnd","endContainer","endOffset","setEnd","listNames","listSelector","join","getParentList","selectionStart","selection","getStart","getParent","getClosestListHost","getSelectedSubLists","parentList","selectedBlocks","getSelectedBlocks","isParentListSelected","querySelectorAll","findSubLists","getSelectedListItems","elms","listItemsElms","findParentListItemsNodes","getClosestEditingHost","parentTableCell","getParents","getBody","parentBlocks","parentBlock","isListHost","listName","isValidChild","findLastParentListNode","parentLists","getSelectedListRoots","selectedLists","firstList","subsequentLists","concat","getSelectedLists","getParentLists","isListInsideAnLiWithFirstAndLastNotListElement","getUniqueListRoots","l","lists","listRoots","isCustomList","className","inList","parents","isWithinNonEditable","isEditable","isWithinNonEditableList","setNodeChangeHandler","nodeChangeHandler","initialNode","on","off","fromElements","createDocumentFragment","fireListEvent","action","dispatch","trim","replace","internalSet","property","style","getPropertyValue","isSupported","setProperty","set","isList","hasFirstChildList","isEntryList","entry","isEntryComment","isIndented","depth","isSelected","cloneItemContent","content","joinSegment","createSegment","listType","segment","writeShallow","cast","newCast","createItem","itemAttributes","appendItem","listAttributes","normalizeSegment","isEntryFragment","writeDeep","segments","size","parentListType","createSegments","tail","joinSegments","populateSegments","composeList","entries","firstCommentEntryOpt","firstCommentEntry","fistCast","prepend","normalizeEntries","start","dirty","closestSiblingEntry","_value","cleanListProperties","matchingEntry","cloneListProperties","source","parseSingleItem","itemSelection","selectionState","nodeValue","isComment","currentItemEntry","isInPreviousLi","createEntry","end","childListEntries","parseList","parseItem","parsedSiblings","liChild","isFragment","composeEntries","wasType","group","groupBy","normalizedEntries","contentDocument","indentedComposer","outdentedComposer","listIndentation","indentation","entrySets","initial","Cell","sourceList","parseLists","selectedListItems","getItemSelection","entrySet","indentEntry","indentSelectedEntries","composedLists","composedList","selectionIndentation","dlItems","getSelectedDlItems","isHandled","bookmark","getBookmark","dlIndentation","moveToBookmark","setRng","getRng","nodeChanged","handleIndentation","selectionIsWithinNonEditableList","indentListSelection","outdentListSelection","flattenListSelection","isZwsp","char","ancestor$1","fn","initialArgs","restArgs","all","curry","global$1","DOM$1","createBookmark","setupEndPoint","offsetNode","Math","min","collapsed","resolveBookmark","restoreEndPoint","idx","nodeIndex","listToggleActionFromListName","setAttribs","updateListWithDetails","detail","setStyle","updateListStyle","updateListAttrs","isInline","getEndPointNode","root","findBetterContainer","forward","walker","findBlockAncestor","dir","applyList","listItemName","range","startPoint","commonAncestorContainer","getRootSearchStart","getContentEditable","toUpperCase","selectedTextBlocks","textBlocks","startNode","endNode","block","siblings","isBookmarkNode","getSelectedTextBlocks","listBlock","sib","sibStyle","getStyle","detailStyle","hasCompatibleStyle","rename","styles","removeStyles","mergeWithAdjacentLists","shouldMerge","list1","list2","isValidLists","hasSameListStyle","elm2","liSibling","updateList$1","newList","updateCustomList","classList","forEach","cls","_","startsWith","removeAttribute","hasListStyleDetail","toggleList","_detail","selectedSubLists","parentIsList","allLists","updateFunction","toggleMultipleLists","toggleSingleList","normalizeLists","grep","normalizeList","findNextCaretContainer","isForward","nonEmptyBlocks","getNonEmptyElements","isBogusBr","next","walkFn","prev2","hasOnlyOneBlockChild","isUnwrappable","assumeEditable","isContentEditable","editable","moveChildren","fromElm","toElm","targetElm","unwrapSingleBlockChild","mergeLiElements","listNode","ul","nestedLists","d1","d2","mergeForward","fromLi","toLi","setCursorLocation","mergeIntoEmptyLi","backspaceDeleteFromListToListCaret","selectionStartElm","otherLi","willMergeParentIntoChild","undoManager","transact","resolvedBookmark","mergeBackward","oldParentElRef","backspaceDeleteIntoListCaret","findValidElement","findRoot","equals","removeBlock","collapse","hasListSelection","backspaceDelete","isCollapsed","backspaceDeleteCaret","execCommand","backspaceDeleteRange","parseAlphabeticBase26","str","chars","values","charValue","charCodeAt","pow","sum","composeAlphabeticBase26","remainder","quotient","floor","fromCharCode","parseDetail","parseInt","listStyleType","open","currentList","windowManager","title","items","label","inputMode","initialData","getAttrib","buttons","primary","onSubmit","api","isLowercase","deduceListType","parseStartValue","getData","close","queryListCommandState","registerDialog","addCommand","register$2","cmd","command","ui","update","setStyles","setAttrib","updateList","addQueryStateHandler","global","isTextNode","nodeBuffer","wrapInvalidChildren","insertListItem","buffer","refNode","insert","restBuffer","setup","keyCode","TAB","metaKeyPressed","shiftKey","preventDefault","setupTabKey","BACKSPACE","DELETE","setup$2","setupToggleButtonHandler","setEnabled","setActive","setupMenuButtonHandler","add","registerOption","register","processor","default","register$3","parser","addNodeFilter","setup$1","hasPlugin","exec","registry","addToggleButton","icon","active","tooltip","onAction","onSetup","register$1","listProperties","addMenuItem","addContextMenu"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../public/tinymce/plugins/table/index.js"],"sourcesContent":["// Exports the \"table\" plugin for usage with module loaders\n// Usage:\n// CommonJS:\n// require('tinymce/plugins/table')\n// ES2015:\n// import 'tinymce/plugins/table'\nrequire('./plugin.js');"],"names":["require$$0"],"mappings":"uIAMsBA"}
|