compelem 0.3.3-b1 → 0.3.4-b1

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.
@@ -1 +1,3 @@
1
- export declare const show: (isVisible: boolean) => import("../directive/index").DirectiveWrapper;
1
+ type Cbk = (node: Element, isVisible: boolean) => void;
2
+ export declare const show: (isVisible: boolean, cbk?: Cbk | undefined) => import("../directive/index").DirectiveWrapper;
3
+ export {};
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * compelem v0.3.3-b1.1739453352
2
+ * compelem v0.3.4-b1.1739713332
3
3
  * A modern, reactive, fast, lightweight and flexible lib for building web components
4
4
  * @holyhigh2
5
5
  * https://github.com/holyhigh2/compelem
6
6
  */
7
- import{toPath as t,some as e,isString as s,fval as r,isUndefined as n,isBlank as i,get as o,isObject as a,isDefined as l,isEmpty as c,has as d,concat as u,defaults as h,merge as p,cloneDeep as f,each as g,kebabCase as m,toArray as _,last as b,startsWith as E,isFunction as v,isArray as C,initial as y,join as S,split as N,set as T,camelCase as P,isEqual as x,replace as A,isPlainObject as w,flatMap as M,test as O,size as k,assign as R,first as L,debounce as D,closest as V,once as H,bind as I,isNil as $,trim as W,isBoolean as j,isNull as B,omit as U,groupBy as F,reject as z,filter as K,slice as Q,compact as X,remove as G,includes as q,find as Y,throttle as Z,map as J,replaceAll as tt,snakeCase as et,toString as st,reduce as rt,isMatch as nt,clone as it,findIndex as ot,call as at}from"myfx";const lt=new WeakMap,ct=/\s+\.?key\s*=/;var dt,ut,ht;function pt(t){console.error("[CompElem]",t)}function ft(t,e){console.error(`[CompElem <${t}>]`,e)}function gt(e){return t(e).join("-")}function mt(t){return Object.getPrototypeOf(t)}function _t(t){let e=t;return s(t)&&/(?:^true$)|(?:^false$)/.test(e)?e=r(e):(n(e)||i(e))&&(e=!0),e}!function(t){t[t.CSS=1]="CSS",t[t.COMPUTED=2]="COMPUTED"}(dt||(dt={})),function(t){t.PROPS="__deco_props",t.STATES="__deco_states",t.COMPUTED="__deco_computed",t.WATCH="__deco_watch",t.EVENTS="__deco_events"}(ut||(ut={})),function(t){t.CLASS="class",t.FIELD="field",t.METHOD="method"}(ht||(ht={}));class bt{static get priority(){return 0}}const Et="getKey",vt="__decorators",Ct=new WeakMap;class yt{args;metadata;decoratorClass;instanceMap;key;priority=0;constructor(t,e,s){this.args=t,this.metadata=e,this.decoratorClass=s,this.priority=o(s,"priority",0),this.instanceMap=new WeakMap}create(t){let e,s=new this.decoratorClass(...this.args),r=s.targets,i=this.metadata[2];a(i)&&l(o(i,"configurable"))?e=ht.METHOD:n(this.metadata[2])&&(e=ht.FIELD),!c(r)&&e&&r.includes(e)?(s.created(t,...this.metadata),this.instanceMap.set(t,s)):pt(`Decorator '${this.decoratorClass.name}' is out of targets, expect '${r.join(",")}' bug got '${e}'`)}beforeMount(t,e){this.instanceMap.get(t).beforeMount(t,e,...this.metadata)}mounted(t,e){this.instanceMap.get(t).mounted(t,e,...this.metadata)}updated(t,e){this.instanceMap.get(t).updated(t,e)}}const St=new WeakMap;function Nt(t){let e=(...e)=>(...s)=>{let r=s[0].constructor,n=o(r,vt);if(!d(r,vt)){let t=o(Object.getPrototypeOf(r),vt);n=t?u(t):[],Reflect.defineProperty(r,vt,{configurable:!1,enumerable:!1,value:n})}let i,a={},l=o(t,Et);if(l){let s=St.get(t);if(s||(s=new WeakMap,St.set(t,s)),a=s.get(r),a||(a={},s.set(r,a)),i=l(...e),a[i])return a[i]}let c=new yt(e,s,t);return a[i]=c,n?.push(c),c};return Ct.set(e,!0),e}const Tt=new WeakMap;function Pt(t){if(1===arguments.length)return(e,s,r)=>{t.required=t.required||!1,t.attribute=!1!==t.attribute,xt(e,s,t,r)};let e=arguments[0],s=arguments[1],r=arguments[2];t={type:void 0,required:!1,attribute:!0},r&&"function"==typeof r.type&&(t=h(r,t),r=void 0),xt(e,s,t,r)}function xt(t,e,s,r){let n;if(/[a-z]/.test(e[0])||pt(`Prop '${e}' must be in CamelCase`),!d(t.constructor,ut.PROPS)){const e={};let s=t.constructor;for(;(s=mt(s))!==Ut;)p(e,s[ut.PROPS]?f(s[ut.PROPS]):{});Reflect.defineProperty(t.constructor,ut.PROPS,{configurable:!1,enumerable:!1,value:e}),n=new Set,g(e,((t,e)=>{if(t.attribute){let t=m(e);n?.add(t)}})),Tt.set(t.constructor,n)}if(r&&(r.get&&(s.getter=r.get),r.set&&(s.setter=r.set)),s.attribute){n||(n=Tt.get(t.constructor));let s=m(e);n?.add(s)}d(t.constructor,"observedAttributes")||(t.constructor.observedAttributes=[]),t.constructor.observedAttributes=_(n),t.constructor[ut.PROPS][e]=s}const At=new Set;function wt(t){return Tt.get(t)??At}const Mt={collectWatch(t,e,s){let r=Dt.get(t);r||(r={},Dt.set(t,r));let n=r[s];n||(n=r[s]=[]),n.push(e)},startCollect(t,e){this.__collectType=e,this.__collecting=t},setUpdater(t){this.__updater=t},endCollect(){this.__collecting=null},__directiveQ:[],setDirectiveQ(t){let e=b(this.__directiveQ);const s=t?t.join(","):"",r=e?e.join(","):"";e&&s===r||(e&&e.length<t.length&&E(s,r)?this.__directiveQ[this.__directiveQ.length-1]=t:this.__directiveQ.push(t))},popDirectiveQ(){let t=u(this.__directiveQ);return this.__directiveQ=[],t},startRender(t){this.__renderCollecting=!0,this.__renderContext=t},endRender(t){this.__renderCollection.forEach((e=>{t._regDeps(e,this.__renderContext)})),this.__renderCollection.clear(),this.__renderCollecting=!1,this.__renderContext=null},collect(t){this.__renderCollection.add(t)},clear(){this.__directiveQ=[]},__updater:null,__collecting:null,__collectType:-1,__renderCollection:new Set,__renderContext:null,__renderCollecting:!1,__skipCheck:!1},Ot=new WeakMap,kt=new WeakMap,Rt=new WeakMap,Lt=new WeakMap,Dt=new WeakMap;function Vt(t,e){if(!a(t))return t;const s=t.__proxy?t:new Proxy(t,{get(t,e,s){if(!e)return;const r=Reflect.get(t,e,s);if("string"!=typeof e&&"number"!=typeof e)return r;let n=e in t;if((Mt.__renderCollecting||Mt.__collecting)&&(n&&t.hasOwnProperty(e)||!n)){let t=kt.get(s)??[],r=u(t,[e]),n=r.join("-");if(Mt.__renderCollecting)Mt.collect(gt(r)),Mt.setDirectiveQ(r);else if(Mt.__collecting){let t;switch(Mt.__collectType){case dt.COMPUTED:t=Rt.get(Mt.__collecting),t||(t={},Rt.set(Mt.__collecting,t));break;case dt.CSS:t=Lt.get(Mt.__collecting),t||(t={},Lt.set(Mt.__collecting,t))}let e=t[n];e||(e=t[n]=[]),e.push(Mt.__updater)}}return r},set(t,e,s,r){if(!e)return!1;let n=t[e];if(!a(n)&&n===s)return!0;if(Number.isNaN(s)&&Number.isNaN(n))return!0;let i=kt.get(r)??[],l=u(i,[e]),d=Ot.get(r).from,h=o(d.constructor,ut.PROPS),p=o(d.constructor,ut.STATES),f=o(h,[l[0],"hasChanged"])||o(p,[l[0],"hasChanged"]);if(f){if(!f.call(d,s,n))return!0}else if(n===s&&!lt.has(n))return!0;h&&h[e]&&t.__isData&&h[e].sync&&d.emit("update:"+e,{value:s});let g=Ot.get(r)?.contextSet,m=s;!a(s)||v(s)||s instanceof Node||Object.isFrozen(s)||g.forEach((t=>{let s=Ot.get(r)?.pathMap,n=s?.get(t);n&&(l=u(n,[e]),kt.set(m,l),m=Vt(m,t),kt.set(m,l))}));let _=Reflect.set(t,e,m),b=Ot.get(r).pathMap;return g.forEach((t=>{let s=b.get(t);if(!s)return;t===d&&i.length>1&&s.length>1&&i[0]===s[0]&&(s=i),l=u(s,"length"==e&&C(r)?[]:[e]);let a=Rt.get(t),h=Lt.get(t),p=Dt.get(t);if(a||h||p){let t=l.length;for(;t;){let e=l.slice(0,t).join("-");if(p){const s=p[e];t===l.length?s?.forEach((t=>{let e=t();e.ov=n,Ht.pushWatch(e)})):s?.forEach((t=>{let e=t();o(e,"deep")&&(e.ov=n,Ht.pushWatch(e))}))}if(a){let t=a[e];if(!c(t))for(let e=0;e<t.length;e++){const s=t[e];Ht.pushComputed(s)}}if(h){let t=h[e];if(!c(t))for(let e=0;e<t.length;e++){const s=t[e];Ht.pushCss(s)}}t--}}let f=t._notify(n,l);Ht.pushNext(f)})),_}});t.__proxy||Reflect.defineProperty(t,"__proxy",{enumerable:!1,writable:!1,configurable:!1,value:!0});let r=kt.get(t)??[];if(Object.isExtensible(t)&&!Ot.get(s)){let t=new Set;t.add(e);let n=new WeakMap;n.set(e,r),Ot.set(s,{from:e,contextSet:t,pathMap:n})}else{Ot.get(s).contextSet.add(e);let t=Ot.get(s).pathMap,n=t.get(e),i=u(r);if(n&&n.join("")!==i.join("")){let t=o(e,y(n));C(t)||function(...t){console.warn("[CompElem]",...t)}(`The object is referenced by more than one @state '${i.join(".")},${n.join(".")}'`),n=i}else t.set(e,i)}for(let s in t){const n=t[s];!a(n)||n.__proxy||v(n)||n instanceof Node||Object.isFrozen(n)||(kt.set(n,u(r,[s])),t[s]=Vt(n,e),kt.set(t[s],u(r,[s])))}return s}class Ht{static watchSet=new Set;static computedSet=new Set;static cssSet=new Set;static nextSet=new Set;static nextPending=!1;static next;static{const t=Promise.resolve(),e=Ht.flush;Ht.next=()=>{t.then(e)}}static flush(){Ht.nextPending=!1;let t=Array.from(Ht.watchSet);Ht.watchSet.clear();let e=Array.from(Ht.computedSet);Ht.computedSet.clear();let s=Array.from(Ht.cssSet);Ht.cssSet.clear();let r=Array.from(Ht.nextSet);Ht.nextSet.clear(),t.forEach((t=>t(o(t,"ov")))),e.forEach((t=>t())),s.forEach((t=>t())),r.forEach((t=>t()))}static pushWatch(t){Ht.watchSet.add(t)}static pushComputed(t){Ht.computedSet.add(t)}static pushCss(t){Ht.cssSet.add(t)}static pushNext(t){Ht.nextSet.add(t),Ht.nextPending||(Ht.nextPending=!0,Ht.next())}}function It(t){return class extends t{__updatePoints;renderComponent;buildView(t){let e=this instanceof Ut?this:this.renderComponent,[s,r]=Me(e,t),n=[],i=Ie(n,s,r,e,this);return this.__updatePoints=n,i}updateView(t){if(i(S(t.strings)))return;if(!this.__updatePoints)return;let{vars:e}=t,s=this instanceof Ut?this:this.renderComponent;for(let t=0;t<this.__updatePoints.length;t++){const r=this.__updatePoints[t];let n=r.varIndex,i=r.value,l=e,c=r.node,d=N(n,"-");for(let e=0;e<d.length;e++){const s=d[e];l=o(l,s),l&&l.vars&&t<d.length-1&&(l=l.vars)}if(!a(i)&&i===l)continue;let u=c;if(r.isDirective){if(!i.di)continue;l.di=i.di,l.di.renderParams=l.varChain,l.di._renderArgs=l.args,l.point=i.point,l.varPath=i.varPath,i.update(i.point,l.args,i.args)}else if(r.isToggleProp){if(!!l===i)continue;u.toggleAttribute(r.attrName,!!l),T(u,r.attrName,!!l)}else if(r.isProp){if(!a(l)&&l===i)continue;let t=P(r.attrName),e=o(r.node.constructor,ut.PROPS);if(e){let s=e[t];if(s&&s.hasChanged&&!s.hasChanged.call(this,l,i))continue}c instanceof Ut?c._updateProps({[r.attrName]:l}):c instanceof HTMLSlotElement&&s._updateSlot(c.getAttribute("name")||"default",r.attrName,l)}else if(r.attrName&&!r.isEvent){if(!x(i,l))switch(r.attrName){case"value":if(c instanceof HTMLInputElement){c.value=l;break}default:c.setAttribute(r.attrName,A(r.attrTmpl,He,l+""))}}else if(r.isTmpl)(l.strings.join()!==i.tmpl.strings.join()||l.vars.some((t=>a(t)&&!w(t)))||i.tmpl.vars.some((t=>a(t)&&!w(t)))||!x(l.vars,i.tmpl.vars))&&r.value.updateView(l),i.tmpl=l,l=i;else if(r.isText){let t=r.textNode.nextSibling;t&&t===r.node.previousSibling?t.textContent=l:($e.remove(r.textNode,r.node),$e.insertBefore(r.node,[l]))}r.value=l}}}}class $t extends(It(Object)){tmpl;constructor(t){super(),this._renderVars=o(t,"_renderVars"),this.tmpl=t}}const Wt={boolean:Boolean,string:String,number:Number,object:Object,array:Array,function:Function,bigint:BigInt,symbol:Symbol,undefined:Object},jt=new WeakMap;let Bt=[];class Ut extends(It(HTMLElement)){static __l_globalRule=document.createElement("style");static{document.head.appendChild(Ut.__l_globalRule)}static defaults(t){Bt=M(t.css,(t=>{if(s(t)){let e=new CSSStyleSheet;return e.replaceSync(t),e}return t instanceof CSSStyleSheet?t:[]})),t.global,g(t,((t,e)=>{O(e[0],/[A-Z]/)}))}#t={};#e={"#slots":{}};#s={};#r={};#n;#i;#o={};__events={};get[Symbol.toStringTag](){return this.constructor.name}get reactiveData(){return this.#s}get attrs(){return this.#a}get props(){return this.#l}get renderRoot(){return this.#c}get renderRoots(){return this.#d}get parentComponent(){return this.#u}get slotHooks(){return this.#h}get css(){return jt.get(this.constructor)}get isMounted(){return this.#p}get slots(){return this.#e["#slots"]}#a;#l;#c;#d;#u;#f={};#h={};#g={};#p=!1;static get autoSlot(){return!0}static get styles(){return[]}static get globalStyles(){return[]}get styles(){return[]}#m=!1;constructor(...t){super(),1===k(t)&&(this.#l={},R(this.#l,L(t)));let e=this.render.bind(this);this.render=function(){let t;return Mt.startRender(this),t=e(),Mt.endRender(this),t};let r=o(this.constructor,"globalStyles"),n=o(this.constructor,"_global_style_attached");if(!c(r)&&"1"!==n){let t="";r.forEach((e=>{s(e)&&(t+=e+"\n")})),Ut.__l_globalRule.textContent+=t,T(this.constructor,"_global_style_attached","1")}let i=jt.get(this.constructor),a=i??[];i||(g(o(this.constructor,"styles"),(t=>{if(s(t)){let e=new CSSStyleSheet;e.replaceSync(t),a.push(e)}else a.push(t)})),jt.set(this.constructor,a)),this.#n=this.attachShadow({mode:"open",slotAssignment:o(this.constructor,"autoSlot",!0)?"named":"manual"}),this.#n.adoptedStyleSheets=[...Bt,...a];let l=this.attributes.getNamedItem("css-link")?.value;if(l){const t=document.createElement("style");t.textContent=`@import "${l}"`,this.#n.appendChild(t)}let d=D(this.#_,20);this.#i=new MutationObserver((t=>{for(let e=0;e<t.length;e++){"childList"===t[e].type&&d.call(this)}})),this._slotsPropMap={default:[]};let u=o(this.constructor,vt);u&&u.sort(((t,e)=>e.priority-t.priority)).forEach((t=>t.create(this))),this.#b=this.#E.bind(this)}#b;connectedCallback(){let t=V(this.parentNode,(t=>t instanceof Ut||t.host instanceof Ut),"parentNode");this.#u=t?t instanceof Ut?t:t.host:null,this.__init()}disconnectedCallback(){this.#i.disconnect()}__init(){if(this.#m)return;this.#v();const t=this.#C();this.propsReady(t);for(const e in t){const s=t[e];this.#e[e]=s}this.#y(),g(this.#e,((t,e)=>{let s=Reflect.getOwnPropertyDescriptor(this.#e,e);Reflect.defineProperty(this,e,{get(){let t=Reflect.get(this.#s,e);return s?.get?s?.get():t},set(t){s?.set?s?.set(t):Reflect.set(this.#s,e,t)}})})),Reflect.defineProperty(this.#e,"__isData",{enumerable:!1,value:!0}),this.#s=Vt(this.#e,this);let e=this.render(),s=this.buildView(e);if(s){let t=_(s);t.forEach((t=>{this.#n.appendChild(t)})),this.#d=t,this.#c=t[0]}this.#_(),this.beforeMount(),this.#i.observe(this,{childList:!0});const r=this;let n=o(this.constructor,vt);n&&n.sort(((t,e)=>e.priority-t.priority)).forEach((t=>{t.beforeMount(this,((t,e)=>(r.#s[t]=e,r.#s[t])))}));let a=o(this.constructor,ut.WATCH);g(a,((t,e)=>{t.forEach((t=>{let{source:s,options:r,handler:n}=t,i=n.bind(this);o(r,"once",!1)&&(i=H(i));const a=function(t){let e=o(this,s.replaceAll("-","."));i(e,t,s)}.bind(this);let l=o(r,"deep",!1);if(a.deep=l,Mt.collectWatch(this,(()=>a),e),!o(r,"immediate",!1))return;let c=o(this,s.replaceAll("-","."));i(c,c,s)}))}));let l=o(this.constructor,ut.COMPUTED);g(l,((t,e)=>{Mt.startCollect(this,dt.COMPUTED),Mt.setUpdater((()=>{this.#s[e]=t.call(this)})),this.#e[e]=t.call(this),Mt.endCollect(),Reflect.defineProperty(this,e,{get(){return Reflect.get(this.#s,e)},set(t){ft(this.tagName,"Cannot set a computed property '"+e+"'")}})}));let c=o(this.constructor,ut.EVENTS);c&&c.forEach((t=>{let e=t.name,s=R({target:document,once:!1,passive:!1,capture:!1},t.options),r=I(t.fn,this),n=s.target;v(n)&&(n=n.call(this,this)),n?n.addEventListener(e,r,s):ft(this.tagName,"The target of @event('"+e+"',...) is invalid")})),g(this.#h,((t,e)=>{this.#S(e)})),Mt.startCollect(this,dt.CSS);let d=[];this.styles.forEach((t=>{if(!v(t))return;let e=new CSSStyleSheet;d.push(e),Mt.setUpdater((()=>{let s=t()??"";e.replaceSync(s)}));let s=t();i(s)||e.replaceSync(s)})),Mt.endCollect(),this.#n.adoptedStyleSheets=[...this.#n.adoptedStyleSheets,...d],setTimeout((()=>{this.#p=!0,this.mounted(),n&&n.forEach((t=>{t.mounted(this,((t,e)=>(r.#s[t]=e,r.#s[t])))}))}),0),this.#m=!0}propsReady(t){}render(){throw Error(`[CompElem <${this.tagName}>] Missing render()`)}beforeMount(){}mounted(){}#N(t,e){this.#v();let s=o(this.#t[e],"props");s&&g(this.slots,((t,e)=>{t.filter((t=>t.nodeType===Node.ELEMENT_NODE)).forEach((t=>{t instanceof Ut?t._updateProps(s):g(s,((e,s)=>{if(t instanceof HTMLSlotElement){let r=o(t,"__l_comp");if(r){let n=t.name||"default",i=r.#t[n];i||(i=r.#t[n]={props:{}}),i.props||(i.props={}),i.props[s]=e,r.#N(t,n)}}else t.setAttribute(s,e)}))}))})),this.slotChange(t,e)}slotChange(t,e){}attributeChangedCallback(t,e,s){this.#T(t,e,s)}shouldUpdate(t){return!0}updated(t){}emit(t,e={},s){s&&s.event&&(e.event=s.event),e.target=this,this.dispatchEvent(new CustomEvent(t,{bubbles:o(s,"bubbles",!1),composed:o(s,"composed",!1),cancelable:!0,detail:e}))}#P={};on(t,e){this.#P[t]||(this.#P[t]=[]);let s=e.bind(this);this.#P[t].push(s),this.addEventListener(t,s)}nextTick(t){Ht.pushNext(t)}forceUpdate(){g(this.#s,((t,e)=>{this.#r[e]={value:void 0,chain:void 0}})),this.#E()}_notify(t,e){let s=[];for(let r=0;r<e.length;r++){const n=e[r];s.push(n);let i=o(this,s),l=gt(s);this.#r[l]={value:i,chain:"slots"===l?["slots"]:s,oldValue:t,end:s.length===e.length},a(i)&&"#"!=l[0]&&lt.set(i,l)}return this.#b}#E(){if(k(this.#r)<1)return;const t=this.#r;this.#r={};let e=o(this.constructor,vt);if(e&&e.sort(((t,e)=>e.priority-t.priority)).forEach((e=>{e.updated(this,t)})),!this.shouldUpdate(t))return;let s=new Set;g(t,(({value:t,chain:e,oldValue:r},n)=>{this.#o[n]&&this.#o[n].forEach((t=>{s.add(t)}))})),s.forEach((t=>{if(t===this)this.updateView(this.render());else{let e=t.render(...t._renderArgs?t._renderArgs:[]);e&&t.updateView(e)}})),this.#x.forEach((t=>{this.#S(t)})),this.updated(t),g(t,(({value:t,chain:e,oldValue:s},r)=>{a(t)&&lt.has(t)&&lt.delete(t)}))}#C(){let t=o(this.constructor,ut.PROPS),s=this.attributes,r=this.tagName,i=this.#l,c={};g(s,(({name:e,value:s})=>{if(e[0]===Ce||e[0]===ye||e[0]===Se||e===Pe||"slot"===e)return;let r=P(e);t&&!t[r]&&(c[e]=s)})),this.#a=this.#a?R(this.#a,c):c;let u={};return g(t,((c,h)=>{let p,f=t[h],g=d(i,h),_=o(this,h);if(!("_defaultValue"in f)&&(f._defaultValue=_,!f.type)){n(_)&&ft(r,"Prop '"+h+"' has neither propType nor defaultValue be used for type inference");let t=typeof _;C(_)&&(t="array");let e=Wt[t];f.type=e}if(g)p=$(i[h])?_:i[h];else{p=_;let t=s.getNamedItem(m(h))||s.getNamedItem(ye+m(h));t&&(g=!0,p=t.value)}if(f.required&&!g)return ft(r,"Prop '"+h+"' is required"),!1;p=this.#A(t,h,p);let b=o(t,[h,"getter"]);b&&(b=I(b,this));let E=o(t,[h,"setter"]);if(E&&(E=I(E,this)),(b||E)&&Reflect.defineProperty(this.#e,h,{set:E||function(t){},get:b}),f.attribute&&l(p)&&!a(p)){let t=m(h),s=W(p);(v=f.type)===Boolean||e(v,(t=>t===Boolean))?(s=_t(p),j(s)?this.toggleAttribute(t,s):this.setAttribute(t,s)):this.setAttribute(t,s)}var v;this.#e[h]=p,u[h]=p})),Object.seal(u)}#A(t,n,i){let o=t[n];if(!o)return i;let a=o.isValid,c=o.type,d=C(c)?c:[c],u=o.converter,h=i;if(!e(d,(t=>t===String))&&s(h)&&!B(h))try{h=u?u(h):r(h,{html:We})}catch(t){ft(this.tagName,`Convert attribute '${n}' error with `+h)}for(let t=0;t<d.length;t++){"Boolean"===d[t].name&&(h=_t(h))}let p=typeof h,f=!l(h);for(let t=0;t<d.length;t++){const e=d[t];if(O(p,e.name,"i")||h instanceof e||Object.prototype.toString.call(h)===Object.prototype.toString.call(e.prototype)){f=!0;break}}return f||ft(this.tagName,`Invalid prop '${n}'. expected '${d.map((t=>t.name||t))}' but got '${p}'`),a&&(a.call(this,h,this.#e)||ft(this.tagName,`Invalid prop '${n}'. IsValid() check failed`)),h}#y(){let t=o(this.constructor,ut.STATES);g(t,((e,s)=>{let r=t[s],n=o(this,s);if(r){let t=r.prop;n=t?f(this.#e[t]):o(this,s)}this.#e[s]=n}))}#w=D(this.propsReady,100);_setParentProps(t,e){if(this.#m){let s=o(this.constructor,ut.PROPS);g(t,((t,e)=>{let r=P(e),n=s[r];if(!n)return;let i=this.#e[r];t=this.#A(s,r,t),n.hasChanged&&!n.hasChanged.call(this,t,i)||(this.#e[r]=t,this._notify(i,[r]))})),R(this.#l,t),R(this.#a,e),this.#w(this.#l)}}_updateProps(t){let e=o(this.constructor,ut.PROPS);g(t,((t,s)=>{let r=P(s),n=e[r];if(!n)return;let i=this.#e[r];t=this.#A(e,r,t),n.hasChanged&&!n.hasChanged.call(this,t,i)||(Mt.__skipCheck=!0,T(this,r,t),Mt.__skipCheck=!1)})),R(this.#l,t),this.#w(this.#l)}_initProps(t,e){this.#l=p(this.#l||{},t),this.#a=p({},e)}_bindSlot(t,e,s){if(this.#f[e]||(this.#f[e]=t,Reflect.defineProperty(t,"__l_comp",{value:this})),t.addEventListener("slotchange",(s=>{this.#m&&this.#N(t,"default"===e?"":e)})),!c(s)){let t=this.#t[e];t||(t=this.#t[e]={}),s.nodeFilter&&(t.filter=s.nodeFilter),t.props=U(s,"nodeFilter")}}_bindSlotHook(t,e){this.#h[t]=e}#x=new Set;_updateSlot(t,e,s){let r=this.#f[t],n=this.#h[t];if(!n&&!r)return;let i=this.#t[t];if(e&&(i.props||(i.props={}),i.props[e]=s),n)this.#x.add(t);else{let t=r.assignedElements({flatten:!0});for(let r=0;r<t.length;r++){t[r].setAttribute(e,s+"")}}}#v(){const t=M(this.childNodes,(t=>t.nodeType===Node.COMMENT_NODE?[]:t instanceof HTMLSlotElement?t.assignedNodes({flatten:!0}):t));let e=F(t,(t=>t.nodeType===Node.TEXT_NODE?"default":t instanceof Element?t.getAttribute("slot")||"default":void 0));if(c(e))return void(c(this.#e["#slots"])||(this.#m?this.#s["#slots"]={}:this.#e["#slots"]={}));g(e,((t,e)=>{if(e){for(;t.length>0;){let e=t[0];if(!(e.nodeType===Node.TEXT_NODE&&i(e.textContent)||e instanceof HTMLSlotElement&&c(e.assignedNodes({flatten:!0}))))break;t.shift()}for(;t.length>0;){let e=b(t);if(!(e.nodeType===Node.TEXT_NODE&&i(e.textContent)||e instanceof HTMLSlotElement&&c(e.assignedNodes({flatten:!0}))))break;t.pop()}}}));let s={};g(e,((t,e)=>{c(t)||(s[e]=t)})),this.#m?this.#s["#slots"]=s:this.#e["#slots"]=s}#S(t){let e=this.#h[t];if(!e)return;let s=this.#t[t];if(!this.#e["#slots"][t])return;this.renderAsync(e,o(s,"props"));const r=this._asyncDirectives.get(e);let n=r?.buildView(e(o(s,"props"))),i=z(_(n),(t=>t.nodeType===Node.COMMENT_NODE));if(i){let e=this.#g[t];if(!c(e))for(let t=0;t<e.length;t++){const s=e[t];s.parentNode?.removeChild(s)}this.#g[t]=i,this.append(...i),this.#x.clear()}}_asyncDirectives=new WeakMap;renderAsync(t,...e){}#_(){c(this.#t)||g(this.slots,((t,s)=>{if(c(t))return;let r=this.#t[s],n=t;if(r){let s=r.filter;if(v(s))n=s(t);else if(a(s)){let r=s.type,i=s.maxCount;if(r){let s=C(r)?r:[r];n=K(t,(t=>e(s,(e=>t instanceof e))))}i>0&&(n=Q(t,0,i))}}if("named"===this.#n.slotAssignment){let e=[];for(let s=0;s<t.length;s++){const r=t[s];n.includes(r)||e.push(r)}for(;e.length>0;){let t=e.pop();t.parentNode?.removeChild(t)}}else this.#f[s].assign(...n);this.#m&&this.#N(this.#f[s],"default"===s?"":s)}))}#T(t,e,s){if(!this.isMounted)return;if(wt(this.constructor).has(t)){let e=P(t);if(B(s)){s=o(this.constructor,ut.PROPS)[e]._defaultValue}this._updateProps({[e]:s})}}_regDeps(t,e){let s=this.#o[t];s||(s=this.#o[t]=new Set),s.add(e);let r=t.split("-");if(r.pop(),r.length<1)return;let n=r.join("-");s=this.#o[n],s||(s=this.#o[n]=new Set),s.add(e)}}var Ft,zt,Kt;!function(t){t.NONE="NONE",t.REMOVE="REMOVE",t.REPLACE="REPLACE",t.UPDATE="UPDATE",t.APPEND="APPEND"}(Ft||(Ft={}));class Qt{key;varIndex;value;isText=!1;isTmpl=!1;isDirective=!1;node;textNode;isComponent=!1;attrName;attrTmpl;isProp=!1;isToggleProp=!1;isEvent;constructor(t,e,s,r){this.varIndex=t,this.node=e,s&&(this.attrName=s),r&&(this.attrTmpl=r)}}!function(t){t.ATTR="attr",t.PROP="prop",t.TEXT="text",t.CLASS="class",t.STYLE="style",t.SLOT="slot",t.TAG="tag"}(zt||(zt={}));class Xt{startNode;endNode;type;attrName;varIndex;expressionChain;nodes;constructor(t,e,s){this.startNode=t,this.attrName=e,this.type=s}setVarIndex(t){this.varIndex=t}getNodes(){let t=this.startNode.nextSibling;if(!this.endNode)return[t];let e=[];for(;t&&t!==this.endNode;)e.push(t),t=t?.nextSibling;return e}}!function(t){t.AFTER_BEGIN="afterbegin"}(Kt||(Kt={}));class Gt extends Function{diClass;args;di;varPath;point;slotComponent;varChain;constructor(t,...e){super(),this.diClass=t,this.args=e,this.varChain=Mt.popDirectiveQ(),this.di=new this.diClass,this.di.renderParams=this.varChain}checkScope(t){let e=o(this.diClass,"scopes");c(e)||O(e.join(","),t)||pt(`Directive '${this.diClass.name}' is out of scopes, expect '${e.join(",")}' bug got '${t}'`)}render(t){let e=this.di;return this.args,e.renderComponent||(e.renderComponent=t),this.di=e,e._renderArgs=this.args,this.di.render(...this.args)}update(t,e,s){let r=this.di.update(t,e,s);if(r===Ft.NONE)return;let n=t.getNodes();if(r===Ft.REMOVE)for(let t=0;t<n.length;t++){const e=n[t];e.parentNode?.removeChild(e)}else if(r===Ft.REPLACE){let s=[];for(let t=0;t<n.length;t++){const e=n[t];e.parentNode?.removeChild(e)}let r=this.di.render(...e),i=this.di.buildView(r);s=_(i);let o=document.createDocumentFragment();o.append(...s),t.endNode.parentNode.insertBefore(o,t.endNode)}else if(r===Ft.UPDATE){let s,r={},i=[],o=[],a=this.di.render(...e);if(a||(a=new Ue([],[])),c(n)){let e=this.di.buildView(a);return void t.startNode.after(...e)}let l={};a instanceof Ue&&a.vars.forEach((t=>{if(t instanceof Ue){const e=t.getKey();l[e]=t,r[e]=!0,o.push(e)}})),n=K(X(n),(t=>t.nodeType===Node.ELEMENT_NODE)),s=K(X(_(s)),(t=>t.nodeType===Node.ELEMENT_NODE));let d={},u="",h={};for(let t=0;t<n.length;t++){let e=n[t],s=e.getAttribute("key");if(s){if(d[s]){u=s;break}d[s]=e,i.push(s),h[s]=!0}}if(u)return void pt(`${P(this.diClass.name)} - duplicate key '${u}'`);let p=r;const f=t.startNode.parentNode;let m=[],E=[];if(g(h,((t,e)=>{p[e]||(E.push(e),delete h[e],G(i,e))})),!c(o)){let e="",s=-1,r=[],n=new Map;for(let a=0;a<o.length;a++){const l=o[a];let c=i.findIndex((t=>t===l));if(c>-1&&c!==a){if(s<0||s-c==1){let t=b(r);r.push({nodeId:l,targetId:0===a?Kt.AFTER_BEGIN:t?t.nodeId:o[a-1]})}else n.set(r.length,{group:r,targetId:""}),r=[],r.push({nodeId:l,targetId:i[c]});s=c}else if(c<0){let s=e?d[e]||t.endNode:t.startNode;m.push({prevNode:s,newkey:l})}e=l}c(n)&&r.length>0&&n.set(r.length,{group:r,targetId:""});let a=n.keys().toArray(),l=a.sort(((t,e)=>t-e));if(a.length>0&&a.length<2){let{group:e}=n.get(l[0]);y(e).forEach((({targetId:e,nodeId:s})=>{let r,n=d[s];e===Kt.AFTER_BEGIN?(r=t.startNode,r.after(n)):(r=d[e],r.after(n))}))}}m.length>0&&this.#M(m,l,o),m.forEach((e=>{let s=e.newkey,r=this.newNodeMap[s],n=e.prevNode;n===t.endNode?n.before(r):(t.startNode,n.after(r))})),E.forEach((t=>{let e=i.findIndex((e=>e==t));this.#O(e);let s=d[t];s&&s.parentNode&&f.removeChild(s)})),this.di.__updatePoints.forEach((t=>{t.key||(t.key=t.value.tmpl.getKey());const e=o.findIndex((e=>e==t.key));t.varIndex=e})),this.di.updateView(a)}}getDirective(){return this.di}newNodeMap={};#M(t,e,s){const r=[],n=[];t.forEach((t=>{let s=t.newkey;r.push(""),n.push(e[s])})),r.push("");let i=new Ue(r,n),o=this.di.__updatePoints,a=this.di.buildView(i);this.di.__updatePoints.forEach(((t,e)=>{const s=t.value.tmpl.getKey();t.key=s})),this.di.__updatePoints.push(...o),a.forEach((t=>{t instanceof HTMLElement&&(this.newNodeMap[t.getAttribute("key")]=t)}))}#O(t){G(this.di.__updatePoints,((e,s)=>{if(e.varIndex==t)return $e.remove(e.node,e.textNode),!0}))}}function qt(t){return(...e)=>{let s=null;return e.forEach(((t,r)=>{if(v(t)){let n=t;e[r]=function(...t){let e=s.di;Mt.startRender(e);let r=n.call(e.renderComponent,...t);return Mt.endRender(e.renderComponent),r}}})),s=new Gt(t,...e),s}}const Yt=["resize","outside","mutate"],Zt=new WeakMap,Jt=[],te=new ResizeObserver((t=>{for(const e of t){const t=Array.isArray(e.contentBoxSize)?e.contentBoxSize[0]:e.contentBoxSize,s=Array.isArray(e.borderBoxSize)?e.borderBoxSize[0]:e.borderBoxSize;let r=Zt.get(e.target);if(r){r(new CustomEvent("resize",{bubbles:!1,cancelable:!1,detail:{borderBox:{w:s.inlineSize,h:s.blockSize},contentBox:{w:t.inlineSize,h:t.blockSize}}}),e.target)}}}));var ee;!function(t){t.Child="child",t.Tree="tree",t.Attr="attr",t.Char="char"}(ee||(ee={}));const se=new WeakMap,re=new MutationObserver((t=>{for(let e=0;e<t.length;e++){const s=t[e];let r=se.get(s.target);if(!r)return;let n={target:s.target},i=null;switch(s.type){case"subtree":n.type=ee.Tree,i=r[ee.Tree];break;case"childList":n.type=ee.Child,n.addedNodes=s.addedNodes,n.removedNodes=s.removedNodes,i=r[ee.Child];break;case"attributes":n.type=ee.Attr,n.attributeName=s.attributeName,n.oldValue=s.oldValue,i=r[ee.Attr];break;case"characterData":n.type=ee.Char,n.oldValue=s.oldValue,i=r[ee.Char]}if(i){i(new CustomEvent("mutate",{bubbles:!1,cancelable:!1,detail:n}),s.target)}}}));function ne(t,e,s,r){if("resize"===t)!function(t,e){Zt.has(t)||(Zt.set(t,e),te.observe(t))}(e,s);else if("outside"===t){if("mousedown"===r[0])!function(t,e){Jt.push([t,e])}(e,s)}else"mutate"===t&&function(t,e,s){let r=q(s,"child"),n=q(s,"attr"),i=q(s,"char"),o=q(s,"tree"),a=se.get(t);a||(a={},se.set(t,a),r&&(a[ee.Child]=e),n&&(a[ee.Attr]=e),i&&(a[ee.Char]=e),o&&(a[ee.Tree]=e),re.observe(t,{childList:r,attributes:n,characterData:i,subtree:o}))}(e,s,r)}document.addEventListener("mousedown",(t=>{let e=t.target;Jt.forEach((([s,r])=>{if(!s.contains(e)){r(new CustomEvent("outside",{bubbles:!1,cancelable:!1,detail:{currentTarget:s,event:t}}),s)}}))}),!1);const ie=/,|^(debounce:.+)|(debounce$)/,oe=/,|^(throttle:.+)|(throttle$)/,ae="self",le="stop",ce="prevent",de="once",ue="left",he="right",pe="middle",fe="ctrl",ge="alt",me="shift",_e="meta",be={esc:"escape"},Ee=":";function ve(t,e,s,r){let n,i=t.split("."),o=i.shift(),a=i.includes(de),l=e;if(n=Y(i,(t=>ie.test(t)))){let t=n.split(Ee);l=D(l,parseInt(t[1])||100)}if(n=Y(i,(t=>oe.test(t)))){let t=n.split(Ee);l=Z(l,parseInt(t[1])||100)}if(a&&(l=H(l)),function(t){return Yt.includes(t)}(o))return ne(o,s,l,i),l;let c=t=>{if(i.includes(ce)&&t.preventDefault(),i.includes(le)&&t.stopPropagation(),!i.includes(ae)||t.target===t.currentTarget){if(t instanceof MouseEvent){if(i.includes(ue)&&0!=t.button)return;if(i.includes(he)&&2!=t.button)return;if(i.includes(pe)&&1!=t.button)return}else if(t instanceof KeyboardEvent){if(G(i,(t=>t==fe))[0]&&!t.ctrlKey)return;if(G(i,(t=>t==ge))[0]&&!t.altKey)return;if(G(i,(t=>t==me))[0]&&!t.shiftKey)return;if(G(i,(t=>t==_e))[0]&&!t.metaKey)return;if(!J(i,(t=>be[t]||t)).includes(t.key.toLowerCase()))return}l(t,s)}};s.addEventListener(o,c);let d=r.__events[o];return d||(d=r.__events[o]=[]),d.push([s,c]),c}const Ce="@",ye=".",Se="?",Ne="*",Te=":",Pe="ref",xe=/[.?-a-z]+\s*=\s*(['"])\s*([^='"]*<\!--c_ui-pl_df-->){2,}.*?\1/ims,Ae=/<\s*[a-z0-9-]+([^>]*<\!--c_ui-pl_df-->)*[^>]*?(?<!-)>/gims,we="slot-props";function Me(t,e){let s="",r=u(e.vars),n=e.strings.length-1,i=e.vars.length-1;for(let r=0;r<=n;r++){const n=e.strings[r];let a=o(e.vars,r,"");if(a&&a.di){let e=a.render(t);if(e instanceof Ue){let[s,r]=Me(t,e);Reflect.defineProperty(a,"_renderVars",{value:r}),a=Oe+s+ke}else a=e??De}else if(a instanceof Ue){let[e,s]=Me(t,a);Reflect.defineProperty(a,"_renderVars",{value:s}),a=Re+e+Le}else a=r>i?"":De;s+=n+a}let a=s.match(xe);if(a){return pt(`Parse error: attribute value can be set only one interpolation —— \n ${tt(a[0],De,"${...}")}`),["",r]}let l=0;return s=s.replace(Ae,((t,e)=>tt(t,De,(()=>De.replace("--\x3e","")+l++)))),s=s.replace(je,"$1><").trim(),[s,r]}const Oe="\x3c!--c_ui-pl_di-start--\x3e",ke="\x3c!--c_ui-pl_di-end--\x3e",Re="\x3c!--c_ui-pl_tmpl-start--\x3e",Le="\x3c!--c_ui-pl_tmpl-end--\x3e",De="\x3c!--c_ui-pl_df--\x3e",Ve="\x3c!--c_ui-pl_df",He=/<!--c_ui-pl_df\d*(-->)?/;function Ie(t,e,s,r,i){const a=document.createElement("div");a.innerHTML=e;const l=document.createNodeIterator(a,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT);let c,u,h=0,p=null,f=[],g=[],C=[],y=[t],S=[],N=[];for(;c=l.nextNode();)if(c instanceof HTMLElement||c instanceof SVGElement){c instanceof Ut?p=c:p?.contains(c)||(p=null);let e={},n=_(c.attributes);for(let i=0;i<n.length;i++){const o=n[i];let{name:a,value:l}=o;if(a===we){let t=c.getAttribute("name")||"default";if(p){let e=p._slotsPropMap[t];e||(e=p._slotsPropMap[t]=[]),e.push(c)}}if(E(a,Ve)){let e=s[h];if(e instanceof Gt){e.checkScope(zt.TAG);let s=new Xt(c,a.substring(1),zt.TAG);e.point=s,e.di.slotComponent=p,e.di.renderComponent=r;let n=new Qt(h,c);n.isDirective=!0,n.value=e,n.isComponent=!!p,t.push(n),h++,e.di.created(s,...e.args)}c.removeAttribute(a)}else if(a[0]!==Ce)if(a!==Pe)if(a[0]!==ye||He.test(l)){if(He.test(l)){let n=s[h],i=new Qt(h,c,a.replace(/\.|\?|@/,""),l);i.isComponent=!!p;let d=!0;if(a[0]===ye||a[0]===Se||a[0]===Ne){if(n instanceof Gt){n.checkScope(zt.PROP);let t=new Xt(c,a.substring(1),zt.PROP);n.point=t,n.slotComponent=p,i.value=n,i.isDirective=!0,n&&n.di.created(n.point,...n.args)}else if(a[0]===Se)i.isToggleProp=!0,i.value=!!n,i.value&&c.setAttribute(a.substring(1),"");else if(a[0]===Ne){i.value=n;let t=a.substring(1);const[e,s]=t.split(Te);let r=e;switch(s){case"camel":r=P(r);break;case"kebab":r=m(r);break;case"snake":r=et(r)}i.attrName=r,c.setAttribute(r,n)}else if(c instanceof Ut||"SLOT"===c.tagName){let t=P(a.substring(1));t in c||"SLOT"===c.tagName||ft(c.tagName,`Prop '${a}' is not defined in ${c.tagName}`),i.value=n,i.isProp=!0,e[t]=n,"nodeFilter"===t&&(d=!1)}else ft(c.tagName,`Prop '${a}' can only be set on a CompElem or a slot`);c.removeAttribute(a),n=""}else{let t;if(i.value=n,n instanceof Gt){let e=zt.ATTR;"class"===a?e=zt.CLASS:"style"===a&&(e=zt.STYLE),n.checkScope(e),i.isDirective=!0;let s=new Xt(c,a,e);n.point=s,n.di.slotComponent=p,n.di.renderComponent=r,t=n,n=""}l=A(l,He,n),o.value=l,t&&t.di.created(t.point,...t.args)}d&&t.push(i),h++}}else ft(c.tagName,`Prop '${a}' must be an interpolation`);else{if(He.test(l)){let t=s[h];if(!d(t,"current")){ft(c.tagName,"Ref must be a RefObject");continue}h++,t.current=c}c.removeAttribute(a)}else{let e=t=>{};if(He.test(l)){let n=s[h];if(!v(n)){ft(c.tagName,`Event '${a}' must be a function`);continue}e=n.bind(r);let i=new Qt(h,c,a.replace(/\.|\?|@/,""),l);i.isComponent=!!p,i.isEvent=!0,t.push(i),h++}ve(a.substring(1),e,c,r),c.removeAttribute(a)}}c instanceof Ut?c._initProps(e):c instanceof HTMLSlotElement&&r._bindSlot(c,c.name||"default",e)}else{let e=c,a=`\x3c!--${e.nodeValue}--\x3e`;if(a===Oe){u&&f.push(u),u=e;let n=s[h],i=new Qt(h,c);i.isComponent=!!p,i.isDirective=!0,i.value=n;let o=p?zt.SLOT:zt.TEXT,a=new Xt(u,"",o);n.point=a,n.di.slotComponent=p,n.di.renderComponent=r,g.push(n),t.push(i),C.push(i),t=[],y.push(t),h++,N.push(h),S.push(s),s=n._renderVars,h=0;continue}if(a===ke){C.pop().textNode=e;let r=g.pop();r.point.endNode=e,r.di.created(r.point,...r.args),u=f.pop(),r.di.__updatePoints=t,y.pop(),t=b(y),s=S.pop(),h=N.pop()}else{if(a===Re){u&&f.push(u),u=e;let n=s[h],a=new Qt(h,c);a.isComponent=!!p,a.isTmpl=!0;let l=b(g);(l&&"ForEach"===o(l,"diClass.name")||"ForEach"==i.constructor.name)&&(a.key=n.getKey()),n=a.value=new $t(n);let d=p?zt.SLOT:zt.TEXT,m=new Xt(u,"",d);n.point=m,n.slotComponent=p,n.renderComponent=r,g.push(n),t.push(a),C.push(a),t=[],y.push(t),h++,N.push(h),S.push(s),s=n._renderVars,h=0;continue}if(a===Le){C.pop().textNode=e;let r=g.pop();r.point.endNode=e,u=f.pop(),r.__updatePoints=t,y.pop(),t=b(y),s=S.pop(),h=N.pop()}}if(a!==De)continue;let l=new Qt(h,c);t.push(l),l.isComponent=!!p,l.isText=!0;let d,m=s[h];if(d=document.createComment(`compelem-ui-${h}-child-start`),e.parentNode.insertBefore(d,e),e.nodeValue=`compelem-ui-${h}-child-end`,l.textNode=d,m instanceof Gt){l.isDirective=!0,l.value=m;let t=p?zt.SLOT:zt.TEXT,s=new Xt(d,"",t);s.endNode=e,m.point=s,m.di.slotComponent=p,m.di.renderComponent=r,m.di.created(s,...m.args),m=""}else if(m instanceof Ue){l.isTmpl=!0,l.value=m;let[e,s]=Me(r,m);m=Ie(t,e,s,r,i)}else l.value=m;if(h++,n(m))continue;if(m instanceof NodeList){let t=document.createDocumentFragment();t.append(...m),e.parentNode.insertBefore(t,e)}else if(m instanceof Element)e.parentNode.insertBefore(m,e);else if(W(m)){let t=document.createTextNode(m);e.parentNode.insertBefore(t,e)}}return a.childNodes}const $e={insertBefore:function(t,e){if(!t.parentNode)return;let s=document.createDocumentFragment();s.append(...e),t.parentNode.insertBefore(s,t)},remove:function(t,e){if(t===e)return void t?.parentNode?.removeChild(t);let s=t.nextSibling;for(;s&&s!==e;)s?.parentNode?.removeChild(s),s=t.nextSibling}};function We(t,...e){return new Ue(s(t)?[t]:t,e)}const je=/([a-z0-9"'])\s*>\s*</gim;function Be(t){return{current:t}}class Ue{strings;vars;constructor(t,e){this.strings=u(t),this.vars=e}getKey(){let t=this.vars,e="";return g(this.strings,((s,r)=>{if(ct.test(s))return e=st(t[r]),!1})),e}getKeys(){let t=this.vars,e=[];for(let s=0;s<this.strings.length;s++){const r=this.strings[s];if(ct.test(r)){let r=st(t[s]);e.push(r)}}return c(e)&&t.forEach((t=>{if(t instanceof Ue){let s=t.getKey();e.push(s)}})),e}append(t){let e=b(this.strings);return t.strings.forEach(((t,s)=>{0!=s?this.strings.push(t):this.strings[this.strings.length-1]=e+t})),this.vars=u(this.vars,t.vars),this}insert(t,e){let s=e.strings.shift();return this.strings[t]+=s,this.strings.splice(t+1,0,...e.strings),this.vars.splice(t,0,...e.vars),this}getHTML(t){let[e,s]=Me(t,this),r=Ie([],e,s,t,t);return rt(r,((t,e)=>t+e.outerHTML),"")}}function Fe(t,e,s){s.get||pt(`Computed '${e}' must be a getter`),d(t.constructor,ut.COMPUTED)||(t.constructor[ut.COMPUTED]=c(t.constructor[ut.COMPUTED])?{}:f(t.constructor[ut.COMPUTED])),t.constructor[ut.COMPUTED][e]=s.get}function ze(t,e){return(s,r,n)=>{d(s.constructor,ut.EVENTS)||(s.constructor[ut.EVENTS]=c(s.constructor[ut.EVENTS])?[]:f(s.constructor[ut.EVENTS])),s.constructor[ut.EVENTS].push({name:t,options:e,fn:s[r]})}}var Ke;!function(t){t.ONCE="once",t.UPDATABLE="updatable"}(Ke||(Ke={}));class Qe extends bt{static get priority(){return Number.MAX_VALUE}created(t,e,s,...r){}mounted(t,e,...s){}get targets(){return[ht.FIELD]}selector;cache;result;constructor(t,e){super(),this.selector=t,this.cache=e}static getKey(t){return t}getter(t){this.result=t.shadowRoot?.querySelector(this.selector)}beforeMount(t,e,s,r,...n){const i=this;Reflect.defineProperty(t,r,{get:()=>(i.result&&i.cache||i.getter(t),i.result)})}updated(t,e){this.cache===Ke.UPDATABLE&&this.getter(t)}}const Xe=Nt(Qe),Ge=Nt(class extends Qe{getter(t){this.result=t.shadowRoot?.querySelectorAll(this.selector)}});function qe(t){if(1===arguments.length)return(e,s)=>{Ye(e,s,t)};Ye(arguments[0],arguments[1],{prop:""})}function Ye(t,e,s){if(!d(t.constructor,ut.STATES)){const e={};let s=t.constructor;for(;(s=mt(s))!==Ut;)p(e,s[ut.STATES]?f(s[ut.STATES]):{});Reflect.defineProperty(t.constructor,ut.STATES,{configurable:!1,enumerable:!1,value:e})}t.constructor[ut.STATES][e]=s}function Ze(t,e,s){Ye(t.prototype,e,s||{prop:""})}function Je(t){return e=>{if(e){if(e.prototype.hasOwnProperty("attributeChangedCallback")){let t=e.prototype.attributeChangedCallback;e.prototype.attributeChangedCallback=function(e,s,r){Ut.prototype.attributeChangedCallback.call(this,e,s,r),t.call(this,e,s,r)}}if(e.prototype.hasOwnProperty("connectedCallback")){let t=e.prototype.connectedCallback;e.prototype.connectedCallback=function(){Ut.prototype.connectedCallback.call(this),t.call(this)}}if(e.prototype.hasOwnProperty("disconnectedCallback")){let t=e.prototype.connectedCallback;e.prototype.disconnectedCallback=function(){Ut.prototype.disconnectedCallback.call(this),t.call(this)}}customElements.define(t,e)}}}function ts(t,e){return(s,r)=>{d(s.constructor,ut.WATCH)||(s.constructor[ut.WATCH]=c(s.constructor[ut.WATCH])?{}:f(s.constructor[ut.WATCH]));(C(t)?t:[t]).forEach((t=>{let n=t.replaceAll(".","-"),i=s.constructor[ut.WATCH][n];C(i)||(i=s.constructor[ut.WATCH][n]=[]),i.push({source:t,options:e,handler:s[r]})}))}}class es extends(It(Object)){_renderArgs;static get scopes(){return[]}renderParams}const ss=["key"];const rs=qt(class extends es{created(t,e){let s=t.startNode;if(s instanceof Ut){let t={},r={};g(e,((e,n)=>{ss.includes(n)||(n in s?t[n]=e:r[n]=e+"")})),s._initProps(t,r)}else g(e,((t,e)=>{s.setAttribute(e,t)}))}update(t,e,s){return Ft.NONE}static get scopes(){return[zt.TAG]}render(t){}});const ns=qt(class extends es{created(t,e){let r=[];C(e)?r=X(e):a(e)?r=M(e,((t,e)=>t?e:[])):s(e)&&(r=e.split(" "));let n=t.startNode;g(this.lastCls,(t=>{n.classList.remove(t)})),g(r,(t=>{n.classList.add(t)})),this.lastCls=u(r)}update(t,e,s){return this.created(t,e[0]),Ft.NONE}static get scopes(){return[zt.CLASS]}lastCls;render(t){}});const is=qt(class extends es{created(t,...e){}update(t,e,s){if(c(t.getNodes())&&(!e||c(e[0])))return Ft.NONE;if(nt(this.lastAry,e[0])&&this.lastAry.length===e[0].length)return Ft.NONE;if(!c(this.renderParams)){let t=b(this.renderParams);C(t)||(t=[t]),this.renderParams=t}return this.lastAry=it(e[0]),Ft.UPDATE}constructor(t){super(),c(this.renderParams)||(this.renderParams=_(b(this.renderParams)))}static get scopes(){return[zt.TEXT,zt.SLOT]}lastAry;lastRenderTmpl;render(t,e){let s=J(t,((t,s)=>e(t,s)));if(s.length<1)return this.lastRenderTmpl=new Ue([],[]),this.lastRenderTmpl;let r=[],n=[];const i=[],o=[];for(let t=0;t<s.length;t++){const e=s[t];let a=b(n),l=e.vars,c=!0,d=e.strings;for(let t=0;t<d.length;t++){const e=d[t];if(ct.test(e)){let e=l[t]+"";if(r.includes(e))return void pt(`forEach - duplicate key '${e}'`);r.push(e),c=!1}0==t&&a?n[n.length-1]=a+e:n.push(e)}if(c)return void pt("forEach - missing 'key' prop");let u=b(i);u&&d.length>0&&(i[i.length-1]=W(u)+d.shift()),i.push(""),o.push(e)}return this.lastAry=it(t),i.push(""),this.lastRenderTmpl=new Ue(i,o),this.lastRenderTmpl}});const os=qt(class extends es{created(t,...e){}ifNodes;elseNodes;static get scopes(){return[zt.TEXT,zt.SLOT]}update(t,e,s){return!!e[0]==!!s[0]?Ft.NONE:(e[0],Ft.REPLACE)}render(t,e,s){return t?e(t):s(t)}});const as=qt(class extends es{created(t,...e){}static get scopes(){return[zt.TEXT,zt.SLOT]}update(t,e,s){return e[0]===s[0]?Ft.NONE:e[0]?Ft.REPLACE:Ft.REMOVE}render(t,e){return t?e():We``}});var ls;!function(t){t.CHANGE="change",t.INPUT="input"}(ls||(ls={}));const cs=qt(class extends es{created(t,e,s="value"){const r=t.startNode;if("binded"===o(r,"_model"))return;let n=b(this.renderParams);if(this.updateProp=s,this.modelPath=n,a(e)||W(e)||(e=""),r instanceof Ut)r._initProps({[this.updateProp]:e}),r.addEventListener("update:"+s,(t=>{T(this.renderComponent,this.modelPath,t.detail.value)})),T(r,"_model","binded");else if(r instanceof HTMLTextAreaElement)r.setAttribute(this.updateProp,e+""),r.addEventListener("input",(t=>{let e=t.target;T(this.renderComponent,this.modelPath,e.value)})),T(r,"_model","binded");else if(r instanceof HTMLInputElement){let t="",n="";switch(r.type){case"checkbox":case"radio":t="checked",n="change";break;default:t="value",n="input"}r.setAttribute(s??t,e+""),r.addEventListener(n,(t=>{let e=t.target;T(this.renderComponent,this.modelPath,e.value)})),T(r,"_model","binded")}else r instanceof HTMLSelectElement&&(r.setAttribute(this.updateProp,e+""),r.addEventListener("change",(t=>{let e=t.target;T(this.renderComponent,this.modelPath,e.value)})),T(r,"_model","binded"))}update(t,e,s){if(this.modelPath||(this.modelPath=b(this.renderParams)),!x(e,s)){const s=t.startNode;if(s instanceof Ut)s._updateProps({[this.updateProp]:e[0]});else if(s instanceof HTMLTextAreaElement||s instanceof HTMLSelectElement)s.setAttribute(this.updateProp,e[0]+"");else if(s instanceof HTMLInputElement)switch(s.type){case"checkbox":case"radio":e[0]?s.setAttribute("checked",""):s.removeAttribute("checked");break;default:s.setAttribute(this.updateProp,e[0]+"")}}return Ft.NONE}static get scopes(){return[zt.TAG]}modelPath;render(t,e="value"){}});const ds=qt(class extends es{created(t,e){let s=t.startNode;n(this.display)&&(this.display=s.style.display),this.renderComponent.nextTick((()=>{s.style.display=e?this.display:"none"}))}update(t,e,s){return this.created(t,e[0]),Ft.NONE}display=void 0;static get scopes(){return[zt.TAG]}constructor(t){super(),this.point=t}render(t){}});const us=qt(class extends es{created(t,e,s){e=e.bind(this.renderComponent),this.slotComponent._bindSlotHook(s||"default",e)}update(t,e,s){return Ft.NONE}static get scopes(){return[zt.SLOT]}render(t,e){}});class hs{static getCssText(t){return s(t)?t:S(J(t,((t,e)=>m(e)+":"+t)),";")}static setStyle(t,e){if(s(t)&&!W(t))return{};let r=hs.getCssText(t),n={};return g(r.split(";"),(t=>{let s=t.split(":"),r=W(s[0]),i=W(s[1]);n[r]=e.style.getPropertyValue(r),e.style.setProperty(r,i)})),n}}const ps=qt(class extends es{created(t,e){hs.setStyle(e,t.startNode)}update(t,e,s){return this.created(t,e[0]),Ft.NONE}constructor(t){super(),this.point=t}static get scopes(){return[zt.STYLE]}render(t){}});const fs=qt(class extends es{created(t,e){this.modelPath||(this.modelPath=b(this.renderParams));const s=t.startNode;let r=t.attrName;s._initProps({[r]:e}),s.addEventListener("update:"+r,(t=>{T(this.renderComponent,this.modelPath,t.detail.value)}))}update(t,e,s){if(!x(e,s)){const s=t.startNode;let r=t.attrName;s._updateProps({[r]:e[0]})}return Ft.NONE}static get scopes(){return[zt.PROP]}modelPath;constructor(t){super()}render(t){}});const gs=qt(class extends es{created(t,...e){}static get scopes(){return[zt.TEXT,zt.SLOT]}update(t,e,s){return x(e,s)?Ft.NONE:Ft.REPLACE}render(t,e){let s=()=>We``,r=[],n=[];g(e,((t,e)=>{if(v(t))r.push(e),n.push(t);else{let e=t[0],s=t[1];r.push(e),n.push(s)}"default"===e&&(s=t)}));let i=ot(r,(e=>v(e)?e(t):e==t));return at(n[i]??s)}});export{Ut as CompElem,hs as CssHelper,bt as Decorator,ht as DecoratorType,yt as DecoratorWrapper,es as Directive,Ft as DirectiveUpdateTag,Gt as DirectiveWrapper,Xt as EnterPoint,zt as EnterPointType,Et as GetKeyFnName,ls as ModelTriggerType,Ke as QueryCache,Ue as Template,Qt as UpdatePoint,Ct as _DecoratorMap,vt as _DecoratorsKey,wt as _getObservedAttrs,rs as bind,Me as buildHTML,ns as classes,Fe as computed,Be as createRef,Nt as decorator,qt as directive,ze as event,is as forEach,We as html,os as ifElse,as as ifTrue,Ze as makeState,cs as model,Pt as prop,Xe as query,Ge as queryAll,ds as show,us as slot,qe as state,ps as styles,fs as sync,Je as tag,ts as watch,gs as when};
7
+ import{toPath as t,some as e,isString as s,fval as r,isUndefined as n,isBlank as i,get as o,isObject as a,isDefined as l,isEmpty as c,has as d,concat as u,defaults as h,merge as p,cloneDeep as f,each as g,kebabCase as m,toArray as _,last as b,startsWith as E,isFunction as v,isArray as C,initial as y,join as S,split as N,set as T,camelCase as P,isEqual as x,replace as A,isPlainObject as w,flatMap as M,test as O,size as k,assign as R,first as L,debounce as D,closest as V,once as H,bind as I,isNil as $,trim as W,isBoolean as j,isNull as B,omit as U,groupBy as F,reject as z,filter as K,slice as Q,compact as X,remove as G,includes as q,find as Y,throttle as Z,map as J,replaceAll as tt,snakeCase as et,toString as st,reduce as rt,isMatch as nt,clone as it,findIndex as ot,call as at}from"myfx";const lt=new WeakMap,ct=/\s+\.?key\s*=/;var dt,ut,ht;function pt(t){console.error("[CompElem]",t)}function ft(t,e){console.error(`[CompElem <${t}>]`,e)}function gt(e){return t(e).join("-")}function mt(t){return Object.getPrototypeOf(t)}function _t(t){let e=t;return s(t)&&/(?:^true$)|(?:^false$)/.test(e)?e=r(e):(n(e)||i(e))&&(e=!0),e}!function(t){t[t.CSS=1]="CSS",t[t.COMPUTED=2]="COMPUTED"}(dt||(dt={})),function(t){t.PROPS="__deco_props",t.STATES="__deco_states",t.COMPUTED="__deco_computed",t.WATCH="__deco_watch",t.EVENTS="__deco_events"}(ut||(ut={})),function(t){t.CLASS="class",t.FIELD="field",t.METHOD="method"}(ht||(ht={}));class bt{static get priority(){return 0}}const Et="getKey",vt="__decorators",Ct=new WeakMap;class yt{args;metadata;decoratorClass;instanceMap;key;priority=0;constructor(t,e,s){this.args=t,this.metadata=e,this.decoratorClass=s,this.priority=o(s,"priority",0),this.instanceMap=new WeakMap}create(t){let e,s=new this.decoratorClass(...this.args),r=s.targets,i=this.metadata[2];a(i)&&l(o(i,"configurable"))?e=ht.METHOD:n(this.metadata[2])&&(e=ht.FIELD),!c(r)&&e&&r.includes(e)?(s.created(t,...this.metadata),this.instanceMap.set(t,s)):pt(`Decorator '${this.decoratorClass.name}' is out of targets, expect '${r.join(",")}' bug got '${e}'`)}beforeMount(t,e){this.instanceMap.get(t).beforeMount(t,e,...this.metadata)}mounted(t,e){this.instanceMap.get(t).mounted(t,e,...this.metadata)}updated(t,e){this.instanceMap.get(t).updated(t,e)}}const St=new WeakMap;function Nt(t){let e=(...e)=>(...s)=>{let r=s[0].constructor,n=o(r,vt);if(!d(r,vt)){let t=o(Object.getPrototypeOf(r),vt);n=t?u(t):[],Reflect.defineProperty(r,vt,{configurable:!1,enumerable:!1,value:n})}let i,a={},l=o(t,Et);if(l){let s=St.get(t);if(s||(s=new WeakMap,St.set(t,s)),a=s.get(r),a||(a={},s.set(r,a)),i=l(...e),a[i])return a[i]}let c=new yt(e,s,t);return a[i]=c,n?.push(c),c};return Ct.set(e,!0),e}const Tt=new WeakMap;function Pt(t){if(1===arguments.length)return(e,s,r)=>{t.required=t.required||!1,t.attribute=!1!==t.attribute,xt(e,s,t,r)};let e=arguments[0],s=arguments[1],r=arguments[2];t={type:void 0,required:!1,attribute:!0},r&&"function"==typeof r.type&&(t=h(r,t),r=void 0),xt(e,s,t,r)}function xt(t,e,s,r){let n;if(/[a-z]/.test(e[0])||pt(`Prop '${e}' must be in CamelCase`),!d(t.constructor,ut.PROPS)){const e={};let s=t.constructor;for(;(s=mt(s))!==Ut;)p(e,s[ut.PROPS]?f(s[ut.PROPS]):{});Reflect.defineProperty(t.constructor,ut.PROPS,{configurable:!1,enumerable:!1,value:e}),n=new Set,g(e,((t,e)=>{if(t.attribute){let t=m(e);n?.add(t)}})),Tt.set(t.constructor,n)}if(r&&(r.get&&(s.getter=r.get),r.set&&(s.setter=r.set)),s.attribute){n||(n=Tt.get(t.constructor));let s=m(e);n?.add(s)}d(t.constructor,"observedAttributes")||(t.constructor.observedAttributes=[]),t.constructor.observedAttributes=_(n),t.constructor[ut.PROPS][e]=s}const At=new Set;function wt(t){return Tt.get(t)??At}const Mt={collectWatch(t,e,s){let r=Dt.get(t);r||(r={},Dt.set(t,r));let n=r[s];n||(n=r[s]=[]),n.push(e)},startCollect(t,e){this.__collectType=e,this.__collecting=t},setUpdater(t){this.__updater=t},endCollect(){this.__collecting=null},__directiveQ:[],setDirectiveQ(t){let e=b(this.__directiveQ);const s=t?t.join(","):"",r=e?e.join(","):"";e&&s===r||(e&&e.length<t.length&&E(s,r)?this.__directiveQ[this.__directiveQ.length-1]=t:this.__directiveQ.push(t))},popDirectiveQ(){let t=u(this.__directiveQ);return this.__directiveQ=[],t},startRender(t){this.__renderCollecting=!0,this.__renderContext=t},endRender(t){this.__renderCollection.forEach((e=>{t._regDeps(e,this.__renderContext)})),this.__renderCollection.clear(),this.__renderCollecting=!1,this.__renderContext=null},collect(t){this.__renderCollection.add(t)},clear(){this.__directiveQ=[]},__updater:null,__collecting:null,__collectType:-1,__renderCollection:new Set,__renderContext:null,__renderCollecting:!1,__skipCheck:!1},Ot=new WeakMap,kt=new WeakMap,Rt=new WeakMap,Lt=new WeakMap,Dt=new WeakMap;function Vt(t,e){if(!a(t))return t;const s=t.__proxy?t:new Proxy(t,{get(t,e,s){if(!e)return;const r=Reflect.get(t,e,s);if("string"!=typeof e&&"number"!=typeof e)return r;let n=e in t;if((Mt.__renderCollecting||Mt.__collecting)&&(n&&t.hasOwnProperty(e)||!n)){let t=kt.get(s)??[],r=u(t,[e]),n=r.join("-");if(Mt.__renderCollecting)Mt.collect(gt(r)),Mt.setDirectiveQ(r);else if(Mt.__collecting){let t;switch(Mt.__collectType){case dt.COMPUTED:t=Rt.get(Mt.__collecting),t||(t={},Rt.set(Mt.__collecting,t));break;case dt.CSS:t=Lt.get(Mt.__collecting),t||(t={},Lt.set(Mt.__collecting,t))}let e=t[n];e||(e=t[n]=[]),e.push(Mt.__updater)}}return r},set(t,e,s,r){if(!e)return!1;let n=t[e];if(!a(n)&&n===s)return!0;if(Number.isNaN(s)&&Number.isNaN(n))return!0;let i=kt.get(r)??[],l=u(i,[e]),d=Ot.get(r).from,h=o(d.constructor,ut.PROPS),p=o(d.constructor,ut.STATES),f=o(h,[l[0],"hasChanged"])||o(p,[l[0],"hasChanged"]);if(f){if(!f.call(d,s,n))return!0}else if(n===s&&!lt.has(n))return!0;h&&h[e]&&t.__isData&&h[e].sync&&d.emit("update:"+e,{value:s});let g=Ot.get(r)?.contextSet,m=s;!a(s)||v(s)||s instanceof Node||Object.isFrozen(s)||g.forEach((t=>{let s=Ot.get(r)?.pathMap,n=s?.get(t);n&&(l=u(n,[e]),kt.set(m,l),m=Vt(m,t),kt.set(m,l))}));let _=Reflect.set(t,e,m),b=Ot.get(r).pathMap;return g.forEach((t=>{let s=b.get(t);if(!s)return;t===d&&i.length>1&&s.length>1&&i[0]===s[0]&&(s=i),l=u(s,"length"==e&&C(r)?[]:[e]);let a=Rt.get(t),h=Lt.get(t),p=Dt.get(t);if(a||h||p){let t=l.length;for(;t;){let e=l.slice(0,t).join("-");if(p){const s=p[e];t===l.length?s?.forEach((t=>{let e=t();e.ov=n,Ht.pushWatch(e)})):s?.forEach((t=>{let e=t();o(e,"deep")&&(e.ov=n,Ht.pushWatch(e))}))}if(a){let t=a[e];if(!c(t))for(let e=0;e<t.length;e++){const s=t[e];Ht.pushComputed(s)}}if(h){let t=h[e];if(!c(t))for(let e=0;e<t.length;e++){const s=t[e];Ht.pushCss(s)}}t--}}let f=t._notify(n,l);Ht.pushNext(f)})),_}});t.__proxy||Reflect.defineProperty(t,"__proxy",{enumerable:!1,writable:!1,configurable:!1,value:!0});let r=kt.get(t)??[];if(Object.isExtensible(t)&&!Ot.get(s)){let t=new Set;t.add(e);let n=new WeakMap;n.set(e,r),Ot.set(s,{from:e,contextSet:t,pathMap:n})}else{Ot.get(s).contextSet.add(e);let t=Ot.get(s).pathMap,n=t.get(e),i=u(r);if(n&&n.join("")!==i.join("")){let t=o(e,y(n));C(t)||function(...t){console.warn("[CompElem]",...t)}(`The object is referenced by more than one @state '${i.join(".")},${n.join(".")}'`),n=i}else t.set(e,i)}for(let s in t){const n=t[s];!a(n)||n.__proxy||v(n)||n instanceof Node||Object.isFrozen(n)||(kt.set(n,u(r,[s])),t[s]=Vt(n,e),kt.set(t[s],u(r,[s])))}return s}class Ht{static watchSet=new Set;static computedSet=new Set;static cssSet=new Set;static nextSet=new Set;static nextPending=!1;static next;static{const t=Promise.resolve(),e=Ht.flush;Ht.next=()=>{t.then(e)}}static flush(){Ht.nextPending=!1;let t=Array.from(Ht.watchSet);Ht.watchSet.clear();let e=Array.from(Ht.computedSet);Ht.computedSet.clear();let s=Array.from(Ht.cssSet);Ht.cssSet.clear();let r=Array.from(Ht.nextSet);Ht.nextSet.clear(),t.forEach((t=>t(o(t,"ov")))),e.forEach((t=>t())),s.forEach((t=>t())),r.forEach((t=>t()))}static pushWatch(t){Ht.watchSet.add(t)}static pushComputed(t){Ht.computedSet.add(t)}static pushCss(t){Ht.cssSet.add(t)}static pushNext(t){Ht.nextSet.add(t),Ht.nextPending||(Ht.nextPending=!0,Ht.next())}}function It(t){return class extends t{__updatePoints;renderComponent;buildView(t){let e=this instanceof Ut?this:this.renderComponent,[s,r]=Me(e,t),n=[],i=Ie(n,s,r,e,this);return this.__updatePoints=n,i}updateView(t){if(i(S(t.strings)))return;if(!this.__updatePoints)return;let{vars:e}=t,s=this instanceof Ut?this:this.renderComponent;for(let t=0;t<this.__updatePoints.length;t++){const r=this.__updatePoints[t];let n=r.varIndex,i=r.value,l=e,c=r.node,d=N(n,"-");for(let e=0;e<d.length;e++){const s=d[e];l=o(l,s),l&&l.vars&&t<d.length-1&&(l=l.vars)}if(!a(i)&&i===l)continue;let u=c;if(r.isDirective){if(!i.di)continue;l.di=i.di,l.di.renderParams=l.varChain,l.di._renderArgs=l.args,l.point=i.point,l.varPath=i.varPath,i.update(i.point,l.args,i.args)}else if(r.isToggleProp){if(!!l===i)continue;u.toggleAttribute(r.attrName,!!l),T(u,r.attrName,!!l)}else if(r.isProp){if(!a(l)&&l===i)continue;let t=P(r.attrName),e=o(r.node.constructor,ut.PROPS);if(e){let s=e[t];if(s&&s.hasChanged&&!s.hasChanged.call(this,l,i))continue}c instanceof Ut?c._updateProps({[r.attrName]:l}):c instanceof HTMLSlotElement&&s._updateSlot(c.getAttribute("name")||"default",r.attrName,l)}else if(r.attrName&&!r.isEvent){if(!x(i,l))switch(r.attrName){case"value":if(c instanceof HTMLInputElement){c.value=l;break}default:c.setAttribute(r.attrName,A(r.attrTmpl,He,l+""))}}else if(r.isTmpl)(l.strings.join()!==i.tmpl.strings.join()||l.vars.some((t=>a(t)&&!w(t)))||i.tmpl.vars.some((t=>a(t)&&!w(t)))||!x(l.vars,i.tmpl.vars))&&r.value.updateView(l),i.tmpl=l,l=i;else if(r.isText){let t=r.textNode.nextSibling;t&&t===r.node.previousSibling?t.textContent=l:($e.remove(r.textNode,r.node),$e.insertBefore(r.node,[l]))}r.value=l}}}}class $t extends(It(Object)){tmpl;constructor(t){super(),this._renderVars=o(t,"_renderVars"),this.tmpl=t}}const Wt={boolean:Boolean,string:String,number:Number,object:Object,array:Array,function:Function,bigint:BigInt,symbol:Symbol,undefined:Object},jt=new WeakMap;let Bt=[];class Ut extends(It(HTMLElement)){static __l_globalRule=document.createElement("style");static{document.head.appendChild(Ut.__l_globalRule)}static defaults(t){Bt=M(t.css,(t=>{if(s(t)){let e=new CSSStyleSheet;return e.replaceSync(t),e}return t instanceof CSSStyleSheet?t:[]})),t.global,g(t,((t,e)=>{O(e[0],/[A-Z]/)}))}#t={};#e={"#slots":{}};#s={};#r={};#n;#i;#o={};__events={};get[Symbol.toStringTag](){return this.constructor.name}get reactiveData(){return this.#s}get attrs(){return this.#a}get props(){return this.#l}get renderRoot(){return this.#c}get renderRoots(){return this.#d}get parentComponent(){return this.#u}get slotHooks(){return this.#h}get css(){return jt.get(this.constructor)}get isMounted(){return this.#p}get slots(){return this.#e["#slots"]}#a;#l;#c;#d;#u;#f={};#h={};#g={};#p=!1;static get autoSlot(){return!0}static get styles(){return[]}static get globalStyles(){return[]}get styles(){return[]}#m=!1;constructor(...t){super(),1===k(t)&&(this.#l={},R(this.#l,L(t)));let e=this.render.bind(this);this.render=function(){let t;return Mt.startRender(this),t=e(),Mt.endRender(this),t};let r=o(this.constructor,"globalStyles"),n=o(this.constructor,"_global_style_attached");if(!c(r)&&"1"!==n){let t="";r.forEach((e=>{s(e)&&(t+=e+"\n")})),Ut.__l_globalRule.textContent+=t,T(this.constructor,"_global_style_attached","1")}let i=jt.get(this.constructor),a=i??[];i||(g(o(this.constructor,"styles"),(t=>{if(s(t)){let e=new CSSStyleSheet;e.replaceSync(t),a.push(e)}else a.push(t)})),jt.set(this.constructor,a)),this.#n=this.attachShadow({mode:"open",slotAssignment:o(this.constructor,"autoSlot",!0)?"named":"manual"}),this.#n.adoptedStyleSheets=[...Bt,...a];let l=this.attributes.getNamedItem("css-link")?.value;if(l){const t=document.createElement("style");t.textContent=`@import "${l}"`,this.#n.appendChild(t)}let d=D(this.#_,20);this.#i=new MutationObserver((t=>{for(let e=0;e<t.length;e++){"childList"===t[e].type&&d.call(this)}})),this._slotsPropMap={default:[]};let u=o(this.constructor,vt);u&&u.sort(((t,e)=>e.priority-t.priority)).forEach((t=>t.create(this))),this.#b=this.#E.bind(this)}#b;connectedCallback(){let t=V(this.parentNode,(t=>t instanceof Ut||t.host instanceof Ut),"parentNode");this.#u=t?t instanceof Ut?t:t.host:null,this.__init()}disconnectedCallback(){this.#i.disconnect()}__init(){if(this.#m)return;this.#v();const t=this.#C();this.propsReady(t);for(const e in t){const s=t[e];this.#e[e]=s}this.#y(),g(this.#e,((t,e)=>{let s=Reflect.getOwnPropertyDescriptor(this.#e,e);Reflect.defineProperty(this,e,{get(){let t=Reflect.get(this.#s,e);return s?.get?s?.get():t},set(t){s?.set?s?.set(t):Reflect.set(this.#s,e,t)}})})),Reflect.defineProperty(this.#e,"__isData",{enumerable:!1,value:!0}),this.#s=Vt(this.#e,this);let e=this.render(),s=this.buildView(e);if(s){let t=_(s);t.forEach((t=>{this.#n.appendChild(t)})),this.#d=t,this.#c=t[0]}this.#_(),this.beforeMount(),this.#i.observe(this,{childList:!0});const r=this;let n=o(this.constructor,vt);n&&n.sort(((t,e)=>e.priority-t.priority)).forEach((t=>{t.beforeMount(this,((t,e)=>(r.#s[t]=e,r.#s[t])))}));let a=o(this.constructor,ut.WATCH);g(a,((t,e)=>{t.forEach((t=>{let{source:s,options:r,handler:n}=t,i=n.bind(this);o(r,"once",!1)&&(i=H(i));const a=function(t){let e=o(this,s.replaceAll("-","."));i(e,t,s)}.bind(this);let l=o(r,"deep",!1);if(a.deep=l,Mt.collectWatch(this,(()=>a),e),!o(r,"immediate",!1))return;let c=o(this,s.replaceAll("-","."));i(c,c,s)}))}));let l=o(this.constructor,ut.COMPUTED);g(l,((t,e)=>{Mt.startCollect(this,dt.COMPUTED),Mt.setUpdater((()=>{this.#s[e]=t.call(this)})),this.#e[e]=t.call(this),Mt.endCollect(),Reflect.defineProperty(this,e,{get(){return Reflect.get(this.#s,e)},set(t){ft(this.tagName,"Cannot set a computed property '"+e+"'")}})}));let c=o(this.constructor,ut.EVENTS);c&&c.forEach((t=>{let e=t.name,s=R({target:document,once:!1,passive:!1,capture:!1},t.options),r=I(t.fn,this),n=s.target;v(n)&&(n=n.call(this,this)),n?n.addEventListener(e,r,s):ft(this.tagName,"The target of @event('"+e+"',...) is invalid")})),g(this.#h,((t,e)=>{this.#S(e)})),Mt.startCollect(this,dt.CSS);let d=[];this.styles.forEach((t=>{if(!v(t))return;let e=new CSSStyleSheet;d.push(e),Mt.setUpdater((()=>{let s=t()??"";e.replaceSync(s)}));let s=t();i(s)||e.replaceSync(s)})),Mt.endCollect(),this.#n.adoptedStyleSheets=[...this.#n.adoptedStyleSheets,...d],setTimeout((()=>{this.#p=!0,this.mounted(),n&&n.forEach((t=>{t.mounted(this,((t,e)=>(r.#s[t]=e,r.#s[t])))}))}),0),this.#m=!0}propsReady(t){}render(){throw Error(`[CompElem <${this.tagName}>] Missing render()`)}beforeMount(){}mounted(){}#N(t,e){this.#v();let s=o(this.#t[e],"props");s&&g(this.slots,((t,e)=>{t.filter((t=>t.nodeType===Node.ELEMENT_NODE)).forEach((t=>{t instanceof Ut?t._updateProps(s):g(s,((e,s)=>{if(t instanceof HTMLSlotElement){let r=o(t,"__l_comp");if(r){let n=t.name||"default",i=r.#t[n];i||(i=r.#t[n]={props:{}}),i.props||(i.props={}),i.props[s]=e,r.#N(t,n)}}else t.setAttribute(s,e)}))}))})),this.slotChange(t,e)}slotChange(t,e){}attributeChangedCallback(t,e,s){this.#T(t,e,s)}shouldUpdate(t){return!0}updated(t){}emit(t,e={},s){s&&s.event&&(e.event=s.event),e.target=this,this.dispatchEvent(new CustomEvent(t,{bubbles:o(s,"bubbles",!1),composed:o(s,"composed",!1),cancelable:!0,detail:e}))}#P={};on(t,e){this.#P[t]||(this.#P[t]=[]);let s=e.bind(this);this.#P[t].push(s),this.addEventListener(t,s)}nextTick(t){Ht.pushNext(t)}forceUpdate(){g(this.#s,((t,e)=>{this.#r[e]={value:void 0,chain:void 0}})),this.#E()}_notify(t,e){let s=[];for(let r=0;r<e.length;r++){const n=e[r];s.push(n);let i=o(this,s),l=gt(s);this.#r[l]={value:i,chain:"slots"===l?["slots"]:s,oldValue:t,end:s.length===e.length},a(i)&&"#"!=l[0]&&lt.set(i,l)}return this.#b}#E(){if(k(this.#r)<1)return;const t=this.#r;this.#r={};let e=o(this.constructor,vt);if(e&&e.sort(((t,e)=>e.priority-t.priority)).forEach((e=>{e.updated(this,t)})),!this.shouldUpdate(t))return;let s=new Set;g(t,(({value:t,chain:e,oldValue:r},n)=>{this.#o[n]&&this.#o[n].forEach((t=>{s.add(t)}))})),s.forEach((t=>{if(t===this)this.updateView(this.render());else{let e=t.render(...t._renderArgs?t._renderArgs:[]);e&&t.updateView(e)}})),this.#x.forEach((t=>{this.#S(t)})),this.updated(t),g(t,(({value:t,chain:e,oldValue:s},r)=>{a(t)&&lt.has(t)&&lt.delete(t)}))}#C(){let t=o(this.constructor,ut.PROPS),s=this.attributes,r=this.tagName,i=this.#l,c={};g(s,(({name:e,value:s})=>{if(e[0]===Ce||e[0]===ye||e[0]===Se||e===Pe||"slot"===e)return;let r=P(e);t&&!t[r]&&(c[e]=s)})),this.#a=this.#a?R(this.#a,c):c;let u={};return g(t,((c,h)=>{let p,f=t[h],g=d(i,h),_=o(this,h);if(!("_defaultValue"in f)&&(f._defaultValue=_,!f.type)){n(_)&&ft(r,"Prop '"+h+"' has neither propType nor defaultValue be used for type inference");let t=typeof _;C(_)&&(t="array");let e=Wt[t];f.type=e}if(g)p=$(i[h])?_:i[h];else{p=_;let t=s.getNamedItem(m(h))||s.getNamedItem(ye+m(h));t&&(g=!0,p=t.value)}if(f.required&&!g)return ft(r,"Prop '"+h+"' is required"),!1;p=this.#A(t,h,p);let b=o(t,[h,"getter"]);b&&(b=I(b,this));let E=o(t,[h,"setter"]);if(E&&(E=I(E,this)),(b||E)&&Reflect.defineProperty(this.#e,h,{set:E||function(t){},get:b}),f.attribute&&l(p)&&!a(p)){let t=m(h),s=W(p);(v=f.type)===Boolean||e(v,(t=>t===Boolean))?(s=_t(p),j(s)?this.toggleAttribute(t,s):this.setAttribute(t,s)):this.setAttribute(t,s)}var v;this.#e[h]=p,u[h]=p})),Object.seal(u)}#A(t,n,i){let o=t[n];if(!o)return i;let a=o.isValid,c=o.type,d=C(c)?c:[c],u=o.converter,h=i;if(!e(d,(t=>t===String))&&s(h)&&!B(h))try{h=u?u(h):r(h,{html:We})}catch(t){ft(this.tagName,`Convert attribute '${n}' error with `+h)}for(let t=0;t<d.length;t++){"Boolean"===d[t].name&&(h=_t(h))}let p=typeof h,f=!l(h);for(let t=0;t<d.length;t++){const e=d[t];if(O(p,e.name,"i")||h instanceof e||Object.prototype.toString.call(h)===Object.prototype.toString.call(e.prototype)){f=!0;break}}return f||ft(this.tagName,`Invalid prop '${n}'. expected '${d.map((t=>t.name||t))}' but got '${p}'`),a&&(a.call(this,h,this.#e)||ft(this.tagName,`Invalid prop '${n}'. IsValid() check failed`)),h}#y(){let t=o(this.constructor,ut.STATES);g(t,((e,s)=>{let r=t[s],n=o(this,s);if(r){let t=r.prop;n=t?f(this.#e[t]):o(this,s)}this.#e[s]=n}))}#w=D(this.propsReady,100);_setParentProps(t,e){if(this.#m){let s=o(this.constructor,ut.PROPS);g(t,((t,e)=>{let r=P(e),n=s[r];if(!n)return;let i=this.#e[r];t=this.#A(s,r,t),n.hasChanged&&!n.hasChanged.call(this,t,i)||(this.#e[r]=t,this._notify(i,[r]))})),R(this.#l,t),R(this.#a,e),this.#w(this.#l)}}_updateProps(t){let e=o(this.constructor,ut.PROPS);g(t,((t,s)=>{let r=P(s),n=e[r];if(!n)return;let i=this.#e[r];t=this.#A(e,r,t),n.hasChanged&&!n.hasChanged.call(this,t,i)||(Mt.__skipCheck=!0,T(this,r,t),Mt.__skipCheck=!1)})),R(this.#l,t),this.#w(this.#l)}_initProps(t,e){this.#l=p(this.#l||{},t),this.#a=p({},e)}_bindSlot(t,e,s){if(this.#f[e]||(this.#f[e]=t,Reflect.defineProperty(t,"__l_comp",{value:this})),t.addEventListener("slotchange",(s=>{this.#m&&this.#N(t,"default"===e?"":e)})),!c(s)){let t=this.#t[e];t||(t=this.#t[e]={}),s.nodeFilter&&(t.filter=s.nodeFilter),t.props=U(s,"nodeFilter")}}_bindSlotHook(t,e){this.#h[t]=e}#x=new Set;_updateSlot(t,e,s){let r=this.#f[t],n=this.#h[t];if(!n&&!r)return;let i=this.#t[t];if(e&&(i.props||(i.props={}),i.props[e]=s),n)this.#x.add(t);else{let t=r.assignedElements({flatten:!0});for(let r=0;r<t.length;r++){t[r].setAttribute(e,s+"")}}}#v(){const t=M(this.childNodes,(t=>t.nodeType===Node.COMMENT_NODE?[]:t instanceof HTMLSlotElement?t.assignedNodes({flatten:!0}):t));let e=F(t,(t=>t.nodeType===Node.TEXT_NODE?"default":t instanceof Element?t.getAttribute("slot")||"default":void 0));if(c(e))return void(c(this.#e["#slots"])||(this.#m?this.#s["#slots"]={}:this.#e["#slots"]={}));g(e,((t,e)=>{if(e){for(;t.length>0;){let e=t[0];if(!(e.nodeType===Node.TEXT_NODE&&i(e.textContent)||e instanceof HTMLSlotElement&&c(e.assignedNodes({flatten:!0}))))break;t.shift()}for(;t.length>0;){let e=b(t);if(!(e.nodeType===Node.TEXT_NODE&&i(e.textContent)||e instanceof HTMLSlotElement&&c(e.assignedNodes({flatten:!0}))))break;t.pop()}}}));let s={};g(e,((t,e)=>{c(t)||(s[e]=t)})),this.#m?this.#s["#slots"]=s:this.#e["#slots"]=s}#S(t){let e=this.#h[t];if(!e)return;let s=this.#t[t];if(!this.#e["#slots"][t])return;this.renderAsync(e,o(s,"props"));const r=this._asyncDirectives.get(e);let n=r?.buildView(e(o(s,"props"))),i=z(_(n),(t=>t.nodeType===Node.COMMENT_NODE));if(i){let e=this.#g[t];if(!c(e))for(let t=0;t<e.length;t++){const s=e[t];s.parentNode?.removeChild(s)}this.#g[t]=i,this.append(...i),this.#x.clear()}}_asyncDirectives=new WeakMap;renderAsync(t,...e){}#_(){c(this.#t)||g(this.slots,((t,s)=>{if(c(t))return;let r=this.#t[s],n=t;if(r){let s=r.filter;if(v(s))n=s(t);else if(a(s)){let r=s.type,i=s.maxCount;if(r){let s=C(r)?r:[r];n=K(t,(t=>e(s,(e=>t instanceof e))))}i>0&&(n=Q(t,0,i))}}if("named"===this.#n.slotAssignment){let e=[];for(let s=0;s<t.length;s++){const r=t[s];n.includes(r)||e.push(r)}for(;e.length>0;){let t=e.pop();t.parentNode?.removeChild(t)}}else this.#f[s].assign(...n);this.#m&&this.#N(this.#f[s],"default"===s?"":s)}))}#T(t,e,s){if(!this.isMounted)return;if(wt(this.constructor).has(t)){let e=P(t);if(B(s)){s=o(this.constructor,ut.PROPS)[e]._defaultValue}this._updateProps({[e]:s})}}_regDeps(t,e){let s=this.#o[t];s||(s=this.#o[t]=new Set),s.add(e);let r=t.split("-");if(r.pop(),r.length<1)return;let n=r.join("-");s=this.#o[n],s||(s=this.#o[n]=new Set),s.add(e)}}var Ft,zt,Kt;!function(t){t.NONE="NONE",t.REMOVE="REMOVE",t.REPLACE="REPLACE",t.UPDATE="UPDATE",t.APPEND="APPEND"}(Ft||(Ft={}));class Qt{key;varIndex;value;isText=!1;isTmpl=!1;isDirective=!1;node;textNode;isComponent=!1;attrName;attrTmpl;isProp=!1;isToggleProp=!1;isEvent;constructor(t,e,s,r){this.varIndex=t,this.node=e,s&&(this.attrName=s),r&&(this.attrTmpl=r)}}!function(t){t.ATTR="attr",t.PROP="prop",t.TEXT="text",t.CLASS="class",t.STYLE="style",t.SLOT="slot",t.TAG="tag"}(zt||(zt={}));class Xt{startNode;endNode;type;attrName;varIndex;expressionChain;nodes;constructor(t,e,s){this.startNode=t,this.attrName=e,this.type=s}setVarIndex(t){this.varIndex=t}getNodes(){let t=this.startNode.nextSibling;if(!this.endNode)return[t];let e=[];for(;t&&t!==this.endNode;)e.push(t),t=t?.nextSibling;return e}}!function(t){t.AFTER_BEGIN="afterbegin"}(Kt||(Kt={}));class Gt extends Function{diClass;args;di;varPath;point;slotComponent;varChain;constructor(t,...e){super(),this.diClass=t,this.args=e,this.varChain=Mt.popDirectiveQ(),this.di=new this.diClass,this.di.renderParams=this.varChain}checkScope(t){let e=o(this.diClass,"scopes");c(e)||O(e.join(","),t)||pt(`Directive '${this.diClass.name}' is out of scopes, expect '${e.join(",")}' bug got '${t}'`)}render(t){let e=this.di;return this.args,e.renderComponent||(e.renderComponent=t),this.di=e,e._renderArgs=this.args,this.di.render(...this.args)}update(t,e,s){let r=this.di.update(t,e,s);if(r===Ft.NONE)return;let n=t.getNodes();if(r===Ft.REMOVE)for(let t=0;t<n.length;t++){const e=n[t];e.parentNode?.removeChild(e)}else if(r===Ft.REPLACE){let s=[];for(let t=0;t<n.length;t++){const e=n[t];e.parentNode?.removeChild(e)}let r=this.di.render(...e),i=this.di.buildView(r);s=_(i);let o=document.createDocumentFragment();o.append(...s),t.endNode.parentNode.insertBefore(o,t.endNode)}else if(r===Ft.UPDATE){let s,r={},i=[],o=[],a=this.di.render(...e);if(a||(a=new Ue([],[])),c(n)){let e=this.di.buildView(a);return void t.startNode.after(...e)}let l={};a instanceof Ue&&a.vars.forEach((t=>{if(t instanceof Ue){const e=t.getKey();l[e]=t,r[e]=!0,o.push(e)}})),n=K(X(n),(t=>t.nodeType===Node.ELEMENT_NODE)),s=K(X(_(s)),(t=>t.nodeType===Node.ELEMENT_NODE));let d={},u="",h={};for(let t=0;t<n.length;t++){let e=n[t],s=e.getAttribute("key");if(s){if(d[s]){u=s;break}d[s]=e,i.push(s),h[s]=!0}}if(u)return void pt(`${P(this.diClass.name)} - duplicate key '${u}'`);let p=r;const f=t.startNode.parentNode;let m=[],E=[];if(g(h,((t,e)=>{p[e]||(E.push(e),delete h[e],G(i,e))})),!c(o)){let e="",s=-1,r=[],n=new Map;for(let a=0;a<o.length;a++){const l=o[a];let c=i.findIndex((t=>t===l));if(c>-1&&c!==a){if(s<0||s-c==1){let t=b(r);r.push({nodeId:l,targetId:0===a?Kt.AFTER_BEGIN:t?t.nodeId:o[a-1]})}else n.set(r.length,{group:r,targetId:""}),r=[],r.push({nodeId:l,targetId:i[c]});s=c}else if(c<0){let s=e?d[e]||t.endNode:t.startNode;m.push({prevNode:s,newkey:l})}e=l}c(n)&&r.length>0&&n.set(r.length,{group:r,targetId:""});let a=n.keys().toArray(),l=a.sort(((t,e)=>t-e));if(a.length>0&&a.length<2){let{group:e}=n.get(l[0]);y(e).forEach((({targetId:e,nodeId:s})=>{let r,n=d[s];e===Kt.AFTER_BEGIN?(r=t.startNode,r.after(n)):(r=d[e],r.after(n))}))}}m.length>0&&this.#M(m,l,o),m.forEach((e=>{let s=e.newkey,r=this.newNodeMap[s],n=e.prevNode;n===t.endNode?n.before(r):(t.startNode,n.after(r))})),E.forEach((t=>{let e=i.findIndex((e=>e==t));this.#O(e);let s=d[t];s&&s.parentNode&&f.removeChild(s)})),this.di.__updatePoints.forEach((t=>{t.key||(t.key=t.value.tmpl.getKey());const e=o.findIndex((e=>e==t.key));t.varIndex=e})),this.di.updateView(a)}}getDirective(){return this.di}newNodeMap={};#M(t,e,s){const r=[],n=[];t.forEach((t=>{let s=t.newkey;r.push(""),n.push(e[s])})),r.push("");let i=new Ue(r,n),o=this.di.__updatePoints,a=this.di.buildView(i);this.di.__updatePoints.forEach(((t,e)=>{const s=t.value.tmpl.getKey();t.key=s})),this.di.__updatePoints.push(...o),a.forEach((t=>{t instanceof HTMLElement&&(this.newNodeMap[t.getAttribute("key")]=t)}))}#O(t){G(this.di.__updatePoints,((e,s)=>{if(e.varIndex==t)return $e.remove(e.node,e.textNode),!0}))}}function qt(t){return(...e)=>{let s=null;return e.forEach(((t,r)=>{if(v(t)){let n=t;e[r]=function(...t){let e=s.di;Mt.startRender(e);let r=n.call(e.renderComponent,...t);return Mt.endRender(e.renderComponent),r}}})),s=new Gt(t,...e),s}}const Yt=["resize","outside","mutate"],Zt=new WeakMap,Jt=[],te=new ResizeObserver((t=>{for(const e of t){const t=Array.isArray(e.contentBoxSize)?e.contentBoxSize[0]:e.contentBoxSize,s=Array.isArray(e.borderBoxSize)?e.borderBoxSize[0]:e.borderBoxSize;let r=Zt.get(e.target);if(r){r(new CustomEvent("resize",{bubbles:!1,cancelable:!1,detail:{borderBox:{w:s.inlineSize,h:s.blockSize},contentBox:{w:t.inlineSize,h:t.blockSize}}}),e.target)}}}));var ee;!function(t){t.Child="child",t.Tree="tree",t.Attr="attr",t.Char="char"}(ee||(ee={}));const se=new WeakMap,re=new MutationObserver((t=>{for(let e=0;e<t.length;e++){const s=t[e];let r=se.get(s.target);if(!r)return;let n={target:s.target},i=null;switch(s.type){case"subtree":n.type=ee.Tree,i=r[ee.Tree];break;case"childList":n.type=ee.Child,n.addedNodes=s.addedNodes,n.removedNodes=s.removedNodes,i=r[ee.Child];break;case"attributes":n.type=ee.Attr,n.attributeName=s.attributeName,n.oldValue=s.oldValue,i=r[ee.Attr];break;case"characterData":n.type=ee.Char,n.oldValue=s.oldValue,i=r[ee.Char]}if(i){i(new CustomEvent("mutate",{bubbles:!1,cancelable:!1,detail:n}),s.target)}}}));function ne(t,e,s,r){if("resize"===t)!function(t,e){Zt.has(t)||(Zt.set(t,e),te.observe(t))}(e,s);else if("outside"===t){if("mousedown"===r[0])!function(t,e){Jt.push([t,e])}(e,s)}else"mutate"===t&&function(t,e,s){let r=q(s,"child"),n=q(s,"attr"),i=q(s,"char"),o=q(s,"tree"),a=se.get(t);a||(a={},se.set(t,a),r&&(a[ee.Child]=e),n&&(a[ee.Attr]=e),i&&(a[ee.Char]=e),o&&(a[ee.Tree]=e),re.observe(t,{childList:r,attributes:n,characterData:i,subtree:o}))}(e,s,r)}document.addEventListener("mousedown",(t=>{let e=t.target;Jt.forEach((([s,r])=>{if(!s.contains(e)){r(new CustomEvent("outside",{bubbles:!1,cancelable:!1,detail:{currentTarget:s,event:t}}),s)}}))}),!1);const ie=/,|^(debounce:.+)|(debounce$)/,oe=/,|^(throttle:.+)|(throttle$)/,ae="self",le="stop",ce="prevent",de="once",ue="left",he="right",pe="middle",fe="ctrl",ge="alt",me="shift",_e="meta",be={esc:"escape"},Ee=":";function ve(t,e,s,r){let n,i=t.split("."),o=i.shift(),a=i.includes(de),l=e;if(n=Y(i,(t=>ie.test(t)))){let t=n.split(Ee);l=D(l,parseInt(t[1])||100)}if(n=Y(i,(t=>oe.test(t)))){let t=n.split(Ee);l=Z(l,parseInt(t[1])||100)}if(a&&(l=H(l)),function(t){return Yt.includes(t)}(o))return ne(o,s,l,i),l;let c=t=>{if(i.includes(ce)&&t.preventDefault(),i.includes(le)&&t.stopPropagation(),!i.includes(ae)||t.target===t.currentTarget){if(t instanceof MouseEvent){if(i.includes(ue)&&0!=t.button)return;if(i.includes(he)&&2!=t.button)return;if(i.includes(pe)&&1!=t.button)return}else if(t instanceof KeyboardEvent){if(G(i,(t=>t==fe))[0]&&!t.ctrlKey)return;if(G(i,(t=>t==ge))[0]&&!t.altKey)return;if(G(i,(t=>t==me))[0]&&!t.shiftKey)return;if(G(i,(t=>t==_e))[0]&&!t.metaKey)return;if(!J(i,(t=>be[t]||t)).includes(t.key.toLowerCase()))return}l(t,s)}};s.addEventListener(o,c);let d=r.__events[o];return d||(d=r.__events[o]=[]),d.push([s,c]),c}const Ce="@",ye=".",Se="?",Ne="*",Te=":",Pe="ref",xe=/[.?-a-z]+\s*=\s*(['"])\s*([^='"]*<\!--c_ui-pl_df-->){2,}.*?\1/ims,Ae=/<\s*[a-z0-9-]+([^>]*<\!--c_ui-pl_df-->)*[^>]*?(?<!-)>/gims,we="slot-props";function Me(t,e){let s="",r=u(e.vars),n=e.strings.length-1,i=e.vars.length-1;for(let r=0;r<=n;r++){const n=e.strings[r];let a=o(e.vars,r,"");if(a&&a.di){let e=a.render(t);if(e instanceof Ue){let[s,r]=Me(t,e);Reflect.defineProperty(a,"_renderVars",{value:r}),a=Oe+s+ke}else a=e??De}else if(a instanceof Ue){let[e,s]=Me(t,a);Reflect.defineProperty(a,"_renderVars",{value:s}),a=Re+e+Le}else a=r>i?"":De;s+=n+a}let a=s.match(xe);if(a){return pt(`Parse error: attribute value can be set only one interpolation —— \n ${tt(a[0],De,"${...}")}`),["",r]}let l=0;return s=s.replace(Ae,((t,e)=>tt(t,De,(()=>De.replace("--\x3e","")+l++)))),s=s.replace(je,"$1><").trim(),[s,r]}const Oe="\x3c!--c_ui-pl_di-start--\x3e",ke="\x3c!--c_ui-pl_di-end--\x3e",Re="\x3c!--c_ui-pl_tmpl-start--\x3e",Le="\x3c!--c_ui-pl_tmpl-end--\x3e",De="\x3c!--c_ui-pl_df--\x3e",Ve="\x3c!--c_ui-pl_df",He=/<!--c_ui-pl_df\d*(-->)?/;function Ie(t,e,s,r,i){const a=document.createElement("div");a.innerHTML=e;const l=document.createNodeIterator(a,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT);let c,u,h=0,p=null,f=[],g=[],C=[],y=[t],S=[],N=[];for(;c=l.nextNode();)if(c instanceof HTMLElement||c instanceof SVGElement){c instanceof Ut?p=c:p?.contains(c)||(p=null);let e={},n=_(c.attributes);for(let i=0;i<n.length;i++){const o=n[i];let{name:a,value:l}=o;if(a===we){let t=c.getAttribute("name")||"default";if(p){let e=p._slotsPropMap[t];e||(e=p._slotsPropMap[t]=[]),e.push(c)}}if(E(a,Ve)){let e=s[h];if(e instanceof Gt){e.checkScope(zt.TAG);let s=new Xt(c,a.substring(1),zt.TAG);e.point=s,e.di.slotComponent=p,e.di.renderComponent=r;let n=new Qt(h,c);n.isDirective=!0,n.value=e,n.isComponent=!!p,t.push(n),h++,e.di.created(s,...e.args)}c.removeAttribute(a)}else if(a[0]!==Ce)if(a!==Pe)if(a[0]!==ye||He.test(l)){if(He.test(l)){let n=s[h],i=new Qt(h,c,a.replace(/\.|\?|@/,""),l);i.isComponent=!!p;let d=!0;if(a[0]===ye||a[0]===Se||a[0]===Ne){if(n instanceof Gt){n.checkScope(zt.PROP);let t=new Xt(c,a.substring(1),zt.PROP);n.point=t,n.slotComponent=p,i.value=n,i.isDirective=!0,n&&n.di.created(n.point,...n.args)}else if(a[0]===Se)i.isToggleProp=!0,i.value=!!n,i.value&&c.setAttribute(a.substring(1),"");else if(a[0]===Ne){i.value=n;let t=a.substring(1);const[e,s]=t.split(Te);let r=e;switch(s){case"camel":r=P(r);break;case"kebab":r=m(r);break;case"snake":r=et(r)}i.attrName=r,c.setAttribute(r,n)}else if(c instanceof Ut||"SLOT"===c.tagName){let t=P(a.substring(1));t in c||"SLOT"===c.tagName||ft(c.tagName,`Prop '${a}' is not defined in ${c.tagName}`),i.value=n,i.isProp=!0,e[t]=n,"nodeFilter"===t&&(d=!1)}else ft(c.tagName,`Prop '${a}' can only be set on a CompElem or a slot`);c.removeAttribute(a),n=""}else{let t;if(i.value=n,n instanceof Gt){let e=zt.ATTR;"class"===a?e=zt.CLASS:"style"===a&&(e=zt.STYLE),n.checkScope(e),i.isDirective=!0;let s=new Xt(c,a,e);n.point=s,n.di.slotComponent=p,n.di.renderComponent=r,t=n,n=""}l=A(l,He,n),o.value=l,t&&t.di.created(t.point,...t.args)}d&&t.push(i),h++}}else ft(c.tagName,`Prop '${a}' must be an interpolation`);else{if(He.test(l)){let t=s[h];if(!d(t,"current")){ft(c.tagName,"Ref must be a RefObject");continue}h++,t.current=c}c.removeAttribute(a)}else{let e=t=>{};if(He.test(l)){let n=s[h];if(!v(n)){ft(c.tagName,`Event '${a}' must be a function`);continue}e=n.bind(r);let i=new Qt(h,c,a.replace(/\.|\?|@/,""),l);i.isComponent=!!p,i.isEvent=!0,t.push(i),h++}ve(a.substring(1),e,c,r),c.removeAttribute(a)}}c instanceof Ut?c._initProps(e):c instanceof HTMLSlotElement&&r._bindSlot(c,c.name||"default",e)}else{let e=c,a=`\x3c!--${e.nodeValue}--\x3e`;if(a===Oe){u&&f.push(u),u=e;let n=s[h],i=new Qt(h,c);i.isComponent=!!p,i.isDirective=!0,i.value=n;let o=p?zt.SLOT:zt.TEXT,a=new Xt(u,"",o);n.point=a,n.di.slotComponent=p,n.di.renderComponent=r,g.push(n),t.push(i),C.push(i),t=[],y.push(t),h++,N.push(h),S.push(s),s=n._renderVars,h=0;continue}if(a===ke){C.pop().textNode=e;let r=g.pop();r.point.endNode=e,r.di.created(r.point,...r.args),u=f.pop(),r.di.__updatePoints=t,y.pop(),t=b(y),s=S.pop(),h=N.pop()}else{if(a===Re){u&&f.push(u),u=e;let n=s[h],a=new Qt(h,c);a.isComponent=!!p,a.isTmpl=!0;let l=b(g);(l&&"ForEach"===o(l,"diClass.name")||"ForEach"==i.constructor.name)&&(a.key=n.getKey()),n=a.value=new $t(n);let d=p?zt.SLOT:zt.TEXT,m=new Xt(u,"",d);n.point=m,n.slotComponent=p,n.renderComponent=r,g.push(n),t.push(a),C.push(a),t=[],y.push(t),h++,N.push(h),S.push(s),s=n._renderVars,h=0;continue}if(a===Le){C.pop().textNode=e;let r=g.pop();r.point.endNode=e,u=f.pop(),r.__updatePoints=t,y.pop(),t=b(y),s=S.pop(),h=N.pop()}}if(a!==De)continue;let l=new Qt(h,c);t.push(l),l.isComponent=!!p,l.isText=!0;let d,m=s[h];if(d=document.createComment(`compelem-ui-${h}-child-start`),e.parentNode.insertBefore(d,e),e.nodeValue=`compelem-ui-${h}-child-end`,l.textNode=d,m instanceof Gt){l.isDirective=!0,l.value=m;let t=p?zt.SLOT:zt.TEXT,s=new Xt(d,"",t);s.endNode=e,m.point=s,m.di.slotComponent=p,m.di.renderComponent=r,m.di.created(s,...m.args),m=""}else if(m instanceof Ue){l.isTmpl=!0,l.value=m;let[e,s]=Me(r,m);m=Ie(t,e,s,r,i)}else l.value=m;if(h++,n(m))continue;if(m instanceof NodeList){let t=document.createDocumentFragment();t.append(...m),e.parentNode.insertBefore(t,e)}else if(m instanceof Element)e.parentNode.insertBefore(m,e);else if(W(m)){let t=document.createTextNode(m);e.parentNode.insertBefore(t,e)}}return a.childNodes}const $e={insertBefore:function(t,e){if(!t.parentNode)return;let s=document.createDocumentFragment();s.append(...e),t.parentNode.insertBefore(s,t)},remove:function(t,e){if(t===e)return void t?.parentNode?.removeChild(t);let s=t.nextSibling;for(;s&&s!==e;)s?.parentNode?.removeChild(s),s=t.nextSibling}};function We(t,...e){return new Ue(s(t)?[t]:t,e)}const je=/([a-z0-9"'])\s*>\s*</gim;function Be(t){return{current:t}}class Ue{strings;vars;constructor(t,e){this.strings=u(t),this.vars=e}getKey(){let t=this.vars,e="";return g(this.strings,((s,r)=>{if(ct.test(s))return e=st(t[r]),!1})),e}getKeys(){let t=this.vars,e=[];for(let s=0;s<this.strings.length;s++){const r=this.strings[s];if(ct.test(r)){let r=st(t[s]);e.push(r)}}return c(e)&&t.forEach((t=>{if(t instanceof Ue){let s=t.getKey();e.push(s)}})),e}append(t){let e=b(this.strings);return t.strings.forEach(((t,s)=>{0!=s?this.strings.push(t):this.strings[this.strings.length-1]=e+t})),this.vars=u(this.vars,t.vars),this}insert(t,e){let s=e.strings.shift();return this.strings[t]+=s,this.strings.splice(t+1,0,...e.strings),this.vars.splice(t,0,...e.vars),this}getHTML(t){let[e,s]=Me(t,this),r=Ie([],e,s,t,t);return rt(r,((t,e)=>t+e.outerHTML),"")}}function Fe(t,e,s){s.get||pt(`Computed '${e}' must be a getter`),d(t.constructor,ut.COMPUTED)||(t.constructor[ut.COMPUTED]=c(t.constructor[ut.COMPUTED])?{}:f(t.constructor[ut.COMPUTED])),t.constructor[ut.COMPUTED][e]=s.get}function ze(t,e){return(s,r,n)=>{d(s.constructor,ut.EVENTS)||(s.constructor[ut.EVENTS]=c(s.constructor[ut.EVENTS])?[]:f(s.constructor[ut.EVENTS])),s.constructor[ut.EVENTS].push({name:t,options:e,fn:s[r]})}}var Ke;!function(t){t.ONCE="once",t.UPDATABLE="updatable"}(Ke||(Ke={}));class Qe extends bt{static get priority(){return Number.MAX_VALUE}created(t,e,s,...r){}mounted(t,e,...s){}get targets(){return[ht.FIELD]}selector;cache;result;constructor(t,e){super(),this.selector=t,this.cache=e}static getKey(t){return t}getter(t){this.result=t.shadowRoot?.querySelector(this.selector)}beforeMount(t,e,s,r,...n){const i=this;Reflect.defineProperty(t,r,{get:()=>(i.result&&i.cache||i.getter(t),i.result)})}updated(t,e){this.cache===Ke.UPDATABLE&&this.getter(t)}}const Xe=Nt(Qe),Ge=Nt(class extends Qe{getter(t){this.result=t.shadowRoot?.querySelectorAll(this.selector)}});function qe(t){if(1===arguments.length)return(e,s)=>{Ye(e,s,t)};Ye(arguments[0],arguments[1],{prop:""})}function Ye(t,e,s){if(!d(t.constructor,ut.STATES)){const e={};let s=t.constructor;for(;(s=mt(s))!==Ut;)p(e,s[ut.STATES]?f(s[ut.STATES]):{});Reflect.defineProperty(t.constructor,ut.STATES,{configurable:!1,enumerable:!1,value:e})}t.constructor[ut.STATES][e]=s}function Ze(t,e,s){Ye(t.prototype,e,s||{prop:""})}function Je(t){return e=>{if(e){if(e.prototype.hasOwnProperty("attributeChangedCallback")){let t=e.prototype.attributeChangedCallback;e.prototype.attributeChangedCallback=function(e,s,r){Ut.prototype.attributeChangedCallback.call(this,e,s,r),t.call(this,e,s,r)}}if(e.prototype.hasOwnProperty("connectedCallback")){let t=e.prototype.connectedCallback;e.prototype.connectedCallback=function(){Ut.prototype.connectedCallback.call(this),t.call(this)}}if(e.prototype.hasOwnProperty("disconnectedCallback")){let t=e.prototype.connectedCallback;e.prototype.disconnectedCallback=function(){Ut.prototype.disconnectedCallback.call(this),t.call(this)}}customElements.define(t,e)}}}function ts(t,e){return(s,r)=>{d(s.constructor,ut.WATCH)||(s.constructor[ut.WATCH]=c(s.constructor[ut.WATCH])?{}:f(s.constructor[ut.WATCH]));(C(t)?t:[t]).forEach((t=>{let n=t.replaceAll(".","-"),i=s.constructor[ut.WATCH][n];C(i)||(i=s.constructor[ut.WATCH][n]=[]),i.push({source:t,options:e,handler:s[r]})}))}}class es extends(It(Object)){_renderArgs;static get scopes(){return[]}renderParams}const ss=["key"];const rs=qt(class extends es{created(t,e){let s=t.startNode;if(s instanceof Ut){let t={},r={};g(e,((e,n)=>{ss.includes(n)||(n in s?t[n]=e:r[n]=e+"")})),s._initProps(t,r)}else g(e,((t,e)=>{s.setAttribute(e,t)}))}update(t,e,s){return Ft.NONE}static get scopes(){return[zt.TAG]}render(t){}});const ns=qt(class extends es{created(t,e){let r=[];C(e)?r=X(e):a(e)?r=M(e,((t,e)=>t?e:[])):s(e)&&(r=e.split(" "));let n=t.startNode;g(this.lastCls,(t=>{n.classList.remove(t)})),g(r,(t=>{n.classList.add(t)})),this.lastCls=u(r)}update(t,e,s){return this.created(t,e[0]),Ft.NONE}static get scopes(){return[zt.CLASS]}lastCls;render(t){}});const is=qt(class extends es{created(t,...e){}update(t,e,s){if(c(t.getNodes())&&(!e||c(e[0])))return Ft.NONE;if(nt(this.lastAry,e[0])&&this.lastAry.length===e[0].length)return Ft.NONE;if(!c(this.renderParams)){let t=b(this.renderParams);C(t)||(t=[t]),this.renderParams=t}return this.lastAry=it(e[0]),Ft.UPDATE}constructor(t){super(),c(this.renderParams)||(this.renderParams=_(b(this.renderParams)))}static get scopes(){return[zt.TEXT,zt.SLOT]}lastAry;lastRenderTmpl;render(t,e){let s=J(t,((t,s)=>e(t,s)));if(s.length<1)return this.lastRenderTmpl=new Ue([],[]),this.lastRenderTmpl;let r=[],n=[];const i=[],o=[];for(let t=0;t<s.length;t++){const e=s[t];let a=b(n),l=e.vars,c=!0,d=e.strings;for(let t=0;t<d.length;t++){const e=d[t];if(ct.test(e)){let e=l[t]+"";if(r.includes(e))return void pt(`forEach - duplicate key '${e}'`);r.push(e),c=!1}0==t&&a?n[n.length-1]=a+e:n.push(e)}if(c)return void pt("forEach - missing 'key' prop");let u=b(i);u&&d.length>0&&(i[i.length-1]=W(u)+d.shift()),i.push(""),o.push(e)}return this.lastAry=it(t),i.push(""),this.lastRenderTmpl=new Ue(i,o),this.lastRenderTmpl}});const os=qt(class extends es{created(t,...e){}ifNodes;elseNodes;static get scopes(){return[zt.TEXT,zt.SLOT]}update(t,e,s){return!!e[0]==!!s[0]?Ft.NONE:(e[0],Ft.REPLACE)}render(t,e,s){return t?e(t):s(t)}});const as=qt(class extends es{created(t,...e){}static get scopes(){return[zt.TEXT,zt.SLOT]}update(t,e,s){return e[0]===s[0]?Ft.NONE:e[0]?Ft.REPLACE:Ft.REMOVE}render(t,e){return t?e():We``}});var ls;!function(t){t.CHANGE="change",t.INPUT="input"}(ls||(ls={}));const cs=qt(class extends es{created(t,e,s="value"){const r=t.startNode;if("binded"===o(r,"_model"))return;let n=b(this.renderParams);if(this.updateProp=s,this.modelPath=n,a(e)||W(e)||(e=""),r instanceof Ut)r._initProps({[this.updateProp]:e}),r.addEventListener("update:"+s,(t=>{T(this.renderComponent,this.modelPath,t.detail.value)})),T(r,"_model","binded");else if(r instanceof HTMLTextAreaElement)r.setAttribute(this.updateProp,e+""),r.addEventListener("input",(t=>{let e=t.target;T(this.renderComponent,this.modelPath,e.value)})),T(r,"_model","binded");else if(r instanceof HTMLInputElement){let t="",n="";switch(r.type){case"checkbox":case"radio":t="checked",n="change";break;default:t="value",n="input"}r.setAttribute(s??t,e+""),r.addEventListener(n,(t=>{let e=t.target;T(this.renderComponent,this.modelPath,e.value)})),T(r,"_model","binded")}else r instanceof HTMLSelectElement&&(r.setAttribute(this.updateProp,e+""),r.addEventListener("change",(t=>{let e=t.target;T(this.renderComponent,this.modelPath,e.value)})),T(r,"_model","binded"))}update(t,e,s){if(this.modelPath||(this.modelPath=b(this.renderParams)),!x(e,s)){const s=t.startNode;if(s instanceof Ut)s._updateProps({[this.updateProp]:e[0]});else if(s instanceof HTMLTextAreaElement||s instanceof HTMLSelectElement)s.setAttribute(this.updateProp,e[0]+"");else if(s instanceof HTMLInputElement)switch(s.type){case"checkbox":case"radio":e[0]?s.setAttribute("checked",""):s.removeAttribute("checked");break;default:s.setAttribute(this.updateProp,e[0]+"")}}return Ft.NONE}static get scopes(){return[zt.TAG]}modelPath;render(t,e="value"){}});const ds=qt(class extends es{created(t,e,s){let r=t.startNode;n(this.display)&&(this.display=r.style.display);let i=s;this.renderComponent.nextTick((()=>{r.style.display=e?this.display:"none",i&&i(r,e)}))}update(t,e,s){return this.created(t,e[0],e[1]),Ft.NONE}display=void 0;static get scopes(){return[zt.TAG]}constructor(t){super(),this.point=t}render(t,e){}});const us=qt(class extends es{created(t,e,s){e=e.bind(this.renderComponent),this.slotComponent._bindSlotHook(s||"default",e)}update(t,e,s){return Ft.NONE}static get scopes(){return[zt.SLOT]}render(t,e){}});class hs{static getCssText(t){return s(t)?t:S(J(t,((t,e)=>m(e)+":"+t)),";")}static setStyle(t,e){if(s(t)&&!W(t))return{};let r=hs.getCssText(t),n={};return g(r.split(";"),(t=>{let s=t.split(":"),r=W(s[0]),i=W(s[1]);n[r]=e.style.getPropertyValue(r),e.style.setProperty(r,i)})),n}}const ps=qt(class extends es{created(t,e){hs.setStyle(e,t.startNode)}update(t,e,s){return this.created(t,e[0]),Ft.NONE}constructor(t){super(),this.point=t}static get scopes(){return[zt.STYLE]}render(t){}});const fs=qt(class extends es{created(t,e){this.modelPath||(this.modelPath=b(this.renderParams));const s=t.startNode;let r=t.attrName;s._initProps({[r]:e}),s.addEventListener("update:"+r,(t=>{T(this.renderComponent,this.modelPath,t.detail.value)}))}update(t,e,s){if(!x(e,s)){const s=t.startNode;let r=t.attrName;s._updateProps({[r]:e[0]})}return Ft.NONE}static get scopes(){return[zt.PROP]}modelPath;constructor(t){super()}render(t){}});const gs=qt(class extends es{created(t,...e){}static get scopes(){return[zt.TEXT,zt.SLOT]}update(t,e,s){return x(e,s)?Ft.NONE:Ft.REPLACE}render(t,e){let s=()=>We``,r=[],n=[];g(e,((t,e)=>{if(v(t))r.push(e),n.push(t);else{let e=t[0],s=t[1];r.push(e),n.push(s)}"default"===e&&(s=t)}));let i=ot(r,(e=>v(e)?e(t):e==t));return at(n[i]??s)}});export{Ut as CompElem,hs as CssHelper,bt as Decorator,ht as DecoratorType,yt as DecoratorWrapper,es as Directive,Ft as DirectiveUpdateTag,Gt as DirectiveWrapper,Xt as EnterPoint,zt as EnterPointType,Et as GetKeyFnName,ls as ModelTriggerType,Ke as QueryCache,Ue as Template,Qt as UpdatePoint,Ct as _DecoratorMap,vt as _DecoratorsKey,wt as _getObservedAttrs,rs as bind,Me as buildHTML,ns as classes,Fe as computed,Be as createRef,Nt as decorator,qt as directive,ze as event,is as forEach,We as html,os as ifElse,as as ifTrue,Ze as makeState,cs as model,Pt as prop,Xe as query,Ge as queryAll,ds as show,us as slot,qe as state,ps as styles,fs as sync,Je as tag,ts as watch,gs as when};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "compelem",
3
- "version": "0.3.3-b1",
3
+ "version": "0.3.4-b1",
4
4
  "description": "A modern, reactive, fast, lightweight and flexible lib for building web components",
5
5
  "main": "index.js",
6
6
  "module": "index.js",