@wangeditor-next/list-module 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,16 +1,822 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@wangeditor-next/core"),require("slate"),require("snabbdom"),require("dom7")):"function"==typeof define&&define.amd?define(["@wangeditor-next/core","slate","snabbdom","dom7"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).WangEditorListModule=e(t.core,t.slate,t.snabbdom,t.$)}(this,(function(t,e,r,n){"use strict";function o(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=o(n);t.i18nAddResources("en",{listModule:{unOrderedList:"Unordered list",orderedList:"Ordered list"}}),t.i18nAddResources("zh-CN",{listModule:{unOrderedList:"无序列表",orderedList:"有序列表"}});var u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function a(t){var e={exports:{}};return t(e,e.exports),e.exports}var c,f,l=function(t){return t&&t.Math==Math&&t},s=l("object"==typeof globalThis&&globalThis)||l("object"==typeof window&&window)||l("object"==typeof self&&self)||l("object"==typeof u&&u)||function(){return this}()||Function("return this")(),d=Function.prototype,v=d.bind,p=d.call,y=v&&v.bind(p),h=v?function(t){return t&&y(p,t)}:function(t){return t&&function(){return p.apply(t,arguments)}},g=function(t){try{return!!t()}catch(t){return!0}},b=h({}.toString),m=h("".slice),w=function(t){return m(b(t),8,-1)},x=s.Object,O=h("".split),S=g((function(){return!x("z").propertyIsEnumerable(0)}))?function(t){return"String"==w(t)?O(t,""):x(t)}:x,E=s.TypeError,T=function(t){if(null==t)throw E("Can't call method on "+t);return t},j=function(t){return S(T(t))},A=Object.defineProperty,P=function(t,e){try{A(s,t,{value:e,configurable:!0,writable:!0})}catch(r){s[t]=e}return e},I="__core-js_shared__",R=s[I]||P(I,{}),L=a((function(t){(t.exports=function(t,e){return R[t]||(R[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.19.3",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})})),k=s.Object,N=function(t){return k(T(t))},M=h({}.hasOwnProperty),_=Object.hasOwn||function(t,e){return M(N(t),e)},z=0,D=Math.random(),C=h(1..toString),F=function(t){return"Symbol("+(void 0===t?"":t)+")_"+C(++z+D,36)},H=function(t){return"function"==typeof t},B=function(t){return H(t)?t:void 0},G=function(t,e){return arguments.length<2?B(s[t]):s[t]&&s[t][e]},$=G("navigator","userAgent")||"",V=s.process,W=s.Deno,U=V&&V.versions||W&&W.version,q=U&&U.v8;q&&(f=(c=q.split("."))[0]>0&&c[0]<4?1:+(c[0]+c[1])),!f&&$&&(!(c=$.match(/Edge\/(\d+)/))||c[1]>=74)&&(c=$.match(/Chrome\/(\d+)/))&&(f=+c[1]);var K,Y=f,X=!!Object.getOwnPropertySymbols&&!g((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&Y&&Y<41})),J=X&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Q=L("wks"),Z=s.Symbol,tt=Z&&Z.for,et=J?Z:Z&&Z.withoutSetter||F,rt=function(t){if(!_(Q,t)||!X&&"string"!=typeof Q[t]){var e="Symbol."+t;X&&_(Z,t)?Q[t]=Z[t]:Q[t]=J&&tt?tt(e):et(e)}return Q[t]},nt=function(t){return"object"==typeof t?null!==t:H(t)},ot=s.String,it=s.TypeError,ut=function(t){if(nt(t))return t;throw it(ot(t)+" is not an object")},at=!g((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),ct=s.document,ft=nt(ct)&&nt(ct.createElement),lt=function(t){return ft?ct.createElement(t):{}},st=!at&&!g((function(){return 7!=Object.defineProperty(lt("div"),"a",{get:function(){return 7}}).a})),dt=Function.prototype.call,vt=dt.bind?dt.bind(dt):function(){return dt.apply(dt,arguments)},pt=h({}.isPrototypeOf),yt=s.Object,ht=J?function(t){return"symbol"==typeof t}:function(t){var e=G("Symbol");return H(e)&&pt(e.prototype,yt(t))},gt=s.String,bt=function(t){try{return gt(t)}catch(t){return"Object"}},mt=s.TypeError,wt=function(t){if(H(t))return t;throw mt(bt(t)+" is not a function")},xt=function(t,e){var r=t[e];return null==r?void 0:wt(r)},Ot=s.TypeError,St=s.TypeError,Et=rt("toPrimitive"),Tt=function(t,e){if(!nt(t)||ht(t))return t;var r,n=xt(t,Et);if(n){if(void 0===e&&(e="default"),r=vt(n,t,e),!nt(r)||ht(r))return r;throw St("Can't convert object to primitive value")}return void 0===e&&(e="number"),function(t,e){var r,n;if("string"===e&&H(r=t.toString)&&!nt(n=vt(r,t)))return n;if(H(r=t.valueOf)&&!nt(n=vt(r,t)))return n;if("string"!==e&&H(r=t.toString)&&!nt(n=vt(r,t)))return n;throw Ot("Can't convert object to primitive value")}(t,e)},jt=function(t){var e=Tt(t,"string");return ht(e)?e:e+""},At=s.TypeError,Pt=Object.defineProperty,It={f:at?Pt:function(t,e,r){if(ut(t),e=jt(e),ut(r),st)try{return Pt(t,e,r)}catch(t){}if("get"in r||"set"in r)throw At("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},Rt=Math.ceil,Lt=Math.floor,kt=function(t){var e=+t;return e!=e||0===e?0:(e>0?Lt:Rt)(e)},Nt=Math.max,Mt=Math.min,_t=function(t,e){var r=kt(t);return r<0?Nt(r+e,0):Mt(r,e)},zt=Math.min,Dt=function(t){return t>0?zt(kt(t),9007199254740991):0},Ct=function(t){return Dt(t.length)},Ft=function(t){return function(e,r,n){var o,i=j(e),u=Ct(i),a=_t(n,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},Ht={includes:Ft(!0),indexOf:Ft(!1)},Bt={},Gt=Ht.indexOf,$t=h([].push),Vt=function(t,e){var r,n=j(t),o=0,i=[];for(r in n)!_(Bt,r)&&_(n,r)&&$t(i,r);for(;e.length>o;)_(n,r=e[o++])&&(~Gt(i,r)||$t(i,r));return i},Wt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ut=Object.keys||function(t){return Vt(t,Wt)},qt=at?Object.defineProperties:function(t,e){ut(t);for(var r,n=j(e),o=Ut(e),i=o.length,u=0;i>u;)It.f(t,r=o[u++],n[r]);return t},Kt=G("document","documentElement"),Yt=L("keys"),Xt=function(t){return Yt[t]||(Yt[t]=F(t))},Jt=Xt("IE_PROTO"),Qt=function(){},Zt=function(t){return"<script>"+t+"</"+"script>"},te=function(t){t.write(Zt("")),t.close();var e=t.parentWindow.Object;return t=null,e},ee=function(){try{K=new ActiveXObject("htmlfile")}catch(t){}var t,e;ee="undefined"!=typeof document?document.domain&&K?te(K):((e=lt("iframe")).style.display="none",Kt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Zt("document.F=Object")),t.close(),t.F):te(K);for(var r=Wt.length;r--;)delete ee.prototype[Wt[r]];return ee()};Bt[Jt]=!0;var re=Object.create||function(t,e){var r;return null!==t?(Qt.prototype=ut(t),r=new Qt,Qt.prototype=null,r[Jt]=t):r=ee(),void 0===e?r:qt(r,e)},ne=rt("unscopables"),oe=Array.prototype;null==oe[ne]&&It.f(oe,ne,{configurable:!0,value:re(null)});var ie=function(t){oe[ne][t]=!0},ue={},ae=h(Function.toString);H(R.inspectSource)||(R.inspectSource=function(t){return ae(t)});var ce,fe,le,se=R.inspectSource,de=s.WeakMap,ve=H(de)&&/native code/.test(se(de)),pe=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},ye=at?function(t,e,r){return It.f(t,e,pe(1,r))}:function(t,e,r){return t[e]=r,t},he="Object already initialized",ge=s.TypeError,be=s.WeakMap;if(ve||R.state){var me=R.state||(R.state=new be),we=h(me.get),xe=h(me.has),Oe=h(me.set);ce=function(t,e){if(xe(me,t))throw new ge(he);return e.facade=t,Oe(me,t,e),e},fe=function(t){return we(me,t)||{}},le=function(t){return xe(me,t)}}else{var Se=Xt("state");Bt[Se]=!0,ce=function(t,e){if(_(t,Se))throw new ge(he);return e.facade=t,ye(t,Se,e),e},fe=function(t){return _(t,Se)?t[Se]:{}},le=function(t){return _(t,Se)}}var Ee,Te,je,Ae={set:ce,get:fe,has:le,enforce:function(t){return le(t)?fe(t):ce(t,{})},getterFor:function(t){return function(e){var r;if(!nt(e)||(r=fe(e)).type!==t)throw ge("Incompatible receiver, "+t+" required");return r}}},Pe={}.propertyIsEnumerable,Ie=Object.getOwnPropertyDescriptor,Re={f:Ie&&!Pe.call({1:2},1)?function(t){var e=Ie(this,t);return!!e&&e.enumerable}:Pe},Le=Object.getOwnPropertyDescriptor,ke={f:at?Le:function(t,e){if(t=j(t),e=jt(e),st)try{return Le(t,e)}catch(t){}if(_(t,e))return pe(!vt(Re.f,t,e),t[e])}},Ne=Function.prototype,Me=at&&Object.getOwnPropertyDescriptor,_e=_(Ne,"name"),ze={EXISTS:_e,PROPER:_e&&"something"===function(){}.name,CONFIGURABLE:_e&&(!at||at&&Me(Ne,"name").configurable)},De=a((function(t){var e=ze.CONFIGURABLE,r=Ae.get,n=Ae.enforce,o=String(String).split("String");(t.exports=function(t,r,i,u){var a,c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,l=!!u&&!!u.noTargetGet,d=u&&void 0!==u.name?u.name:r;H(i)&&("Symbol("===String(d).slice(0,7)&&(d="["+String(d).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!_(i,"name")||e&&i.name!==d)&&ye(i,"name",d),(a=n(i)).source||(a.source=o.join("string"==typeof d?d:""))),t!==s?(c?!l&&t[r]&&(f=!0):delete t[r],f?t[r]=i:ye(t,r,i)):f?t[r]=i:P(r,i)})(Function.prototype,"toString",(function(){return H(this)&&r(this).source||se(this)}))})),Ce=Wt.concat("length","prototype"),Fe={f:Object.getOwnPropertyNames||function(t){return Vt(t,Ce)}},He={f:Object.getOwnPropertySymbols},Be=h([].concat),Ge=G("Reflect","ownKeys")||function(t){var e=Fe.f(ut(t)),r=He.f;return r?Be(e,r(t)):e},$e=function(t,e){for(var r=Ge(e),n=It.f,o=ke.f,i=0;i<r.length;i++){var u=r[i];_(t,u)||n(t,u,o(e,u))}},Ve=/#|\.prototype\./,We=function(t,e){var r=qe[Ue(t)];return r==Ye||r!=Ke&&(H(e)?g(e):!!e)},Ue=We.normalize=function(t){return String(t).replace(Ve,".").toLowerCase()},qe=We.data={},Ke=We.NATIVE="N",Ye=We.POLYFILL="P",Xe=We,Je=ke.f,Qe=function(t,e){var r,n,o,i,u,a=t.target,c=t.global,f=t.stat;if(r=c?s:f?s[a]||P(a,{}):(s[a]||{}).prototype)for(n in e){if(i=e[n],o=t.noTargetGet?(u=Je(r,n))&&u.value:r[n],!Xe(c?n:a+(f?".":"#")+n,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;$e(i,o)}(t.sham||o&&o.sham)&&ye(i,"sham",!0),De(r,n,i,t)}},Ze=!g((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),tr=Xt("IE_PROTO"),er=s.Object,rr=er.prototype,nr=Ze?er.getPrototypeOf:function(t){var e=N(t);if(_(e,tr))return e[tr];var r=e.constructor;return H(r)&&e instanceof r?r.prototype:e instanceof er?rr:null},or=rt("iterator"),ir=!1;[].keys&&("next"in(je=[].keys())?(Te=nr(nr(je)))!==Object.prototype&&(Ee=Te):ir=!0);var ur=null==Ee||g((function(){var t={};return Ee[or].call(t)!==t}));ur&&(Ee={}),H(Ee[or])||De(Ee,or,(function(){return this}));var ar={IteratorPrototype:Ee,BUGGY_SAFARI_ITERATORS:ir},cr=It.f,fr=rt("toStringTag"),lr=function(t,e,r){t&&!_(t=r?t:t.prototype,fr)&&cr(t,fr,{configurable:!0,value:e})},sr=ar.IteratorPrototype,dr=function(){return this},vr=s.String,pr=s.TypeError,yr=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=h(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return ut(r),function(t){if("object"==typeof t||H(t))return t;throw pr("Can't set "+vr(t)+" as a prototype")}(n),e?t(r,n):r.__proto__=n,r}}():void 0),hr=ze.PROPER,gr=ze.CONFIGURABLE,br=ar.IteratorPrototype,mr=ar.BUGGY_SAFARI_ITERATORS,wr=rt("iterator"),xr="keys",Or="values",Sr="entries",Er=function(){return this},Tr=function(t,e,r,n,o,i,u){!function(t,e,r,n){var o=e+" Iterator";t.prototype=re(sr,{next:pe(+!n,r)}),lr(t,o,!1),ue[o]=dr}(r,e,n);var a,c,f,l=function(t){if(t===o&&y)return y;if(!mr&&t in v)return v[t];switch(t){case xr:case Or:case Sr:return function(){return new r(this,t)}}return function(){return new r(this)}},s=e+" Iterator",d=!1,v=t.prototype,p=v[wr]||v["@@iterator"]||o&&v[o],y=!mr&&p||l(o),h="Array"==e&&v.entries||p;if(h&&(a=nr(h.call(new t)))!==Object.prototype&&a.next&&(nr(a)!==br&&(yr?yr(a,br):H(a[wr])||De(a,wr,Er)),lr(a,s,!0)),hr&&o==Or&&p&&p.name!==Or&&(gr?ye(v,"name",Or):(d=!0,y=function(){return vt(p,this)})),o)if(c={values:l(Or),keys:i?y:l(xr),entries:l(Sr)},u)for(f in c)(mr||d||!(f in v))&&De(v,f,c[f]);else Qe({target:e,proto:!0,forced:mr||d},c);return v[wr]!==y&&De(v,wr,y,{name:o}),ue[e]=y,c},jr="Array Iterator",Ar=Ae.set,Pr=Ae.getterFor(jr),Ir=Tr(Array,"Array",(function(t,e){Ar(this,{type:jr,target:j(t),index:0,kind:e})}),(function(){var t=Pr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");ue.Arguments=ue.Array,ie("keys"),ie("values"),ie("entries");var Rr={};Rr[rt("toStringTag")]="z";var Lr="[object z]"===String(Rr),kr=rt("toStringTag"),Nr=s.Object,Mr="Arguments"==w(function(){return arguments}()),_r=Lr?w:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Nr(t),kr))?r:Mr?w(e):"Object"==(n=w(e))&&H(e.callee)?"Arguments":n},zr=Lr?{}.toString:function(){return"[object "+_r(this)+"]"};Lr||De(Object.prototype,"toString",zr,{unsafe:!0});var Dr=s.String,Cr=function(t){if("Symbol"===_r(t))throw TypeError("Cannot convert a Symbol value to a string");return Dr(t)},Fr=h("".charAt),Hr=h("".charCodeAt),Br=h("".slice),Gr=function(t){return function(e,r){var n,o,i=Cr(T(e)),u=kt(r),a=i.length;return u<0||u>=a?t?"":void 0:(n=Hr(i,u))<55296||n>56319||u+1===a||(o=Hr(i,u+1))<56320||o>57343?t?Fr(i,u):n:t?Br(i,u,u+2):o-56320+(n-55296<<10)+65536}},$r={codeAt:Gr(!1),charAt:Gr(!0)},Vr=$r.charAt,Wr="String Iterator",Ur=Ae.set,qr=Ae.getterFor(Wr);Tr(String,"String",(function(t){Ur(this,{type:Wr,string:Cr(t),index:0})}),(function(){var t,e=qr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Vr(r,n),e.index+=t.length,{value:t,done:!1})}));var Kr=function(t,e,r){for(var n in e)De(t,n,e[n],r);return t},Yr=s.Array,Xr=Math.max,Jr=Fe.f,Qr="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Zr=function(t){try{return Jr(t)}catch(t){return function(t,e,r){for(var n,o,i,u,a=Ct(t),c=_t(e,a),f=_t(void 0===r?a:r,a),l=Yr(Xr(f-c,0)),s=0;c<f;c++,s++)n=l,o=s,i=t[c],u=void 0,(u=jt(o))in n?It.f(n,u,pe(0,i)):n[u]=i;return l.length=s,l}(Qr)}},tn={f:function(t){return Qr&&"Window"==w(t)?Zr(t):Jr(j(t))}},en=g((function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}})),rn=Object.isExtensible,nn=g((function(){rn(1)}))||en?function(t){return!!nt(t)&&((!en||"ArrayBuffer"!=w(t))&&(!rn||rn(t)))}:rn,on=!g((function(){return Object.isExtensible(Object.preventExtensions({}))})),un=a((function(t){var e=It.f,r=!1,n=F("meta"),o=0,i=function(t){e(t,n,{value:{objectID:"O"+o++,weakData:{}}})},u=t.exports={enable:function(){u.enable=function(){},r=!0;var t=Fe.f,e=h([].splice),o={};o[n]=1,t(o).length&&(Fe.f=function(r){for(var o=t(r),i=0,u=o.length;i<u;i++)if(o[i]===n){e(o,i,1);break}return o},Qe({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:tn.f}))},fastKey:function(t,e){if(!nt(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!_(t,n)){if(!nn(t))return"F";if(!e)return"E";i(t)}return t[n].objectID},getWeakData:function(t,e){if(!_(t,n)){if(!nn(t))return!0;if(!e)return!1;i(t)}return t[n].weakData},onFreeze:function(t){return on&&r&&nn(t)&&!_(t,n)&&i(t),t}};Bt[n]=!0})),an=h(h.bind),cn=function(t,e){return wt(t),void 0===e?t:an?an(t,e):function(){return t.apply(e,arguments)}},fn=rt("iterator"),ln=Array.prototype,sn=rt("iterator"),dn=function(t){if(null!=t)return xt(t,sn)||xt(t,"@@iterator")||ue[_r(t)]},vn=s.TypeError,pn=function(t,e,r){var n,o;ut(t);try{if(!(n=xt(t,"return"))){if("throw"===e)throw r;return r}n=vt(n,t)}catch(t){o=!0,n=t}if("throw"===e)throw r;if(o)throw n;return ut(n),r},yn=s.TypeError,hn=function(t,e){this.stopped=t,this.result=e},gn=hn.prototype,bn=function(t,e,r){var n,o,i,u,a,c,f,l,s=r&&r.that,d=!(!r||!r.AS_ENTRIES),v=!(!r||!r.IS_ITERATOR),p=!(!r||!r.INTERRUPTED),y=cn(e,s),h=function(t){return n&&pn(n,"normal",t),new hn(!0,t)},g=function(t){return d?(ut(t),p?y(t[0],t[1],h):y(t[0],t[1])):p?y(t,h):y(t)};if(v)n=t;else{if(!(o=dn(t)))throw yn(bt(t)+" is not iterable");if(void 0!==(l=o)&&(ue.Array===l||ln[fn]===l)){for(i=0,u=Ct(t);u>i;i++)if((a=g(t[i]))&&pt(gn,a))return a;return new hn(!1)}n=function(t,e){var r=arguments.length<2?dn(t):e;if(wt(r))return ut(vt(r,t));throw vn(bt(t)+" is not iterable")}(t,o)}for(c=n.next;!(f=vt(c,n)).done;){try{a=g(f.value)}catch(t){pn(n,"throw",t)}if("object"==typeof a&&a&&pt(gn,a))return a}return new hn(!1)},mn=s.TypeError,wn=function(t,e){if(pt(e,t))return t;throw mn("Incorrect invocation")},xn=rt("iterator"),On=!1;try{var Sn=0,En={next:function(){return{done:!!Sn++}},return:function(){On=!0}};En[xn]=function(){return this},Array.from(En,(function(){throw 2}))}catch(t){}var Tn=Array.isArray||function(t){return"Array"==w(t)},jn=function(){},An=[],Pn=G("Reflect","construct"),In=/^\s*(?:class|function)\b/,Rn=h(In.exec),Ln=!In.exec(jn),kn=function(t){if(!H(t))return!1;try{return Pn(jn,An,t),!0}catch(t){return!1}},Nn=!Pn||g((function(){var t;return kn(kn.call)||!kn(Object)||!kn((function(){t=!0}))||t}))?function(t){if(!H(t))return!1;switch(_r(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return Ln||!!Rn(In,se(t))}:kn,Mn=rt("species"),_n=s.Array,zn=function(t,e){return new(function(t){var e;return Tn(t)&&(e=t.constructor,(Nn(e)&&(e===_n||Tn(e.prototype))||nt(e)&&null===(e=e[Mn]))&&(e=void 0)),void 0===e?_n:e}(t))(0===e?0:e)},Dn=h([].push),Cn=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,u=7==t,a=5==t||i;return function(c,f,l,s){for(var d,v,p=N(c),y=S(p),h=cn(f,l),g=Ct(y),b=0,m=s||zn,w=e?m(c,g):r||u?m(c,0):void 0;g>b;b++)if((a||b in y)&&(v=h(d=y[b],b,p),t))if(e)w[b]=v;else if(v)switch(t){case 3:return!0;case 5:return d;case 6:return b;case 2:Dn(w,d)}else switch(t){case 4:return!1;case 7:Dn(w,d)}return i?-1:n||o?o:w}},Fn={forEach:Cn(0),map:Cn(1),filter:Cn(2),some:Cn(3),every:Cn(4),find:Cn(5),findIndex:Cn(6),filterReject:Cn(7)},Hn=un.getWeakData,Bn=Ae.set,Gn=Ae.getterFor,$n=Fn.find,Vn=Fn.findIndex,Wn=h([].splice),Un=0,qn=function(t){return t.frozen||(t.frozen=new Kn)},Kn=function(){this.entries=[]},Yn=function(t,e){return $n(t.entries,(function(t){return t[0]===e}))};Kn.prototype={get:function(t){var e=Yn(this,t);if(e)return e[1]},has:function(t){return!!Yn(this,t)},set:function(t,e){var r=Yn(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=Vn(this.entries,(function(e){return e[0]===t}));return~e&&Wn(this.entries,e,1),!!~e}};var Xn,Jn={getConstructor:function(t,e,r,n){var o=t((function(t,o){wn(t,i),Bn(t,{type:e,id:Un++,frozen:void 0}),null!=o&&bn(o,t[n],{that:t,AS_ENTRIES:r})})),i=o.prototype,u=Gn(e),a=function(t,e,r){var n=u(t),o=Hn(ut(e),!0);return!0===o?qn(n).set(e,r):o[n.id]=r,t};return Kr(i,{delete:function(t){var e=u(this);if(!nt(t))return!1;var r=Hn(t);return!0===r?qn(e).delete(t):r&&_(r,e.id)&&delete r[e.id]},has:function(t){var e=u(this);if(!nt(t))return!1;var r=Hn(t);return!0===r?qn(e).has(t):r&&_(r,e.id)}}),Kr(i,r?{get:function(t){var e=u(this);if(nt(t)){var r=Hn(t);return!0===r?qn(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},Qn=Ae.enforce,Zn=!s.ActiveXObject&&"ActiveXObject"in s,to=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},eo=function(t,e,r){var n=-1!==t.indexOf("Map"),o=-1!==t.indexOf("Weak"),i=n?"set":"add",u=s[t],a=u&&u.prototype,c=u,f={},l=function(t){var e=h(a[t]);De(a,t,"add"==t?function(t){return e(this,0===t?0:t),this}:"delete"==t?function(t){return!(o&&!nt(t))&&e(this,0===t?0:t)}:"get"==t?function(t){return o&&!nt(t)?void 0:e(this,0===t?0:t)}:"has"==t?function(t){return!(o&&!nt(t))&&e(this,0===t?0:t)}:function(t,r){return e(this,0===t?0:t,r),this})};if(Xe(t,!H(u)||!(o||a.forEach&&!g((function(){(new u).entries().next()})))))c=r.getConstructor(e,t,n,i),un.enable();else if(Xe(t,!0)){var d=new c,v=d[i](o?{}:-0,1)!=d,p=g((function(){d.has(1)})),y=function(t,e){if(!e&&!On)return!1;var r=!1;try{var n={};n[xn]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r}((function(t){new u(t)})),b=!o&&g((function(){for(var t=new u,e=5;e--;)t[i](e,e);return!t.has(-0)}));y||((c=e((function(t,e){wn(t,a);var r=function(t,e,r){var n,o;return yr&&H(n=e.constructor)&&n!==r&&nt(o=n.prototype)&&o!==r.prototype&&yr(t,o),t}(new u,t,c);return null!=e&&bn(e,r[i],{that:r,AS_ENTRIES:n}),r}))).prototype=a,a.constructor=c),(p||b)&&(l("delete"),l("has"),n&&l("get")),(b||v)&&l(i),o&&a.clear&&delete a.clear}return f[t]=c,Qe({global:!0,forced:c!=u},f),lr(c,t),o||r.setStrong(c,t,n),c}("WeakMap",to,Jn);if(ve&&Zn){Xn=Jn.getConstructor(to,"WeakMap",!0),un.enable();var ro=eo.prototype,no=h(ro.delete),oo=h(ro.has),io=h(ro.get),uo=h(ro.set);Kr(ro,{delete:function(t){if(nt(t)&&!nn(t)){var e=Qn(this);return e.frozen||(e.frozen=new Xn),no(this,t)||e.frozen.delete(t)}return no(this,t)},has:function(t){if(nt(t)&&!nn(t)){var e=Qn(this);return e.frozen||(e.frozen=new Xn),oo(this,t)||e.frozen.has(t)}return oo(this,t)},get:function(t){if(nt(t)&&!nn(t)){var e=Qn(this);return e.frozen||(e.frozen=new Xn),oo(this,t)?io(this,t):e.frozen.get(t)}return io(this,t)},set:function(t,e){if(nt(t)&&!nn(t)){var r=Qn(this);r.frozen||(r.frozen=new Xn),oo(this,t)?uo(this,t,e):r.frozen.set(t,e)}else uo(this,t,e);return this}})}var ao={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},co=lt("span").classList,fo=co&&co.constructor&&co.constructor.prototype,lo=fo===Object.prototype?void 0:fo,so=rt("iterator"),vo=rt("toStringTag"),po=Ir.values,yo=function(t,e){if(t){if(t[so]!==po)try{ye(t,so,po)}catch(e){t[so]=po}if(t[vo]||ye(t,vo,e),ao[e])for(var r in Ir)if(t[r]!==Ir[r])try{ye(t,r,Ir[r])}catch(e){t[r]=Ir[r]}}};for(var ho in ao)yo(s[ho]&&s[ho].prototype,ho);yo(lo,"DOMTokenList");var go=new WeakMap;var bo={type:"list-item",renderElem:function(n,o,i){go.set(n,i);var u=n,a=u.level,c=void 0===a?0:a,f=u.ordered,l={margin:"5px 0 5px "+20*c+"px"},s="";if(void 0!==f&&f){var d=function(r,n){var o=n,i=o.type,u=o.level,a=void 0===u?0:u,c=o.ordered,f=void 0!==c&&c;if(!f)return-1;var l=1,s=n,d=t.DomEditor.findPath(r,s);if(0===d[0])return 1;for(;d[0]>0;){var v=e.Path.previous(d),p=e.Editor.node(r,v);if(null==p)break;var y=p[0],h=y.level,g=void 0===h?0:h,b=y.type,m=y.ordered;if(b!==i)break;if(g<a)break;if(g===a){if(m!==f)break;l++}s=y,d=v}return l}(i,n);s=d+"."}else s=function(t){void 0===t&&(t=0);var e="";switch(t){case 0:e="•";break;case 1:e="◦";break;default:e="▪"}return e}(c);var v=function(t){var r,n=t.children||[],o=n.length;if(0===o)return"";for(var i=0;i<o&&!r;i++){var u=n[i];e.Text.isText(u)&&(r=u)}return null==r?"":r.color||""}(n);return r.jsx("div",{style:l},r.jsx("span",{contentEditable:!1,style:{marginRight:"0.5em",color:v},"data-w-e-reserve":!0},s),r.jsx("span",null,o))}},mo=function(t,e){return mo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},mo(t,e)};
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function wo(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}mo(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function xo(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Oo(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),u=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)u.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return u}function So(r,n,o){for(var i=n.type,u=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}(n,["type"]),a=void 0!==o?o:u.level||0,c=t.DomEditor.findPath(r,n),f=c;;){if(0===f.length||0===c[c.length-1])return null;f=e.Path.previous(f);var l=e.Editor.node(r,f);if(!l)return null;var s=Oo(l,1)[0],d=s.level,v=void 0===d?0:d;if(t.DomEditor.getNodeType(s)!==i)return null;if(v===a)return s}}function Eo(t,e,r){var n=So(t,e,r);return!!n&&n.ordered===e.ordered}function To(r){return e.Editor.nodes(r,{at:r.selection||void 0,match:function(e){return 1===t.DomEditor.findPath(r,e).length}})}var jo=Ht.includes;Qe({target:"Array",proto:!0},{includes:function(t){return jo(this,t,arguments.length>1?arguments[1]:void 0)}}),ie("includes");var Ao,Po,Io=function(){var t=ut(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e},Ro=s.RegExp,Lo=g((function(){var t=Ro("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),ko=Lo||g((function(){return!Ro("a","y").sticky})),No={BROKEN_CARET:Lo||g((function(){var t=Ro("^r","gy");return t.lastIndex=2,null!=t.exec("str")})),MISSED_STICKY:ko,UNSUPPORTED_Y:Lo},Mo=s.RegExp,_o=g((function(){var t=Mo(".","s");return!(t.dotAll&&t.exec("\n")&&"s"===t.flags)})),zo=s.RegExp,Do=g((function(){var t=zo("(?<a>b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$<a>c")})),Co=Ae.get,Fo=L("native-string-replace",String.prototype.replace),Ho=RegExp.prototype.exec,Bo=Ho,Go=h("".charAt),$o=h("".indexOf),Vo=h("".replace),Wo=h("".slice),Uo=(Po=/b*/g,vt(Ho,Ao=/a/,"a"),vt(Ho,Po,"a"),0!==Ao.lastIndex||0!==Po.lastIndex),qo=No.BROKEN_CARET,Ko=void 0!==/()??/.exec("")[1];(Uo||Ko||qo||_o||Do)&&(Bo=function(t){var e,r,n,o,i,u,a,c=this,f=Co(c),l=Cr(t),s=f.raw;if(s)return s.lastIndex=c.lastIndex,e=vt(Bo,s,l),c.lastIndex=s.lastIndex,e;var d=f.groups,v=qo&&c.sticky,p=vt(Io,c),y=c.source,h=0,g=l;if(v&&(p=Vo(p,"y",""),-1===$o(p,"g")&&(p+="g"),g=Wo(l,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==Go(l,c.lastIndex-1))&&(y="(?: "+y+")",g=" "+g,h++),r=new RegExp("^(?:"+y+")",p)),Ko&&(r=new RegExp("^"+y+"$(?!\\s)",p)),Uo&&(n=c.lastIndex),o=vt(Ho,v?r:c,g),v?o?(o.input=Wo(o.input,h),o[0]=Wo(o[0],h),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:Uo&&o&&(c.lastIndex=c.global?o.index+o[0].length:n),Ko&&o&&o.length>1&&vt(Fo,o[0],r,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(o[i]=void 0)})),o&&d)for(o.groups=u=re(null),i=0;i<d.length;i++)u[(a=d[i])[0]]=o[a[1]];return o});var Yo=Bo;Qe({target:"RegExp",proto:!0,forced:/./.exec!==Yo},{exec:Yo});var Xo=function(){function r(){this.type="list-item",this.tag="button"}return r.prototype.getListNode=function(e){var r=this.type;return t.DomEditor.getSelectedNodeByType(e,r)},r.prototype.getValue=function(t){return""},r.prototype.isActive=function(t){var e=this.getListNode(t);if(null==e)return!1;var r=e.ordered;return(void 0!==r&&r)===this.ordered},r.prototype.isDisabled=function(r){return null==r.selection||!!t.DomEditor.getSelectedElems(r).some((function(t){if(e.Editor.isVoid(r,t)&&e.Editor.isBlock(r,t))return!0;var n=t.type;return!!["pre","code","table"].includes(n)||void 0}))},r.prototype.exec=function(t,r){this.isActive(t)?e.Transforms.setNodes(t,{type:"paragraph",ordered:void 0,level:void 0}):e.Transforms.setNodes(t,{type:"list-item",ordered:this.ordered,indent:void 0})},r}(),Jo='<svg viewBox="0 0 1024 1024"><path d="M384 64h640v128H384V64z m0 384h640v128H384v-128z m0 384h640v128H384v-128zM0 128a128 128 0 1 1 256 0 128 128 0 0 1-256 0z m0 384a128 128 0 1 1 256 0 128 128 0 0 1-256 0z m0 384a128 128 0 1 1 256 0 128 128 0 0 1-256 0z"></path></svg>',Qo='<svg viewBox="0 0 1024 1024"><path d="M384 832h640v128H384z m0-384h640v128H384z m0-384h640v128H384zM192 0v256H128V64H64V0zM128 526.016v50.016h128v64H64v-146.016l128-60V384H64v-64h192v146.016zM256 704v320H64v-64h128v-64H64v-64h128v-64H64v-64z"></path></svg>',Zo=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.ordered=!1,r.title=t.t("listModule.unOrderedList"),r.iconSvg=Jo,r}return wo(r,e),r}(Xo),ti=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.ordered=!0,r.title=t.t("listModule.orderedList"),r.iconSvg=Qo,r}return wo(r,e),r}(Xo),ei={key:"bulletedList",factory:function(){return new Zo}},ri={key:"numberedList",factory:function(){return new ti}};var ni=[];var oi,ii={type:"list-item",elemToHtml:function(r,n){var o="",i="",u=r.ordered,a=void 0!==u&&u?"ol":"ul",c=function(r){var n=go.get(r);if(null==n)return 0;var o=r,i=o.type,u=o.ordered,a=void 0!==u&&u,c=o.level,f=void 0===c?0:c,l=t.DomEditor.findPath(n,r);if(0===l[0])return f+1;var s=e.Path.previous(l),d=e.Editor.node(n,s);if(!d)return 0;var v=Oo(d,1)[0];if(t.DomEditor.getNodeType(v)!==i)return f+1;var p=v,y=p.ordered,h=void 0!==y&&y,g=p.level,b=void 0===g?0:g;return b<f?f-b:b>f?Eo(n,r)?0:1:b===f?h===a?0:1:0}(r);if(c>0)for(var f=0;f<c;f++)o+="<"+a+">",ni.push(a);var l=function(r){var n=go.get(r);if(null==n)return 0;var o=r,i=o.type,u=o.ordered,a=void 0!==u&&u,c=o.level,f=void 0===c?0:c,l=t.DomEditor.findPath(n,r);if(l[0]===n.children.length-1)return f+1;var s=e.Path.next(l),d=e.Editor.node(n,s);if(!d)return 0;var v=Oo(d,1)[0];if(t.DomEditor.getNodeType(v)!==i)return f+1;var p=v,y=p.ordered,h=void 0!==y&&y,g=p.level,b=void 0===g?0:g;return b<f?Eo(n,v)?f-b:f-b+1:b>f?0:b===f?h===a?0:1:0}(r);if(l>0)for(f=0;f<l;f++){i+="</"+ni.pop()+">"}return{html:"<li>"+n+"</li>",prefix:o,suffix:i}}},ui=rt("species"),ai=Fn.filter,ci=(oi="filter",Y>=51||!g((function(){var t=[];return(t.constructor={})[ui]=function(){return{foo:1}},1!==t[oi](Boolean).foo})));Qe({target:"Array",proto:!0,forced:!ci},{filter:function(t){return ai(this,t,arguments.length>1?arguments[1]:void 0)}});var fi=Function.prototype,li=fi.apply,si=fi.bind,di=fi.call,vi="object"==typeof Reflect&&Reflect.apply||(si?di.bind(li):function(){return di.apply(li,arguments)}),pi=rt("species"),yi=RegExp.prototype,hi=$r.charAt,gi=function(t,e,r){return e+(r?hi(t,e).length:1)},bi=Math.floor,mi=h("".charAt),wi=h("".replace),xi=h("".slice),Oi=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Si=/\$([$&'`]|\d{1,2})/g,Ei=function(t,e,r,n,o,i){var u=r+t.length,a=n.length,c=Si;return void 0!==o&&(o=N(o),c=Oi),wi(i,c,(function(i,c){var f;switch(mi(c,0)){case"$":return"$";case"&":return t;case"`":return xi(e,0,r);case"'":return xi(e,u);case"<":f=o[xi(c,1,-1)];break;default:var l=+c;if(0===l)return i;if(l>a){var s=bi(l/10);return 0===s?i:s<=a?void 0===n[s-1]?mi(c,1):n[s-1]+mi(c,1):i}f=n[l-1]}return void 0===f?"":f}))},Ti=s.TypeError,ji=function(t,e){var r=t.exec;if(H(r)){var n=vt(r,t,e);return null!==n&&ut(n),n}if("RegExp"===w(t))return vt(Yo,t,e);throw Ti("RegExp#exec called on incompatible receiver")},Ai=rt("replace"),Pi=Math.max,Ii=Math.min,Ri=h([].concat),Li=h([].push),ki=h("".indexOf),Ni=h("".slice),Mi="$0"==="a".replace(/./,"$0"),_i=!!/./[Ai]&&""===/./[Ai]("a","$0");!function(t,e,r,n){var o=rt(t),i=!g((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),u=i&&!g((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[pi]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return e=!0,null},r[o](""),!e}));if(!i||!u||r){var a=h(/./[o]),c=e(o,""[t],(function(t,e,r,n,o){var u=h(t),c=e.exec;return c===Yo||c===yi.exec?i&&!o?{done:!0,value:a(e,r,n)}:{done:!0,value:u(r,e,n)}:{done:!1}}));De(String.prototype,t,c[0]),De(yi,o,c[1])}n&&ye(yi[o],"sham",!0)}("replace",(function(t,e,r){var n=_i?"$":"$0";return[function(t,r){var n=T(this),o=null==t?void 0:xt(t,Ai);return o?vt(o,t,n,r):vt(e,Cr(n),t,r)},function(t,o){var i=ut(this),u=Cr(t);if("string"==typeof o&&-1===ki(o,n)&&-1===ki(o,"$<")){var a=r(e,i,u,o);if(a.done)return a.value}var c=H(o);c||(o=Cr(o));var f=i.global;if(f){var l=i.unicode;i.lastIndex=0}for(var s=[];;){var d=ji(i,u);if(null===d)break;if(Li(s,d),!f)break;""===Cr(d[0])&&(i.lastIndex=gi(u,Dt(i.lastIndex),l))}for(var v,p="",y=0,h=0;h<s.length;h++){for(var g=Cr((d=s[h])[0]),b=Pi(Ii(kt(d.index),u.length),0),m=[],w=1;w<d.length;w++)Li(m,void 0===(v=d[w])?v:String(v));var x=d.groups;if(c){var O=Ri([g],m,b,u);void 0!==x&&Li(O,x);var S=Cr(vi(o,void 0,O))}else S=Ei(g,u,b,m,x,o);b>=y&&(p+=Ni(u,y,b)+S,y=b+g.length)}return p+Ni(u,y)}]}),!!g((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}))||!Mi||_i);var zi=s.TypeError,Di=function(t,e,r,n,o,i,u,a){for(var c,f,l=o,s=0,d=!!u&&cn(u,a);s<n;){if(s in r){if(c=d?d(r[s],s,e):r[s],i>0&&Tn(c))f=Ct(c),l=Di(t,e,c,f,l,i-1)-1;else{if(l>=9007199254740991)throw zi("Exceed the acceptable array length");t[l]=c}l++}s++}return l},Ci=Di;function Fi(t){return t.length?t[0].tagName.toLowerCase():""}return Qe({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=N(this),r=Ct(e),n=zn(e,0);return n.length=Ci(n,e,e,r,0,void 0===t?1:kt(t)),n}}),ie("flat"),Qe({global:!0},{globalThis:s}),n.append&&(i.default.fn.append=n.append),n.attr&&(i.default.fn.attr=n.attr),n.parent&&(i.default.fn.parent=n.parent),{renderElems:[bo],editorPlugin:function(r){var n=r.deleteBackward,o=r.handleTab,i=r.normalizeNode,u=r;return u.deleteBackward=function(o){var i=u.selection;if(null!=i)if(e.Range.isExpanded(i))n(o);else{var a=t.DomEditor.getSelectedNodeByType(u,"list-item");if(null!=a)if(0!==i.focus.offset)n(o);else{var c=a,f=c.level,l=void 0===f?0:f,s=c.ordered,d=void 0!==s&&s;if(l>0){var v=So(r,a,l-1);v&&v.ordered!==d?e.Transforms.setNodes(u,{level:l-1,ordered:!d}):e.Transforms.setNodes(u,{level:l-1})}else e.Transforms.setNodes(u,{type:"paragraph",ordered:void 0,level:void 0})}else n(o)}else n(o)},u.handleTab=function(){var r,n,i,a,c=u.selection;if(null!=c){if(e.Range.isCollapsed(c)){var f=t.DomEditor.getSelectedNodeByType(u,"list-item");if(null==f)return void o();if(0===c.focus.offset){var l=f.level,s=void 0===l?0:l;return void e.Transforms.setNodes(u,{level:s+1})}}if(e.Range.isExpanded(c)){var d=0,v=!1;try{for(var p=xo(To(u)),y=p.next();!y.done;y=p.next()){var h=Oo(y.value,1)[0];"list-item"===t.DomEditor.getNodeType(h)?d++:v=!0}}catch(t){r={error:t}}finally{try{y&&!y.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}if(v||d<=1)return void o();try{for(var g=xo(To(u)),b=g.next();!b.done;b=g.next()){var m=Oo(b.value,2),w=(h=m[0],m[1]),x=h.level;s=void 0===x?0:x;e.Transforms.setNodes(u,{level:s+1},{at:w})}}catch(t){i={error:t}}finally{try{b&&!b.done&&(a=g.return)&&a.call(g)}finally{if(i)throw i.error}}}else o()}else o()},u.normalizeNode=function(r){var n=Oo(r,2),o=n[0],a=n[1],c=t.DomEditor.getNodeType(o);return"bulleted-list"!==c&&"numbered-list"!==c||e.Transforms.unwrapNodes(u,{at:a}),i([o,a])},u},menus:[ei,ri],elemsToHtml:[ii],parseElemsHtml:[{selector:"ul:not([data-w-e-type]),ol:not([data-w-e-type])",parseElemHtml:function(t,e,r){return e.flat(1/0)}},{selector:"li:not([data-w-e-type])",parseElemHtml:function(t,r,n){var o=i.default(t);0===(r=r.filter((function(t){return!!e.Text.isText(t)||!!n.isInline(t)}))).length&&(r=[{text:o.text().replace(/\s+/gm," ")}]);var u=function(t){return"ol"===Fi(t.parent())}(o),a=function(t){for(var e=0,r=t.parent(),n=Fi(r);"ul"===n||"ol"===n;)n=Fi(r=r.parent()),e++;return e-1}(o);return{type:"list-item",ordered:u,level:a,children:r}}}]}}));
16
- //# sourceMappingURL=index.js.map
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@wangeditor-next/core'), require('slate'), require('snabbdom'), require('dom7')) :
3
+ typeof define === 'function' && define.amd ? define(['@wangeditor-next/core', 'slate', 'snabbdom', 'dom7'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.WangEditorListModule = factory(global.core, global.slate, global.snabbdom, global.$));
5
+ })(this, (function (core, slate, snabbdom, $) { 'use strict';
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
10
+
11
+ /**
12
+ * @description i18n en
13
+ * @author wangfupeng
14
+ */
15
+ var enResources = {
16
+ listModule: {
17
+ unOrderedList: 'Unordered list',
18
+ orderedList: 'Ordered list',
19
+ },
20
+ };
21
+
22
+ /**
23
+ * @description i18n zh-CN
24
+ * @author wangfupeng
25
+ */
26
+ var zhResources = {
27
+ listModule: {
28
+ unOrderedList: '无序列表',
29
+ orderedList: '有序列表',
30
+ },
31
+ };
32
+
33
+ /**
34
+ * @description i18n entry
35
+ * @author wangfupeng
36
+ */
37
+ core.i18nAddResources('en', enResources);
38
+ core.i18nAddResources('zh-CN', zhResources);
39
+
40
+ /**
41
+ * @description maps
42
+ * @author wangfupeng
43
+ */
44
+ var ELEM_TO_EDITOR = new WeakMap();
45
+
46
+ /**
47
+ * @description render list elem
48
+ * @author wangfupeng
49
+ */
50
+ /**
51
+ * 无序列表:根据 level 获取的前置符号
52
+ * @param level 层级
53
+ */
54
+ function genPreSymbol(level) {
55
+ if (level === void 0) { level = 0; }
56
+ var s = '';
57
+ switch (level) {
58
+ case 0:
59
+ s = '•'; // 第一层级
60
+ break;
61
+ case 1:
62
+ s = '◦'; // 第一层级
63
+ break;
64
+ case 2:
65
+ s = '▪'; // 第三层级
66
+ break;
67
+ default:
68
+ s = '▪'; // 其他层级
69
+ }
70
+ return s;
71
+ }
72
+ /**
73
+ * 有序列表:获取前缀 number
74
+ * @param editor editor
75
+ * @param elem listItem elem
76
+ */
77
+ function getOrderedItemNumber(editor, elem) {
78
+ var _a = elem, type = _a.type, _b = _a.level, level = _b === void 0 ? 0 : _b, _c = _a.ordered, ordered = _c === void 0 ? false : _c;
79
+ if (!ordered) {
80
+ return -1; // 不是有序列表
81
+ }
82
+ var num = 1; // 默认值 1
83
+ var curElem = elem;
84
+ var curPath = core.DomEditor.findPath(editor, curElem);
85
+ // 第一个元素,直接返回 1
86
+ if (curPath[0] === 0)
87
+ return 1;
88
+ while (curPath[0] > 0) {
89
+ var prevPath = slate.Path.previous(curPath);
90
+ var prevEntry = slate.Editor.node(editor, prevPath);
91
+ if (prevEntry == null)
92
+ break;
93
+ var prevElem = prevEntry[0]; // 上一个节点
94
+ var _d = prevElem.level, prevLevel = _d === void 0 ? 0 : _d, prevType = prevElem.type, prevOrdered = prevElem.ordered;
95
+ // type 不一致,退出循环,不再累加 num
96
+ if (prevType !== type)
97
+ break;
98
+ // prevLevel 更小,退出循环,不再累加 num
99
+ if (prevLevel < level)
100
+ break;
101
+ if (prevLevel === level) {
102
+ // level 一样,如果 ordered 不一样,则退出循环,不再累加 num
103
+ if (prevOrdered !== ordered)
104
+ break;
105
+ // level 一样,order 一样,则累加 num
106
+ else
107
+ num++;
108
+ }
109
+ // prevLevel 更大,不累加 num ,继续向前
110
+ curElem = prevElem;
111
+ curPath = prevPath;
112
+ }
113
+ return num;
114
+ }
115
+ /**
116
+ * 获取第一个 text-node 的颜色
117
+ * @param elem elem
118
+ */
119
+ function getListItemColor(elem) {
120
+ var children = elem.children || [];
121
+ var length = children.length;
122
+ if (length === 0)
123
+ return '';
124
+ var firstTextNode;
125
+ for (var i = 0; i < length; i++) {
126
+ if (firstTextNode)
127
+ break; // 已找到第一个 text-node ,则退出
128
+ var child = children[i];
129
+ if (slate.Text.isText(child))
130
+ firstTextNode = child;
131
+ }
132
+ if (firstTextNode == null)
133
+ return '';
134
+ return firstTextNode['color'] || '';
135
+ }
136
+ function renderListElem(elemNode, children, editor) {
137
+ ELEM_TO_EDITOR.set(elemNode, editor); // 记录 elem 和 editor 关系,elem-to-html 时要用
138
+ var _a = elemNode, _b = _a.level, level = _b === void 0 ? 0 : _b, _c = _a.ordered, ordered = _c === void 0 ? false : _c;
139
+ // 根据 level 增加 margin-left
140
+ var listStyle = { margin: "5px 0 5px " + level * 20 + "px" };
141
+ // list-item 前缀
142
+ var prefix = '';
143
+ if (ordered) {
144
+ // 有序列表:获取前缀 number
145
+ var orderedNumber = getOrderedItemNumber(editor, elemNode);
146
+ prefix = orderedNumber + ".";
147
+ }
148
+ else {
149
+ // 无序列表:根据层级,使用不同的前缀符号
150
+ prefix = genPreSymbol(level);
151
+ }
152
+ // 获取前缀颜色
153
+ var prefixColor = getListItemColor(elemNode);
154
+ var vnode = (snabbdom.jsx("div", { style: listStyle },
155
+ snabbdom.jsx("span", { contentEditable: false, style: { marginRight: '0.5em', color: prefixColor }, "data-w-e-reserve": true }, prefix),
156
+ snabbdom.jsx("span", null, children)));
157
+ return vnode;
158
+ }
159
+ var renderListItemConf = {
160
+ type: 'list-item',
161
+ renderElem: renderListElem,
162
+ };
163
+
164
+ /******************************************************************************
165
+ Copyright (c) Microsoft Corporation.
166
+
167
+ Permission to use, copy, modify, and/or distribute this software for any
168
+ purpose with or without fee is hereby granted.
169
+
170
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
171
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
172
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
173
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
174
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
175
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
176
+ PERFORMANCE OF THIS SOFTWARE.
177
+ ***************************************************************************** */
178
+ /* global Reflect, Promise, SuppressedError, Symbol */
179
+
180
+ var extendStatics = function(d, b) {
181
+ extendStatics = Object.setPrototypeOf ||
182
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
183
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
184
+ return extendStatics(d, b);
185
+ };
186
+
187
+ function __extends(d, b) {
188
+ if (typeof b !== "function" && b !== null)
189
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
190
+ extendStatics(d, b);
191
+ function __() { this.constructor = d; }
192
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
193
+ }
194
+
195
+ function __rest(s, e) {
196
+ var t = {};
197
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
198
+ t[p] = s[p];
199
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
200
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
201
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
202
+ t[p[i]] = s[p[i]];
203
+ }
204
+ return t;
205
+ }
206
+
207
+ function __values(o) {
208
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
209
+ if (m) return m.call(o);
210
+ if (o && typeof o.length === "number") return {
211
+ next: function () {
212
+ if (o && i >= o.length) o = void 0;
213
+ return { value: o && o[i++], done: !o };
214
+ }
215
+ };
216
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
217
+ }
218
+
219
+ function __read(o, n) {
220
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
221
+ if (!m) return o;
222
+ var i = m.call(o), r, ar = [], e;
223
+ try {
224
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
225
+ }
226
+ catch (error) { e = { error: error }; }
227
+ finally {
228
+ try {
229
+ if (r && !r.done && (m = i["return"])) m.call(i);
230
+ }
231
+ finally { if (e) throw e.error; }
232
+ }
233
+ return ar;
234
+ }
235
+
236
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
237
+ var e = new Error(message);
238
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
239
+ };
240
+
241
+ /**
242
+ * @description table menu helpers
243
+ * @author wangfupeng
244
+ */
245
+ /**
246
+ * 获取上一个同一 level 的 list item
247
+ * @param editor 编辑器实例
248
+ * @param elem elem
249
+ */
250
+ function getBrotherListNodeByLevel(editor, elem, level) {
251
+ var type = elem.type, otherProps = __rest(elem
252
+ // level 可能是 退格前的值,所以这里需要判断
253
+ , ["type"]);
254
+ // level 可能是 退格前的值,所以这里需要判断
255
+ var elemLevel = level !== undefined ? level : otherProps.level || 0;
256
+ var path = core.DomEditor.findPath(editor, elem);
257
+ var brotherPath = path;
258
+ // eslint-disable-next-line no-constant-condition
259
+ while (true) {
260
+ if (brotherPath.length === 0 || path[path.length - 1] === 0) {
261
+ return null; // 已经是最后一个节点或没有找到有效的前一个 list 节点
262
+ }
263
+ brotherPath = slate.Path.previous(brotherPath);
264
+ var brotherEntry = slate.Editor.node(editor, brotherPath);
265
+ if (!brotherEntry) {
266
+ return null; // 没有找到有效的前一个 list 节点
267
+ }
268
+ var _a = __read(brotherEntry, 1), brotherElem = _a[0];
269
+ var _b = brotherElem.level, brotherLevel = _b === void 0 ? 0 : _b;
270
+ var brotherType = core.DomEditor.getNodeType(brotherElem);
271
+ // 验证兄弟节点是否是期望的类型和层级
272
+ if (brotherType !== type) {
273
+ return null;
274
+ }
275
+ if (brotherLevel === elemLevel) {
276
+ return brotherElem;
277
+ }
278
+ }
279
+ }
280
+ function hasSameOrderWithBrother(editor, elem, level) {
281
+ var brotherElem = getBrotherListNodeByLevel(editor, elem, level);
282
+ return brotherElem ? brotherElem.ordered === elem.ordered : false;
283
+ }
284
+
285
+ /**
286
+ * @description editor 插件,重写 editor API
287
+ * @author wangfupeng
288
+ */
289
+ /**
290
+ * 获取选中的 top elems
291
+ * @param editor editor
292
+ */
293
+ function getTopSelectedElemsBySelection(editor) {
294
+ return slate.Editor.nodes(editor, {
295
+ at: editor.selection || undefined,
296
+ match: function (n) { return core.DomEditor.findPath(editor, n).length === 1; }, // 只匹配顶级元素
297
+ });
298
+ }
299
+ function withList(editor) {
300
+ var deleteBackward = editor.deleteBackward, handleTab = editor.handleTab, normalizeNode = editor.normalizeNode, insertBreak = editor.insertBreak;
301
+ var newEditor = editor;
302
+ // 重写 insertBreak - 空 list 点击回车时删除该空 list
303
+ newEditor.insertBreak = function () {
304
+ var _a = __read(slate.Editor.nodes(editor, {
305
+ match: function (n) { return core.DomEditor.checkNodeType(n, 'list-item'); },
306
+ universal: true,
307
+ }), 1), nodeEntry = _a[0];
308
+ if (!nodeEntry)
309
+ return insertBreak();
310
+ var listElem = nodeEntry[0];
311
+ if (listElem.children[0].text === '') {
312
+ slate.Transforms.setNodes(newEditor, {
313
+ type: 'paragraph',
314
+ ordered: undefined,
315
+ level: undefined,
316
+ });
317
+ return;
318
+ }
319
+ return insertBreak();
320
+ };
321
+ // 重写 deleteBackward - 降低 level 或者转换为 p 元素
322
+ newEditor.deleteBackward = function (unit) {
323
+ var selection = newEditor.selection;
324
+ if (selection == null) {
325
+ deleteBackward(unit);
326
+ return;
327
+ }
328
+ if (slate.Range.isExpanded(selection)) {
329
+ deleteBackward(unit);
330
+ return;
331
+ }
332
+ var listItemElem = core.DomEditor.getSelectedNodeByType(newEditor, 'list-item');
333
+ if (listItemElem == null) {
334
+ // 未匹配到 list-item
335
+ deleteBackward(unit);
336
+ return;
337
+ }
338
+ if (selection.focus.offset === 0) {
339
+ // 选中了当前 list-item 文本的开头,此时按删除键,应该降低 level 或转换为 p 元素
340
+ var _a = listItemElem, _b = _a.level, level = _b === void 0 ? 0 : _b, _c = _a.ordered, ordered = _c === void 0 ? false : _c;
341
+ if (level > 0) {
342
+ // 如果有兄弟节点,则判断 ordered 是否一致,不一致需要切换 ordered
343
+ var brotherElem = getBrotherListNodeByLevel(editor, listItemElem, level - 1);
344
+ if (brotherElem && brotherElem.ordered !== ordered) {
345
+ slate.Transforms.setNodes(newEditor, { level: level - 1, ordered: !ordered });
346
+ }
347
+ else
348
+ slate.Transforms.setNodes(newEditor, { level: level - 1 });
349
+ }
350
+ else {
351
+ // 转换为 p 元素
352
+ slate.Transforms.setNodes(newEditor, {
353
+ type: 'paragraph',
354
+ ordered: undefined,
355
+ level: undefined,
356
+ });
357
+ }
358
+ return;
359
+ }
360
+ // 其他情况
361
+ deleteBackward(unit);
362
+ };
363
+ // 重写 tab - 当选中 list-item 文本开头时,增加 level
364
+ newEditor.handleTab = function () {
365
+ var e_1, _a, e_2, _b;
366
+ var selection = newEditor.selection;
367
+ if (selection == null) {
368
+ handleTab();
369
+ return;
370
+ }
371
+ // 选区是合并的,判断单个 list-item 即可
372
+ if (slate.Range.isCollapsed(selection)) {
373
+ var listItemElem = core.DomEditor.getSelectedNodeByType(newEditor, 'list-item');
374
+ if (listItemElem == null) {
375
+ // 未匹配到 list-item
376
+ handleTab();
377
+ return;
378
+ }
379
+ if (selection.focus.offset === 0) {
380
+ // 选中了当前 list-item 文本的开头,此时按 tab 应该增加 level
381
+ var _c = listItemElem.level, level = _c === void 0 ? 0 : _c;
382
+ slate.Transforms.setNodes(newEditor, { level: level + 1 });
383
+ return;
384
+ }
385
+ }
386
+ // 选区是展开的,要判断多个 list-item
387
+ if (slate.Range.isExpanded(selection)) {
388
+ var listItemNum = 0; // 选中的 list-item 有几个
389
+ var hasOtherElem = false; // 是否有其他元素
390
+ try {
391
+ for (var _d = __values(getTopSelectedElemsBySelection(newEditor)), _e = _d.next(); !_e.done; _e = _d.next()) {
392
+ var entry = _e.value;
393
+ var _f = __read(entry, 1), elem = _f[0];
394
+ var type = core.DomEditor.getNodeType(elem);
395
+ if (type === 'list-item')
396
+ listItemNum++;
397
+ else
398
+ hasOtherElem = true;
399
+ }
400
+ }
401
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
402
+ finally {
403
+ try {
404
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
405
+ }
406
+ finally { if (e_1) throw e_1.error; }
407
+ }
408
+ if (hasOtherElem || listItemNum <= 1) {
409
+ // 选中了其他元素,或者只选中一个 list-item ,则执行默认行为
410
+ handleTab();
411
+ return;
412
+ }
413
+ try {
414
+ // 未选中其他元素,且选中多个 list-item ,则增加 level
415
+ for (var _g = __values(getTopSelectedElemsBySelection(newEditor)), _h = _g.next(); !_h.done; _h = _g.next()) {
416
+ var entry = _h.value;
417
+ var _j = __read(entry, 2), elem = _j[0], path = _j[1];
418
+ var _k = elem.level, level = _k === void 0 ? 0 : _k;
419
+ slate.Transforms.setNodes(newEditor, { level: level + 1 }, { at: path });
420
+ }
421
+ }
422
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
423
+ finally {
424
+ try {
425
+ if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
426
+ }
427
+ finally { if (e_2) throw e_2.error; }
428
+ }
429
+ return;
430
+ }
431
+ // 其他情况
432
+ handleTab();
433
+ };
434
+ // 兼容之前的 JSON 格式 `numbered-list` 和 `bulleted-list` (之前的 list 没有嵌套功能)
435
+ newEditor.normalizeNode = function (_a) {
436
+ var _b = __read(_a, 2), node = _b[0], path = _b[1];
437
+ var type = core.DomEditor.getNodeType(node);
438
+ if (type === 'bulleted-list' || type === 'numbered-list') {
439
+ slate.Transforms.unwrapNodes(newEditor, { at: path });
440
+ }
441
+ // 执行默认行为
442
+ return normalizeNode([node, path]);
443
+ };
444
+ return newEditor;
445
+ }
446
+
447
+ /**
448
+ * @description base menu
449
+ * @author wangfupeng
450
+ */
451
+ var BaseMenu = /** @class */ (function () {
452
+ function BaseMenu() {
453
+ this.type = 'list-item';
454
+ this.tag = 'button';
455
+ }
456
+ BaseMenu.prototype.getListNode = function (editor) {
457
+ var type = this.type;
458
+ return core.DomEditor.getSelectedNodeByType(editor, type);
459
+ };
460
+ BaseMenu.prototype.getValue = function (editor) {
461
+ return '';
462
+ };
463
+ BaseMenu.prototype.isActive = function (editor) {
464
+ var node = this.getListNode(editor);
465
+ if (node == null)
466
+ return false;
467
+ var _a = node.ordered, ordered = _a === void 0 ? false : _a;
468
+ return ordered === this.ordered;
469
+ };
470
+ BaseMenu.prototype.isDisabled = function (editor) {
471
+ if (editor.selection == null)
472
+ return true;
473
+ var selectedElems = core.DomEditor.getSelectedElems(editor);
474
+ var notMatch = selectedElems.some(function (elem) {
475
+ if (slate.Editor.isVoid(editor, elem) && slate.Editor.isBlock(editor, elem))
476
+ return true;
477
+ var type = elem.type;
478
+ if (['pre', 'code', 'table'].includes(type))
479
+ return true;
480
+ });
481
+ if (notMatch)
482
+ return true;
483
+ return false;
484
+ };
485
+ BaseMenu.prototype.exec = function (editor, value) {
486
+ var active = this.isActive(editor);
487
+ if (active) {
488
+ // 如果当前 active ,则转换为 p 标签
489
+ slate.Transforms.setNodes(editor, {
490
+ type: 'paragraph',
491
+ ordered: undefined,
492
+ level: undefined,
493
+ });
494
+ }
495
+ else {
496
+ // 否则,转换为 list-item
497
+ slate.Transforms.setNodes(editor, {
498
+ type: 'list-item',
499
+ ordered: this.ordered,
500
+ indent: undefined,
501
+ });
502
+ }
503
+ };
504
+ return BaseMenu;
505
+ }());
506
+
507
+ /**
508
+ * @description icon svg
509
+ * @author wangfupeng
510
+ */
511
+ /**
512
+ * 【注意】svg 字符串的长度 ,否则会导致代码体积过大
513
+ * 尽量选择 https://www.iconfont.cn/collections/detail?spm=a313x.7781069.0.da5a778a4&cid=20293
514
+ * 找不到再从 iconfont.com 搜索
515
+ */
516
+ // 无序列表
517
+ var BULLETED_LIST_SVG = '<svg viewBox="0 0 1024 1024"><path d="M384 64h640v128H384V64z m0 384h640v128H384v-128z m0 384h640v128H384v-128zM0 128a128 128 0 1 1 256 0 128 128 0 0 1-256 0z m0 384a128 128 0 1 1 256 0 128 128 0 0 1-256 0z m0 384a128 128 0 1 1 256 0 128 128 0 0 1-256 0z"></path></svg>';
518
+ // 有序列表
519
+ var NUMBERED_LIST_SVG = '<svg viewBox="0 0 1024 1024"><path d="M384 832h640v128H384z m0-384h640v128H384z m0-384h640v128H384zM192 0v256H128V64H64V0zM128 526.016v50.016h128v64H64v-146.016l128-60V384H64v-64h192v146.016zM256 704v320H64v-64h128v-64H64v-64h128v-64H64v-64z"></path></svg>';
520
+
521
+ /**
522
+ * @description bulleted list menu
523
+ * @author wangfupeng
524
+ */
525
+ var BulletedListMenu = /** @class */ (function (_super) {
526
+ __extends(BulletedListMenu, _super);
527
+ function BulletedListMenu() {
528
+ var _this = _super !== null && _super.apply(this, arguments) || this;
529
+ _this.ordered = false;
530
+ _this.title = core.t('listModule.unOrderedList');
531
+ _this.iconSvg = BULLETED_LIST_SVG;
532
+ return _this;
533
+ }
534
+ return BulletedListMenu;
535
+ }(BaseMenu));
536
+
537
+ /**
538
+ * @description numbered list menu
539
+ * @author wangfupeng
540
+ */
541
+ var NumberedListMenu = /** @class */ (function (_super) {
542
+ __extends(NumberedListMenu, _super);
543
+ function NumberedListMenu() {
544
+ var _this = _super !== null && _super.apply(this, arguments) || this;
545
+ _this.ordered = true;
546
+ _this.title = core.t('listModule.orderedList');
547
+ _this.iconSvg = NUMBERED_LIST_SVG;
548
+ return _this;
549
+ }
550
+ return NumberedListMenu;
551
+ }(BaseMenu));
552
+
553
+ /**
554
+ * @description menu entry
555
+ * @author wangfupeng
556
+ */
557
+ var bulletedListMenuConf = {
558
+ key: 'bulletedList',
559
+ factory: function () {
560
+ return new BulletedListMenu();
561
+ },
562
+ };
563
+ var numberedListMenuConf = {
564
+ key: 'numberedList',
565
+ factory: function () {
566
+ return new NumberedListMenu();
567
+ },
568
+ };
569
+
570
+ /**
571
+ * @description to html
572
+ * @author wangfupeng
573
+ */
574
+ /**
575
+ * 当前 list-item 前面需要拼接几个 <ol> 或 <ul>
576
+ * @param elem elem
577
+ */
578
+ function getStartContainerTagNumber(elem) {
579
+ var editor = ELEM_TO_EDITOR.get(elem);
580
+ if (editor == null)
581
+ return 0;
582
+ var _a = elem, type = _a.type, _b = _a.ordered, ordered = _b === void 0 ? false : _b, _c = _a.level, level = _c === void 0 ? 0 : _c;
583
+ var path = core.DomEditor.findPath(editor, elem);
584
+ if (path[0] === 0) {
585
+ // list-item 是第一个元素,再往前没有了。需要拼接 <ol> 或 <ul>
586
+ return level + 1;
587
+ }
588
+ // 获取上一个 elem
589
+ var prevPath = slate.Path.previous(path);
590
+ var prevEntry = slate.Editor.node(editor, prevPath);
591
+ if (!prevEntry)
592
+ return 0;
593
+ var _d = __read(prevEntry, 1), prevElem = _d[0];
594
+ var prevType = core.DomEditor.getNodeType(prevElem);
595
+ if (prevType !== type) {
596
+ // 上一个 elem 不是 list-item ,需要拼接 <ol> 或 <ul>
597
+ return level + 1;
598
+ }
599
+ // 上一个 elem 是 list-item
600
+ var _e = prevElem, _f = _e.ordered, prevOrdered = _f === void 0 ? false : _f, _g = _e.level, prevLevel = _g === void 0 ? 0 : _g;
601
+ if (prevLevel < level) {
602
+ // 上一个 level 小于当前 level ,需要拼接 <ol> 或 <ul>
603
+ return level - prevLevel;
604
+ }
605
+ if (prevLevel > level) {
606
+ // 此处需要看上一个同级兄弟节点 ordered 是否一致,如果一致则不需要拼接,否则需要拼接
607
+ return hasSameOrderWithBrother(editor, elem) ? 0 : 1;
608
+ }
609
+ if (prevLevel === level) {
610
+ // 上一个 level 等于当前 level
611
+ if (prevOrdered === ordered) {
612
+ // ordered 一致,则不需要拼接 <ol> 或 <ul>
613
+ return 0;
614
+ }
615
+ else {
616
+ /// ordered 不一致,则需要拼接 <ol> 或 <ul>
617
+ return 1;
618
+ }
619
+ }
620
+ // 其他情况
621
+ return 0;
622
+ }
623
+ /**
624
+ * 当前 list-item 后面面需要拼接几个 </ol> 或 </ul>
625
+ * @param elem elem
626
+ */
627
+ function getEndContainerTagNumber(elem) {
628
+ var editor = ELEM_TO_EDITOR.get(elem);
629
+ if (editor == null)
630
+ return 0;
631
+ var _a = elem, type = _a.type, _b = _a.ordered, ordered = _b === void 0 ? false : _b, _c = _a.level, level = _c === void 0 ? 0 : _c;
632
+ var path = core.DomEditor.findPath(editor, elem);
633
+ if (path[0] === editor.children.length - 1) {
634
+ // list-item 是最后一个元素,再往后没有了。需要拼接 </ol> 或 </ul>
635
+ return level + 1;
636
+ }
637
+ // 获取下一个 elem
638
+ var nextPath = slate.Path.next(path);
639
+ var nextEntry = slate.Editor.node(editor, nextPath);
640
+ if (!nextEntry)
641
+ return 0;
642
+ var _d = __read(nextEntry, 1), nextElem = _d[0];
643
+ var nextType = core.DomEditor.getNodeType(nextElem);
644
+ if (nextType !== type) {
645
+ // 下一个 elem 不是 list-item ,需要拼接 <ol> 或 <ul>
646
+ return level + 1;
647
+ }
648
+ // 下一个 elem 是 list-item
649
+ var _e = nextElem, _f = _e.ordered, nextOrdered = _f === void 0 ? false : _f, _g = _e.level, nextLevel = _g === void 0 ? 0 : _g;
650
+ if (nextLevel < level) {
651
+ // 下一个 level 小于当前 level,此处需要看上一个同级兄弟节点 ordered 是否一致,如果一致则不需要拼接,否则需要拼接
652
+ if (hasSameOrderWithBrother(editor, nextElem)) {
653
+ // ordered 一致,则不需要额外拼接 </ol> 或 </ul>
654
+ return level - nextLevel;
655
+ }
656
+ else {
657
+ // ordered 不一致,则需要额外拼接 </ol> 或 </ul>
658
+ return level - nextLevel + 1;
659
+ }
660
+ }
661
+ if (nextLevel > level) {
662
+ // 下一个 level 大于当前 level ,不需要拼接 </ol> 或 </ul>
663
+ return 0;
664
+ }
665
+ if (nextLevel === level) {
666
+ // 下一个 level 等于当前 level
667
+ if (nextOrdered === ordered) {
668
+ // ordered 一致,则不需要拼接 </ol> 或 </ul>
669
+ return 0;
670
+ }
671
+ else {
672
+ /// ordered 不一致,则需要拼接 </ol> 或 </ul>
673
+ return 1;
674
+ }
675
+ }
676
+ // 其他情况
677
+ return 0;
678
+ }
679
+ // ol ul 栈
680
+ var CONTAINER_TAG_STACK = [];
681
+ function elemToHtml(elem, childrenHtml) {
682
+ var startContainerStr = '';
683
+ var endContainerStr = '';
684
+ var _a = elem.ordered, ordered = _a === void 0 ? false : _a;
685
+ var containerTag = ordered ? 'ol' : 'ul';
686
+ // 前面需要拼接几个 <ol> 或 <ul>
687
+ var startContainerTagNumber = getStartContainerTagNumber(elem);
688
+ if (startContainerTagNumber > 0) {
689
+ for (var i = 0; i < startContainerTagNumber; i++) {
690
+ startContainerStr += "<" + containerTag + ">"; // 记录 start container tag ,如 `<ul>`
691
+ CONTAINER_TAG_STACK.push(containerTag); // tag 压栈
692
+ }
693
+ }
694
+ // 后面需要拼接几个 </ol> 或 </ul>
695
+ var endContainerTagNumber = getEndContainerTagNumber(elem);
696
+ if (endContainerTagNumber > 0) {
697
+ for (var i = 0; i < endContainerTagNumber; i++) {
698
+ var tag = CONTAINER_TAG_STACK.pop(); // tag 从栈中获取
699
+ endContainerStr += "</" + tag + ">"; // 记录 end container tag ,如 `</ul>`
700
+ }
701
+ }
702
+ return {
703
+ html: "<li>" + childrenHtml + "</li>",
704
+ prefix: startContainerStr,
705
+ suffix: endContainerStr,
706
+ };
707
+ }
708
+ var listItemToHtmlConf = {
709
+ type: 'list-item',
710
+ elemToHtml: elemToHtml,
711
+ };
712
+
713
+ /**
714
+ * @description DOM 操作
715
+ * @author wangfupeng
716
+ */
717
+ if ($.append)
718
+ $__default["default"].fn.append = $.append;
719
+ // if (on) $.fn.on = on
720
+ // if (focus) $.fn.focus = focus
721
+ if ($.attr)
722
+ $__default["default"].fn.attr = $.attr;
723
+ // if (val) $.fn.val = val
724
+ // if (html) $.fn.html = html
725
+ if ($.parent)
726
+ $__default["default"].fn.parent = $.parent;
727
+ /**
728
+ * 获取 tagName lower-case
729
+ * @param $elem $elem
730
+ */
731
+ function getTagName($elem) {
732
+ if ($elem.length)
733
+ return $elem[0].tagName.toLowerCase();
734
+ return '';
735
+ }
736
+
737
+ /**
738
+ * @description parse elem html
739
+ * @author wangfupeng
740
+ */
741
+ /**
742
+ * 获取 ordered
743
+ * @param $elem list $elem
744
+ */
745
+ function getOrdered($elem) {
746
+ var $list = $elem.parent();
747
+ var listTagName = getTagName($list);
748
+ if (listTagName === 'ol')
749
+ return true;
750
+ return false;
751
+ }
752
+ /**
753
+ * 获取 level
754
+ * @param $elem list $elem
755
+ */
756
+ function getLevel($elem) {
757
+ var level = 0;
758
+ var $cur = $elem.parent();
759
+ var tagName = getTagName($cur);
760
+ while (tagName === 'ul' || tagName === 'ol') {
761
+ $cur = $cur.parent();
762
+ tagName = getTagName($cur);
763
+ level++;
764
+ }
765
+ return level - 1;
766
+ }
767
+ function parseItemHtml(elem, children, editor) {
768
+ var $elem = $__default["default"](elem);
769
+ children = children.filter(function (child) {
770
+ if (slate.Text.isText(child))
771
+ return true;
772
+ if (editor.isInline(child))
773
+ return true;
774
+ return false;
775
+ });
776
+ // 无 children ,则用纯文本
777
+ if (children.length === 0) {
778
+ children = [{ text: $elem.text().replace(/\s+/gm, ' ') }];
779
+ }
780
+ var ordered = getOrdered($elem);
781
+ var level = getLevel($elem);
782
+ return {
783
+ type: 'list-item',
784
+ ordered: ordered,
785
+ level: level,
786
+ // @ts-ignore
787
+ children: children,
788
+ };
789
+ }
790
+ var parseItemHtmlConf = {
791
+ selector: 'li:not([data-w-e-type])',
792
+ parseElemHtml: parseItemHtml,
793
+ };
794
+ function parseListHtml(elem, children, editor) {
795
+ // @ts-ignore flatten 因为可能有 ul/ol 嵌套,重要!!!
796
+ return children.flat(Infinity);
797
+ }
798
+ var parseListHtmlConf = {
799
+ selector: 'ul:not([data-w-e-type]),ol:not([data-w-e-type])',
800
+ parseElemHtml: parseListHtml,
801
+ };
802
+
803
+ /**
804
+ * @description list module entry
805
+ * @author wangfupeng
806
+ */
807
+ var list = {
808
+ renderElems: [renderListItemConf],
809
+ editorPlugin: withList,
810
+ menus: [bulletedListMenuConf, numberedListMenuConf],
811
+ elemsToHtml: [listItemToHtmlConf],
812
+ parseElemsHtml: [parseListHtmlConf, parseItemHtmlConf],
813
+ };
814
+
815
+ /**
816
+ * @description list module
817
+ * @author wangfupeng
818
+ */
819
+
820
+ return list;
821
+
822
+ }));