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